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.
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 existSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer