CM DocKit: Knowledge Systematization Engine
SkillDocs & knowledgeKnowledge systematization engine — analyze codebases, generate Personas, JTBD, Process Flows, technical docs, SOP user guides, API references. Output as Markdown or VitePress Premium. SEO-optimized, AI/LLM-readable. One scan = complete knowledge base.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the CM DocKit: Knowledge Systematization Engine skill
What this skill tells your AI
The instructions your AI receives, as published by tody-agent/codymaster in skills/cm-dockit/SKILL.md and read by ahel’s review.
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.
When to Activate
- User asks to "create documentation", "generate docs"
- User mentions "SOP", "user guide", "manual"
- User wants technical docs from a codebase
- User runs
/DocKit Master
Document Types
| 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 |
Output Formats
| 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 |
Procedure
Step 1: Gather Input (Single Consolidated Prompt)
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:
- Auto-detect: Determine default language from the user's chat language
- User chats in Vietnamese → default
vi - User chats in Chinese → default
zh - User chats in Japanese → default
ja - User chats in English → default
en - (Applies similarly for any other language)
- User chats in Vietnamese → default
- Multi-language (
yes): Automatically add English (en) as secondary language- Example: Vietnamese user + multi-language →
vi+en - Example: Chinese user + multi-language →
zh+en - If user already chats in English + multi-language → ask which secondary language
- Example: Vietnamese user + multi-language →
- Override: User can override by specifying explicitly, e.g.: "write in Japanese"
Step 1b: Auto-Generate Execution Plan
After 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.
Step 2: Analyze Codebase
Read and follow skills/analyze-codebase.md in this directory.
Output: structured analysis saved to docs/analysis.md (NOT _analysis.md) including:
- Project type, languages, frameworks
- Directory structure and architecture layers
- Entry points, routes, database schema
- Key business logic modules
- Dependencies overview
- Test coverage
Step 3: Apply Content Guidelines
MANDATORY — Read skills/content-guidelines.md before generating any content.
Key rules to enforce:
- Filenames: kebab-case, no underscores, no dots
- Frontmatter: Every
.mdfile must havetitle,description,keywords,robots - Quick Reference: Every doc starts with a summary box
- Progressive Disclosure: Use
<details>for advanced content - Admonitions: Use
:::tip,:::info,:::warning,:::dangerfor callouts - Mermaid: NO hardcoded colors — VitePress auto-adapts to light/dark
- Code Groups: Use
:::code-groupfor multi-platform examples - Internal Links: ≥2 cross-links per page
Step 3b: Apply SEO & LLM Guidelines (If enabled)
If SEO = yes: Read skills/content-writing.md for:
- Keyword placement (title, H1, first paragraph, H2s, meta)
- Inverted pyramid structure (answer first, details later)
- Active voice (≥80%), transition words (≥30%)
- FAQ in schema-ready format for rich snippets
If LLM_OPTIMIZE = yes: Read skills/llm-optimization.md for:
- Clean heading hierarchy (no skipped levels)
- Text descriptions alongside all Mermaid diagrams
- Self-contained sections (≤500 words per H2)
- Consistent terminology (glossary section in index)
- UTF-8 clean output
Step 4: Generate Documents
Based on the chosen type, read and follow the corresponding skill file:
-
knowledge → Run 3 skills sequentially:
- Read
skills/persona-builder.md→docs/personas/(Buyer & User Personas) - Read
skills/jtbd-analyzer.md→docs/jtbd/(JTBD Canvases) - Read
skills/flow-mapper.md→docs/flows/(Workflow, Sequence, Lifecycle, Journey)
- Read
-
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 diagrams
-
sop → Auto-run
knowledgefirst if not yet generated, then:- Read
skills/sop-guide.md, generate: docs/sop/— One.mdper feature/module- Each file: Persona Context → Process Flow → Steps → Journey → Troubleshooting → FAQ
- Read
-
api → Read
skills/api-reference.md, generate:docs/api/— Organized by resource- Each file: Quick Ref → Endpoints table → Multi-language examples
-
all → Run
knowledge→tech→sop→apisequentially
Step 5: Export
Based on the chosen format, read and follow the corresponding workflow:
-
markdown → Read
workflows/export-markdown.md- Create
docs/README.mdas index - Organize into clean folder structure
- Create
-
vitepress → Read
workflows/setup-vitepress.md- Scaffold VitePress with premium template
- Auto-sidebar from folder structure
- Built-in Mermaid, search, dark mode
- Build and verify
Step 5b: Generate Sitemap (If SEO = yes)
Read and follow workflows/generate-sitemap.md:
- VitePress: Sitemap auto-generated via
sitemapconfig option. Generaterobots.txt, extractsitemap-urls.txt - Markdown: Generate
docs/sitemap.md(link index) +docs/sitemap-urls.txt - Both formats produce a NotebookLM-ready URL list for AI research
Step 5c: Run SEO Audit (If SEO = yes)
Read skills/seo-checklist.md and audit every generated page:
- Title (50–60 chars, keyword) ✔️
- Meta description (150–160 chars) ✔️
- Single H1, no skipped levels ✔️
- ≥2 internal links ✔️
- Robots directive set ✔️
- All images have alt text ✔️
Step 6: Summary
Present to user:
- List of generated files with sizes
- How to view/serve the docs
- Next steps (customize, deploy, etc.)
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.
CLI Quick Start
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 Principles Applied
| 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 |
Constraints
- All Mermaid diagrams use NO hardcoded inline styles — VitePress theming handles light/dark
- Every technical claim cites
(file_path:line_number) - SOP docs use
<details>for troubleshooting (progressive disclosure) - All generated files include YAML frontmatter with
title,description - Pure Markdown — no MDX, no special escaping needed
- No underscore-prefixed filenames — breaks auto-sidebar detection
- VitePress output must pass
npx vitepress buildwithout errors - SEO default:
robots: "index, follow"unless page is internal/draft - ≥2 internal links per page (never orphan pages)
- Text fallback for every Mermaid diagram (LLM readability)
- Self-contained sections — each H2 makes sense read alone
sitemap-urls.txtgenerated for NotebookLM import
CM DocKit Development Rules
If you are an AI agent asked to modify or upgrade this skill (CM DocKit):
- Test Gate Enforcement: You MUST run the backend test suite located in the
cm-dockitskill directory by executing$ npm run test:gateor$ vitest. Do NOT claim "task completed" unless tests pass. - Boilerplate Integrity: If modifying
templates/vitepress-premium, ensure the frontend test suite (tests/frontend.test.ts) still works. - No Direct Copying: Never hardcode file-copy commands that copy
[project_root]/docs/content intodocs-site/. Always rely onsrcDir: '../docs'inconfig.mts.
Signals
- GitHub stars
- 52
- Forks
- 23
- Last commit
- Aug 2026
ahel review
K1binfo
installs-packagesK1binfo
installs-packages (in scripts/dockit-runner.sh)K1binfo
installs-packages (in skills/content-guidelines.md)K1binfo
installs-packages (in workflows/setup-vitepress.md)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
cm-dockit- Source
- github.com/tody-agent/codymaster