Help us improve
Share bugs, ideas, or general feedback.
From cm
Analyzes codebases to generate Personas, JTBD, process flows, technical docs, SOP user guides, API references. Outputs as Markdown or SEO-optimized VitePress sites.
npx claudepluginhub tody-agent/codymaster --plugin cmHow this skill is triggered — by the user, by Claude, or both
Slash command
/cm:cm-dockitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A professional knowledge systematization engine powered by codebase analysis and UX design principles. **One source scan = one complete knowledge base** — Personas, JTBD, Process Flows, Technical Docs, SOPs, API Reference. Supports plain Markdown output or a premium VitePress site. Includes SEO optimization, sitemap generation, and AI/LLM-readable content.
README.mdindex.htmlpackage-lock.jsonpackage.jsonprompts/analysis.mdprompts/api-reference.mdprompts/architecture.mdprompts/data-flow.mdprompts/database.mdprompts/deployment.mdprompts/flows.mdprompts/jtbd.mdprompts/personas.mdprompts/sop-modules.mdscripts/doc-gen.shscripts/dockit-dashboard.shscripts/dockit-runner.shscripts/dockit-task.shskills/analyze-codebase.mdskills/api-reference.mdGenerates documentation from code including API references, developer guides, READMEs, and architecture overviews. Matches existing styles and avoids overwriting in brownfield codebases.
Generates reference docs, feature guides, or full documentation sites. Detects frameworks like Fumadocs, Nextra, and Docusaurus and writes in the right format.
Share bugs, ideas, or general feedback.
A professional knowledge systematization engine powered by codebase analysis and UX design principles. One source scan = one complete knowledge base — Personas, JTBD, Process Flows, Technical Docs, SOPs, API Reference. Supports plain Markdown output or a premium VitePress site. Includes SEO optimization, sitemap generation, and AI/LLM-readable content.
/DocKit Master| Type | Skill File | Description |
|---|---|---|
| knowledge | skills/persona-builder.md + skills/jtbd-analyzer.md + skills/flow-mapper.md (files pending) | Personas, JTBD, Process Flows — knowledge foundation |
| tech | skills/tech-docs.md | Architecture, database, deployment, data flow |
| sop | skills/sop-guide.md | Step-by-step user guides (enriched with knowledge) |
| api | skills/api-reference.md | API endpoint reference with examples |
| all | All above | Full knowledge base + documentation suite |
| Support Skill | File | Purpose |
|---|---|---|
| SEO Checklist | skills/seo-checklist.md | Per-page SEO audit (title, meta, headings, robots) |
| Content Writing | skills/content-writing.md | SEO copywriting, keywords, active voice, FAQ |
| LLM Optimization | skills/llm-optimization.md | AI-readable structure, NotebookLM-friendly |
| Format | Workflow | Description |
|---|---|---|
| markdown | workflows/export-markdown.md | Plain .md files in docs/ folder |
| vitepress | workflows/setup-vitepress.md | Premium VitePress static site (default) — built-in Mermaid, search, dark mode |
CRITICAL: Ask ALL questions in ONE message. Do NOT ask one at a time. Present the following intake form to the user, using this 📚 DocKit Master — Configuration
Please answer the following questions so I can automatically create an execution plan:
| # | Question | Options | Default |
|---|---|---|---|
| 1 | 📑 Document type? | knowledge · tech · sop · api · all | all |
| 2 | 🎨 Output format? | markdown (plain) · vitepress (premium site) | vitepress |
| 3 | 📂 Code scan scope? | full (entire project) · focused (specific folder/feature) | full |
| 4 | 🎯 Focus area? (only if focused) | Folder name, module, or specific feature | — |
| 5 | 🌏 Writing language? | Auto-detect from chat language (see below) | auto-detect |
| 6 | 🌐 Add multi-language? | yes (add English + source language) · no | no |
| 7 | 📹 Record video demo? | yes (record browser walkthrough) · no | no |
| 8 | 📁 Project path? | (absolute path) | current workspace |
| 9 | 🔍 SEO optimization? | yes (SEO frontmatter + checklist + sitemap) · no | yes |
| 10 | 🤖 Optimize for AI/LLM? | yes (AI-readable + NotebookLM sitemap) · no | yes |
You can answer briefly, e.g.: "all, vitepress, full, yes, no, yes, yes"
🌏 Smart language rules:
vizhjaenyes): Automatically add English (en) as secondary language
vi + enzh + enAfter receiving answers, immediately create an execution plan (do NOT ask more questions).
Map the answers to this execution config:
DOC_TYPE = [knowledge | tech | sop | api | all]
FORMAT = [markdown | vitepress]
SCOPE = [full | focused]
FOCUS_TARGET = [directory/module name if focused, else null]
LANGUAGE = [vi | en | vi+en]
I18N = [yes | no] (only relevant for vitepress)
RECORD = [yes | no]
PROJECT_PATH = [absolute path]
SEO = [yes | no] (default: yes)
LLM_OPTIMIZE = [yes | no] (default: yes)
Then present the plan to user as a checklist artifact, like:
## 🚀 Execution Plan
- [ ] Scan code: [full/focused → target]
- [ ] Generate documents: [type] in [language]
- [ ] Export format: [markdown/vitepress]
- [ ] [If vitepress + i18n] Configure multi-language
- [ ] [If record] Record video walkthrough
- [ ] [If seo] Run SEO checklist + generate sitemap
- [ ] [If llm_optimize] Apply LLM optimization rules
- [ ] Review and deliver
After presenting the plan → proceed to Step 2 immediately (auto-execute). Do NOT wait for approval unless the plan has ambiguity.
Read and follow skills/analyze-codebase.md in this directory.
Output: structured analysis saved to docs/analysis.md (NOT _analysis.md) including:
MANDATORY — Read skills/content-guidelines.md before generating any content.
Key rules to enforce:
.md file must have title, description, keywords, robots<details> for advanced content:::tip, :::info, :::warning, :::danger for callouts:::code-group for multi-platform examplesIf SEO = yes: Read skills/content-writing.md for:
If LLM_OPTIMIZE = yes: Read skills/llm-optimization.md for:
Based on the chosen type, read and follow the corresponding skill file:
knowledge → Run 3 skills sequentially:
skills/persona-builder.md → docs/personas/ (Buyer & User Personas)skills/jtbd-analyzer.md → docs/jtbd/ (JTBD Canvases)skills/flow-mapper.md → docs/flows/ (Workflow, Sequence, Lifecycle, Journey)tech → Read skills/tech-docs.md, generate:
docs/architecture.md — System architecture + ADRdocs/database.md — Database schema & data modeldocs/deployment.md — Deployment & infrastructuredocs/data-flow.md — Data flow diagramssop → Auto-run knowledge first if not yet generated, then:
skills/sop-guide.md, generate:docs/sop/ — One .md per feature/moduleapi → Read skills/api-reference.md, generate:
docs/api/ — Organized by resourceall → Run knowledge → tech → sop → api sequentially
Based on the chosen format, read and follow the corresponding workflow:
markdown → Read workflows/export-markdown.md
docs/README.md as indexvitepress → Read workflows/setup-vitepress.md
Read and follow workflows/generate-sitemap.md:
sitemap config option. Generate robots.txt, extract sitemap-urls.txtdocs/sitemap.md (link index) + docs/sitemap-urls.txtRead skills/seo-checklist.md and audit every generated page:
Present to user:
If generated docs > 30 files, also suggest:
💡 **Pro Tip: Deep Search**
The documentation set just created has [X] files. You can index them using
[qmd](https://github.com/tobi/qmd) for semantic search by AI
across all future sessions:
\`\`\`bash
npm install -g @tobilu/qmd
qmd collection add ./docs --name project-docs
qmd context add qmd://project-docs "Project documentation for [project-name]"
qmd embed
\`\`\`
See also: `cm-deep-search` skill.
For a fast interactive experience, users can run the doc generation script from the skill root:
# Run from the cm-dockit skill directory
bash scripts/doc-gen.sh
Note: The
scripts/directory anddoc-gen.shscript need to be created. For now, trigger this skill by invokingcm-dockitdirectly via the AI assistant.
| UX Law | Application |
|---|---|
| Hick's Law | ≤7 TOC items, progressive disclosure for advanced content |
| Miller's Law | Information chunked into groups of 5-9 |
| Doherty Threshold | Tables for structured data, scannable summaries |
| Jakob's Law | Standard doc layout (sidebar + content + TOC) |
| Fitts's Law | Touch-friendly navbar links (≥44px) |
| WCAG 2.1 AA | Focus-visible rings, high contrast, reduced motion |
(file_path:line_number)<details> for troubleshooting (progressive disclosure)title, descriptionnpx vitepress build without errorsrobots: "index, follow" unless page is internal/draftsitemap-urls.txt generated for NotebookLM importIf you are an AI agent asked to modify or upgrade this skill (CM DocKit):
cm-dockit skill directory by executing $ npm run test:gate or $ vitest. Do NOT claim "task completed" unless tests pass.templates/vitepress-premium, ensure the frontend test suite (tests/frontend.test.ts) still works.[project_root]/docs/ content into docs-site/. Always rely on srcDir: '../docs' in config.mts.