Best for
- Revisiting a past architectural decision: "Did ADR-042 still make
- A prior ADR is being cited as precedent and its validity should be
- A post-mortem or retrospective surfaces that an earlier choice may
event4u-app/agent-config/src/skills/decision-review/SKILL.md
Use to audit a past architectural decision — did the chosen option hold up, what assumptions drifted, should the ADR be superseded? Backward review only; does not lock new choices.
Decision brief
Audit a past architectural decision: restate what was chosen and why, compare the original assumptions against reality now, and produce a verdict (still valid / needs amendment / superseded). Ends with a historical-patterns memory candidate per the Analysis Memory Loop. Directio…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/decision-review"Inspect the Agent Skill "decision-review" from https://github.com/event4u-app/agent-config/blob/6a5670b7881a676c0da90d2afb950298087c4ccb/src/skills/decision-review/SKILL.md at commit 6a5670b7881a676c0da90d2afb950298087c4ccb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Identify the ADR in docs/decisions/ (flat, ADR-NNN-.md) or docs/adrs// (per-area, NNNN-.md), or a logged decision in agents/decisions/. If the user named the decision informally, check the index for the slug before reading. Read the full file before proceeding.
Revisiting a past architectural decision: "Did ADR-042 still make
Identify the ADR in docs/decisions/ (flat, ADR-NNN-.md) or docs/adrs// (per-area, NNNN-.md), or a logged decision in agents/decisions/. If the user named the decision informally, check the index for the slug before reading. Read the full file before proceeding.
Extract and restate in your own words:
For each assumption identified in step 2, classify:
Permission review
The documentation asks the agent to create, modify, or delete local files.
choice) then [`adr-create`](../adr-create/SKILL.md) (to file theThe documentation asks the agent to create, modify, or delete local files.
[`adr-create`](../adr-create/SKILL.md) — file the ADR after a decision is locked.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 9 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Audit a past architectural decision: restate what was chosen and why, compare the original assumptions against reality now, and produce a verdict (still valid / needs amendment / superseded). Ends with a
historical-patternsmemory candidate per the Analysis Memory Loop.Direction: backward (did it hold?) not forward (which option?). For forward flow, use
decision-record. For filing the ADR file, useadr-create.
decision-revisit-gate
when a beneficial change is blocked by a recorded lock (honest-null
verdict, "don't relitigate" memory, budget canon, or ADR) — this skill
supplies the backward-audit procedure that rule's re-evaluation offer
points to.Do NOT use when:
decision-record (which builds the
options matrix and locks the choice).adr-create.Identify the ADR in docs/decisions/ (flat, ADR-NNN-<slug>.md) or
docs/adrs/<area>/ (per-area, NNNN-<slug>.md), or a logged
decision in agents/decisions/. If the user named the decision
informally, check the index for the slug before reading. Read the
full file before proceeding.
Extract and restate in your own words:
This restatement is the baseline. Later steps compare against it.
For each assumption identified in step 2, classify:
| Assumption | Status | Evidence |
|---|---|---|
| e.g. "vendor X is stable" | held / broke / unknown | e.g. "vendor deprecated API in v3" |
Also list new information that did not exist when the decision was made (new tooling, changed requirements, post-mortem learnings, usage data).
Hindsight discipline: judge each assumption against the information available at the time it was made, not against the outcome alone. A decision can be correct given the information then and still need revision now.
Read the record's axes in this order — each step can end the review, so running them out of order pays for the expensive ones first:
superseded_by, amendments, whether the
review_trigger fired. superseded/deprecated is not a live lock at all.provenance (+ agentic_mode) — who decided; descriptive only.evidence.strength — E0–E4, claim-relative, not a count of sources.evidence.discovery — on E0, incomplete means nobody looked: a
discovery failure, not an evidence failure. Search before treating the
absence as established, or the grade measures the review, not the decision.protected_dimensions, reopen_policy (absent →
unclassified, which is not owner).Then price the reopen record from the grade × provenance burden table in
adr-layout § The reopen record —
cheap for an E0/E1 agentic snapshot, surfaced rather than obeyed or
overturned for E0/E1 human, the standard five fields at E2, and those
fields plus engaging the original evidence in kind at E3/E4. Read the
table; do not reconstruct it from memory. The axes are defined by
adr-layout § Provenance and evidence,
not here.
One of three:
decision-record (to lock the new
choice) then adr-create (to file the
superseding ADR with supersedes: ADR-NNN).Before drafting a new candidate, call retrieve() over the same
key-space (decision area, affected paths):
frequency / supersedes update
to the existing entry. Do not create a duplicate.historical-patterns candidate per the
Analysis Memory Loop § 1:{
"type": "historical-patterns",
"summary": "<one-line pattern: what held or broke>",
"evidence_paths": ["docs/decisions/ADR-NNN-<slug>.md"],
"decision_surface": ["<area1>", "<area2>"],
"last_validated": "YYYY-MM-DD",
"review_after_days": 90,
"applicable_scope": "project"
}
Surface the draft to the user via /memory propose. Never
auto-promote. If the candidate fails the admission gate (< 2
distinct evidence paths AND < 3 future decisions in
decision_surface), surface the gap and suggest deferring or
strengthening evidence.
historical-patterns draft or update proposal.decision-record's options
matrix and trade-off table — this skill reads the old matrix; it does
not rebuild one unless the verdict is "superseded" and a new decision
process is needed.decision-record + adr-create.decision-review asks "did the chosen
option hold up?" — decision-record asks "which option should we
pick?" Conflating them produces a partial analysis: either a
verdict without a replacement plan, or a replacement plan without
understanding what broke.retrieve() returns entries in
skipped (stale — age > review_after_days), surface them to
the user; do not silently use stale entries as if they were current.A RULE THE AGENT CONSISTENTLY FAILS TO FOLLOW GETS STRUCTURAL ENFORCEMENT
OR DELETION. NEVER A LOUDER RESTATEMENT.
ASK WHAT CAN BE REMOVED AS DELIBERATELY AS WHAT SHOULD BE ADDED.
Ratchets in this tree move one way. Counts go up, gates accumulate, and nothing retires an artifact — so the default response to non-adherence has been to say it again, harder. That is the one response the evidence rules out: an obligation that did not change behaviour as prose does not change it as louder prose. The fork is enforcement or deletion, and both are real options.
Non-adherence is the trigger, not low frequency. A rule that rarely fires is not a rule that fails. A floor is working precisely when nothing crosses it, and deleting it because it has been quiet removes the thing that was holding.
Any of these is a reason to open the question. None of them is on its own a verdict:
Note that never relevant, single unvalidated observation, and never acted on are listed separately on purpose. They look alike and they are not: the first is about scope, the second about evidence, the third about attention.
A THIRD RECURRENCE OF THE SAME VIOLATION CLASS CONVERTS AN OBSERVATION
INTO A DETERMINISTIC GATE.
A REVIEW FINDING NEVER SILENTLY BECOMES A HARD GATE.
ESCALATE AT A STATED THRESHOLD, NEVER SILENTLY.
Both halves are load-bearing and they come from sources that disagree. The threshold stops a recurring defect from being re-observed forever; the counterpart stops a single reviewer's opinion from quietly becoming law. Between them, the only legitimate path from noticed to enforced is a stated count reached in the open.
decision-revisit-gate rule)Body of decision-revisit-gate
(per P4 of road-to-kernel-and-router.md). The Iron Law — benefit blocked
by a lock → surface + offer re-evaluation, never silent compliance — stays
in the rule; the lock catalog, fire steps, and failure modes live here.
agents/settings/contexts/ note tagged "don't
relitigate" / "settled" / a locked council convergence.token-budget-discipline,
telegraph-speak, thin-projector trimming) that rejects a change on
cost grounds alone.auto just because the kernel says 9). Fitting the cap is not a
reason to weaken a qualifying rule; but a rule that does not meet the
criteria stays out — the cap is not the reason, the criteria are.Mechanism-match check — do this FIRST. A verdict settles the mechanism it tested, not every future proposal that resembles it. Before applying the lock, verify the blocked change is actually the same mechanism — not merely a similar-sounding one. A null on hardened blocking enforcement does not automatically cover discretionary contextual nudges; a null on one architecture does not cover a materially different one. If the mechanism differs, the lock does not apply — proceed, noting the distinction.
If the mechanism genuinely matches, do not silently comply. Surface, in one short block:
Offer numbered options (per user-interaction),
always including: re-evaluate the lock in the AI council. Other
options: keep the lock as-is, or proceed without the blocked change.
On re-evaluation: run this skill's Procedure above for the
backward audit and route to ai-council
for the debate mechanics. The rule owns the obligation to surface;
this skill and the council own the procedure.
Record the outcome with scope + revisit-if per
ai-council's convergence-summary
contract — every re-evaluated lock gets a fresh, correctly-scoped
disposition, not a re-statement of the old one.
When the lock is an ADR, the disposition carries the five-field reopen
record from adr-layout § Reopen record:
the original rationale addressed (not cited), what changed with tree
evidence, dependants and external commitments touched, the rollback path,
and a blast radius — narrow | wide | irreversible — with the evidence for
that call. Two clauses bind the same record: precedent creates no
authority (that a similar ADR was reopened is never grounds for this one),
and one seat must argue the strongest case for keeping the decision.
Both answer precedent laundering through correlated self-review, which is
the failure two independent council seats named for this mechanism on
2026-08-19: the proposer frames the evidence, correlated seats ratify, and
the amendment becomes authoritative input for the next review.
Proportionally: a narrow, reversible, bounded transition takes the light
path (record + council); wide or irreversible adds owner notification.
Identical ceremony for a typo-level amendment would cost more than asking
the owner and the mechanism would die of its own weight.
AN EVIDENCE GRADE IS A MEASUREMENT, NOT A PERMISSION.
IT PRICES THE REOPEN RECORD AND THE REVIEW PRIORITY. IT CONFERS NO AUTHORITY.
A LOW GRADE NEVER LETS AN AGENT SUPERSEDE A RECORD ON ITS OWN.
Nothing in the burden table changes who may act: venue comes from the discriminator, the trust boundaries the transition touches, and the owner-reserved rows — never from the grade.
The coupling was proposed and refused: two council seats independently named it
the design's central defect, because the party assigning the grade would also
be the party gaining authority from it, and would additionally be
self-classifying its own transition as reversible-internal — itself an
authority-bearing classification. Calling the result "provisional" changes
neither the trust boundary nor the blast radius. Whether an independently
validated grade may ever reduce the authorization burden is owner-reserved and
open: do not answer it here — it is the authority-coupling-decision blocker in
road-to-evidence-based-adr-governance, and
adr-layout § The reopen record closes
on the same point.
Two consequences that are easy to get backwards:
no-cheap-questions
still governs whether the resulting numbered-options block is a real
question or noise. A revisit-offer with a genuine trade-off is never
a "cheap question" under that rule — but a revisit-offer with no
actual case for change is.scope-control § Decline = silence,
do not re-ask.token-budget-discipline's
value-over-budget clause.evidence.strength as permission to supersede — the grade
prices the record, it never moves the venue.discovery: incomplete as established absence: that grades the
review, not the decision.decision-revisit-gate — the rule whose migrated mechanics live above.decision-record — forward flow: lock a new choice.adr-create — file the ADR after a decision is locked.blameless-post-mortem — incident review; may hand off to decision-review when a prior architectural choice is implicated.docs/contracts/analysis-memory-loop.md — produce → propose → promote → retrieve contract.Frequently asked questions
Audit a past architectural decision: restate what was chosen and why, compare the original assumptions against reality now, and produce a verdict (still valid / needs amendment / superseded). Ends with a historical-patterns memory candidate per the Analysis Memory Loop. Directio…
The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/decision-review". Inspect the command and pinned source before running it.
Static rules flagged write-files in the source; the page lists the matching lines and excerpts.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing