Skip to main content

documentation-standards

KB conventions: YAML frontmatter, 10-category taxonomy (reference/howto/procedures/troubleshooting/best-practices/decisions/runbooks/planning/business/templates). Triggers: kb/, SOP, runbook, howto, frontmatter, knowledge base.

Informations de source

Dépôt
softspark/ai-toolkit
Dernière activité de la source
2 septembre 2026 à 13:12
Langue détectée de SKILL.md
anglais
Étoiles
179
Forks
21

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
documentation-standards
description
KB conventions: YAML frontmatter, 10-category taxonomy (reference/howto/procedures/troubleshooting/best-practices/decisions/runbooks/planning/business/templates). Triggers: kb/, SOP, runbook, howto, frontmatter, knowledge base.
effort
medium
user-invocable
false
allowed-tools
Read
# Documentation Standards Auto-loaded knowledge skill enforcing KB document conventions across all agents and skills. ## Frontmatter Specification (MANDATORY) Every document in `kb/` MUST start with YAML frontmatter: ```yaml --- title: "Document Title" # REQUIRED — English, descriptive category: reference # REQUIRED — one of the 10 valid categories service: ai-toolkit # REQUIRED — service identifier tags: [tag1, tag2, tag3] # REQUIRED — minimum 1, recommended 3+ last_updated: "YYYY-MM-DD" # REQUIRED — ISO format created: "YYYY-MM-DD" # REQUIRED — creation date description: "One-line summary." # REQUIRED — for search indexing version: "1.0.0" # optional — semver --- ``` **All 7 fields above are REQUIRED.** Documents without valid frontmatter **fail `scripts/validate.py` and block CI**. ### `section`: a legacy alias, not a second field Older documents and the `kb-migration` SOP write `section:` where this specification writes `category:`. Both names are read in the wild, so a document may carry both — and when it does **they must hold the same value**. A document filed as `category: reference` and `section: howto` is indexed twice, found once, and the reader gets whichever the index ranked higher. New documents should write `category:`. `section:` is accepted, never required, and never authoritative on its own. ## Category Taxonomy | Category | Directory | Purpose | Examples | |----------|-----------|---------|----------| | `reference` | `kb/reference/` | Technical specifications, catalogs, architecture notes, API docs | `agents-catalog.md`, `architecture-overview.md` | | `howto` | `kb/howto/` | Step-by-step task guides | `use-corrective-rag.md`, `configure-mcp-server.md` | | `procedures` | `kb/procedures/` | SOPs a person follows: release, migration, review | `sop-maintenance.md`, `sop-release.md` | | `troubleshooting` | `kb/troubleshooting/` | Problem resolution, debugging guides | `database-connection-issues.md` | | `best-practices` | `kb/best-practices/` | Guidelines, recommendations, standards | `security-checklist.md` | | `decisions` | `kb/decisions/` | Architecture decision records and design rationale | `adr-004-kb-migration.md` | | `runbooks` | `kb/runbooks/` | Procedures run against a live system, usually under pressure | `deployment.md`, `incident-response.md` | | `planning` | `kb/planning/` | Roadmaps, PRDs, work not yet done | `q3-roadmap.md` | | `business` | `kb/business/` | Domain model, requirements, use cases, user stories | `domain-model.md`, `user-stories.md` | | `templates` | `kb/templates/` | Reusable document templates | `adr-template.md`, `sop-template.md` | **Rule:** A document filed under one of the directories above MUST declare that category. The rule is scoped to those directories deliberately: `kb/history/` and `kb/summaries/` are lifecycle and runtime locations rather than types, and a finished plan filed under `history/completed/` is still a `planning` document. **Templates carry placeholders on purpose.** A file under `templates/` exists to be copied, so a literal `YYYY-MM-DD` date and `[placeholder]` body text are correct there rather than defects. Every other convention still applies. This taxonomy lives in three places: ai-toolkit's `scripts/validate.py`, rag-mcp's `scripts/validate_kb_frontmatter.py`, and this document. They are one list, and a change belongs in all three. ## Naming Conventions - **Filename:** kebab-case, descriptive, no dates (`merge-friendly-install-model.md`) - **Title:** English, clear, matches filename semantics - **No prefixes:** no `001-`, no `YYYY-MM-DD-` in filenames (dates go in frontmatter) - **Max length:** keep filenames under 60 characters ## Language Rule **All KB content MUST be in English.** No exceptions for: - Document titles - Body content - Code comments within docs - Table headers and descriptions ## Quality Standards ### Required for every KB document: - [ ] Valid YAML frontmatter with all 7 required fields - [ ] Category matches directory - [ ] Written in English - [ ] Title is clear and descriptive - [ ] Content is actionable (not just placeholders) ### Required for procedural docs (howto, procedures): - [ ] Prerequisites listed - [ ] Steps are numbered - [ ] Commands are copy-pasteable - [ ] Verification section present ### Required for troubleshooting docs: - [ ] Symptoms described - [ ] Root cause identified - [ ] Resolution steps provided - [ ] Prevention notes included ## Templates ### Reference Document ```yaml --- title: "AI Toolkit - [Topic]" category: reference service: ai-toolkit tags: [topic, subtopic] version: "1.0.0" created: "YYYY-MM-DD" last_updated: "YYYY-MM-DD" description: "Brief summary." --- # [Topic] ## Overview [What this document covers] ## Details [Technical content] ## Related - [Other relevant KB docs] ``` ### How-To Guide ```yaml --- title: "How to [Task]" category: howto service: ai-toolkit tags: [howto, task-name] created: "YYYY-MM-DD" last_updated: "YYYY-MM-DD" description: "Step-by-step guide for [task]." --- # How to [Task] ## Prerequisites - [Requirement] ## Steps ### 1. [Action] [Instructions + commands] ### 2. [Action] [Instructions + commands] ## Verification [How to confirm success] ## Troubleshooting | Problem | Solution | |---------|----------| | [Error] | [Fix] | ``` ### SOP / Procedure ```yaml --- title: "SOP: [Process Name]" category: procedures service: ai-toolkit tags: [sop, process-name] created: "YYYY-MM-DD" last_updated: "YYYY-MM-DD" description: "Standard procedure for [process]." --- # SOP: [Process Name] ## Purpose [Why this procedure exists] ## Prerequisites - [Requirement] ## Procedure ### Step 1: [Action] [Detailed instructions] ## Verification [How to verify success] ## Rollback [How to revert if needed] ``` ## Validation ```bash # Validates ALL kb/**/*.md frontmatter (title, category, service, tags, created, last_updated, description) scripts/validate.py # Checks: required fields present, category is valid, tags non-empty ``` Valid categories are the eight in the table above. `scripts/validate.py` holds the same set in `VALID_KB_CATEGORIES`; the two are the same list in two places and a change belongs in both. ## Anti-Patterns | Anti-Pattern | Problem | Fix | |-------------|---------|-----| | No frontmatter | Blocks CI, not indexed | Add frontmatter with all required fields | | Wrong category | Confuses search | Match `category:` to directory name | | Non-English content | Inconsistent KB | Translate to English | | Date in filename | Clutters, becomes stale | Use `created:` in frontmatter | | Empty tags | Hurts search relevance | Add at least 1 meaningful tag | | Placeholder content | Wastes reader time | Write real content or don't create the doc |
Voir sur GitHub