From mcp-doc
Scans project or subtree for documentation coverage against .mcp/manifest.yml, identifying undocumented directories, documented-but-unindexed files, stale entries, and prioritized recommendations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mcp-doc:mcp-doc-scanThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scan the project (or a subtree) and report documentation coverage. Compares the current file system against the `.mcp/manifest.yml` to identify undocumented directories, stale entries, and missing index entries. Produces a prioritized recommendation list.
Scan the project (or a subtree) and report documentation coverage. Compares the current file system against the .mcp/manifest.yml to identify undocumented directories, stale entries, and missing index entries. Produces a prioritized recommendation list.
Read .mcp/manifest.yml from the project root.
If the file does not exist, tell the user:
No manifest found at .mcp/manifest.yml.
Run /mcp-doc-init to initialize the documentation manifest first.
Stop here if no manifest exists.
Parse the manifest and extract:
.mcp/, so ../src/api/README.md becomes src/api/README.md)Find all documentation files and significant directories in the project.
If $ARGUMENTS is provided and non-empty, scope the scan to that subtree path only. For example, if $ARGUMENTS is src/api, only scan within src/api/.
If $ARGUMENTS is empty, scan the entire project.
Use Glob with the same patterns and exclude rules as /mcp-doc-init:
**/*.md, **/*.rst, **/*.txt (doc-like only)node_modules, .git, dist, build, coverage, __pycache__, .pytest_cache, target, vendor, .venv, .next, .nuxt, .cache, .turbo, tmp, .output, outA directory is "significant" (worth documenting) if it contains:
.ts, .js, .py, .go, .rs, .java, .kt, .swift, .rb, .cs, .cpp, .c, .h)package.json, pyproject.toml, Cargo.toml, go.mod, pom.xml, build.gradle)Skip directories that only contain generated output, test fixtures, or static assets (images, fonts).
For each significant directory and documentation file, assign one of four categories:
The directory has a documentation file (README.md or other doc) AND that file is listed as a resource in the manifest.
The directory has a documentation file but it is NOT in the manifest. This means it was added after /mcp-doc-init was run, or was excluded during init.
Action: Suggest running /mcp-doc-sync to add these.
The directory is significant (contains source code or modules) but has no documentation file at all. Prioritize by importance:
| Priority | Directory characteristics | Examples |
|---|---|---|
| Critical | API/route directories, entry point directories, main source directories, core module directories | src/api/, src/routes/, src/, app/, lib/, core/ |
| High | Business logic directories, shared utilities, auth/security modules, data model directories | src/services/, src/utils/, src/auth/, src/models/, shared/ |
| Medium | Configuration directories, internal/private modules, middleware, helpers | src/config/, src/middleware/, src/helpers/, internal/ |
| Low | Test directories, script directories, tooling, examples, fixtures | tests/, scripts/, tools/, examples/, __tests__/ |
Use directory names and contents to assign priority. When in doubt, use these heuristics:
A manifest resource entry whose file no longer exists on disk. The URI resolves to a path that returns a file-not-found error.
Action: Suggest running /mcp-doc-sync to remove these.
Present the coverage report with the following sections.
Documentation Coverage Report
==============================
Scope: {entire project | subtree path}
Total significant directories: N
Documented & indexed: M (X%)
Documented, not indexed: K
Undocumented: J
Stale manifest entries: S
| Directory | Status | Priority | Doc File | In Manifest |
|-----------|--------|----------|----------|-------------|
| src/ | Documented & indexed | — | src/README.md | Yes |
| src/api/ | Documented & indexed | — | src/api/README.md | Yes |
| src/utils/ | Undocumented | High | — | — |
| src/auth/ | Documented, not indexed | — | src/auth/README.md | No |
| src/legacy/ | Stale | — | (deleted) | Yes (stale) |
Sort the table: Stale entries first, then Undocumented (by priority: Critical > High > Medium > Low), then Documented not indexed, then Documented & indexed.
If any non-markdown documentation files were detected (openapi.yaml, swagger.json, *.api.md), list them:
Non-markdown documentation detected (not indexed):
- openapi.yaml (src/api/)
- swagger.json (src/api/)
Provide prioritized next steps:
Recommendations:
1. [Critical] Create documentation for: src/api/routes/, src/core/
2. [High] Create documentation for: src/services/, src/auth/
3. [Sync needed] Run /mcp-doc-sync to add K new docs and remove S stale entries
4. [Medium] Consider documenting: src/config/, src/middleware/
5. [Low] Optional: src/scripts/, tests/
Quick actions:
- /mcp-doc-generate src/api/routes — generate README for a specific directory
- /mcp-doc-generate all — generate READMEs for all undocumented directories
- /mcp-doc-sync — sync manifest with current project state
npx claudepluginhub z-m-huang/vcp --plugin mcp-docDocumentation reconnaissance for takeover — find all docs, assess accuracy, freshness, coverage, and discoverability, and identify critical knowledge gaps. Use when asked "what docs exist", "documentation assessment", or "knowledge gaps".
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.