| name | cmk:rule |
| description | This skill should be used when the user asks to "add a rule that...", "make this a standard", "promote this learning to a rule", "update our coding conventions", "what are our engineering rules", or needs to codify engineering standards into docs/rules/ as enforceable rules and conventions that agents follow during development. |
| version | 0.1.0 |
Rule
Codify engineering standards into docs/rules/. Rules are enforceable standards organized by domain — common/ for language-agnostic, {language}/ for language-specific, {framework}/ for framework-specific.
References
Read references/rule-conventions.md for placement rules and directory structure.
Input
Accept whatever the user provides: direct statements, knowledge entries from docs/knowledge/, conversation context, code patterns from review, or incident learnings.
Workflow: Create
- Understand the rule: what practice to enforce and why.
- Determine target: subdirectory (
common/, language, or framework) and topic file. Create new file if no match: docs/rules/{domain}/{topic}.md.
- Write: clear actionable statement, brief rationale, example if not self-evident.
- Link back to
docs/knowledge/ source when applicable.
Workflow: Iterate
- Read the existing rule file in full.
- Identify what changed and why.
- Update in place: revise statement, update rationale, add/update examples.
- Link back to knowledge source when applicable.
Workflow: Promote
- Read specified knowledge entries from
docs/knowledge/.
- For each entry the user selects: determine target, transform learning into actionable rule, write to
docs/rules/.
- User decides what gets promoted — never auto-promote.
Output
- Rules go in
docs/rules/{domain}/{topic}.md
- Each rule is concise, actionable, and followable by an agent without ambiguity
- Rationale explains why, not just what
- Never promote without user confirmation
- Link to source knowledge entry when applicable