doc
Generate and validate repo docs, READMEs, and OSS doc packs.
What this skill does
# Doc Skill **YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.** Generate and validate documentation for any project. `--mode` selects the artifact family — the default mode handles code/API docs and code-maps; `--mode=readme` generates a gold-standard README; `--mode=oss` scaffolds and audits the open-source doc pack. ## Modes | `--mode` | Artifact | Read first | |----------|----------|-----------| | *(default)* | API docs, code-maps, doc coverage/validation | this file | | `readme` | Gold-standard README (interview → generate → council-validate) | [references/readme-craft.md](references/readme-craft.md) | | `oss` | OSS doc pack (CONTRIBUTING/CHANGELOG/AGENTS.md, audit + scaffold) | [references/oss-pack.md](references/oss-pack.md) | **Mode routing (absorbed skills):** | You typed | Runs | |-----------|------| | "readme", "rewrite the README", "validate the README" | `/doc --mode=readme [...]` | | "oss docs", "scaffold contributing", "audit OSS docs" | `/doc --mode=oss [...]` | When invoked with `--mode=readme` or `--mode=oss`, read the corresponding reference above and follow its workflow verbatim. The default-mode steps below apply only when no mode (or the implied code-docs mode) is selected. ## Execution Steps (default mode — code/API docs) Given `/doc [command] [target]`: ### Step 1: Detect Project Type ```bash # Check for indicators ls package.json pyproject.toml go.mod Cargo.toml 2>/dev/null # Check for existing docs ls -d docs/ doc/ documentation/ 2>/dev/null ``` Classify as: - **CODING**: Has source code, needs API docs - **INFORMATIONAL**: Primarily documentation (wiki, knowledge base) - **OPS**: Infrastructure, deployment, runbooks ### Step 2: Execute Command **discover** - Find undocumented features: ```bash # Find public functions without docstrings (Python) grep -r "^def " --include="*.py" | grep -v '"""' | head -20 # Find exported functions without comments (Go) grep -r "^func [A-Z]" --include="*.go" | head -20 ``` **coverage** - Check documentation coverage: ```bash # Count documented vs undocumented TOTAL=$(grep -r "^def \|^func \|^class " --include="*.py" --include="*.go" | wc -l) DOCUMENTED=$(grep -r '"""' --include="*.py" | wc -l) echo "Coverage: $DOCUMENTED / $TOTAL" ``` **gen [feature]** - Generate documentation: 1. Read the code for the feature 2. Understand what it does 3. Generate appropriate documentation 4. Write to docs/ directory **all** - Update all documentation: 1. Run discover to find gaps 2. Generate docs for each undocumented feature 3. Validate existing docs are current ### Step 3: Generate Documentation When generating docs, include: **For Functions/Methods:** ```markdown ## function_name **Purpose:** What it does **Parameters:** - `param1` (type): Description - `param2` (type): Description **Returns:** What it returns **Example:** ```python result = function_name(arg1, arg2) ``` **Notes:** Any important caveats ``` **For Classes:** ```markdown ## ClassName **Purpose:** What this class represents **Attributes:** - `attr1`: Description - `attr2`: Description **Methods:** - `method1()`: What it does - `method2()`: What it does **Usage:** ```python obj = ClassName() obj.method1() ``` ``` ### Step 4: Create Code-Map (if requested) **Write to:** `docs/code-map/` ```markdown # Code Map: <Project> ## Overview <High-level architecture> ## Directory Structure ``` src/ ├── module1/ # Purpose ├── module2/ # Purpose └── utils/ # Shared utilities ``` ## Key Components ### Module 1 - **Purpose:** What it does - **Entry point:** `main.py` - **Key files:** `handler.py`, `models.py` ### Module 2 ... ## Data Flow <How data moves through the system> ## Dependencies <External dependencies and why> ``` ### Step 5: Validate Documentation Check for: - Out-of-date docs (code changed, docs didn't) - Missing sections (no examples, no parameters) - Broken links - Inconsistent formatting ### Step 6: Write Report **Write to:** `.agents/doc/YYYY-MM-DD-<target>.md` ```markdown # Documentation Report: <Target> **Date:** YYYY-MM-DD **Project Type:** <CODING/INFORMATIONAL/OPS> ## Coverage - Total documentable items: <count> - Documented: <count> - Coverage: <percentage>% ## Generated - <list of docs generated> ## Gaps Found - <undocumented item 1> - <undocumented item 2> ## Validation Issues - <issue 1> - <issue 2> ## Next Steps - [ ] Document remaining gaps - [ ] Fix validation issues ``` ### Step 7: Report to User Tell the user: 1. Documentation coverage percentage 2. Docs generated/updated 3. Gaps remaining 4. Location of report ## Key Rules - **Detect project type first** - approach varies - **Generate meaningful docs** - not just stubs - **Include examples** - always show usage - **Validate existing** - docs can go stale - **Write the report** - track coverage over time ## Commands Summary | Command | Action | |---------|--------| | `discover` | Find undocumented features | | `coverage` | Check documentation coverage | | `gen [feature]` | Generate docs for specific feature | | `all` | Update all documentation | | `validate` | Check docs match code | ## Examples ### Generating API Documentation **User says:** `/doc gen authentication` **What happens:** 1. Agent detects project type by checking for `package.json` and finding Node.js project 2. Agent searches codebase for authentication-related functions using grep 3. Agent reads authentication module files to understand implementation 4. Agent generates documentation with purpose, parameters, returns, and usage examples 5. Agent writes to `docs/api/authentication.md` with code samples 6. Agent validates generated docs match actual function signatures **Result:** Complete API documentation created for authentication module with working code examples. ### Checking Documentation Coverage **User says:** `/doc coverage` **What happens:** 1. Agent detects Python project from `pyproject.toml` 2. Agent counts total functions/classes with `grep -r "^def \|^class "` 3. Agent counts documented items by searching for docstrings (`"""`) 4. Agent calculates coverage: 45/67 items = 67% coverage 5. Agent writes report to `.agents/doc/2026-02-13-coverage.md` 6. Agent lists 22 undocumented functions as gaps **Result:** Documentation coverage report shows 67% coverage with specific list of 22 functions needing docs. ## Troubleshooting | Problem | Cause | Solution | |---------|-------|----------| | Coverage calculation inaccurate | Grep pattern doesn't match all code styles | Adjust pattern for project conventions. For Python, check for `async def` and class methods. For Go, check both `func` and `type` definitions. | | Generated docs lack examples | Missing context about typical usage | Read existing tests to find usage patterns. Check README for code samples. Ask user for typical use case if unclear. | | Discover command finds too many items | Low existing documentation coverage | Prioritize by running `discover` on specific subdirectories. Focus on public API first, internal utilities later. Use `--limit` to process in batches. | | Validation shows docs out of sync | Code changed after docs written | Re-run `gen` command for affected features. Consider adding git hook to flag doc updates needed when code changes. | ## Reference Documents - [references/doc.feature](references/doc.feature) — Executable spec: detect project type, generate type-appropriate docs from the repo, validate existing docs against source (soc-qk4b) - [references/readme.feature](references/readme.feature) — Executable spec (`--mode=readme`): mode detection, problem-first lead, trust block near install, collapse-don't-delete depth, the council gate, anti-pattern detection (soc-qk4b) - [references/oss-docs.feature](references/oss-docs.feature) — Executable spec (`--mode=oss`): audit existing/missing OSS docs, scaffold missing without overwrite, project-type-tailored (soc-qk4b) - [references/readme-craft.md](references/readme-craft.md) — `--mode=re
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.