From manifest-dev-tools
Synthesizes Architecture Decision Records from Claude Code session transcripts via multi-agent pipeline. Extracts decisions and writes MADR files to a directory after /define or /do sessions.
npx claudepluginhub doodledood/manifest-dev --plugin manifest-dev-toolsThis skill uses the workspace's default tool permissions.
Extract ADR-worthy decisions from a completed manifest workflow session and write individual MADR files. Operates as post-processing — runs AFTER the manifest workflow completes, not during it.
Generates MADR-formatted Architecture Decision Records (ADRs) from decisions extracted in the current session. Gathers git repo context, confirms selections with user, writes to docs/adrs/.
Captures architectural decisions in Claude Code sessions as structured ADRs. Auto-detects choices between alternatives and maintains a docs/adr log for codebase rationale.
Captures architectural decisions during Claude Code sessions as structured ADRs in docs/adr/. Auto-detects moments, records context, alternatives, rationale for future developers.
Share bugs, ideas, or general feedback.
Extract ADR-worthy decisions from a completed manifest workflow session and write individual MADR files. Operates as post-processing — runs AFTER the manifest workflow completes, not during it.
$ARGUMENTS = <manifest-path> <output-dir> --session <transcript-path>
All three are required:
/define outputs this path at completion)If any required argument is missing: error and halt with usage:
Usage: /adr <manifest-path> <output-dir> --session <transcript-path>
Example: /adr /tmp/manifest-1234.md docs/adr/ --session ~/.claude/projects/.../session.jsonl
Optional:
/do runs — supplementary input for implementation decisions. Pass as additional positional arguments after output-dir.Spawn three extraction agents in parallel, each analyzing the session transcript through a different decision lens:
Architecture Lens — Identify technology choices, component structure decisions, integration approaches, and pattern selections. Look for: "we should use X", "the architecture is Y", structural decisions with alternatives discussed.
Trade-off Lens — Identify tensions where competing concerns were weighed. Look for: "A vs B", preference statements with reasoning, rejected approaches with "because", T-* items from the manifest's Approach section that trace back to transcript deliberation.
Scope & Constraints Lens — Identify deliberate inclusions/exclusions that shape system boundaries, key constraint decisions where alternatives existed. Look for: "out of scope", "we need to include", "the constraint is", INV-G* items from the manifest that arose from deliberation (not just mechanical quality gates).
Each extraction agent receives:
Each agent outputs a list of candidate decisions with:
A synthesis agent receives all candidates from Phase 1 and:
Deduplicates — Merge candidates that describe the same decision from different lenses. Prefer the version with richer context and alternatives.
Applies ADR-worthiness criteria — Read references/ADR_FORMAT.md in this skill's directory. Apply the decision test to each candidate: "Would a new team member joining in 6 months benefit from knowing WHY this was decided this way?" Remove candidates that fail.
Writes ADR files — For each surviving candidate, generate a MADR file at <output-dir>/YYYYMMDD-kebab-title.md using the template from references/ADR_FORMAT.md. Create the output directory if it doesn't exist. Use today's date for the YYYYMMDD prefix.
If the session transcript at --session <path> is unreadable or missing:
If no ADR-worthy decisions are found after synthesis:
On completion, output:
ADRs written to: <output-dir>/
| # | Title | File |
|---|-------|------|
| 1 | [title] | YYYYMMDD-kebab-title.md |
| 2 | [title] | YYYYMMDD-kebab-title.md |
Total: N ADR(s) from M candidate decisions.
/define runs, /adr processes the full transcript. ADRs may reflect decisions from any run in the session. Review output for relevance to your specific task.~/.claude/projects/<dir>/<id>.jsonl) is stable. If the format changes, extraction agents may need updating.