dist/grok/dev-flow/skills/documenting-code/SKILL.md
Create or update human-facing docs, agent-facing instructions, architecture docs, API docs, README content, and useful code comments from implementation facts. Use when docs are stale, missing, or must reflect code changes. NOT for code-quality review, prompt scoring, speculative docs, or ADRs unless explicitly requested.
npx skillsauth add alexei-led/claude-code-config documenting-codeInstall 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.
Update only useful documentation. Start from code facts, identify the reader, and make the smallest doc change that helps that reader act correctly.
Detect capability from tools, not prose:
Choose the reader before writing.
Human reader:
Agent reader:
reviewing-instructions.Code reader:
Load only references matching changed implementation files:
references/csharp.mdreferences/go.mdreferences/java-kotlin.mdreferences/python.mdreferences/rust.mdreferences/typescript.mdreferences/web.mdMixed languages: load each matching reference. Unknown language: use this file only.
looking-up-docs only when external API syntax or behavior is uncertain.docs/adr/ changes unless explicitly requested.Run the narrowest relevant checks, for example:
markdownlint-cli2 '**/*.md'
make lint-markdown
make validate
Also run documented commands or examples when practical. If a check is missing or not practical, state the reason and run the closest available check.
Write-capable role:
## Documentation Update
Updated:
- `path` — <what changed and reader served>
Verified:
- <check>: passed | skipped (<reason>)
Issues: none | <remaining issue>
Read-only role:
## Proposed Changes
### Change 1: <brief description>
File: `path/to/doc`
Action: CREATE | MODIFY | DELETE
Reader: human | agent | code
Code:
<doc content or patch-sized replacement with enough context>
Rationale: <code fact that makes this stale or missing>
git diff --name-only; if unavailable,
ask for paths.tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
development
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
tools
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.