agentleFS
sunholo-datasunholo-data/ailang/.claude/skills/docs-sync/SKILL.md

docs-sync

Skill38 starsChanged 6 days agoApache-2.0View on GitHub

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.

46 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use tdd, code-review and 2 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GoogleSkill

    tdd

    Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

    Also in 4 projects that use this

  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 5 projects that use this

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 4 projects that use this

  • MicrosoftSkill

    release

    Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

21 rules. 0 are common, 11 are distinctive, and 10 are very specific to this project.

  • 0

    Common

    Most of the 36 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 10

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Keep the AILANG website in sync with actual implementation by checking design docs, validating examples, and tracking feature status.

    line 8
  2. Distinctive:

    After any release (post-release should trigger this)

    line 23
  3. Distinctive:

    Run all diagnostic scripts to understand current state:

    line 33
  4. Very specific:

    Version Constants: - Update docs/src/constants/version.js

    line 65
  5. Distinctive:

    Working Examples: - Ensure examples use raw-loader, all pass

    line 67
  6. Distinctive:

    Status Banners: - Add "PLANNED" banners to future features

    line 68
  7. Distinctive:

    Feature Docs: - Create missing docs for implemented features

    line 69
  8. Distinctive:

    Examples Must Work: - Every code example should:

    line 161
  9. Very specific:

    Use raw-loader to import from examples/

    line 162
  10. Distinctive:

    Never embed code directly in MDX

    line 164
  11. Very specific:

    Default entrypoint is main - don't use --entry main unless showing non-main entry

    line 166
  12. Very specific:

    Test all commands before documenting: ./bin/ailang run --caps IO examples/runnable/hello.ail

    line 167
  13. Very specific:

    Run ./scripts/derive_roadmap_versions.sh --check to validate website

    line 189
  14. Very specific:

    Run ./scripts/derive_roadmap_versions.sh --full to see complete lifecycle

    line 190
  15. Distinctive:

    When a feature doesn't fit existing themes, consider a new theme

    line 203
  16. Very specific:

    Update resources/feature_themes.md when adding themes

    line 205
  17. Distinctive:

    When reviewing new features, ask:

    line 211
  18. Very specific:

    Add entry to resources/feature_themes.md

    line 226
  19. Distinctive:

    Create website page at appropriate location

    line 227
  20. Very specific:

    Update sidebar in docs/sidebars.js

    line 228
  21. Distinctive:

    Update this skill's theme table above

    line 230

“Common” is measured: kept by at least 6 in 10 of the 36 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Documentation Sync Skill

Keep the AILANG website in sync with actual implementation by checking design docs, validating examples, and tracking feature status.

Quick Start

# 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"

When to Use This Skill

Invoke this skill when:

  • After any release (post-release should trigger this)
  • User questions website accuracy
  • Features move from planned → implemented
  • Examples may be broken or outdated
  • Version constants need updating

Workflow

1. Pre-flight Checks

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

2. Review Feature Themes

Features are grouped into themes (see resources/feature_themes.md):

ThemeStatus PageDescription
Core Language/reference/language-syntaxTypes, ADTs, pattern matching
Effect System/reference/effectsCapabilities, IO, FS, Net
Module System/reference/modulesImports, exports, aliasing
Go Codegen/guides/go-codegenCompilation to Go
AI Integration/guides/ai-integrationPrompts, benchmarks, agents
Testing/guides/testingInline tests, property-based
Developer Experience/guides/developmentREPL, debugging, CLI
Roadmap: Execution Profiles/roadmap/execution-profilesv0.6.0 planned
Roadmap: Shared Semantic State/roadmap/shared-semantic-statev0.6.0 planned
Roadmap: Deterministic Tooling/roadmap/deterministic-toolingv0.7.0 planned

3. Fix Priority Order

  1. Version Constants - Update docs/src/constants/version.js
  2. Landing Pages - intro.mdx, vision.mdx, why-ailang.mdx
  3. Working Examples - Ensure examples use raw-loader, all pass
  4. Status Banners - Add "PLANNED" banners to future features
  5. Feature Docs - Create missing docs for implemented features
  6. Roadmap Section - Move theoretical pages to roadmap

