Skip to content
Agentmart
Submit a tool

decisions

Guide for recording high-level architectural, design, and product decisions in docs/decisions.md.

Skill by maragudk

IndexedMIT★ 30
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/maragudk-decisions

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Guide for recording high-level architectural, design, and product decisions in docs/decisions.md. This is NOT a log of every choice made during a regular build -- those belong in the implementation diary. Use this skill only when a clearly significant decision is made (database choices, frameworks, core design patterns, product direction) or when explicitly asked to document a decision. Also suggest proactively at natural session-end moments -- after a PR merges, a feature ships, or a work chunk wraps up -- if a significant decision was made during the session and not yet recorded. Be conservative - only suggest for major decisions, not minor implementation details.

Use cases: documents, design, backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/decisions

What's inside

Skill name
decisions
Description
Guide for recording high-level architectural, design, and product decisions in docs/decisions.md. This is NOT a log of every choice made during a regular build -- those belong in the implementation diary. Use this skill only when a clearly significant decision is made (database choices, frameworks, core design patterns, product direction) or when explicitly asked to document a decision. Also suggest proactively at natural session-end moments -- after a PR merges, a feature ships, or a work chunk wraps up -- if a significant decision was made during the session and not yet recorded. Be conservative - only suggest for major decisions, not minor implementation details.
License
MIT
Instructions
170 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Decisions

## Overview

This skill maintains a chronological record of significant project decisions in `docs/decisions.md`. It captures high-level architectural, design, and product decisions, especially those involving tradeoffs, to create a permanent record of why key choices were made.

## Scope: High-Level Decisions Only

**The decisions doc is for high-level architectural, design, and product decisions. It is NOT a log of every little decision made during a regular build.**

A regular feature build involves dozens of small choices: which helper to extract, how to name a type, whether to return early, which package a function lives in, how to structure a test. None of those belong in `docs/decisions.md`. They belong in the implementation diary (see the `diary` skill), in the PR description, or nowhere at all.

The test is: **would someone six months from now need to know why this was chosen in order to understand the shape of the project?** If the answer is no, do not record it here.

Belongs in the decisions doc:
- Choosing a database, framework, or major library
- Core architectural patterns (monolith vs microservices, rendering approach, sync vs async)
- Product direction (what the project is and is not, who it is for, what it will not do)
- Fundamental design choices that constrain future work

Does NOT belong in the decisions doc:
- Implementation details of a single feature
- Naming, file layout, or code organization within a package
- Choices that could be reversed in a single PR without anyone noticing
- Anything you would only mention in a code review comment

### Common Misuses

These patterns show up in real decision logs and are all wrong:

- **Dependency bumps and version pins.** "Bump library X" or "Pin Y to version Z for compatibility" is maintenance, not a decision. Put it in the commit message or the diary.
- **Single-PR implementation details.** Encoding formats, size caps, rounding rules, error-vs-empty return conventions for one endpoint. These are choices a reviewer sees in the diff and are reversible without ceremony.
- **Progress notes disguised as decisions.** "Shipped X partially, Y deferred", "closed 4 of 6 open items", "post-review refinement of Z". These describe where the work is, not why the project is shaped the way it is. They belong in the diary.
- **Decision-per-PR cadence.** If a single day or a single PR produces several entries, the log is tracking the build rather than the architecture. Collapse them into one entry if a real decision is buried in there, otherwise drop them.

Title smell test: an entry title starting with "Bump", "Pin", "Fix", "Ship ... partial", or ending in "(post-review refinement)" is almost never a decision.

When in doubt, leave it out. A short, high-signal decisions doc is far more useful than a long one nobody reads.

## When to Use This Skill

**Proactive (Conservative):**
Suggest recording decisions only when there is a clearly significant architectural choice, such as:
- Choosing between database systems (e.g., SQLite vs PostgreSQL)
- Selecting major frameworks or libraries
- Deciding on core architectural patterns (e.g., monolith vs microservices, rendering approach)
- Making fundamental design choices that will shape the project long-term

**Do NOT proactively suggest for:**
- Minor implementation details
- Routine coding decisions made during a regular build
- Small refactoring choices
- Trivial technical choices
- Anything that fits in the implementation diary instead

A normal feature build should usually produce zero entries in the decisions doc.

**Manual:**
Record decisions when explicitly requested by the user with phrases like:
- "Record this decision"
- "Document this in the decision log"
- "Add this to decisions.md"

## Recording a Decision

### Step 1: Identify the Decision

From the conversation context, identify:
- What decision was made
- Why it was needed (context)
- What alternatives were considered (if applicable)
- Key tradeoffs evaluated (if applicable)
- Rationale for the final choice

### Step 2: Determine Detail Level

Adapt the level of detail based on decision complexity:

**Brief** (simple decisions):
- Title and 1-2 sentence summary
- Example: Choosing a well-established library

**Moderate** (typical decisions):
- Decision description
- Brief context (why it was needed)
- The choice made

**Detailed** (complex decisions):
- Decision description
- Context and motivation
- Alternatives considered
- Key tradeoffs evaluated
- Rationale for final choice

### Step 3: Format the Entry

Use this format:

```markdown
## YYYY-MM-DD: [Decision Title]

[Description paragraph(s) adapted to the complexity level]
```

Example (brief):
```markdown
## 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):
```markdown
## 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.

From maragudk/fabrik, MIT.

More from maragudk/fabrik

Signals

Stars
30
Forks
2
Open issues
0
Last commit (this folder)
Sep 2, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from maragudk

Cite this page

decisions skill. Agent Mart. https://agentmart.dev/skills/maragudk-decisions (last updated 2026-10-24)