Technical Decisions Registry Skill
Purpose
This skill gives access to a project's technical decision registry. It enables:
- •Pattern lookup: Find the established approach for a specific concern (e.g., "What's our validation pattern?")
- •Proposal validation: Check if a new spec or code change violates established decisions
- •Decision citation: Reference decisions by ID when reviewing code or specifications
- •Constraint understanding: Learn the context, tradeoffs, and examples for architectural choices
When to Use This Skill
Invoke this skill when:
- •Creating proposals or specifications: Validate early against decisions to catch pattern violations
- •Reviewing specifications or code: Check alignment and cite decisions for clarity
- •Asking architectural questions: "What's our approach to X?" or "Should we use Y or Z?"
- •Understanding constraints: Learn why a decision was made and its tradeoffs
- •Onboarding new features: Understand which patterns apply to a new domain
Getting Started
- •Create your decisions registry: Add
docs/decisions.mdto the project - •Document decisions: Use the decision structure above
- •Cite in proposals: Have proposal authors reference relevant decisions
- •Iterate: Update decisions as your project evolves
Decision Registry
The registry is documented here.
Reference the project's decisions registry for the complete, authoritative list. The registry should be located at docs/decisions.md.
Common Interaction Patterns
Scenario 1: Validating a New Proposal
User says: "I'm creating a new feature spec. What decisions should I enforce?"
Skill response:
Query results from decisions registry by category or feature domain. Relevant Decisions: 1. [Decision ID] — [Title and brief description] 2. [Decision ID] — [Title and brief description] ... Action: Include a "Conventions (Required)" or "Architecture Constraints" section in your proposal that cites these decision IDs. Implementers will know exactly which patterns apply.
Scenario 2: Code Review Comment
Reviewer finds code that violates a decision
Reviewer cites: "This violates decision-id-name. [Suggest correct approach]."
Skill provides: Full decision context, examples of correct/incorrect approaches, related decisions
Example:
"This design violates our architectural decision on [topic]. See decision: `decision-id` for the rationale and correct approach."
Scenario 3: Architectural Question
Developer asks: "How should we approach [architectural concern]?"
Skill response:
Reference decision: decision-id Summary: [What the decision says] Context: [Why this decision was made] Tradeoffs: [Pro/con analysis] Example of correct approach: [code/design] Example to avoid: [code/design]
Scenario 4: Onboarding / Feature Planning
New team member or feature lead asks: "What patterns should I follow when building [feature]?"
Skill response:
The following decisions apply to [feature]: 1. decision-id-1 — [Title] 2. decision-id-2 — [Title] 3. decision-id-3 — [Title] See each decision for context, examples, and related patterns. Ask if you need clarification on any decision.
Keeping Decisions Current
When decisions change:
- •Update the decisions registry file (include rationale for change)
- •Mark old decision as "Superseded" with link to new one
- •Add new decision with full context and examples
- •Skill automatically uses updated version in next session
Tips for Effective Use
- •Cite by ID: When giving feedback, reference decisions by ID to enable quick lookup
- •Include context: When validating code or proposals, provide snippets for analysis
- •Check related decisions: Most decisions interact with others; review related decisions for full picture
- •Use in proposals: All new proposals should include a "Conventions (Required)" or "Architecture Constraints" section citing relevant decisions
- •Update when needed: If a decision no longer makes sense, propose updating it (don't ignore it)
- •Share rationale: When citing a decision, explain why it applies to the situation