codebase-docs
Generate and maintain AI-readable markdown documentation for a codebase in docs/.
Skill by espennilsen
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/espennilsen-codebase-docs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/codebase-docs
What's inside
- Skill name
codebase-docs- Description
- Generate and maintain AI-readable markdown documentation for a codebase in docs/. Use this skill whenever the user asks to document their codebase, generate project docs, create architecture docs, update documentation after code changes, build a knowledge base for AI agents, create onboarding docs, map out a codebase, or explain a project structure. Also trigger when users say things like "document this repo", "create docs for my project", "update the docs", "write architecture documentation", "help AI understand my code", "generate a codebase overview", or "maintain docs". This skill is specifically about creating structured markdown files in a docs/ directory that serve as a knowledge base — NOT about writing inline code comments, README files, or API reference docs from docstrings.
- License
- MIT
- Instructions
- 113 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- doc-templates.md · references/
SKILL.md (first lines)
# Codebase Documentation Skill Generate and maintain a structured set of markdown files in `docs/` that give AI agents (and humans) a fast, accurate understanding of a codebase without needing to search through source files. ## Philosophy The docs you produce are a **map, not the territory**. They should let an AI agent answer questions like "where does authentication happen?", "how does data flow from API to database?", or "what are the key abstractions?" — without reading every file. Optimize for **navigability and accuracy** over exhaustiveness. ## When to Use This Skill - User asks to document a codebase or project - User wants to update existing docs after making changes - User wants AI-friendly project documentation - User mentions `docs/` directory maintenance - User wants architecture or structural documentation ## Step 1: Assess the Codebase Before writing anything, understand what you're documenting. 1. **Read the project root** — check for existing README, package.json/Cargo.toml/pyproject.toml, config files, and any existing `docs/` directory 2. **Map the directory structure** — identify source directories, test directories, config, scripts, assets 3. **Identify the tech stack** — languages, frameworks, key dependencies, build tools 4. **Find entry points** — main files, route definitions, CLI entry points, exported modules 5. **Detect patterns** — architecture style (MVC, microservices, monolith, plugin-based), state management, data layer If a `docs/` directory already exists, read it first. You'll be updating, not starting from scratch. ## Step 2: Generate the Documentation Set Create the `docs/` directory with the files described below. Not every project needs every file — use judgment. A small CLI tool doesn't need `DATA_MODEL.md`, and a pure library doesn't need `DEPLOYMENT.md`. Refer to `references/doc-templates.md` for the exact templates and structure for each file. Read that file before writing any documentation. ### Required Files (always generate) | File | Purpose | |------|---------| | `docs/OVERVIEW.md` | Project purpose, tech stack, architecture style, key concepts. This is the **entry point** — an AI agent should read this first. | | `docs/STRUCTURE.md` | Annotated directory tree showing what lives where and why. Maps directories to responsibilities. | | `docs/ARCHITECTURE.md` | How components connect. Data flow, request lifecycle, key abstractions, dependency graph between modules. | ### Situational Files (generate when relevant) | File | When to Include | Purpose | |------|-----------------|---------| | `docs/DATA_MODEL.md` | Project has a database, ORM, or significant data structures | Schema overview, entity relationships, key types/interfaces | | `docs/API.md` | Project exposes or consumes APIs | Endpoints, request/response shapes, auth patterns | | `docs/CONFIGURATION.md` | Non-trivial config (env vars, feature flags, multi-environment) | All configuration knobs, defaults, and where they're used | | `docs/PATTERNS.md` | Project uses recurring patterns worth documenting | Design patterns, conventions, error handling strategy, logging approach | | `docs/DEPLOYMENT.md` | Project has deployment infrastructure | Build process, environments, CI/CD, infrastructure overview | | `docs/DEVELOPMENT.md` | Project has non-obvious dev setup or workflow | Local setup, testing strategy, debugging tips, contribution workflow | | `docs/GLOSSARY.md` | Domain-specific or project-specific terminology | Term definitions that an AI agent needs to understand the codebase | ### Index File Always generate `docs/INDEX.md` as the last file. This is a table of contents linking all other docs with one-line descriptions. An AI agent uses this to decide which file to read for a given question. ## Step 3: Writing Guidelines Follow these principles for every file: ### Structure for Scannability - Start each file with a 2-3 sentence summary of what it covers - Use headers (##, ###) to create clear sections - Keep paragraphs short — 2-4 sentences max - Use code blocks for file paths, commands, and type signatures - Use tables for structured comparisons or listings ### Write for AI Agents - Be explicit about **relationships** — "Module A calls Module B's `process()` method when..." - Include **file paths** — always reference actual paths like `src/auth/middleware.ts` - Name **functions and classes** that are key entry points or interfaces - Describe **data flow** with clear directionality — "User request → Router → Controller → Service → Repository → Database" - State **assumptions and constraints** — "This service assumes a PostgreSQL connection is available" ### Keep It Maintainable - Include a `Last updated` date at the top of each file - Add a brief `## Changes Log` section at the bottom of each file with space for noting updates - Reference specific file paths so staleness is detectable — if a referenced file moves, the docs are clearly wrong - Prefer describing **intent and architecture** over implementation details that change frequently ### What NOT to Document - Don't duplicate what's already in README.md — reference it instead - Don't document every function — focus on public interfaces and key internal abstractions - Don't copy-paste code — describe what it does and where to find it - Don't document generated files or node_modules ## Step 4: Updating Existing Docs When updating rather than creating from scratch: 1. Read all existing files in `docs/` first 2. Re-scan the codebase to detect changes since the docs were last updated 3. Update affected files only — don't rewrite everything 4. Update the `Last updated` date and add a note to the Changes Log 5. Update `docs/INDEX.md` if any files were added or removed 6. If a documented file has been deleted or moved, update or remove the reference ## Step 5: Validation After generating or updating docs, do a quick sanity check: 1. Verify all file paths mentioned in docs actually exist 2. Confirm the directory tree in `STRUCTURE.md` matches reality 3. Ensure `INDEX.md` links to all docs that were created 4. Check that cross-references between doc files are correct ## Output All files go in the `docs/` directory at the project root. Use the exact filenames specified above (UPPERCASE with .md extension). Present the full set to the user when done, summarizing what was created and any areas where the docs might need human review (e.g., business logic descriptions, architectural decisions that aren't obvious from code alone).
From espennilsen/pi, MIT.
More from espennilsen/pi
- 0.739score
herdr-setup
espennilsen
Use when installing, updating, configuring, or troubleshooting Herdr, including missing commands, PATH errors, version differences, or Pi integration setup.
SkillBFreshness: B★ 122Claude Code +9 - 0.739score
herdr-operations
espennilsen
Use when inspecting or operating Herdr sessions, workspaces, tabs, panes, agents, terminal output, agent messaging, or waits.
SkillBFreshness: B★ 122Claude Code +9 - 0.729score
cmux
espennilsen
Orchestrate cmux terminal panes — split terminals, run parallel processes, read output from other panes, and use the built-in browser.
SkillBFreshness: B★ 122Claude Code +9 - 0.726score
pi-subagent
espennilsen
Delegate tasks to specialized subagents for parallel or sequential execution.
SkillBFreshness: B★ 122Claude Code +9 - 0.681score
github
espennilsen
Interact with GitHub repos, PRs, issues, CI, and notifications via the pi-github extension commands and gh CLI.
SkillCFreshness: C★ 122Claude Code +9 - 0.676score
docstring-generator
espennilsen
Generate and update language-idiomatic doc comments for TypeScript (TSDoc/JSDoc) and Rust (Rustdoc).
SkillCFreshness: C★ 122Claude Code +9 - 0.671score
comfyui-node-update
espennilsen
Write and improve documentation for ComfyUI nodes in per-node JSON files.
SkillCFreshness: C★ 122Claude Code +9 - 0.607score
dry-code-review
espennilsen
Perform a comprehensive DRY (Don't Repeat Yourself) code review on a codebase.
SkillDFreshness: D★ 122Claude Code +9 - 0.607score
pdf-reader
espennilsen
Read and extract content from PDF files — text, tables, metadata, and images.
SkillDFreshness: D★ 122Claude Code +9 - 0.607score
extract-design-system
espennilsen
Reverse-engineer a design system from a live website (public URL or localhost).
SkillDFreshness: D★ 122Claude Code +9 - 0.607score
google-workspace
espennilsen
Manage Google Workspace via the gws CLI — Drive, Gmail, Sheets, Docs, Slides, People, Chat, Meet, Forms, and cross-service workflows.
SkillDFreshness: D★ 122Claude Code +9 - 0.602score
skill-creator
espennilsen
Create, review, and improve skills for Pi agents.
SkillDFreshness: D★ 122Claude Code +9
Signals
- Stars
- 122
- Forks
- 13
- Open issues
- 1
- Last commit (this folder)
- Apr 22, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/espennilsen/pi
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from espennilsen
- 0.739score
herdr-setup
espennilsen
Use when installing, updating, configuring, or troubleshooting Herdr, including missing commands, PATH errors, version differences, or Pi integration setup.
SkillBFreshness: B★ 122Claude Code +9 - 0.739score
herdr-operations
espennilsen
Use when inspecting or operating Herdr sessions, workspaces, tabs, panes, agents, terminal output, agent messaging, or waits.
SkillBFreshness: B★ 122Claude Code +9 - 0.729score
cmux
espennilsen
Orchestrate cmux terminal panes — split terminals, run parallel processes, read output from other panes, and use the built-in browser.
SkillBFreshness: B★ 122Claude Code +9 - 0.726score
pi-subagent
espennilsen
Delegate tasks to specialized subagents for parallel or sequential execution.
SkillBFreshness: B★ 122Claude Code +9 - 0.681score
github
espennilsen
Interact with GitHub repos, PRs, issues, CI, and notifications via the pi-github extension commands and gh CLI.
SkillCFreshness: C★ 122Claude Code +9 - 0.676score
docstring-generator
espennilsen
Generate and update language-idiomatic doc comments for TypeScript (TSDoc/JSDoc) and Rust (Rustdoc).
SkillCFreshness: C★ 122Claude Code +9
Cite this page
codebase-docs skill. Agent Mart. https://agentmart.dev/skills/espennilsen-codebase-docs (last updated 2026-10-24)