Skip to content
AvatawPublic

About

One agent skill for micro decisions records. Track small decisions while you with, check them against the code, and distill then into learnings for AGENTS.md, CLAUDE.md or your ADRs.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

micro-dr

An agent skill for micro decision records.

Most decisions in a project are small, e.g. which library to use or how a button behaves. Others are about how you work, e.g. how a PR description reads or where decisions are written down. They rarely get an ADR, so the reason behind them is gone once the PR is merged. micro-dr records them while you work, in a personal store outside the repo, and distills them into the repo before you push: learnings for your agent files, ADRs, doc updates and a decisions section for the PR. Decisions that hold across projects are copied into a global part of the store and travel with you, and decisions about how you work go there directly and are distilled into your user-level agent files.

The skill follows the Agent Skills format, so any agent that supports it can use it. It needs git, and your agent needs write access to the store.

Install

npx skills add Avataw/micro-dr

Usage

micro-dr is one skill with six subcommands, e.g. /micro-dr track in Claude Code. In agents without slash commands, ask in plain words, e.g. "use micro-dr to record that we picked SQLite over IndexedDB because ...".

Subcommand What it does
track Records decisions automatically as they come up while you work, or when you ask, and lists them at the end of the task. Also accepts, rejects or drops one.
inspect Explains why something was decided, and on request its full history and related decisions.
list Lists decisions by text, status, type, tag, path, date or branch, or exports them.
distill Before you push: walks you through the proposed decisions one by one to accept, reject or fix them, then turns undistilled decisions into learnings, ADRs, doc updates and a PR section, and proposes global decisions. distill global compares all your projects.
verify Lints the store and checks every accepted decision against the current code.
setup Creates the store, registers the project, offers a line for your user-level agent file so your agent knows to use micro-dr, and offers a reminder before git push.

The store

~/.micro-dr/                    # or $MICRO_DR_HOME; a git repo of its own
├── config.yml
├── global/{technical,product,design,practice}.md
└── projects/github.com/acme/shop/
    ├── project.yml
    ├── technical.md
    ├── product.md
    ├── design.md
    ├── practice.md
    └── archive.md

No store file, id or mention of micro-dr ever lands in the repo. The repo only changes where you agree to it, mostly through distill, in the repo's own words.

Each file is a list of entries in a fixed shape, written for agents to grep and edit:

## mdr-20261028-ky-client · accepted · Use ky as the shared HTTP client
- applies-to: src/api/**
- tags: http, retry
- decision: All HTTP calls go through the ky instance in src/api/client.ts, retrying 3x with backoff, POST included.
- why: The upstream rate-limits us; ky adds retries on fetch for 4 kB.
- rejected: axios (no built-in retry), got (Node-only)
- accepting: A retried POST can run twice.
- recorded: 2026-10-28 · feat/retrying-client · 3f2a1c9

To keep the repo untouched, set workspace in config.yml to a folder outside every repo, e.g. ~/.claude/micro-dr. distill then writes each project's learnings to <workspace>/<project key>.md and changes the repo only when you ask.

Give the store a private remote: it holds what you decided for clients and employers.

License

MIT

About

One agent skill for micro decisions records. Track small decisions while you with, check them against the code, and distill then into learnings for AGENTS.md, CLAUDE.md or your ADRs.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages