Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create source-backed software documentation for codebases, architecture, setup, testing, debugging, deployment, APIs, security, and operations. Use when documenting, auditing, updating, or organizing engineering docs for a software project or repository.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 324% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 267% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 81% | 0% |
Use this skill when the user wants to create, update, audit, or organize documentation for a software project: repository wiki, architecture docs, setup guide, contributor guide, testing docs, debugging guide, deployment runbook, API overview, security notes, operational docs, or developer onboarding.
This skill is for software development documentation. For company handbooks, policies, people operations, team rituals, or non-code operating knowledge, prefer a company documentation skill.
Write docs that help a developer or agent safely understand, change, run, test, and operate the system.
Do not turn the work into template theater. Use the structure below as a map, not a cage. Skip sections that are not supported by source evidence. Add sections when the repo makes them necessary.
Ask questions only when a missing answer changes the output location, audience, privacy boundary, or write permission. Otherwise, inspect the repository, make reasonable assumptions, and label uncertainty.
Before writing, inspect the repository enough to understand:
AGENTS.md, CLAUDE.md, .cursorrules, .github/, .factory/, .codex/, or equivalent filesUse fast source discovery first. Then read the files that actually establish behavior.
If the user did not name an output location, prefer a local documentation directory that does not disrupt existing docs:
textrepo-wiki/ |-- index.md |-- overview.md |-- architecture.md |-- getting-started.md |-- development-workflow.md |-- testing.md |-- debugging.md |-- configuration.md |-- data-models.md |-- dependencies.md |-- decisions.md |-- maintainers.md `-- .wiki-meta.json
Add these only when the repository supports them:
textapi/ deployment.md security.md operations.md observability.md background.md troubleshooting.md cleanup-opportunities.md
If the repo already has docs/, a GitHub wiki, a MkDocs/Docusaurus site, a README-driven structure, or a company standard, adapt to that structure instead of creating a parallel one.
index.mdWrite the entry point for humans and agents:
overview.mdExplain the system in 3-8 paragraphs:
architecture.mdExplain how the system is put together:
getting-started.mdHelp a new developer reach a working local state:
Do not claim a command works unless you ran it or clearly mark it as inferred.
development-workflow.mdDocument how changes normally move:
testing.mdDocument the test system:
debugging.mdDocument how to investigate failures:
Gate destructive reset steps behind explicit user approval.
configuration.mdDocument configuration sources:
data-models.mdDocument data shapes:
api/Create API docs when the repo exposes REST, GraphQL, RPC, WebSocket, CLI, package, plugin, or webhook interfaces.
For each API surface, include:
For full HTTP API reference work, prefer OpenAPI-compatible structure when possible. If no OpenAPI description exists, do not pretend one does; document the observed source-backed contract and suggest creating one.
deployment.mdCreate deployment docs only when source evidence exists:
security.mdCreate security docs when the repo has auth, permissions, tokens, secrets, payments, file access, network calls, personal data, customer data, healthcare data, or other trust boundaries.
Include:
For generated documentation sets, write metadata that lets the next maintainer know what happened:
json{ "generatedAt": "YYYY-MM-DDTHH:mm:ss.sssZ", "generator": "software-development-documentation skill", "commitHash": "FULL_GIT_SHA or unknown", "branch": "BRANCH or unknown", "mode": "full | incremental | audit", "sourceRoots": [], "pageCount": 0, "warnings": [] }
When updating existing docs, prefer incremental changes. Read the existing pages first, preserve useful human-authored context, and update only what changed.
Before finishing, check:
Report:
Other measured skills in the registry, with their headline benchmark lift.