decision-record
Use when a change adds a feature or meaningfully changes how something works and the decision behind it has to be written down before implementation — "record…
Skill by Arasz
Chalk Labs
Need help deploying decision-record?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/arasz-decision-record
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.
About
Use cases: writing, productivity
Reviews
Write a reviewNo 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
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/decision-record
What's inside
- Skill name
decision-record- Description
- Use when a change adds a feature or meaningfully changes how something works and the decision behind it has to be written down before implementation — "record this decision", "write an ADR", "open a spec change", "decision record", or the task skill's decision-record step. Detects what the project already uses (an ADR log in MADR, adr-tools or log4brains shape; OpenSpec, Spec Kit or Kiro specs; the CLIs on PATH), writes into that format, and writes a linked ADR-plus-spec pair when the project keeps both.
- License
- MIT
- Instructions
- 130 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- madr-minimal.md · references/
- detect_formats.py · scripts/
SKILL.md (first lines)
# decision-record Writes down a decision in the place this project already keeps decisions. Use the project's own format, never a second one. **Why the project's format, not a good one.** A decision written in a format nobody reads gets lost. Examples: an OpenSpec change in a repo whose decisions live in `docs/adr/`, or a new `docs/decisions/` beside an existing log. So detection comes first. Where the record goes is settled by evidence in the tree, not by preference. ## When a decision needs a record Record it when the change: - adds a feature or a capability callers can see - changes behaviour, a contract, a data format or a default that someone relies on - adds or removes a dependency, a tool or a supported platform - reverses or narrows an earlier recorded decision (supersede it — do not edit it) Skip it for a bug fix that restores intended behaviour, a refactor with no behaviour change, docs, formatting or a version bump. When unsure, write the record. A short record costs less than re-litigating the decision later. ## Step 1 — Detect ```bash python3 .ai-badger/skills/decision-record/scripts/detect_formats.py . --json ``` The script reports: - `mode`: `adr`, `spec`, `combination` or `none` - each ADR log: `dir`, `tool`, `naming` (`sequence` or `date`), `count`, the `next` number (`null` for a date-named log), the `newest` record and the `index` file - each spec framework: `openspec`, `spec-kit` or `kiro`, with the folder that marked it - which CLIs are on PATH: `openspec`, `specify`, `adr`, `log4brains` - `warnings`: a marker it could not read, or one that points outside the project. Report each warning to the person. Never write to a path a warning names. The list of recognised markers lives in the script. Read it there; do not restate it. **An installed CLI is not adoption.** A CLI decides *how* to write into a format the tree already shows. It never decides *which* format. Do not run `openspec init`, `specify init` or `adr init`, and do not install anything. If a tool would help a project that has none, say so in the record's consequences and leave the choice to the people who own the repo. ## Step 2 — Write, by mode ### `adr` — an ADR log exists 1. **More than one log** (a monorepo, or a log4brains config with package folders): write to the log that owns the code being changed. That is the one whose folder shares the longest path with it. Use the root log for a cross-cutting decision. 2. **Sequence-named:** before you take the `next` number, fetch and check it against `origin/<default-branch>`. A concurrent PR may have taken it. **Date-named** (`next` is `null`): name the file with today's date in the log's own date form (`20261023-` or `2026-10-23-`). 3. Copy the shape of the `newest` record: headings, status line, metadata block, date format, and how it cites superseded records. The log's own convention beats any template. 4. With `tool: adr-tools` and `adr` on PATH, create the file with `adr new <title>` (`adr new -s <N> <title>` to supersede), then fill it in. With `tool: log4brains` and `log4brains` on PATH, use `log4brains adr new`. Otherwise write the file by hand as `<next or date>-<kebab-title>.md`. 5. If the log has an `index`, add the row in that index's format in the same change. ### `spec` — a spec framework exists - **OpenSpec.** Prefix every call with `OPENSPEC_TELEMETRY=0`. Run `openspec list --specs` to reuse an existing capability path, then `openspec new change <kebab-name>`. For each artifact, get the template from the CLI instead of writing it from memory: `openspec instructions <proposal|specs|design|tasks> --change <kebab-name>`. The decision itself goes in `design.md`: the options considered, the one chosen and why, and the consequences. Finish with `openspec validate <kebab-name>` and fix whatever it refuses. A change with no requirement delta sets `skip_specs: true` in its `.openspec.yaml`. If `openspec/` exists but the CLI does not, mirror an existing change folder by hand and state that it went unvalidated. - **Spec Kit** (reported by its `.specify/` state folder). Write in the feature's `specs/<NNN-slug>/`, not in `.specify/`. Requirements go in `spec.md` and the decision in `plan.md` (or `research.md` when the folder has one). Use the `/speckit-*` commands if the host exposes them. - **Kiro.** Write in `.kiro/specs/<slug>/`. Requirements go in `requirements.md` and the decision in `design.md`. ### `combination` — both exist Write both, and keep each half in one place: - the **spec change** states *what* the system must do: requirements, scenarios, tasks - the **ADR** states *why*: the context, the options, the choice, the consequences Link them both ways: the ADR names the spec change's path, and the spec's design artifact names the ADR. Do not copy the rationale into both. Two copies drift, and then nobody knows which one is true. ### `none` — nothing detected Only when detection found nothing, write a MADR 4 minimal record at the reported `fallback` (`docs/decisions/0001-<kebab-title>.md`) from `references/madr-minimal.md`. That is MADR's documented default location, and plain Markdown needs no tool. ### Also in ai-raccoon (optional) After the record above is written, also call `record_decision` in ai-raccoon when available (the server is connected, or the `ai-raccoon decisions` CLI is installed). Pass the same title, scenario, outcome and reasoning, and cite the record in `sources` (`uri`: its path, `description`: a few words). Use the `/task` id as the taskId; with no task id, skip this step. The project's own record stays the primary one (ADR-0047). The ai-raccoon copy only makes the decision searchable by task. The `ai-raccoon-memory` skill gives the ids, the order and the recovery rule. When ai-raccoon is not available, skip this step. ## Step 3 — Content and status - Write the record **before implementation**, with the status the log uses for an open decision (`Proposed` in MADR). Move it to `Accepted` in the PR that implements it. - Name at least two considered options, including doing nothing. A record with one option is an announcement, not a decision. - State how compliance will be confirmed: a test, a gate, or a review question. - Logs that never edit an accepted record (this repo's `docs/adr/` is one) change only by a new record that supersedes the old one. Name the supersession in both. ## Gotchas - A CLI on PATH with no project artifacts is a machine-wide install, not adoption (`openspec` was installed globally on the machine this skill was written on, and the repo had never run
From Arasz/ai-badger, MIT.
More from Arasz/ai-badger
- 0.609score
commit-reminder
Arasz
Use when a project has accumulated uncommitted changes and nobody has said so out loud — several edits in a row with no commit in between — or when a subagent…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
den-refresh
Arasz
Use when an already-scaffolded project is behind the framework — a drift notice appeared, a new ai-badger version shipped, or the user asks to…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
code-review-evidence
Arasz
Use when reviewing code that wraps external libs/extensions/SDKs/CLIs, or QA-reviewing a test harness: verify wrapped-library semantics from the upstream…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
ai-raccoon-memory
Arasz
Use when a project needs a memory server — search project and shared memory first, write durable facts with source paths, watch a docs directory, or promote…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
auto-wm
Arasz
Use when the user wants Claude to auto-approve tool calls — "enable autonomic/autonomous work mode", "/auto-wm", "partner mode", "work by yourself for N…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
complete-project-scope-code-review
Arasz
Use when the whole project — not a diff — is the review target and the result must survive being acted on: "review the entire codebase", "full quality…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
call-behaviorist
Arasz
Use when ai-badger's own machinery needs to be observed — "did that hook even run?", "enable debug logging", "why is the drift notice silent?", "turn on the…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
change
Arasz
Use when making an ad-hoc change with no issue or task behind it — fix a failing unit test, refactor a method, rename something, tweak a config value, adjust…
SkillAFreshness: A★ 3Claude Code +9 - 0.569score
differential-feature-refactor
Arasz
Use when a feature already exists in code but has drifted from — or was never reconciled with — its intended design, and someone must decide what changes…
SkillBFreshness: B★ 3Claude Code +9 - 0.569score
artifact-verification
Arasz
Use when verifying changed artifacts that lack a canonical test gate — specs, docs, manifests, generated files, published packages: use the workflow-defined…
SkillBFreshness: B★ 3Claude Code +9 - 0.569score
code-review-checklist
Arasz
Use when reviewing code — a PR, a diff, or freshly written changes — and you want concrete pass/fail checks rather than impressions.
SkillBFreshness: B★ 3Claude Code +9 - 0.569score
create-task-spec
Arasz
Use when a feature idea needs to become an exact, agreed specification before anyone builds it — "spec this out", "create a task spec", "turn this idea into…
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 9
- Last commit (this folder)
- Oct 23, 2026 (19 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Arasz/ai-badger
- Website
- github.com/Arasz/ai-badger
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Arasz
- 0.609score
commit-reminder
Arasz
Use when a project has accumulated uncommitted changes and nobody has said so out loud — several edits in a row with no commit in between — or when a subagent…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
code-review-evidence
Arasz
Use when reviewing code that wraps external libs/extensions/SDKs/CLIs, or QA-reviewing a test harness: verify wrapped-library semantics from the upstream…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
ai-raccoon-memory
Arasz
Use when a project needs a memory server — search project and shared memory first, write durable facts with source paths, watch a docs directory, or promote…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
auto-wm
Arasz
Use when the user wants Claude to auto-approve tool calls — "enable autonomic/autonomous work mode", "/auto-wm", "partner mode", "work by yourself for N…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
call-behaviorist
Arasz
Use when ai-badger's own machinery needs to be observed — "did that hook even run?", "enable debug logging", "why is the drift notice silent?", "turn on the…
SkillAFreshness: A★ 3Claude Code +9 - 0.609score
complete-project-scope-code-review
Arasz
Use when the whole project — not a diff — is the review target and the result must survive being acted on: "review the entire codebase", "full quality…
SkillAFreshness: A★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get decision-record running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
decision-record skill. Agent Mart. https://agentmart.dev/skills/arasz-decision-record (last updated 2026-10-24)