From Strata
Drafts Markdown ADRs (Architectural Decision Records) when non-trivial choices are made, with automatic dedup precheck against existing decisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/strata:decideThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
ADRs (Architectural Decision Records) capture **why** something is the way it
ADRs (Architectural Decision Records) capture why something is the way it is. They're durable team memory, code rots, ADRs explain it.
Not for: routine implementation choices, style preferences, or anything fully Explained by the code itself.
User runs /strata:decide <title>. You:
proposed (default, opens a discussion), accepted
(the team has agreed), or superseded/rejected/deprecated."${CLAUDE_PLUGIN_ROOT}/bin/strata" decide \
--title "<title>" --check-only <<'STRATA_ADR'
<the body you drafted>
STRATA_ADR
It prints JSON {recommendation, candidates} and writes nothing to the
vault (it may refresh the disposable index cache). Run it on its own —
--check-only is a no-op alongside --supersedes/--no-dedup. Adjudicate:
clear → no overlap; proceed to step 4 (ADD).warn / block → read the candidate(s) and decide, surfacing it to
the user:
--supersedes <slug> (see below).--ack-new
(a block refuses to write without it).Use the candidates to ground the draft. Even on clear, the precheck
returns the nearest existing notes. Before writing, skim the top 2-3: match
their section structure, reuse house terminology, and [[wikilink]] the
genuinely related ones in your body. A well-linked draft beats an orphan.
"${CLAUDE_PLUGIN_ROOT}/bin/strata" decide \
--title "<title>" --status proposed <<'STRATA_ADR'
<body — Context / Decision / Consequences / Alternatives>
STRATA_ADR
If no body is provided on stdin, the script writes the template from
templates/decision.md so the user can fill it in. If the dedup gate refuses
(block), its message names the flag that resolves it — never blindly bypass
with --no-dedup; that escape hatch is for batch flows, not interactive use.
If this ADR replaces an earlier one, pass --supersedes (repeatable). The
Predecessor's superseded_by frontmatter is updated automatically, its
Status flips to superseded, and the INDEX hides it from the "live" list.
The chain is recorded in frontmatter (supersedes / superseded_by) and
surfaced by recall at layer 2, which walks a note's neighbours.
"${CLAUDE_PLUGIN_ROOT}/bin/strata" decide \
--title "Adopt SQLiteData" --status accepted \
--supersedes "2026-05-15-use-core-data" \
--supersedes "2026-04-02-swift-data-migration" <<'EOF'
<body>
EOF
Predecessor refs accept any of: slug (2026-05-15-use-core-data), bare
Filename (2026-05-15-use-core-data.md), or vault-relative path
(decisions/2026-05-15-use-core-data.md).
Strata never deletes a superseded decision — supersession flips status and hides it from the live list, but the note stays as history. Two refinements borrowed from temporal knowledge-graph systems (Graphiti/Zep):
/strata:correct <old> --reason "superseded". Don't
rewrite the whole body; the original reasoning is the point of keeping it./strata:invalidate, pass --invalid-since YYYY-MM-DD if the
decision was actually wrong from an earlier date — bi-temporal validity
answers "how long were we operating on a false assumption?", which a single
invalidated_at (the bookkeeping timestamp) can't.Do NOT add a write-time consistency gate that rejects a contradicting decision — contested/contradictory decisions are allowed to coexist (that's what the proposition debate substrate is for); resolve them by superseding, not by blocking the write.
For decisions that should be reviewable in code (regulatory, clinical, or any
Audit-relevant), copy the ADR into the host repo's docs/adr/ and open a PR.
The vault keeps the canonical version; the repo copy is the audit anchor.
The --check-only JSON is for you to adjudicate ADD/UPDATE/SUPERSEDE/NO-OP —
read it, don't recite it back. Once the ADR is written, the one-line receipt
(✓ Strata: recorded decision …) is the confirmation; no step-by-step narration
and no pasting script paths or raw output to the user.
npx claudepluginhub gideondk/strata --plugin strataProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.