project-documentation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited project-documentation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
find . -maxdepth 1 -name "CLAUDE.md" -type ffind . -maxdepth 3 -name "project-discovery.md" -type fGuard 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 when creating documentation for a feature with no prior documentation of any kind.
Launch 2-3 han-core:codebase-explorer agents in parallel with the feature name, scope, and any known file paths. Include the docs directory from Step 1 so agents can discover existing documentation. Each agent should explore from a different angle (e.g., entry points and core logic; data models and configuration; tests and existing docs).
After all agents complete, merge their findings into a unified discovery summary — a numbered list (D1, D2, D3, ...) that combines all items, deduplicates files found by multiple agents, and resolves any conflicting findings.
Use the template at template.md as the structural guide. The template's HTML comments explain when to include each section and what to cover.
File location: docs/{feature-name}.md (in the directory determined in Step 1)
Writing rules:
Lead with behavior. These rules make the doc an overview first and a reference second:
## Technical Reference region, below the behavioral spine. Treat them as lookup material, not the document's main body.Apply to every section:
src/services/auth.ts, not ./auth.ts).### Backend / ### Frontend sub-headings for cross-cutting features; skip sub-headings for single-layer features. `mermaid `` fence — flowchart for structure and trees, sequenceDiagram` for actor-to-system exchanges. Label nodes with parts a reader recognizes and label edges with what passes between them. Keep each diagram to the parts that matter; a reader should grasp the shape at a glance.Updating existing documents: Read the entire existing document first and note all content sources (existing doc, content migrated from CLAUDE.md or other files, any other inputs). Preserve the existing structure; don't reorganize unless requested. Identify sections needing changes based on Step 2 exploration. Add new sections where the template suggests them. If the existing doc has no plain-language behavioral layer (no Summary, How It Works, or Primary Flows), add those sections at the top so the updated doc leads with behavior. Flag removals as provisional for the Content Audit (Step 6). Update code examples to match current source and update cross-references in both directions.
Metadata: Fill in Last Updated (current date/time).
CLAUDE.md, AGENTS.md, or equivalent) to understand its existing structure and patterns- See [/docs/{feature-name}.md](/docs/{feature-name}.md) for {brief description}.Check the flag set in Step 1. If the Content Audit is not needed, skip to Step 7.
Identify every source of pre-existing content that fed into this task (previous doc version, CLAUDE.md content replaced with summary links, content migrated from other files). Re-read each source's original content from before your changes. Launch a han-core:content-auditor agent with the path to the new/updated document and the list of all source content (file paths and descriptions). The agent classifies each fact as Present, Correctly Removed, or Missing.
For each item classified as Missing, add the content back to the appropriate section, adapting wording to fit the new document's style while preserving factual content. Use the agent's suggested wording and placement as guidance.
Present the audit summary to the user: number of facts checked, number present, number correctly removed, and number missing (and restored).
Dispatch an han-core:information-architect agent against the written/updated doc before final verification. Pass it the document path, the docs directory root, and the intended audience (a developer or technically-literate stakeholder who needs to understand the feature's behavior before reading its code, and who may later modify it).
Prompt: "Audit the feature doc at {doc_path} for findability, orientation, and comprehension. The intended audience is a developer or technically-literate stakeholder who needs to understand the feature's behavior before reading its code, and who may later modify it. Check: (1) Does a plain-language Summary and a How It Works and Primary Flows narration appear before any code, schema, or type reference? If the behavioral content is missing or sits below the reference detail, that is a finding. (2) Does the heading list let a scanning reader see where the functional overview ends and the deep ## Technical Reference begins? (3) Is the Summary a short prose paragraph plus bullets, oriented at the right audience, and does the title + one-sentence description match what a reader scanning {docs_directory} would expect to find here? (4) Are Configuration and Error Handling scannable and placed ahead of the raw reference detail? (5) Does the Related Documentation section lead the reader to the next useful artifact, or dead-end them? Return a list of structural edits. Do not return an empty list unless the document leads with behavior and defers code reference."
Apply every actionable edit the agent returns. For findings that require a judgment only the author can make (scope, audience ambiguity), surface them to the user with a recommended resolution; do not silently resolve.
## Technical Reference region), no {placeholder} values remain, absolute file paths, reference code is short snippets or file pointers rather than long source blocks, no empty CONDITIONAL sections, Mermaid diagrams are syntactically valid (open with ``` `mermaid ```, declare a diagram type, and parse)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.