4. Update Checklist

After 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"

Scripts

ScriptPurpose
audit_design_docs.shCompare planned vs implemented design docs
derive_roadmap_versions.shDerive target versions from design doc folders
check_versions.shVerify version constants match releases
check_examples.shValidate example files compile/run
generate_report.shGenerate sync status report

CLI Example Verification (External)

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.

Version Derivation Script

# 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

Resources

ResourceContent
feature_themes.mdFeature groupings and expected pages
landing_page_checklist.mdRequirements for main pages

Integration with Post-Release

The post-release skill should invoke docs-sync automatically:

# In post-release workflow after eval baselines
# Run docs-sync to update website

Key Principles

  1. Theoretical is OK - Future features can be documented, but must:
    • Link to design docs on GitHub
    • Have clear status banner (e.g., "PLANNED FOR v0.6.0")
    • Be in roadmap section, not current features
  2. Examples Must Work - Every code example should:

    • Use raw-loader to import from examples/
    • Be tested with ailang run or ailang test
    • Never embed code directly in MDX
    • CLI commands must be added to examples/cli_examples.txt and verified with ./tools/verify_cli_examples.sh
    • Default entrypoint is main - don't use --entry main unless showing non-main entry
    • Test all commands before documenting: ./bin/ailang run --caps IO examples/runnable/hello.ail

    Exception for Reference Documentation:

    • Reference pages (e.g., language-syntax.md, effects.md) may use inline syntax snippets
    • These are small patterns showing language constructs, not complete runnable programs
    • Tutorial pages (examples.mdx, getting-started.mdx, guides/) must always import from files
    • Rule: If the code snippet is a complete runnable program, it MUST be imported
  3. Design 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.0
    • Website pages must match: PLANNED FOR v0.6.0 banner
    • Website MUST link to design doc on GitHub as ultimate reference
    • OVERDUE = design doc folder version ≤ current release but not implemented

    Implemented features:

    • design_docs/implemented/v0_5_6/foo.md → Feature shipped in v0.5.6
    • Website reference pages can link to implemented design docs
    • Moving planned/ → implemented/ = feature is done

    Validation:

    • Run ./scripts/derive_roadmap_versions.sh --check to validate website
    • Run ./scripts/derive_roadmap_versions.sh --full to see complete lifecycle
    • Script checks for GitHub links in roadmap pages
  4. One Source of Truth - Version comes from:
    • git describe --tags → actual version
    • prompts/versions.json → latest syntax prompt (ailang prompt)
    • prompts/devtools/versions.json → latest dev tools prompt (ailang devtools-prompt)
    • These feed into docs/src/constants/version.js
    • Website should reference both prompts and explain when to use each
  5. Themes Over Changelog - Group features by theme, not by version. Users care about "how do effects work?" not "what changed in v0.5.3?"
  6. Evolving Themes - Themes should evolve as the language grows:
    • When a feature doesn't fit existing themes, consider a new theme
    • New themes warrant new landing pages
    • Update resources/feature_themes.md when adding themes
    • Current themes: Core Language, Type System, Effect System, Module System, Go Codegen, Arrays, Testing, AI Integration, Developer Experience
    • Roadmap themes: Execution Profiles, Deterministic Tooling, Shared Semantic State

Theme Evolution Guidelines

When reviewing new features, ask:

  1. Does this fit an existing theme? → Add to that theme's page
  2. Is this a major new capability? → Consider a new theme
  3. Is this cross-cutting? → May need multiple mentions but one authoritative page

Signals for a New Theme

  • 3+ related features with no natural home
  • A new design doc folder (e.g., v0_7_0/) with a coherent focus
  • User questions consistently asking "how do I do X?" where X isn't covered
  • A planned feature graduating to implemented that's substantial

Creating a New Theme

  1. Add entry to resources/feature_themes.md
  2. Create website page at appropriate location
  3. Update sidebar in docs/sidebars.js
  4. Cross-link from related themes
  5. Update this skill's theme table above

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.