Use when a project has no docs/ directory or needs initial documentation generated from codebase analysis. Triggers on "init docs", "create documentation", "generate docs", "docs init", or when docs/ is empty. Do NOT use for updating existing docs (use mk:document-release).
Scanned 5/29/2026
Install via CLI
openskills install ngocsangyem/MeowKit---
name: mk:docs-init
version: 1.0.0
description: |
Use when a project has no docs/ directory or needs initial documentation
generated from codebase analysis. Triggers on "init docs", "create documentation",
"generate docs", "docs init", or when docs/ is empty. Do NOT use for updating
existing docs (use mk:document-release).
allowed-tools:
- Bash
- Read
- Write
- Edit
- Grep
- Glob
- AskUserQuestion
source: local
phase: on-demand
keywords: [docs-init, initial-documentation, docs-scaffolding, new-project-docs, codebase-analysis]
when_to_use: "Use when a project has no docs/ directory and needs initial documentation generated from codebase analysis. NOT for updating existing docs (see mk:document-release)."
user-invocable: true
---
# Docs Init
Generate initial project documentation from codebase analysis.
**Scope:** Creates `docs/` from scratch. For updating existing docs → `mk:document-release`.
> Also run `mk:project-context` to generate the agent-constitution file (`docs/project-context.md`). `mk:docs-init` generates the full documentation suite; `mk:project-context` generates only the constitution.
## When to Use
- Project has no `docs/` directory
- `docs/` exists but is empty or has only stubs
- User asks to "initialize docs", "create documentation", "generate docs"
- After `mk:bootstrap` completes (new project needs docs)
Do NOT invoke when: docs already exist and need updating (use `mk:document-release`).
## Process
1. **Check existing state** — does `docs/` exist? Are files already populated?
- If populated docs exist → suggest `mk:document-release` instead, stop.
2. **Scout codebase** — activate `mk:scout` to analyze project structure.
Skip: `.claude/`, `.git/`, `node_modules/`, `__pycache__/`, `dist/`, `build/`
3. **Merge findings** — consolidate scout reports into context for doc generation
4. **Generate docs** — spawn `documenter` subagent via Task tool with scout context.
Output files (adapt to what the project actually has):
- `README.md` — project overview (≤300 lines)
- `docs/project-overview.md` — what this project is, who it's for
- `docs/codebase-summary.md` — directory map, key modules, entry points
- `docs/code-standards.md` — conventions found in codebase
- `docs/architecture/system-architecture.md` — component diagram, data flow
Optional (generate only if relevant):
- `docs/deployment-guide.md` — if CI/CD or Docker config detected
- `docs/design-guidelines.md` — if frontend/UI code detected
5. **Size check** — run `wc -l docs/*.md | sort -rn`. Flag files >800 lines.
6. **Report** — print generated files list with line counts.
**Hard gate:** Do NOT write code or implementation. Only documentation.
## Gotchas
- **Hallucinating architecture**: generating docs about code that doesn't exist → always scout FIRST, generate from findings only
- **Over-documenting small projects**: creating 7 docs for a 50-line script → check project size; small projects get README + codebase-summary only
- **Stale on first run**: docs describe initial state but drift immediately → tell user to run `mk:document-release` after each feature ship
Full list: `references/gotchas.md`
## Workflow Integration
Runs after `mk:bootstrap` or on any existing project without docs.
```
mk:bootstrap → mk:docs-init → mk:plan-creator (first feature)
```
Also invoked standalone: `mk:docs-init` on existing undocumented project.
## Handoff Protocol
On completion:
- Print generated files list + line counts
- "Docs initialized. Run `mk:document-release` after shipping features to keep them in sync."
No comments yet. Be the first to comment!