decisions/SKILL.md
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.
npx skillsauth add maragudk/skills decisionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 existdevelopment
Guide for using git worktrees to parallelize development with coding agents. Use this skill when the user requests to work in a new worktree or wants to work on a separate feature in isolation (e.g., "Work in a new worktree", "Create a worktree for feature X").
development
Guide for working with SQL queries, in particular for SQLite. Use this skill when writing SQL queries, analyzing database schemas, designing migrations, or working with SQLite-related code.
tools
Guide for saving a web page for offline use using the monolith CLI. Use this when instructed to save a web page.
development
# Observable Plot Skill Observable Plot is a JavaScript library for exploratory data visualization. It's built on D3 and provides a concise, declarative API for creating charts. ## Installation ```bash npm install @observablehq/plot ``` Or via CDN: ```html <script type="module"> import * as Plot from "https://cdn.jsdelivr.net/npm/@observablehq/[email protected]/+esm"; </script> ``` ## Core Concepts ### Plot.plot(options) The main function that renders a visualization. Returns an SVG or HTML figure