docs-check
Read-only audit of documentation against the current codebase, flags stale docs, missing sections, broken links, and hallucinated claims (wrong file…
Skill by mgiovani
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mgiovani-docs-check
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/docs-check
What's inside
- Skill name
docs-check- Description
- Read-only audit of documentation against the current codebase, flags stale docs, missing sections, broken links, and hallucinated claims (wrong file references, wrong counts, diagram entities that don't exist in code). Use for "check the docs", "audit documentation", "are the docs stale", "find hallucinations in docs", "docs health check", "does this doc still match the code", or before onboarding/release. Reports only, never edits files, for actually fixing or regenerating docs use docs-update instead.
- License
- MIT
- Metadata
- author: mgiovani · summary: Documentation validation and health scoring · version: 2.0.0
- Instructions
- 155 lines in SKILL.md · view on GitHub
Files (5)
- SKILL.md
- evals.json · evals/
- trigger-eval.json · evals/
- scoring-criteria.md · references/
- verification-patterns.md · references/
SKILL.md (first lines)
# Check Documentation Quality
Audit documentation freshness, completeness, and quality against the current codebase state. Read-only: never edit or write to any doc file.
## Anti-hallucination detection
This skill exists to catch docs that lie. For every claim in a doc, verify it against the actual codebase rather than trusting the doc text:
1. Cross-reference claims: component/service names, described relationships
2. Verify counts: if a doc says "5 services", count the actual services
3. Check file references: confirm every referenced path exists
4. Validate diagrams: every Mermaid entity must exist in real code
## Workflow
### Phase 1: Scan docs/
1. Glob all documentation files (`docs/`, `docs/adr/`, `docs/rfc/`, top-level `README.md`, `CONTRIBUTING.md`).
2. Infer focus categories from the filenames actually present: don't assume a fixed set. A repo with `docs/data-model.md` gets a "data" category; one with `docs/deployment.md` and `docs/docker-compose.yml` docs gets "infrastructure"; group whatever's there under a name that matches its content. If the user names a focus that doesn't match anything found, say so and list the categories that do exist instead of silently no-op'ing.
3. Detect tech stack, database presence, deployment configs, and project type from the codebase (package files, Dockerfiles, etc.) to know what documentation *should* exist.
### Phase 2: Parse arguments
Extract an optional focus keyword from the invocation and match it against the categories found in Phase 1. No argument means check everything found.
### Phase 3: Verify claims against the codebase
For a small doc set (a handful of files, or a one-shot check like "does this file exist"), verify directly inline with Read/Grep/Glob/git: spawning a subagent for a single lookup adds latency for no benefit.
For a large multi-doc audit (a full `docs/` tree, many ADRs, cross-referencing several files against the codebase), spawn one Explore subagent per document or logical section so each verifies its claims independently. Where no Task tool is available, fall back to processing each document sequentially inline instead: same verification steps, one document at a time, no parallelism. See [references/verification-patterns.md](references/verification-patterns.md) for section-level verification patterns and bash commands.
**Verification categories**: component/service names, numeric counts, diagram entities, file/path references, technology claims (against package files), relationship claims.
### Phase 4: Validation checks
**Relevance**: which docs are relevant given the detected stack; what's missing for detected technologies.
**Freshness**: compare each doc's last-modified date (git log) against related code changes. A doc untouched since before a significant change to the code it describes is stale.
**Completeness**: required sections present, no unreplaced `{{PLACEHOLDER}}` values, diagrams present where expected.
**Quality**: valid Mermaid syntax, no broken internal links, no empty sections.
Check Mermaid by rendering it. Needs `mmdc`: install with `npm i -g @mermaid-js/mermaid-cli`, or run it ad hoc by defining `mmdc() { npx -y -p @mermaid-js/mermaid-cli mmdc "$@"; }` first. If Chromium refuses to launch in a sandbox, add `-p` with a puppeteer config of `{"args":["--no-sandbox"]}`. Run this once over every doc found in Phase 1 (nothing it writes lands in the repo):
```bash
d=$(mktemp -d)
for md in $(find docs -name '*.md'); do
awk -v out="$d/${md//\//__}" '/^```mermaid/{f=out "-" ++n ".mmd"; next} /^```/{f=""} f{print > f}' "$md"
done
for f in "$d"/*.mmd; do mmdc -q -i "$f" -o "${f%.mmd}.svg" || echo "FAIL $f"; done
```
Each `FAIL <name>-N.mmd` is an invalid diagram: report the doc and the Nth mermaid block as a finding with the parser error, and never edit the doc. Run it once, with no fix loop. If `mmdc` can't be installed, say so in the report and review the syntax by eye, marking those results unverified.
See [references/verification-patterns.md](references/verification-patterns.md) for the exact commands.
### Phase 5: Rate each document
Skip numeric scoring: a 0-100 breakdown per doc implies precision this check doesn't have. Give each document one coarse rating instead:
- Good: current, complete, no broken links or invalid diagrams
- Stale: accurate but outdated (freshness or completeness gaps, no false claims)
- Broken: contains hallucinations, broken links, or invalid Mermaid syntax
- Missing: expected given the detected stack but doesn't exist
See [references/scoring-criteria.md](references/scoring-criteria.md) for the full rubric per rating.
### Phase 6: Generate report
- Status summary with counts per rating
- Documents grouped by rating (Good / Stale / Broken / Missing)
- **Hallucination Report**: claims that don't match reality, with evidence
- Quality issues with specific file:line locations
- Actionable recommendations naming a specific follow-up command (docs-update, docs-diagram) and why
## Output Format
### Status Summary
```
Documentation Health Report
Good (3 docs):
docs/architecture.md
docs/onboarding.md
docs/adr/ (5 records)
Stale (2 docs):
docs/data-model.md — last updated 2025-03-01, schema changed 2025-06-15
docs/deployment.md — references removed staging environment
Broken (1 doc):
docs/architecture.md — Hallucination: claims "6 microservices", 3 found
Missing (1 doc, expected for detected stack):
docs/security.md — auth code present, no security doc
```
### Hallucination Report
```
Hallucinations Detected:
docs/architecture.md:
- Line 45: Claims "6 microservices" but only 3 found
Verified with: find . -name "*service*" -type d | wc -l -> 3
- Line 78: References "AuthService" which doesn't exist
Verified with: grep -r "class AuthService" . -> no results
```
### Recommendations Format
```
Priority Recommendations:
1. HIGH: docs/architecture.md claims 6 microservices, only 3 exist
Command: docs-update architecture
Reason: hallucinated count, misleads new engineers
2. MEDIUM: docs/data-model.md has 2 unreplaced {{PLACEHOLDER}} valuesFrom mgiovani/cc-arsenal, MIT.
More from mgiovani/cc-arsenal
- 0.631score
git-commit
mgiovani
Generate a conventional commit message (conventionalcommits.org) from the staged/unstaged diff and create the commit.
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
agent-browser
mgiovani
Headless browser automation CLI optimized for AI agents: drives a real browser via accessibility-tree snapshots and @e1-style refs for ~93% less context than…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
anything-to-skill
mgiovani
Turns a docs site, local folder, PDF or book, YouTube video, playlist or channel, or a topic into a source-grounded, token-efficient agent skill (hub…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
codex-imagegen
mgiovani
Generates images and polished raster art (logos, mascots, hero images, icons, characters, sprite sheets, illustrations, product mockups) by driving Codex…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
ci-generate
mgiovani
Generate a production-ready CI/CD pipeline config (GitHub Actions, GitLab CI, CircleCI, or Jenkins) by discovering the project's actual stack, test/build…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
create-rule
mgiovani
Create a new memory/instruction rule for whatever AI coding tool a project actually uses, a CLAUDE.md entry or .claude/rules/*.md file for Claude Code, an…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
create-skill
mgiovani
Create a new agent skill (or Claude Code slash command) from a plain-language description, using live spec fetching, pattern research, and an approval-gated…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
db-migrate
mgiovani
Creates, checks the status of, and validates database migrations by auto-detecting the project's migration framework (Alembic, Prisma, Knex, Django…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
docker-init
mgiovani
Generates production-ready docker-compose.yml and Dockerfile(s) for a project by scanning its manifest files (package.json, pyproject.toml, Gemfile, go.mod…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
docs-diagram
mgiovani
Generate a Mermaid diagram (ER, architecture, deployment, or security) by reading the actual codebase and writing it to docs/.
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
docs-update
mgiovani
Refresh existing docs (architecture, onboarding, data-model, deployment, security, contributing) so they match the current codebase, verifying every claim…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
env-setup
mgiovani
Scans a codebase for environment variable usage to generate or sync .env.example, validate .env completeness against what the code actually reads, and detect…
SkillAFreshness: A★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 1
- Open issues
- 6
- Last commit (this folder)
- Oct 5, 2026 (23 days ago)
- Last release
- Oct 7, 2026 (22 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2.0.0
- License
- MIT
- Repository
- github.com/mgiovani/cc-arsenal
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mgiovani
- 0.631score
docs-diagram
mgiovani
Generate a Mermaid diagram (ER, architecture, deployment, or security) by reading the actual codebase and writing it to docs/.
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
agent-browser
mgiovani
Headless browser automation CLI optimized for AI agents: drives a real browser via accessibility-tree snapshots and @e1-style refs for ~93% less context than…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
anything-to-skill
mgiovani
Turns a docs site, local folder, PDF or book, YouTube video, playlist or channel, or a topic into a source-grounded, token-efficient agent skill (hub…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
codex-imagegen
mgiovani
Generates images and polished raster art (logos, mascots, hero images, icons, characters, sprite sheets, illustrations, product mockups) by driving Codex…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
create-rule
mgiovani
Create a new memory/instruction rule for whatever AI coding tool a project actually uses, a CLAUDE.md entry or .claude/rules/*.md file for Claude Code, an…
SkillAFreshness: A★ 8Claude Code +9 - 0.631score
ci-generate
mgiovani
Generate a production-ready CI/CD pipeline config (GitHub Actions, GitLab CI, CircleCI, or Jenkins) by discovering the project's actual stack, test/build…
SkillAFreshness: A★ 8Claude Code +9
Cite this page
docs-check skill. Agent Mart. https://agentmart.dev/skills/mgiovani-docs-check (last updated 2026-10-24)