agentleFS
gonimargonimar/claude-web-studio/skills/docs/SKILL.md

docs

Skill4 starsChanged 45 days agoMITView on GitHub

Writes documentation for people through tech-writer — README, API reference generated from the contract, user guide from the feature specs, runbook from the deploy doc and incident history; every command in the docs is run before it is written; `--check` only reports what is missing or stale. Use before a hand-over or release, for 'write the README', 'generate the API docs', 'docs are stale'.

  • Reads credentials

165 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use import-memory, perf and 8 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.
  • amirbironSkill

    import-memory

    Import a memory export from another AI assistant into Claude's memory — conversationally, additively, and with the content treated as data.

    Also in 3 projects that use this

  • MicrosoftSkill

    perf

    Speed and memory performance rules for Rust crates, the Node addon, webui-framework, and webui-delivery.

    Also in 4 projects that use this

  • diego-tobalinaSkill

    build-fix

    Fix build and compilation errors systematically. Run when build fails.

    Also in 3 projects that use this

  • vbrevikSkill

    work

    Use when the user says 'plan', 'todo', 'copy plan', 'append plan', 'resume plan', 'priorities', or 'what's next'.

    Also in 7 projects that use this

  • Google CloudSkill

    fix

    Plan a remediation strategy after a test failure.

    Also in 7 projects that use this

  • AnthropicSkill

    debug

    Structured debugging session — reproduce, isolate, diagnose, and fix. Trigger with an error message or stack trace, "this works in staging but not prod", "something broke after the deploy", or when behavior diverges from expected and the cause isn't obvious.

    Also in 19 projects that use this

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 129 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

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

    After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker).

    line 50
  2. Very specific:

    Before asking, record the gate — <hooks>session-state.sh set Gate "/docs Phase 3: commit <target>?" (<hooks> is .claude/hooks/ in copy mode …

    line 54

“Common” is measured: kept by at least 6 in 10 of the 129 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

Docs — documentation for people

Reply in the project conversation language (CLAUDE.md → Language); code, identifiers, paths and commit messages stay in English.

Agent tech-writer (rules: README structure, runbook structure, every command run, no duplication of CLAUDE.md or the stack reference). Sources: technical-preferences.md, docs/specs/product-spec.md, docs/specs/features/*.md, the API contract (docs/architecture/api/api-contract.md and the schema file at api_contract_path (technical-preferences; default api/schema.graphqls for a Go module, docs/architecture/api/schema.graphql otherwise)), docs/ops/deploy.md (template deploy-runbook.md), docs/ops/incidents/*, CHANGELOG.md. Writes only after "May I write?". Documentation is derived from the pipeline's documents, never the other way round — a fact missing from a spec or the contract is a spec gap (/feature-spec, /api-contract), not something to invent here.

Phase 1: Inventory (--check stops after it)

  1. Per target, what exists: README.md, docs/api/*, docs/guide/*, docs/ops/*.md.
  2. Staleness: its last change vs the last change of its sources (git log -1 --format=%cs -- <path>).
  3. Gaps:
    • a README without a quick start, or an env table that misses variables present in .env.example or compose;
    • an API reference behind the contract (graphql-inspector diff / openapi-diff when installed, otherwise operation lists compared);
    • a user guide that does not cover a Done feature;
    • a runbook without rollback or without the last incident's action.
  4. Missing sources: a target whose source does not exist (api with no contract; readme with no product spec) → BLOCKED (no product spec / no contract — run /product-spec | /api-contract first), naming only the missing one. No hand-written substitute is drafted.
  5. Table "target → exists → stale vs → gaps". --check → verdict COMPLETE (check only: N targets stale) and stop.

Phase 2: Draft (tech-writer via Task, one target at a time)

The brief asks tech-writer for the draft and the output of every command it ran, not for a write: the write gate is this session's (Phase 3). Questions the agent has come back in its result, and this session asks them.

  • readme — what it is (product spec §1) → quick start (commands from technical-preferences and the test strategy, run here with output) → configuration (env table from .env.example/compose, secrets named, never valued) → development (tests, lint, /help) → deploy (link to the runbook) → licence. Never duplicates CLAUDE.md.
  • api — generated from the contract: GraphQL SDL → reference per type/operation with descriptions taken from the SDL (graphql-markdown or an equivalent from stack-reference/graphql.md; a hand-written page only when no generator fits, and then marked so); OpenAPI → Redoc/Scalar page or markdown per operation. Auth, errors, limits and deprecations come from the contract, not from memory.
  • guide — one page per Done feature, from the feature spec's scenarios and UI states: the user's goal, steps, what they see in each state, what can go wrong (edge cases with the concrete behaviour the spec names); screenshots only when a Playwright run can take them.
  • runbook — docs/ops/deploy.md completed from the deploy contract, the release files and the incidents: symptom → diagnosis (commands) → action → verification → rollback, per known failure; secrets by name and location only.

Each draft is rendered in the chat (rule 7). A command that fails when run is a finding, not prose.

Phase 3: Write (per target)

  1. "May I write <path>?" — one AskUserQuestion: write (Recommended) · adjust · skip.
  2. After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker). Then write.
  3. Commit gate (rule 7, .claude/docs/git-workflow.md § Documents), right after the write, one AskUserQuestion: docs: <target> from <sources>, staging exactly the written files.
    • On the default branch when no story work is in progress.
    • When HEAD is a story branch, name it and ask: commit here (Recommended when the docs belong to the story in progress — a runbook or guide for the feature that branch implements) · switch to the default branch and commit there (Recommended when the target is pipeline-wide, e.g. a README refresh) · leave uncommitted. Exactly one option is marked Recommended, by the target's provenance.
    • Before asking, record the gate — <hooks>session-state.sh set Gate "/docs Phase 3: commit <target>?" (<hooks> is .claude/hooks/ in copy mode and ${CLAUDE_PLUGIN_ROOT}/hooks/ in plugin mode) — and clear it after the answer (<hooks>session-state.sh set Gate "—").
    • Nothing is committed without the answer; a target the user skipped at step 1 is not staged.

Verdict: COMPLETE (N targets written) | COMPLETE (check only: …) | BLOCKED (no product spec / no contract — run /product-spec | /api-contract first). Next step — one AskUserQuestion: /story-done S-NNN when the docs close a story (Recommended in that case) · /release-checklist before a release · stop here.

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.