Skill

Verify documentation accuracy against source code

A skill that guards documentation before it ships by verifying every claim against the actual source code.


90
Spark score
out of 100
Updated 6 days ago
Version 15.0.0

Add to Favorites

Why it matters

Ensure that generated or changed documentation contains only verifiable claims by checking every symbol, code sample, API reference, and configuration key against the actual source code before shipping.

Outcomes

What it gets done

01

Verify every function, method, class, CLI flag, endpoint, and config key mentioned in docs exists in the actual codebase

02

Test that all code samples run with correct imports, signatures, and no hardcoded paths or credentials

03

Detect and flag unverifiable performance claims, compatibility matrices, or marketing language without repo evidence

04

Ensure code changes trigger corresponding documentation updates across READMEs, docstrings, changelogs, and examples

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-docs-guard | bash

Overview

Docs Guard

A skill that guards documentation before it ships by verifying every symbol, code sample, version tag, and performance claim against the actual source, in guard-pass, live, or review mode. Use it reactively after docs are written or updated, or proactively before writing - it doesn't review the underlying code itself, only what the docs claim about it.

What it does

This skill reviews generated or changed documentation before it ships, applying the core principle that documentation is a set of checkable claims about a codebase, and its job is to check them. The rationale is grounded in published research: roughly half of AI answers to programming questions contain incorrect information, and models produce valid invocations for infrequent APIs barely a third of the time - yet the prose sounds equally authoritative either way, and readers can't tell verified docs from hallucinated ones without checking the source themselves.

It runs in three modes: guard-pass (the recommended default, verifying every claim after documentation has already been generated or edited), live mode (reading the actual implementation first, then documenting what it does, when invoked before writing), and review mode (walking a structured checklist against target docs to produce a findings report with file:line evidence, without rewriting unless asked). Before applying rules it adapts to the project - reading CLAUDE.md/AGENTS.md and any docs style guide (project conventions win on conflict), identifying which doc surfaces must move together (README, reference docs, docstrings, changelog, examples, config samples), and noting the project's version policy.

Ten rules split by severity. Must-fix accuracy rules: every referenced symbol (function, CLI flag, endpoint, config key, file path) must be verified against the actual source rather than recalled from memory; every code sample must actually run, with resolving imports and no hardcoded local paths or real credentials; documentation must describe the code's actual behavior, not its intended behavior, flagging any disagreement between code and spec rather than silently picking a side; and unverifiable claims like performance numbers or "production-ready" assertions need a repo source or they come out. Should-fix versioning rules require explicit version tagging (never "latest") and mandate that a code change touching documented behavior updates every doc surface that mentions it in the same change. Should-fix substance rules cut filler docstrings that just paraphrase a signature, forbid paraphrasing upstream docs (link instead, since paraphrases drift when upstream changes), and require examples to cover the failure path, not just the happy path. The worth-noting structure rule requires navigation, tables of contents, and internal links to actually resolve, with no "coming soon" stubs in published docs.

A mandatory self-check runs before delivery: every symbol verified this session (not from memory), every code sample checked to run clean, every number/claim backed by a repo source, docs grepped for old names after a code change, no restated-signature docstrings, and all links resolving. Review-mode findings use a fixed format:

**Rule N violation** in `docs/path.md:<line or section>`
- Claim: <what the docs say>
- Reality: <what the code/CLI/schema actually has, with file:line>
- Fix: <one sentence>

When to use - and when NOT to

Use it reactively after an agent writes or updates READMEs, API references, docstrings, changelogs, or doc sites - or proactively in live mode before writing new docs. It explicitly does not review the code itself (that's clean-code-guard's jurisdiction - this skill reviews what the docs claim about the code), does not generate documentation strategy or information architecture from scratch, and does not enforce a prose style guide - tone belongs to the project, truth belongs to this skill.

Inputs and outputs

Input is the generated or changed documentation plus the actual source it describes. Output is either corrected documentation (guard-pass/live mode) or a findings report with file:line evidence per violated rule (review mode).

Integrations

It hands code-quality concerns to clean-code-guard and pulls from five companion reference files for verification procedure, code-sample rules, docstring rules, the review checklist, and citable sources.

Who it's for

Teams and agents shipping documentation who need every claim - symbols, code samples, version tags, performance numbers - verified against the actual source before it reaches readers who can't otherwise tell verified docs from hallucinated ones.

Source README

Docs Guard

You are reviewing generated or changed documentation before it ships. Apply the rules below as a guard pass after the first documentation pass. The core principle: documentation is a set of claims about a codebase, and every claim is checkable. Your job is to check them.

These rules exist because AI agents document from memory of how APIs usually look, not from the code in front of them. Published research: half of AI answers to programming questions contain incorrect information, and models produce valid invocations for infrequent APIs barely a third of the time - yet the prose sounds authoritative either way. Readers cannot tell verified docs from hallucinated docs. You can, because you have the source.

When to Use

Use this skill when reviewing generated or changed documentation before it ships. Activate it reactively after an agent writes or updates READMEs, API references, docstrings, PHPDoc/JSDoc, changelogs, tutorials, or doc sites.

How to use this skill

Guard-pass mode (recommended): after documentation or docstrings have been generated or edited, verify every claim against the source and run the self-check before delivery.

Live mode (explicit): when the user invokes this skill before writing docs, verify before you write - read the actual implementation, then document what it does. Run the self-check before delivery.

Review mode (the user asks you to review, audit, or fact-check docs): walk references/review-checklist.md against the target docs and produce a findings report with file:line evidence. Do not rewrite in review mode unless asked.

Adapt to the project first

  1. Read the project's agent instructions (CLAUDE.md, AGENTS.md) and any docs style guide. Project conventions win on conflict.
  2. Identify the docs surfaces that must move together: README, reference docs, docstrings, changelog, examples, config samples. A change to one usually owes a change to others (Rule 6).
  3. Note the documented version policy: which versions does the project support, and where are features version-tagged?

The Rules

Accuracy - must fix

  1. Every referenced symbol must exist. Every function, method, class, hook, CLI command, flag, endpoint, config key, env var, and file path mentioned in the docs gets verified against the actual source, CLI help output, route table, or schema - by reading it, not recalling it. The verification procedure is in references/verification.md. An unverifiable reference does not ship.

  2. Every code sample must work. Imports resolve, APIs exist with the documented signatures (names, argument order, defaults, return shape), and the sample runs outside the author's machine - no hardcoded local paths, no real credentials, no implicit prior state. Sample rules: references/code-samples.md.

  3. Document the code's actual behavior, not its intended behavior. Read the implementation before describing it. Where code and comments/specs disagree, the code is the truth - and flag the disagreement to the user instead of silently picking a side.

  4. No unverifiable claims. Performance numbers, compatibility matrices, scale limits, and "production-ready" assertions require a source in the repository (benchmark script, CI matrix, changelog entry) or they come out. "Fast" is marketing; "O(n log n), benchmarked in bench/sort.md" is documentation.

Versioning and drift

  1. Versions are explicit. Features, flags, and behaviors state the version that introduced them when the project tracks versions. Prerequisites are pinned or ranged, never "latest". Deprecated items say so, with the replacement.

  2. A code change owes a docs change. When editing code whose behavior is documented - rename, signature change, new default, removed flag - update every doc surface that mentions it in the same change. Grep the docs for the old symbol before finishing.

Substance - should fix

  1. No filler, no slop. Delete: docstrings that paraphrase the signature ("Gets the user by ID" above get_user_by_id), sections that restate their heading, marketing adjectives in technical prose ("powerful", "seamless", "blazingly fast"), and intro padding ("In this section, we will explore…"). A docstring earns its place by adding contracts the signature cannot express: units, ranges, error conditions, side effects, threading/ordering guarantees.

  2. Don't paraphrase upstream docs. Link to external documentation instead of restating it - paraphrased upstream docs drift the moment upstream changes. Document only your project's relationship to the external thing (which subset you use, what you configure differently).

  3. Examples cover the failure path too. A tutorial that only shows the happy path documents half the API. Show what the error looks like and what the caller should do - using the error types the code actually raises (verify per Rule 1).

Structure - worth noting

  1. Navigation tells the truth. Headings describe their sections, the table of contents matches the actual headings, internal links and anchors resolve, and there are no TODO stubs or "coming soon" sections in published docs - unwritten sections are removed, not promised.

Self-check before delivery

  1. List every symbol, flag, endpoint, config key, and path your docs mention. Did you verify each one against the source in this session - not from memory?
  2. Would every code sample run on a clean machine? Did you check each import and signature?
  3. Any number, compatibility claim, or superlative without a repo-verifiable source?
  4. If this change touched code: did you grep all docs surfaces for the old names?
  5. Any docstring that just restates the signature? Any section that restates its heading?
  6. Do all internal links and anchors resolve?

If any answer is wrong, fix it before showing the user.

Reporting format (review mode)

**Rule N violation** in `docs/path.md:<line or section>`
- Claim: <what the docs say>
- Reality: <what the code/CLI/schema actually has, with file:line>
- Fix: <one sentence>

Lead with Rule 1-4 findings (false claims), then drift, then substance. If a doc is clean, say so in one line - accuracy deserves credit.

Severity guide

  • Must fix: Rules 1-4 - false documentation is worse than no documentation; readers act on it
  • Should fix: Rules 5-9 - drift debt and noise that buries the signal
  • Worth noting: Rule 10 - navigation and polish

References

What this skill does not do

  • Review the code itself - clean-code-guard's jurisdiction. This skill reviews what the docs claim about the code.
  • Generate documentation strategy or information architecture from scratch - it guards accuracy and substance, not scope decisions.
  • Enforce a prose style guide - tone belongs to the project; truth belongs to this skill.

Discussion

Questions & comments Β· 0

Sign In Sign in to leave a comment.