adr-critique
This skill should be used to audit an existing or legacy ADR, especially one imported, LLM-generated, stale, or never self-critiqued. PROACTIVELY activate on "review this ADR", "critique this ADR", "audit our decision log", "is this ADR any good?", "fix this old ADR", "rewrite this legacy ADR", "ADR cleanup", "ADR quality sweep", "tighten this ADR", "score these ADRs", or "this ADR is too long." Provides: line-by-line ADR critique, filler/hedging/drift detection, and per-line approval workflow.
What this skill does
# adr-critique
Line-by-line auditor for legacy / external / pre-existing ADRs. Surfaces violations of the shared "ADR is not" rules, missing-why reasoning, inconsistency with neighbors, and drift against LikeC4 models. Touches only architect-approved lines.
## When to use this skill
- ADRs that predate `adr-drafting` (legacy corpus)
- ADRs imported from other teams
- ADRs generated by generic LLM tooling without push-back
- Periodic corpus-wide quality sweeps
## When NOT to use this skill
- ADRs already self-critiqued by `adr-drafting` (Phase 6) — they've been through the filter.
- ADRs you want to **rewrite from scratch** — use `adr-drafting` instead and supersede the original.
## Style rules
- **Quote offending lines verbatim.** Never paraphrase what the ADR says. The architect must see the exact text being criticized.
- **Name the specific rule broken.** Reference the section of `../_shared/adr-is-not.md` (e.g., "Rule 5 — generic best-practice citation").
- **Rewrites must be shorter than originals.** If a rewrite is longer, it's a redraft, not a critique — route to `adr-drafting`.
- **One flag per message.** Never bulk-list violations. Require per-line architect approval.
- **No affirmations.** No "Great ADR overall, just a few nits." No "This is a solid decision." The audit either finds problems or it doesn't.
## Vocabulary
- **Component** — a C4 Container (deployable unit), not a code class.
- **Architectural characteristic** — the non-functional quality being optimized (latency, cost, maintainability, etc.).
- **Tension** — two ADRs conflict without one superseding the other; must be acknowledged.
- **Missing-why** — the Decision section's justification leans on "best practice" or "industry standard" instead of mapping a business concern to an architectural characteristic.
- **Drift** — the ADR and the LikeC4 model disagree on which components exist or how they relate.
## The six phases
### Phase 1 — Read
Load the target ADR. Then glob its neighbors via `supersedes`, `amends`, and `relates-to` links and read each. The audit needs the graph context.
If the ADR cites a LikeC4 file, glob `**/*.c4` and read the referenced model.
### Phase 2 — Line-by-line flagging
Walk the ADR top to bottom. For every line that violates a rule, emit **one** flag using this template:
```yaml
Original: <verbatim line from ADR>
Violates: <rule number and name from adr-is-not.md, OR "missing-why" / "drift" / "tension">
Rewrite: <shorter, stricter replacement -- or "delete">
Apply? (yes / no / adjust)
```
Wait for the architect's reply. Only after they answer do you move to the next flag.
If the architect chooses `adjust`, accept their rewrite (still subject to the shorter-than-original constraint).
### Phase 3 — Missing-why check
Focus on the Decision section. Valid reasoning ties a **business concern** to an **architectural characteristic**. Invalid reasoning includes:
- "This is the industry standard."
- "This is a best practice for microservices."
- "Most teams do it this way."
- "It's the recommended approach."
For each invalid line, flag it with `Violates: missing-why`. The rewrite either supplies the missing tie ("Because compliance requires data residency in EU, this DB offers per-region replicas") or deletes the line.
See `references/audit-checklist.md` for the full missing-why interrogation.
### Phase 4 — Consistency check
Across the ADR and its graph neighbors, look for:
- **Tensions** — two ADRs claim incompatible decisions without one superseding the other. Flag both and ask which supersedes.
- **Missing relationships (frontmatter)** — a later decision claims to replace 0004 but lacks `supersedes: ["0004"]` in its frontmatter; related/amended links are not valid YAML lists; or the only evidence of a relationship lives in a body line such as `Related ADRs: [ADR-0004](0004-foo.md)` or in the decision-log `README.md` index. Gray-matter-style parsers read frontmatter only — body-only links and index links do not produce graph edges for that parser family. Flag every prose-only relationship for promotion into frontmatter (`supersedes` / `amends` / `relates-to`) with zero-padded four-digit string IDs.
- **Frontmatter / body mirror mismatch** — doc-master requires the two sources to agree. Flag each of the following:
- Frontmatter populates `supersedes`, `amends`, or `relates-to`, but the body has no `## More Information` section with a `### Relationships` sub-section mirroring those relationships using the doc-master link-prefix vocabulary (`Supersedes`, `Superseded by`, `Amends`, `Amended by`, `Related to`). These ADRs are invisible to body-scanning parsers (ADR Manager and similar).
- The body has a `### Relationships` section listing ADR-to-ADR links, but the corresponding frontmatter relationship keys are empty or absent. These ADRs are invisible to gray-matter-style parsers (ADR Explorer and similar).
- The two sources disagree on the set of relationships (e.g., frontmatter `supersedes: ["0004"]` but body `Supersedes [ADR-0005]`). Flag the discrepancy and ask which is correct.
- **Duplicate authoritative claims** — two ADRs claim authority over the same component/decision. One must defer.
See `references/audit-checklist.md` for the consistency probes.
### Phase 5 — LikeC4 drift check
Glob `**/*.c4` and any `likec4.config.*`. Compare component names referenced in the ADR with the LikeC4 model:
- ADR mentions a component the C4 model doesn't have → surface as drift, ask which source is canonical.
- C4 model has a component the ADR contradicts → surface as drift.
Do **not** auto-update either. The architect picks which side is the source of truth.
### Phase 6 — Apply approved changes
Once all flags are resolved, apply the architect-approved edits in **one** edit pass:
- Touch only approved lines.
- Do not add audit markers, `[reviewed]` stamps, or commentary in the file.
- Preserve frontmatter and structural sections.
- If the ADR is `accepted`, **do not** edit the body — instead, draft a new ADR that supersedes it. The audit can recommend supersession but cannot perform it silently.
## Output discipline
- **Never bulk-edit.** Per-line approval is the discipline that keeps the audit useful.
- **Never edit an Accepted ADR's body.** Allowed edits to an Accepted ADR: typo fixes, graph-compatible header fixes, metadata-only relationship-link fixes explicitly permitted by the project's governance, adding a human-readable `superseded by` note in the header, or adding a dated "Amendments" note at the bottom under an explicit heading. Anything else is a new ADR.
- **Surface, don't decide.** Tensions, drift, and missing-why are flagged; the architect decides how to resolve.
- **Report at the end.** After applying changes, emit a one-line summary: "Audited NNNN-title.md. <N> flags raised, <M> applied. <K> open items: <list>."
## References
- `references/audit-checklist.md` — the full per-section probe set used in Phases 3-5
- `../_shared/adr-is-not.md` — the canonical rule set referenced in flag `Violates:` fields
- `adr-drafting` skill — for ADRs being drafted fresh, not audited
- `c4-model` skill — for resolving LikeC4 drift surfaced in Phase 5
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.