dist/codex/plugins/dev-workflow/skills/documenting-code/SKILL.md
Update project documentation based on code changes. Use when the user asks to update docs, document behavior, add README content, or align docs with recent implementation changes. NOT for extracting session learnings or authoring ADRs (use learning-patterns) or code-quality feedback (use reviewing-code).
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 docs from code facts, not vibes. Keep docs close to the behavior they explain.
Detect your capability from your tools, not from prose:
git diff; work from the changed-file list the caller supplies).Detect the language of the changed implementation from file extensions and load the matching reference for language-specific doc conventions:
Mixed languages: load each matching reference. Unknown language: use the generic rules below only.
git diff --name-only unless the user supplied
paths.looking-up-docs only when external API behavior or syntax is uncertain.Agent (read-only Explore) to map
changed behavior. Verify its claims before editing.docs/adr/ —
route decision capture to learning-patterns.Run the narrowest relevant checks, for example:
markdownlint-cli2 '**/*.md'
make validate
If a tool is missing, state that and run the next available check.
Engineer (applied the doc edits): report the docs changed and the validation result.
Reviewer (identified only — emit the edits as a proposal, apply nothing):
## Proposed Changes
### Change 1: <brief description>
File: `path/to/doc`
Action: CREATE | MODIFY | DELETE
Code:
<the doc content, with enough surrounding context to locate it>
Rationale: <which code change makes this doc stale or missing>
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, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
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.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).