// Guide for recording significant architectural and design decisions in docs/decisions.md. Use this skill when clearly significant architectural decisions are made (database choices, frameworks, core design patterns) or when explicitly asked to document a decision. Be conservative - only suggest for major decisions, not minor implementation details.
| name | decisions |
| description | Guide for recording significant architectural and design decisions in docs/decisions.md. Use this skill when clearly significant architectural decisions are made (database choices, frameworks, core design patterns) or when explicitly asked to document a decision. Be conservative - only suggest for major decisions, not minor implementation details. |
| license | MIT |
This skill maintains a chronological record of significant project decisions in docs/decisions.md. It captures important architectural and design decisions, especially those involving tradeoffs, to create a permanent record of why key choices were made.
Proactive (Conservative): Suggest recording decisions only when there is a clearly significant architectural choice, such as:
Do NOT proactively suggest for:
Manual: Record decisions when explicitly requested by the user with phrases like:
From the conversation context, identify:
Adapt the level of detail based on decision complexity:
Brief (simple decisions):
Moderate (typical decisions):
Detailed (complex decisions):
Use this format:
## YYYY-MM-DD: [Decision Title]
[Description paragraph(s) adapted to the complexity level]
Example (brief):
## 2025-10-23: Use httprouter for HTTP routing
Chose httprouter for its simplicity and performance. It's a well-established library that fits our needs without unnecessary complexity.
Example (detailed):
## 2025-10-23: Choose SQLite for primary database
After evaluating PostgreSQL and SQLite, we chose SQLite for the following reasons:
Context: Need a reliable database for the application that handles moderate traffic (< 1000 concurrent users) and simple relational data.
Alternatives considered:
- PostgreSQL: More features and better for high concurrency, but adds operational complexity
- SQLite: Simpler deployment, embedded database, sufficient performance for our scale
Tradeoffs: SQLite has limitations with high write concurrency and some advanced features, but offers zero-configuration deployment and excellent read performance. Given our expected load and preference for operational simplicity, these tradeoffs favor SQLite.
Decision: Use SQLite with WAL mode enabled for improved concurrency. We can migrate to PostgreSQL later if scaling needs change.
docs/ directory exists; create it if neededdocs/decisions.md exists:
# Project Decisions
This document records significant architectural and design decisions made throughout the project's development.
After recording the decision, briefly confirm what was recorded. For example:
When detecting a significant architectural decision during conversation, suggest recording it:
This seems like a significant architectural decision. Would you like me to record it in docs/decisions.md?
Wait for user confirmation before recording.
docs/ directory if it doesn't exist