Documentation
Craft phase 9 - refresh affected documentation pages, tick the backlog entry under guard, author follow-ups; runs in parallel with the background validation run.From its SKILL.md
npx -y skills add scolladon/craft --skill documentationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.5 KB, as published. Nobody here has run it
craft:documentation
Preamble (always runs — non-overridable)
- Manifest read (lint if standalone). Probe:
backlog:declared? (else no backlog work); which doc pages the change actually affects — the affected-page floor is mechanical:(diff ∩ subjects) ∪ probe— the existing judgment probe (public surface, behaviour a page states) UNIONed with every living page whose declaredsubjectsthe diff matches (via the intention port'sconsult; seedocs/contributing/specs/intention.md). A coverage gap — a load-bearing changed scope matched by no page'ssubjects, underintention.covers— escalates via the blocker protocol{ unit, reason, ≤3 options }rather than silently passing.
Procedure (default body — a manifest override: replaces everything below)
Runs in parallel with the validation phase's background run.
-
Pages — only if any are affected: spawn craft:docs-writer with the affected page list + what changed per page, the design doc path as content source, the commit message
docs(<slug>): refresh pages, and the context files. Page refresh/create routes through the intention port'srecord.docs-writerstays update-only — it never creates a new page; a coverage gap that implies a missing page is a human decision, escalated per the Preamble, never auto-created. No affected pages → skip honestly (run record). -
Backlog tick — guarded by source (see
docs/contributing/specs/backlog.md):source: file— consultbacklog-writeaction (defaultalways, ADR-127; seedocs/contributing/specs/policy.mdfor surface semantics); then spawn craft:backlog-ticker with the exact entry line and the exact reference suffix. Accept ONLY if the diff touches exactly the expected line(s) — otherwise discard and do the one-line edit yourself.source: custom— consultexternal-sendaction (defaultask, ADR-127; seedocs/contributing/specs/policy.md); on proceed, runrefwith argv["complete", id, ...refs];id/refsare untrusted, passed as discrete arguments (never spliced into a shell string) andidvalidated against the source's id-form before invoking (see the spec's safe-invocation note). A non-zero exit is a blocker (never a silent tick-skip); idempotency is the custom script's documented contract (seedocs/contributing/specs/backlog.md), not framework-asserted.
Commit
docs(<slug>): backlog flip. -
Synthesis — session-owned, never delegated: new backlog follow-up entries surfaced during the run (full context, cross-links, placed per the repo's ordering convention); they are what a future craft run resolves from. The PR body drafts here too, per the default template (repo's own
templates/pr-body.md, else"${CRAFT_ROOT:-${CLAUDE_PLUGIN_ROOT}}/templates/pr-body.md"; a manifestoverride:replaces it): three reader-first narrative sections — Background (the system as it stands), Intuition (the core idea, a toy example, a mermaid diagram where it helps), Code (a grouped high-level walkthrough of the diff) — then a Provenance & verification trailer carrying decisions + ADR numbers, design doc path, divergences, pinned behaviours, test plan, the run record.