cm-dockit-22c01b — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cm-dockit-22c01b (Agent Skill) and scored it 87/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 3 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 3 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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:
vizhjaenen) as secondary languagevi + 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 deliverAfter 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:
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)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 diagramsskills/sop-guide.md, generate:docs/sop/ — One .md per feature/moduleskills/api-reference.md, generate:docs/api/ — Organized by resourceknowledge → tech → sop → api sequentiallyBased on the chosen format, read and follow the corresponding workflow:
workflows/export-markdown.mddocs/README.md as indexworkflows/setup-vitepress.mdRead 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.shNote: Thescripts/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.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.