This skill should be used when the user says "document project", "generate docs", "create documentation", "write docs", "arness code document", "arn-code-document-project", "document this feature", "document this fix", or wants to generate developer documentation for a completed feature or bug fix. Reads plan artifacts, spec files, execution reports, and git diff to produce accurate documentation. Do NOT use this for general-purpose documentation — this is specifically for Arness pipeline projects.
86
83%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Generate developer documentation for a completed feature or bug fix by reading plan artifacts, spec files, execution reports, and git diff to produce accurate, reference-heavy documentation.
Pipeline position:
arn-code-execute-plan -> arn-code-review-implementation -> **arn-code-document-project** -> arn-code-shipThis skill produces a single documentation file (or directory for complex projects) that captures what was actually built, how it diverges from the original plan, and where to find everything in the codebase.
## Arness section to find:
Template version and Template updates fields are present in the ## Arness section, run the template version check procedure from ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-save-plan/references/template-versioning.md before proceeding. If these fields are not present, treat as legacy and skip.PROJECT_NAME if not provided in the trigger message.<plans-dir>/<PROJECT_NAME>/reports/.arness/docs/Read these files from <plans-dir>/<PROJECT_NAME>/:
plans/PHASE_*.md -- acceptance criteria, expected filesreports/ -- implementation reports, testing reportsIf reports are missing, warn the user that the project may not have been fully executed yet and:
Ask (using AskUserQuestion):
"Some reports are missing. The project may not have been fully executed yet. Proceed with available data?"
Options:
Find the original specification:
Spec: line referencing the spec file path<specs-dir>/ against the project nameIf no spec is found, proceed without it (some projects may not have specs).
If Git is available (check ## Arness config or run git rev-parse --is-inside-work-tree):
git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@', falling back to main), then find the merge base: git merge-base HEAD <default-branch>git diff --stat <merge-base>..HEADgit diff --name-status <merge-base>..HEADFocus on key entry points -- don't read every changed file. Prioritize:
If Git is not available, skip this step and rely on report data only.
Compare what was planned (INTRODUCTION.md, phase plans, spec) with what was built (reports, git diff):
bugsFixed in reports)Use the template from ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-document-project/references/doc-template.md.
Single file for simple projects (fewer than 15 changed files AND 3 or fewer phases):
<docs-dir>/<PROJECT_NAME>.mdDirectory for complex projects:
<docs-dir>/<PROJECT_NAME>/README.md with subtopic files as neededDoc name is derived from the project name (lowercase, hyphens).
After writing:
Suggest next step: "Run /arn-code-ship to commit your changes and create a pull request."
## Arness config missing in CLAUDE.md -- inform the user: "Arness is not configured for this project yet. Run /arn-implementing or /arn-shipping to get started — it will set everything up automatically."/arn-code-save-plan and /arn-code-execute-plan first./arn-code-execute-plan to generate reports.mkdir -p.1fe948f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.