skills/team/doc-sync/SKILL.md
Documentation staleness detection, XML doc comment generation, and README synchronization -- keeps documentation accurate and in sync with code changes. Use when auditing documentation coverage, generating XML doc comments, or syncing READMEs after code changes.
npx skillsauth add michaelalber/ai-toolkit doc-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
"The only thing worse than no documentation is wrong documentation — someone will trust it and make a bad decision." -- adapted from Steve McConnell, "Code Complete"
Documentation decays the moment code changes. This skill detects when documentation has drifted from code, generates accurate XML doc comments from implementation analysis, and keeps READMEs synchronized with the project's actual state. The goal is not comprehensive documentation — it is accurate documentation. A perfectly documented codebase that was accurate six months ago is a liability; a minimally documented one verified this morning is an asset. Freshness and accuracy always beat completeness. Documentation is a derived artifact of code: when they diverge, the code is always right and the docs must change to match.
Non-Negotiable Constraints:
<see cref>/<paramref> resolves.Full principle table, discipline rules, anti-patterns, and error recovery live in
references/conventions.md.
STALENESS DETECTION
SCAN Identify scope: target dir/namespace, file types (.cs/.md/.xml), doc types.
COMPARE Per documented file: code vs. doc modification dates (git log); signatures vs. doc
content; new public members without docs; removed members still in docs.
CLASSIFY CURRENT | STALE (code changed after doc) | MISSING (public API, no doc) |
ORPHANED (doc references gone code) | DRIFT (doc ≠ current signatures).
PRIORITIZE ORPHANED → DRIFT → STALE → MISSING-on-public → CURRENT.
(Heuristics: references/staleness-detection.md.)
XML DOC GENERATION
READ Full implementation; exact signature; throwing paths; edge cases; existing docs.
GENERATE <summary> WHAT+WHY not HOW · <param> each param + constraints · <returns> each
non-void · <exception> each throw + condition · <remarks> edge/threading/perf ·
<example> only when non-obvious · <see cref> related members.
VERIFY Every <param name> matches a real param; every <exception cref> is actually thrown;
every <see cref> resolves; no <returns> on void; examples compile; summary ≠ name.
(C# tag patterns: references/xml-doc-patterns.md.)
README SYNC
INVENTORY What the README covers (description, setup, config, usage, API, deps, contributing).
DIFF Each section vs. current state: setup vs. build files; deps vs. manifests; examples
vs. current signatures; description vs. current capabilities.
UPDATE Read the current code/config; update to match; preserve existing style/format; don't
add sections without an obvious gap; note anything you cannot verify.
VALIDATE All paths exist; commands valid; dep versions match manifests; API refs current.
Exit criteria: every in-scope item classified; updated docs match the implementation; every reference verified to resolve; unverifiable items flagged with a note; README sections validated against manifests and build files.
<doc-sync-state>
phase: SCAN | COMPARE | CLASSIFY | GENERATE | VALIDATE
scope: [directory, namespace, or file]
files_scanned: [count]
gaps_found: [count]
stale_docs: [count]
items_updated: [count]
items_validated: [count]
last_verified: [description of last action]
</doc-sync-state>
references/output-templates.md.references/xml-doc-patterns.md.references/staleness-detection.md.references/conventions.md.| Skill | Relationship |
|-------|-------------|
| architecture-journal | When an audit reveals undocumented architecture decisions, record them as ADRs there — documentation gaps often indicate decision gaps. Typical flow: doc-sync audit → discover an undocumented API redesign → architecture-journal records the decision → return to doc-sync to update XML docs + README. |
development
Interviews the user relentlessly about a plan, decision, or idea — one question at a time, each with a recommended answer. Shared engine behind "grill-me" and "grill-with-docs". Use on any "grill" trigger phrase or to stress-test thinking. Do NOT use to build the plan; it ends at shared understanding, not implementation.
testing
Runs a relentless interview to sharpen a plan or design, capturing the decisions as ADRs and a glossary along the way. Use when the user wants to be grilled AND wants the session to leave durable domain documentation behind. Do NOT use for a throwaway stress-test with no artifacts; use grill-me instead.
tools
OWASP-based security review of Vue/TypeScript front-ends. Detects framework (Vite/Vue CLI/Nuxt), entry points, and data flows; scans the OWASP Top 10 (2025) mapped to Vue client-side risks (raw-HTML XSS via v-html, URL/protocol injection, bundled secrets, insecure token storage, dependency CVEs, missing CSP, open redirects, router guard bypass); emits an exec summary plus graded findings. Use to audit Vue for vulnerabilities. Not for architecture grading (vue-architecture-checklist).
tools
Analyzes legacy Vue codebases and produces actionable modernization plans. Primary migration paths include Options API to Composition API, Vue 2 to Vue 3, Vue CLI to Vite, JavaScript to TypeScript, Vue Test Utils/Karma/Mocha to Vitest + Vue Testing Library, legacy Vuex to Pinia, and removed-in-Vue-3 pattern cleanup (filters, event bus, `$listeners`). Does NOT perform the migration — assesses, quantifies risk, and plans.