By zvoque
Gives the agent a persistent memory of architecturally-significant decisions. Detects stack, design-direction, and structural tradeoff decisions made by the user or the agent, records each as an ADR in a gitignored .adr/ folder, and injects the decision index into future sessions so settled decisions are never re-litigated or contradicted.
Passive Architecture Decision Record (ADR) memory for Claude Code.
Claude forgets why you chose Postgres, why the UI went dark-first, why you split
the monorepo — the moment a session ends. passive-adr remembers. It watches
for architecturally-significant decisions (made by you or the agent), records
each as an ADR with its rationale in a gitignored .adr/ folder, and feeds the
decision index back into every future session so settled choices are honored
instead of silently reversed.
No prompts, no interruptions. A background sweep runs at session end and before context compaction, reads the transcript, and writes only decisions that carry lasting weight and have a stated "why."
/plugin marketplace add zvoque/passive-adr
/plugin install passive-adr@passive-adr
Only decisions with lasting architectural weight and a rationale:
Trivial or transient choices (which tool to call, a variable name, one-off implementation details) are skipped. If a choice has no stated rationale, it is not recorded — a sparse log beats a noisy one.
| Event | Hook | What it does |
|---|---|---|
| SessionStart | adr-inject.sh | Injects .adr/INDEX.md so the agent starts aware of prior decisions |
| SessionEnd / PreCompact | adr-sweep.sh | Spawns a headless claude -p (Haiku) that reads the transcript + existing index and writes any new decisions, dedup-aware |
| PostToolUse (Read) | adr-stamp.sh | Stamps an ADR's last_read when the agent reads it — the warmth signal decay filters on |
Records live per-project in <cwd>/.adr/, auto-added to .gitignore.
/adr command| Command | What it does |
|---|---|
/adr list | Show the decision index (and a count of archived records). Default when run bare. |
/adr show <id> | Print one ADR in full — checks live records first, then the archive. Reading a live ADR re-heats it for decay. |
/adr search <term> | Case-insensitive search across every record, live and archived. Archived matches are marked [archived]. |
/adr sweep | Capture decisions from the current conversation right now, instead of waiting for session end. |
/adr new | Dictate one ADR by hand — you supply the title, context, decision, and rationale. |
/adr supersede <id> | Mark a decision reversed: flips its status, moves it to the archive, and offers to record the replacement with a link back. |
/adr on / /adr off | Pause or resume the plugin for this project (capture and inject stop; the plugin's small always-on metadata only disappears with claude plugin disable passive-adr). |
/adr decay <N> | Inject only decisions read in the last N sessions; colder ones collapse to a one-line stub. decay off (or 0) restores inject-everything. Bare /adr decay shows the current setting plus a preview of what would go cold. |
/adr consolidate | Spring-clean the store: auto-archives any leftover superseded records, then proposes merging redundant ones — nothing is merged without your approval. |
The session inject is terse by design (one preamble line + one line per live
decision) and superseded records are archived out of it automatically. Per-
session cost is logged to .adr/.inject.log so the tax is visible.
Optional decay: /adr decay 50 injects only decisions read in the last 50
sessions; colder ones collapse to a one-line stub and stay reachable via
/adr search (reading one re-heats it). New decisions that touch the same
ground as an old one re-heat it automatically during the sweep. Default is
off — out of the box, every accepted decision injects every session, exactly
like v0.1. /adr off pauses the plugin per-project; /adr consolidate
proposes merging redundant records (your approval required).
Each ADR is one markdown file (.adr/<id>-<slug>.md) with frontmatter (id,
date, status, supersedes, decided_by, last_read) and three sections:
Context, Decision, Rationale.
claude CLI on PATH (used by the background sweep; sweep skips silently if absent).Built for Claude Code (the local CLI), where your working directory and its
.adr/ folder persist between sessions — which is what makes the memory work.
Not supported in Cowork: .adr/ is gitignored by design, so it would not
survive Cowork's ephemeral per-session environment, and the background sweep
relies on a local claude CLI that isn't guaranteed there.
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub zvoque/passive-adr --plugin passive-adrTracks Claude Code skill usage over time, flags skills that have gone cold, and helps you reversibly prune unused personal skills. Configurable thresholds, keep/snooze suppression, and an interactive cleanup. Near-zero token cost, zero dependencies.
Give Claude a mindset that sticks: persistent personas that re-assert every turn. Run one, several in parallel, or convene them as a team that debates a topic — plus a guided persona creator. Command-controlled; never edits settings.json.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.