
Documentation Verification
- 15 installs
- 7 repo stars
- Updated August 2, 2026
- practicalswan/agent-skills
documentation-verification is a Claude Code skill for documentation.
About
documentation-verification is a Claude Code skill for documentation. It helps solo builders move faster with AI-assisted development.
- documentation-verification
- Documentation
- AI-coding skill
Documentation Verification by the numbers
- 15 all-time installs (skills.sh)
- Ranked #1,080 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/practicalswan/agent-skills --skill documentation-verificationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 15 |
|---|---|
| repo stars | ★ 7 |
| Last updated | August 2, 2026 |
| Repository | practicalswan/agent-skills ↗ |
How do I helps with documentation tasks.?
Helps with documentation tasks.
Who is it for?
Best when you're working on documentation and need structured help with documentation verification.
Skip if: Teams with no documentation needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with documentation tasks., or when documentation-verification is a claude code skill for documentation.
What you get
Structured output aligned to documentation-verification: documentation-verification, Documentation.
Files
Documentation Verification
Use this skill when a docs change needs evidence, not just a writing pass.
- Leverage native parallel subagent dispatch and 200k+ context windows where available.
Activation Conditions
Use symptom -> action triggers: when one matches, apply this skill and verify with the protocol below.
- Reviewing docs before merge or release
- Checking README, setup, or config accuracy
- Verifying local links, commands, and code samples
- Confirming docs changed alongside user-facing behavior
Verification Workflow
1. Confirm the docs cover the changed behavior. 2. Check relative links and referenced files. 3. Validate commands and snippets where feasible. 4. Report missing coverage and stale claims explicitly.
Documentation Stack Reference
Inherit the shared stack from documentation-patterns: source-of-truth discovery, audience framing, structure selection, verification, and freshness checks. Keep this skill focused on final evidence checks instead of restating the full stack.
Anti-Patterns
- Writing for the author instead of the reader: It bakes in unstated context and leaves the actual audience unsure what to do next.
- Skipping concrete examples or commands: Abstract guidance is easy to approve and hard to apply correctly.
- Letting links, screenshots, or versions drift: Polished formatting does not help if the instructions are no longer true.
Verification Protocol
Before claiming "skill applied successfully":
1. Pass/fail: The Documentation Verification output identifies audience, purpose, source of truth, and freshness requirements. 2. Pass/fail: Shared documentation-stack guidance is referenced instead of duplicating another documentation skill. 3. Pass/fail: Claims, links, commands, examples, and screenshots are verified or explicitly marked unverified. 4. Pressure-test scenario: Apply the skill to a doc request with a stale command, missing owner, and conflicting audience. 5. Success metric: Zero undocumented assumptions; every reader-facing claim is sourced or scoped.
Review Checklist
- [ ] Public behavior changes are documented
- [ ] Local links resolve
- [ ] Examples and commands still make sense
- [ ] Setup steps reflect current tool versions
- [ ] README and CHANGELOG were updated when required
References & Resources
Documentation
- Validation Procedures - Practical checks for links, examples, config, and coverage
Scripts
- Doc Link Check - Validate relative Markdown links across one file or an entire docs tree
<!-- PORTABILITY:START -->
Cross-Client Portability
This skill is written to stay usable across GitHub Copilot, Claude Code, Codex, and Gemini CLI.
- GitHub Copilot: keep the folder in a Copilot-visible skill or plugin path, or wrap the workflow as project instructions if the host does not support portable skill folders directly.
- Claude Code: keep the folder in a local skills directory or a compatible plugin or marketplace source.
- Codex: install or sync the folder into
$CODEX_HOME/skills/<skill-name>and restart Codex after major changes. - Gemini CLI: this repository generates a project command named
/skills:documentation-verificationfrom this skill. Rebuild commands withpython scripts/export-gemini-skill.py documentation-verificationand then run/commands reloadinside Gemini CLI.
<!-- PORTABILITY:END -->
<!-- MCP:START -->
MCP Availability And Fallback
Preferred MCP Server: None required
- Fallback prompt: "Use the Documentation Verification skill without MCP. Rely on the local
SKILL.md, bundled references or scripts, and manual verification. Show the exact commands, evidence, and final checks you used before concluding." - If the current host does not expose a matching server, use the bundled references, scripts, native toolchain, and manual workflow already described in this skill.
- Treat direct local verification, rendered output, logs, tests, or screenshots as the fallback evidence path before completion.
<!-- MCP:END -->
Related Skills
- documentation-authoring: Use it when the workflow also needs drafting structured technical or product documents.
- documentation-patterns: Use it when the workflow also needs reusable documentation structures and templates.
- documentation-quality: Use it when the workflow also needs documentation review standards and quality gates.
- notion-docs: Use it when the workflow also needs Notion page and database publishing workflows.
Changelog
[2026-04-25] - Version 1.2 Verification Protocol Refresh
Added
- Added a
Verification Protocolsection with skill-specific pass/fail checks, one pressure-test scenario, and a measurable success metric. - Added guidance to leverage native parallel subagent dispatch and 200k+ context windows where available.
- Added or referenced the shared documentation-stack approach to reduce duplicated documentation guidance.
Changed
- Updated
SKILL.mdfrontmatter toversion: "1.2"andlast_updated: 2026-04-25. - Reframed activation guidance toward symptom -> action triggers and standardized two-stage review wording where applicable.
[2026-04-24] - Version 1.1 Refresh
Changed
- Updated the SKILL frontmatter version to
1.1for the 2026-04-24 catalog refresh.
All notable changes to this skill will be documented in this file.
[2026-04-24] - Skill Refresh
Changed
- Standardized the SKILL frontmatter with version metadata, last-updated date, tags, and a concise catalog description.
- Reformatted the portability and MCP guidance with a preferred server line, a copy-paste fallback prompt, and consistent bullet lists.
- Added a catalog-standard Anti-Patterns section and refreshed the Related Skills links at the end of the skill.
[2026-04-24] - Link Checker Cleanup
Fixed
- Updated the local Markdown link checker to ignore fenced code, inline code, generated Gemini output, and agent memory folders before validating local links.
Tested
- Re-ran
python documentation-verification/scripts/doc-link-check.py .and confirmed all checked Markdown links resolved.
[2026-04-04] - Cross-Client Portability Refresh
Changed
- Added a standard portability note covering GitHub Copilot, Claude Code, Codex, and Gemini CLI.
- Clarified that the core workflow does not require a dedicated MCP server and can run with local tools alone.
Tested
- Validated
SKILL.mdfrontmatter, portability sections, and Gemini export readiness withpython scripts/validate-skills.py.
[2026-03-09] - Workspace Modernization
Changed
- Reworked the skill around evidence-based documentation verification before merge or release
Added
scripts/doc-link-check.pyfor validating relative Markdown links
[2026-02-28] — Description Rewrite & Cross-References
Changed
- Rewrote skill description to ~200 characters with clear, specific activation keywords
- Improved keyword specificity to reduce overlap with related skills
Added
## Related Skillscross-reference table with 2-4 related skills and "Use When" guidance
MIT License
Copyright (c) 2026 Sithu Win San
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Documentation Validation Procedures
Code Example Validation
Verify code examples in docs compile/run:
1. Extract code blocks from documentation files 2. Execute each example in isolated environment 3. Compare output with documented expected output 4. Flag any failures or mismatches
Tools:
- JavaScript/TypeScript:
jest,vitestwith example runner - Python:
pytestwith doctest - Go:
go test -run=Doc - Rust:
cargo test --doc
Link Validation
Check for broken links:
1. Scan documentation for markdown, HTML, and auto-links 2. Resolve internal links (point to existing documentation files) 3. Test external links (HTTP HEAD requests) 4. Report broken or redirected links
Tools:
markdown-link-check: Validates markdown linkslychee: Fast link checker, supports HTMLlinkchecker: Advanced, supports recursion
Configuration Validation
Validate configuration examples:
1. Compare examples against config schemas 2. Verify all documented options are valid 3. Check for typos in configuration keys 4. Validate default values match implementation
Example Validation Command:
npm run docs:check # Verify docs build
npm run docs:test-examples # Test code examples
npm run docs:lint # Check for issues
npm run docs:validate # Run all documentation checksAutomated Testing
Pre-Commit Hooks
{
"husky": {
"hooks": {
"pre-commit": "npm run docs:validate",
"pre-push": "npm run docs:links"
}
}
}CI Pipeline
- name: Validate Documentation
run: npm run docs:validate
- name: Test Examples
run: npm run docs:test-examples
- name: Check Links
run: npm run docs:links#!/usr/bin/env python3
"""Validate local Markdown links."""
from __future__ import annotations
import argparse
import re
from pathlib import Path
LINK_RE = re.compile(r"\[[^\]]+\]\(([^)]+)\)")
FENCED_CODE_RE = re.compile(r"```.*?```", re.DOTALL)
INLINE_CODE_RE = re.compile(r"`[^`\n]*`")
SKIP_DIRS = {".git", ".gemini", ".serena"}
def remove_code(text: str) -> str:
text = FENCED_CODE_RE.sub("", text)
return INLINE_CODE_RE.sub("", text)
def check(path: Path) -> list[str]:
findings: list[str] = []
text = remove_code(path.read_text(encoding="utf-8", errors="replace"))
for match in LINK_RE.finditer(text):
target = match.group(1).strip()
if not target or target.startswith(("http://", "https://", "mailto:", "#", "/")):
continue
target = target.split(maxsplit=1)[0]
clean_target = target.split("#", 1)[0]
if not clean_target:
continue
candidate = (path.parent / clean_target).resolve()
if not candidate.exists():
findings.append(f"{path}: missing target {target}")
return findings
def main() -> int:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("paths", nargs="+", help="Markdown files or directories")
args = parser.parse_args()
findings: list[str] = []
for raw in args.paths:
path = Path(raw)
files = [path] if path.is_file() else sorted(
file_path
for file_path in path.rglob("*.md")
if not any(part in SKIP_DIRS for part in file_path.parts)
)
for file_path in files:
findings.extend(check(file_path))
if findings:
print("\n".join(findings))
return 1
print("All checked Markdown links resolved.")
return 0
if __name__ == "__main__":
raise SystemExit(main())
Related skills
FAQ
What does documentation-verification do?
documentation-verification is a Claude Code skill for documentation.
When should I use documentation-verification?
When you need to helps with documentation tasks., or when documentation-verification is a claude code skill for documentation.
What are the main capabilities?
documentation-verification; Documentation; AI-coding skill.