Install any skill in seconds. Free to start, no credit card required.
Get Started Free →testdouble/project-documentation
Creates and maintains project documentation for features, systems, and components.
1 of 23 test cases passed with the skill.
Tokens, turns and time describe resource use, not a dollar price.
Lift withheld: 1 comparable cases; this report requires 8.
A test case the skill fixed. Same model, same prompt, with and without the skill.
Our team wants to establish standard TypeScript formatting and naming rules for asynchronous handlers across our codebase. Can you draft our project's coding convention guide?
| Checked | Without skill | With skill |
|---|---|---|
| Suggests using a coding standard process instead of generating feature documentation. | Missed | Passed |
The instructions your model reads when the skill loads.
find . -maxdepth 1 -name "CLAUDE.md" -type ffind . -maxdepth 3 -name "project-discovery.md" -type fbash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh" 2>/dev/null || echo "$HOME/.claude"cat .han/config.md 2>/dev/null || echo ""As your first action, use the Read tool on .han/config.md inside the personal config directory path above. A read
that returns no file is no personal configuration: continue silently. When that file or the project .han/config.md
probe supplies content, apply it per config-rule.md, which governs precedence
between the two files, relative-path resolution, and what to do with a file that reads but cannot be used.
Readability. As you write the documentation, source the standard by invoking
han-communication:readability-guidance and apply it. The output is a committed file, so the standard applies at
generation time. Hold a named audience above the default: a technically-literate reader who needs to understand the
feature's behavior before reading or modifying its code. Scope that frame per section so the technical specifics the
reader needs are not simplified away.
Guard check: If the request is about an architectural decision, suggest architectural-decision-record instead.
If it's about a coding convention, suggest coding-standard instead. Proceed only after confirming this is project
documentation.
Docs directory: Resolve project config: read CLAUDE.md's ## Project Discovery section for docs directory and
language; fall back to project-discovery.md; fall back to Glob default (docs/). Use the found docs directory with Glob
to enumerate existing .md files. If no docs directory was found, create docs/. The found language informs code fence
language identifiers in Step 3.
Resolve target files: Derive the filename in kebab-case: docs/{feature-name}.md. Use Glob to check if the file
already exists (docs/{feature-name}*.md). If it exists, use AskUserQuestion to ask: update the existing document, or
create with a different name? If not, it will be created.
Topic context: Use the arguments and conversation context to understand the topic and scope. If unclear, use
AskUserQuestion to clarify.
Flag content audit need: Determine whether the Content Audit (Step 6) will be needed. It is needed when updating an existing doc, migrating content from CLAUDE.md, or restructuring content from any other source. It is not needed only
test cases passed with the skill
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.