Sync AILANG documentation website with codebase reality. Use after releases, when features are implemented, or when website accuracy is questioned. Checks design docs vs website, validates examples, updates feature status.
Keep the AILANG website in sync with actual implementation by checking design docs, validating examples, and tracking feature status.
# After a release - full sync check
# User: "sync docs for v0.5.6" or "run docs-sync"
# Check specific area
# User: "verify landing pages" or "check working examples"
Invoke this skill when:
Run all diagnostic scripts to understand current state:
# Check design docs status
.claude/skills/docs-sync/scripts/audit_design_docs.sh
# Check version constants
.claude/skills/docs-sync/scripts/check_versions.sh
# Validate working examples
.claude/skills/docs-sync/scripts/check_examples.sh
Features are grouped into themes (see resources/feature_themes.md):
| Theme | Status Page | Description |
|-------|-------------|-------------|
| Core Language | /reference/language-syntax | Types, ADTs, pattern matching |
| Effect System | /reference/effects | Capabilities, IO, FS, Net |
| Module System | /reference/modules | Imports, exports, aliasing |
| Go Codegen | /guides/go-codegen | Compilation to Go |
| AI Integration | /guides/ai-integration | Prompts, benchmarks, agents |
| Testing | /guides/testing | Inline tests, property-based |
| Developer Experience | /guides/development | REPL, debugging, CLI |
| Roadmap: Execution Profiles | /roadmap/execution-profiles | v0.6.0 planned |
| Roadmap: Shared Semantic State | /roadmap/shared-semantic-state | v0.6.0 planned |
| Roadmap: Deterministic Tooling | /roadmap/deterministic-tooling | v0.7.0 planned |
docs/src/constants/version.jsAfter fixing, verify:
# Rebuild and check
cd docs && npm run build
# Verify no broken links
npm run serve # Manual check
# Commit changes
git add docs/
git commit -m "docs: sync website with v0.X.X implementation"
| Script | Purpose |
|--------|---------|
| audit_design_docs.sh | Compare planned vs implemented design docs |
| derive_roadmap_versions.sh | Derive target versions from design doc folders |
| check_versions.sh | Verify version constants match releases |
| check_examples.sh | Validate example files compile/run |
| generate_report.sh | Generate sync status report |
The Makefile provides CLI example verification that complements this skill:
# Verify all CLI examples documented in examples/cli_examples.txt
make verify-cli-examples
# Full verification: code examples + CLI examples
make verify-examples && make verify-cli-examples
CLI Examples File Format (examples/cli_examples.txt):
# Comment explaining the example
$ ailang run --caps IO --entry main examples/runnable/hello.ail
Hello, AILANG!
This ensures CLI syntax in documentation matches actual behavior.
# List all planned features with derived target versions
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh
# Full lifecycle: planned + implemented features
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --full
# Check website consistency (exits 1 if mismatches)
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --check
# JSON output for automation
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --json --full
# Full validation: all features + website check
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --full --check
| Resource | Content |
|----------|---------|
| feature_themes.md | Feature groupings and expected pages |
| landing_page_checklist.md | Requirements for main pages |
The post-release skill should invoke docs-sync automatically:
# In post-release workflow after eval baselines
# Run docs-sync to update website
Theoretical is OK - Future features can be documented, but must:
Examples Must Work - Every code example should:
examples/ailang run or ailang testexamples/cli_examples.txt and verified with ./tools/verify_cli_examples.shmain - don't use --entry main unless showing non-main entry./bin/ailang run --caps IO examples/runnable/hello.ailException for Reference Documentation:
language-syntax.md, effects.md) may use inline syntax snippetsexamples.mdx, getting-started.mdx, guides/) must always import from filesDesign Docs = Ultimate Source of Truth - The folder structure tracks complete feature lifecycle:
Planned features:
design_docs/planned/v0_6_0/foo.md → Feature targets v0.6.0PLANNED FOR v0.6.0 bannerImplemented features:
design_docs/implemented/v0_5_6/foo.md → Feature shipped in v0.5.6planned/ → implemented/ = feature is doneValidation:
./scripts/derive_roadmap_versions.sh --check to validate website./scripts/derive_roadmap_versions.sh --full to see complete lifecycleOne Source of Truth - Version comes from:
git describe --tags → actual versionprompts/versions.json → latest syntax prompt (ailang prompt)prompts/devtools/versions.json → latest dev tools prompt (ailang devtools-prompt)docs/src/constants/version.jsThemes Over Changelog - Group features by theme, not by version. Users care about "how do effects work?" not "what changed in v0.5.3?"
Evolving Themes - Themes should evolve as the language grows:
resources/feature_themes.md when adding themesWhen reviewing new features, ask:
v0_7_0/) with a coherent focusresources/feature_themes.mddocs/sidebars.jsSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer