docs▌
buiducnhat/agent-skills · updated Apr 8, 2026
Create and maintain project documentation in docs/ with a consistent, lightweight structure.
Docs
Create and maintain project documentation in docs/ with a consistent, lightweight structure.
Outputs
Maintain these outputs:
docs/SUMMARY.md— documentation entry point (always regenerated)docs/architecture/— system design, infrastructure, component interactions, data flows, feature flows. Focus on how the system works, not file/code structure.docs/codebase/— file organization, directory structure, entry points, key modules and their responsibilities. Focus on where things live in the code.docs/code-standard/— coding conventions, naming rules, style guides, environment setup, custom rules and patterns the team follows. Focus on how to write code that fits in with the existing codebase, best practices, and team conventions, very important for maintaining consistency.docs/project-pdr/— product goals, use cases, business rules, constraints, and decision rationale. Nice to have many use case/requirements files
Also keep README.md aligned with current docs links and project summary.
Workflow
Step 1: Context Scan
Scan the project to understand what needs documenting:
- Read existing docs if any (
docs/SUMMARY.mdand topic folders) - Read
README.mdand key config files (package.json,tsconfig.json,Cargo.toml, etc.) - Scan source directories to understand project structure, entry points, and major components
- Check
git log --oneline -20for recent changes when updating existing docs
Focus on facts: features, architecture, stack, directory structure, and workflows. Do not invent requirements or assume business logic that is not evident from the code.
Step 2: Infer Behavior
- Infer whether the repository needs an initial documentation pass or an incremental update based on the current
docs/state. - If
docs/does not exist or is clearly incomplete, perform initialization behavior. - If
docs/already exists with the standard structure, perform update behavior. - State the inferred behavior briefly when relevant.
Step 3: Produce Documentation
Initialize docs when missing or incomplete
- Create
docs/and 4 topic folders:architecture/,codebase/,code-standard/,project-pdr/ - For each topic folder:
a. Scan codebase for relevant information
b. Generate content based on codebase scan
c. Create topic-specific files based on content found in the codebase. Name each file by its content (e.g.,
components.md,conventions.md). Do NOT use generic names (overview.md,index.md,main.md). Split into multiple files when content covers 2+ clearly distinct sub-topics. Minimum 1 file per folder. - Create
docs/SUMMARY.mdusing the format specified in Content Requirements - Update
README.mdwith link todocs/SUMMARY.md
Populate each file with concrete, project-specific content. Avoid placeholders and generic templates.
Update docs when they already exist
- Detect what changed: compare current code against existing docs. Use
git log --onelineand source file scanning to identify new/modified/removed components. - Preserve useful existing content and section structure.
- Update stale or inaccurate sections in-place — do not rewrite from scratch.
- Add newly discovered features, components, or conventions.
- Remove clearly obsolete statements.
- Add, modify, or remove detail files as needed based on content changes.
- Regenerate
docs/SUMMARY.mdto match current files — only list files that actually exist on disk. - Update
README.mdif documentation links changed.
Important: The goal is an incremental, surgical update — not a full rewrite.
Step 4: Sync README
Ensure README.md includes:
- Short project overview
- Quick start (if present in project)
- Documentation link pointing to
docs/SUMMARY.md
Step 5: Validate Quality
Before finishing, verify:
docs/SUMMARY.mdexists and lists every detail file that actually exists on disk (no phantom entries)- Each topic folder has at least 1 topic-specific file
- No generic file names (
overview.md,index.md,main.md) in topic folders README.mdlinks point todocs/SUMMARY.mdSUMMARY.mdis concise and contains file tables for all sections- Terminology is consistent across files
- No contradictions between docs and code
- Paths and component names are accurate
- Content is concise, specific, and actionable
Content Requirements
SUMMARY.md format
Contains project overview and file tables for each documentation section.
Strictly follow the template in references/summary-template.md.
Topic file rules
- Each file focuses on 1 specific sub-topic within its folder
- Named by content slug:
components.md,conventions.md,product-goals.md - Do NOT use generic names:
overview.md,index.md,main.md,general.md - Keep files focused and concise without enforcing line-count targets
Edge Cases
- Minimal/empty project: If the codebase has very little code, keep topic files short and factual. Do not pad content to reach arbitrary size targets. Mark sections as "TBD — to be documented as the project grows" when there is genuinely nothing to document yet. Even with 1 file per folder, name it by its content.
- Custom files in
docs/: Preserve any user-created files outside the 4 standard topic folders (e.g.,docs/API.md,docs/deployment.md). List them under "Other" inSUMMARY.md. Do not move or rename them. - Monorepo: If the project contains multiple packages/apps, document the overall structure in
architecture/components.mdand note each package's purpose. Each package does not need its own full docs set — keep it proportional.
Rules
- Keep documentation factual; do not invent requirements.
- Prefer concise updates over verbose prose.
- Keep docs aligned with current implementation.
- When uncertain, mark assumptions explicitly and request confirmation.
- Ask targeted questions when information cannot be reliably inferred (business goals, ambiguous module ownership, conflicting conventions, unclear architecture decisions).