dr

A workflow for creating numbered Decision Records in MADR v4 format. A Decision Record documents an important choice, its context, alternatives, and the reasons for selecting one option.

In plain words
What is it for?
Use it to create or update records in the decisions directory, gather supporting sources, check for similar records, and challenge exceptions or replacements of existing decisions.
Why use it?
It preserves the reasoning behind difficult-to-reverse decisions so future readers can understand why the project was built that way.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/thkt/dotclaude/dr
Any agent
npx skills add thkt/dotclaude --skill dr
Clone the repo
git clone --depth 1 https://github.com/thkt/dotclaude

Made for: Claude Code, Codex.

Per session 59 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,872 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00059 $0.01872
Opus 5 $0.00030 $0.00936
Sonnet 5 $0.00012 $0.00374
Haiku 4.5 $0.00006 $0.00187

Measured 2d ago against content hash bbbbc4de8ba2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

dr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 4 executable files (scripts/dr_common.py, scripts/pre-check.py, scripts/update-index.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.ja/skills/dr/SKILL.md · 88 lines

How it starts

The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/dr - Decision Record 作成

入力

決定タイトルは $ARGUMENTS で受け取る。空なら AskUserQuestion で New decision/Update existing を確認する。New decision ならタイトルを聞き、Update existing なら <git-root>/docs/decisions/ の既存 DR から選択させる (§ 既存 DR の更新)。新規に作るタイトルは "Adopt X for Y" のような具体的なアクションに整え、5〜64 文字に収めて /:*?"<>| を含めない。保存先は既定で <git-root>/docs/decisions/ で、DR_DIR 環境変数を設定すると変えられる。

採用ゲート

下表の 3 条件すべてが成り立つときだけプロセスへ進む。欠けるときは DR を作らず、上から順に当てて最初に該当した記録先へ決定を残す。

条件 欠けたときの記録先
覆しにくい。後から決定を変えるには相応のコストがかかる プロジェクトの設計ノート。無ければコミットメッセージ本文
文脈がないと意外に見える。将来の読み手が「なぜこの形にしたのか」と疑問を持つ プロジェクトの設計ノート。無ければコミットメッセージ本文
実在するトレードオフの結果。本物の代替案が存在し、特定の理由で 1 つを選んでいる コミットメッセージ本文

プロセス

Step 工程 内容
1 Pre-Check ${CLAUDE_SKILL_DIR}/scripts/pre-check.py "$TITLE" を実行する。返り値から使うのは dr_dirfilename (書き込み先)、date (frontmatter)、similar_drs (重複判定)
2 Type 決定の意図で決定タイプを判定し、推奨トピックを選ぶ (§ 決定タイプ)
3 Sources プロジェクトドキュメント、issue、外部リソースを収集する
4 Draft ${CLAUDE_SKILL_DIR}/templates/madr-template.md を dr_dir 配下に filename で写し、収集した内容で埋める (§ YAML Frontmatter)
5 Challenge 既存 DR の原則に例外を作る、または既存 DR を supersede する場合だけ /challenge を通し、verdict と成立条件を More Information に 1 行で残す
6 Validate ${CLAUDE_SKILL_DIR}/scripts/validate-dr.py "$DR_FILE" を実行する。exit 0 なら合格。落ちた項目は errors[] に入り、warnings[] は参考
7 Index ${CLAUDE_SKILL_DIR}/scripts/update-index.py を実行し、dr_dir/README.md を再生成する

Read the full file on GitHub · 88 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 88 lines · 59 tokens per session scan A bbbbc4de8ba2

Subscribe to this mod's changes

dr is a skill published in the GitHub repository thkt/dotclaude (11 stars, last pushed 2d ago), licensed MIT. It adds 59 tokens to every session and 1,872 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

create-modal

Create declarative modals using the modal library API. Covers modal types (confirm, input, select, form), sections (Text, Buttons, Input, Textarea, Checkbox, List, Combo, When, Custom), rendering with OverlayModal, and keyboard/mouse handling. Use when adding modals or dialogs to the application.

marcus/sidecar · 69 tokens

create-plugin

Create new sidecar plugins implementing the plugin.Plugin interface, rendering views with Bubble Tea, handling keyboard input via keymap contexts, and integrating with the app shell (footer hints, event bus, adapters). Use when creating a new plugin, modifying plugin architecture, or debugging plugin…

marcus/sidecar · 74 tokens

merge-strategy

Git merge strategies, conflict resolution approaches, merge vs rebase recommendations, and branch integration patterns in sidecar. Covers pull strategy menu, direct merge workflow, squash merge, commit message templates, configurable defaults, and protected branches. Use when working on git merge features or making…

marcus/sidecar · 63 tokens

autoprompt

Explicit-only useful-first orchestration. Invoke /autoprompt to turn a mission into one executable roadmap, build dependency-safe lanes, and verify the result with independent reviewers. Never infer invocation from ordinary requests. Never resume from leftover artifacts without an explicit resume instruction.

Spielewoy/autoprompt-skill · 56 tokens

autoprompt

Explicit-only useful-first orchestration. Invoke /autoprompt to turn a mission into one executable roadmap, build dependency-safe lanes, and verify the result with independent reviewers. Never infer invocation from ordinary requests. Never resume from leftover artifacts without an explicit resume instruction.

Spielewoy/autoprompt-skill · 56 tokens

autoprompt

Explicit-only useful-first orchestration. Invoke /autoprompt to turn a mission into one executable roadmap, build dependency-safe lanes, and verify the result with independent reviewers. Never infer invocation from ordinary requests. Never resume from leftover artifacts without an explicit resume instruction.

Spielewoy/autoprompt-skill · 56 tokens