Spec 014 introduced this skill as jig's team baseline for
architecture, design-doc, and RFC review. It is the second non-stub
active jig skill that ships without a .py helper (after
/jig:pr-review, spec 012) — arch-review is fundamentally a judgment
skill, and what little determinism is needed (read the doc, identify
the scope, classify the domain) Codex can run inline. If any other
skill is installed whose description identifies it as handling
architecture review, design review, RFC review, or technical-design
review, Codex can prefer that one over jig's
baseline — the deferral is category-based, not name-specific, so a
richer user skill named anything (arch-review, design-review,
rfc-reviewer, etc.) wins. Jig's slim version remains the
auto-trigger when no such skill is installed.
What this skill does
Produces a four-section markdown review of an architecture proposal, a
design document, an RFC, or an ADR draft:
- Summary — a two-or-three-sentence paragraph stating what the
proposal does and your overall assessment (is it ready to proceed,
does it need revisions, does it need rework?).
- Strengths — what the design gets right. Be specific: reference
actual decisions, trade-offs the author navigated well, constraints
they respected, problems they anticipated. Constructive framing
first — acknowledging good thinking helps the author understand
what to keep when iterating.
- Concerns — risks, gaps, missing rationale, and unaddressed
failure modes. This is the "poke holes" surface. Each concern
should be specific to this proposal, not generic advice. Leanness is
a first-class concern here: raise over-engineering, premature
abstraction, and speculative generality (indirection, config knobs,
or extension points with no current caller) when a simpler
architecture would satisfy the same acceptance criteria — anchored
to still meeting them, never stripping required behavior.
- Open questions — things you can't decide from the proposal
alone. Ask the author to clarify rather than asserting a gap. Phrase
as "help me understand X" not "didn't you consider X".
The review is breadth over depth: catch the obvious across any
domain, leave the deep multi-persona / domain-specific analysis to a
richer user-installed architecture-review skill. If you want a
seven-perspective matrix (technical-soundness + operational complexity
- reliability + security + scalability + migration + product impact),
or domain-specific reference files for distributed systems / API
design / data architecture / migration plans, jig doesn't ship those —
install a heavier skill at the user scope and Codex can prefer it.
When to use vs. when to defer
There are four things people often confuse with this skill. Pick the
right one:
- Any other user-installed architecture/design/RFC-review skill.
Codex user location:
$HOME/.agents/skills/arch-review/ — but the deferral
is category-based, not name-based, so a skill named anything
(arch-review, design-review, rfc-reviewer, tech-spec-review,
etc.) whose description claims architecture review, design review,
RFC review, or technical-design review will be preferred. If one is
present, defer to it. Codex can select
the more specific skill by description; if you want to be sure,
explicitly invoke that skill. The one exception jig's description carves
out is the bundled review skill — jig:arch-review does not
defer to that one (it's the generic fallback below jig's baseline,
not above it).
/jig:pr-review — a sibling jig skill for PR / diff review.
Different shape: that one reads a diff and produces scope / blockers
/ nits / strengths. This one reads a design document and produces
summary / strengths / concerns / open questions. Reach for
/jig:pr-review when there is a PR or branch with a diff; reach
for this skill when there is a design doc, RFC, ADR draft, or
proposal with no diff to evaluate.
/jig:independent-review — a sibling jig skill for
spec-compliance review of a finished slice (does the
implementation satisfy the acceptance criteria of spec.md?). That
is a spec-shape review against a written spec. This skill is a
design-shape review against a proposal. Reach for
/jig:independent-review when a slice is in REVIEWED-or-similar
state with a spec.md to evaluate against; reach for this skill
when there is a proposal but no acceptance criteria yet.
/jig:adr-workflow — orthogonal jig skill for ADR
authorship and scaffolding (/jig:adr-workflow new,
/jig:adr-workflow accept, etc.). That skill creates an ADR;
this skill reviews an ADR draft. Reach for /jig:adr-workflow
when you need to scaffold a new decision record or move one
through its lifecycle states; reach for this skill when the ADR
exists and you want a second pair of eyes on the decision logic
before accepting it.
Rule of thumb: diff exists → /jig:pr-review. Spec exists with
acceptance criteria → /jig:independent-review. ADR needs scaffolding
→ /jig:adr-workflow. Design doc, RFC, or ADR draft to evaluate →
this skill (or the richer user one).
Inputs
Four input modes, ordered by richness:
Uploaded document (PDF, markdown, Word). The user uploads or
shares a design document. Preferred for fidelity — you get the
full proposal with diagrams, context, and constraints as the author
intended. Read the entire document before forming opinions.
URL to a fetchable doc. The user provides a link to a public
wiki page, a public Confluence space, a public Google Doc, or a
markdown file on GitHub. Fetch and read the full content. Still
high-fidelity if the page renders cleanly.
Pasted text or verbal description. Most limited mode. Work
with what you have, but flag what's missing. Ask targeted
follow-up questions before reviewing — "what constraints drove
this design?" or "what alternatives did you consider?" — instead
of guessing.
ADR file on disk (docs/decisions/adr-NNNN-*.md). Narrower
review scope — decision-shape, not system-shape. Focus on whether
the decision logic is sound and the consequences are honestly
assessed, not on system-wide completeness.
Not supported by this baseline: authenticated systems (internal
Confluence behind SSO, private Google Docs, internal-only wikis).
Without an MCP integration, this skill cannot fetch content from
authenticated systems. If the user has only a link to one of those,
ask them to either paste the content or upload an export. A richer
user-installed arch-review skill may handle authenticated fetching
— defer to it if so.
Readiness pre-check
Before reviewing, scan the proposal for three signals:
- Problem statement — an explicit description of what the design is trying to
solve. Not "we need X" but "X is needed because Y."
- Scope boundary — what the proposal explicitly covers and what it does not.
- Stakeholders — who decides, who consumes the design, who operates the
resulting system.
If any of the three are missing or weak, lead the Summary with a one-sentence
readiness note ("This proposal is missing an explicit scope boundary — proceeding
with the review, but treat the missing signal as a Concern in its own right.").
Default: proceed, but surface the readiness issue. The pre-check catches "review
an early draft that isn't reviewable yet" without blocking the user.
Scope discipline
Before writing any finding, apply scope discipline. A finding must be actionable
inside the proposal's stated boundary. Out-of-scope concerns are noise.
- Different team's system or upstream platform decision: not a Concern. The
reviewer cannot ask the author to renegotiate a dependency they don't own.
- Adjacent design doc that exists separately: note the dependency, do not
relitigate the adjacent design as a Concern here.
- "The proposal should also address X" where X is a separate concern: surface
as an Open Question, not a Concern. The author's response will reveal whether
X belongs here or in a follow-up.
Prophylactic expansion — demanding the proposal cover every adjacent concern a
thorough reviewer template admits — is the most common AI-slop failure mode for
baseline reviews. Resist it.
Review structure
For each proposal, emit a markdown report with exactly these four H2
sections:
## Summary
<two or three sentences: what the proposal does, your overall
assessment, and whether it is ready to proceed>
## Strengths
- <specific decision or trade-off the author got right>. Worth keeping
because <why>.
- (or: "None obvious from the proposal alone.")
## Concerns
- <specific risk, gap, or unaddressed failure mode>. Matters because
<why>; one concrete mitigation is <suggestion>.
- (or: "None.")
## Open questions
- <thing you cannot decide from the proposal alone>. Would help to
know <what>.
- (or: "None.")
If a section is empty, write "None." rather than omitting the heading
— consistency makes the output scan-friendly.
Worked example
Suppose the design-doc fragment is:
# Add Redis cache in front of the product-search service
## Context
The product-search service currently queries Postgres on every
request. p99 latency at peak is 450ms; the SLO target is 200ms.
## Proposal
Add a Redis cluster between the API layer and Postgres. Cache the
result of every search query for 5 minutes, keyed on the normalized
query string. Cache invalidation is purely TTL-based; no explicit
invalidation on writes.
## Constraints
- We have ~30 product writes per day; reads are ~50 req/s peak.
- Team has operated Redis in two other services for 18 months.
A baseline review would read:
## Summary
Proposes a Redis read-through cache in front of the product-search
service to bring p99 latency from 450ms to under the 200ms SLO.
Reasonable for a read-heavy workload with low write volume; the
TTL-only invalidation strategy is the main thing worth scrutinizing
before accepting.
## Strengths
- Right tool for the workload — 30 writes/day with 50 req/s reads
is the textbook read-through cache fit, and the team already
operates Redis. Worth keeping because the team-fit dimension is
often where caching proposals fail.
## Concerns
- TTL-only invalidation means a product update is invisible to
search for up to 5 minutes. Matters because product-detail
changes (price, availability) are exactly the kind of edit
customers notice as stale data; one concrete mitigation is
publishing an invalidation event on every product write (the
30/day write rate makes this cheap).
## Open questions
- What does the cache hit-rate look like at the chosen TTL? Would
help to know whether the chosen 5 minutes was modeled against
actual query distribution or chosen as a round number.
Notice what's not in this review: no seven-perspective matrix
(no separate technical-soundness / operational-complexity /
reliability / security / scalability / migration / product-impact
walk-through), no domain-specific deep dive (no "use Redis Sentinel
vs. Cluster mode for this scale", no "consider a write-through cache
instead"). That depth belongs in a richer user-installed
architecture-review skill, not the baseline.
Gotchas
- A configured
review.arch_review_skill (scaffold.json) is honored only in
the orchestrated arch pass, not here. Spec 096-01 / ADR-0040 D1 lets a
project name its richer arch-review skill in scaffold.json; that key is read
by review.py when it builds the arch pass prompt for the spec-workflow
reviewer subagent. It is not consulted on this router-only interactive
invocation. Config honoring on orchestrator-invoked surfaces is a tracked
follow-up (ADR-0040 OQ1).
- The deferral hint is the routing mechanism, not a code path.
Jig's description tells Codex "prefer any other
installed skill whose description identifies it as handling
architecture review, design review, RFC review, or technical-design
review." There is no filesystem probe, no plugin-precedence lookup,
no name-matching against
arch-review specifically. The deferral
is category-based: a user skill named anything that claims that
surface area will win. If Codex consistently picks jig's
baseline over such a skill, jig's description is too greedy — open
an issue. This richer-skill deferral applies to interactive use
only. The spec-workflow arch pass spawns a read-only reviewer
subagent with no Skill tool, so it cannot use interactive skill selection —
there
review.py uses a host-specific file-read fallback outside this Codex-rendered skill-selection path. Codex-rendered guidance keeps richer-skill deferral to interactive skill selection or explicit invocation. See
docs/workflow.md § Post-implementation review.
- Lightweight is a feature, not a limitation. The baseline does
not ship a seven-perspective matrix. It does not ship
domain-specific reference files (distributed systems, API design,
data architecture, migration plans). It does not perform a
completeness-checklist sweep. It does not produce a severity-rated
finding list. If you find yourself wishing the baseline did more,
you are in the target audience for installing a richer skill at
the user scope (commonly
$HOME/.agents/skills/arch-review/).
- This skill reviews an ADR draft;
/jig:adr-workflow creates
one. The direction matters. If the ADR does not exist yet, you
want the scaffolding skill, not this one. If the ADR exists in
PROPOSED state and you want a second pair of eyes on the decision
logic before accepting, this skill is the right choice.
- The bundled
review skill is explicitly excluded from the
deferral. Jig's description says it does not defer to
review. That's the one carve-out; everything else in the
architecture-review category wins over jig.
- Fallback mode (if the routing-dogfood in spec 014-01's DoD
ever fails): the SKILL.md frontmatter gets
disable-model-invocation: true and this skill becomes
explicit-invocation-only (/jig:arch-review). In that mode, no
auto-trigger fires — the user has to type the slash command. If
you see disable-model-invocation: true in this skill's
frontmatter, the post-merge routing-dogfood (see spec 014-01
AC #9) flipped it after a failed dogfood.
Relationship to other skills
/jig:pr-review — sibling skill, different shape. PR-shape
review against a diff, not design-shape review against a
proposal. See "When to use vs. when to defer" above. The two
skills compose: pr-review evaluates the implementation diff
after the design is settled; arch-review evaluates the design
before the implementation starts.
/jig:independent-review — sibling skill, different shape.
Spec-compliance review against spec.md, not design review
against a proposal. Use it when a slice has acceptance criteria
to evaluate against; use this skill when the proposal is
upstream of any acceptance criteria.
/jig:adr-workflow — orthogonal skill. Scaffolds and
transitions ADRs through their lifecycle; this skill reviews an
ADR draft before it's accepted. Pairs naturally: an architect
drafts an ADR via /jig:adr-workflow new, this skill reviews
the draft, and /jig:adr-workflow accept moves it to accepted
once the review is addressed.
/jig:slice-land — orthogonal skill. Lands a finished slice
(prepares the PR body, runs the merge sequence). Different phase
of the workflow: arch-review operates upstream of any slicing;
slice-land operates downstream of implementation. They do not
interact.
1---2name: arch-review-23description: Team baseline for architecture, design-doc, and RFC review — produces summary, strengths, concerns, and open questions. Auto-triggers when you say review this design, review this architecture, review this proposal, review my RFC, poke holes in this proposal, is this design sound, or critique this tech spec. Defers to any other installed skill whose description identifies it as handling architecture review, design review, RFC review, or technical-design review — if such a skill is present, prefer it over this one (jig's version is a slim baseline). Does not defer to the generic built-in `review` skill. Do not use for: PR/diff review (use `/jig:pr-review` or a richer user-installed PR-review skill instead); spec-compliance review of a finished slice (use `/jig:independent-review` instead); ADR authorship or scaffolding (use `/jig:adr-workflow` — this skill *reviews* an ADR draft; it does not create one).4---56> Spec 014 introduced this skill as jig's **team baseline** for7> architecture, design-doc, and RFC review. It is the second non-stub8> active jig skill that ships without a `.py` helper (after9> `/jig:pr-review`, spec 012) — arch-review is fundamentally a judgment10> skill, and what little determinism is needed (read the doc, identify11> the scope, classify the domain) Codex can run inline. If any other12> skill is installed whose description identifies it as handling13> architecture review, design review, RFC review, or technical-design14> review, Codex can prefer that one over jig's15> baseline — the deferral is category-based, not name-specific, so a16> richer user skill named anything (`arch-review`, `design-review`,17> `rfc-reviewer`, etc.) wins. Jig's slim version remains the18> auto-trigger when no such skill is installed.1920## What this skill does2122Produces a four-section markdown review of an architecture proposal, a23design document, an RFC, or an ADR draft:24251. **Summary** — a two-or-three-sentence paragraph stating what the26 proposal does and your overall assessment (is it ready to proceed,27 does it need revisions, does it need rework?).282. **Strengths** — what the design gets right. Be specific: reference29 actual decisions, trade-offs the author navigated well, constraints30 they respected, problems they anticipated. Constructive framing31 first — acknowledging good thinking helps the author understand32 what to keep when iterating.333. **Concerns** — risks, gaps, missing rationale, and unaddressed34 failure modes. This is the "poke holes" surface. Each concern35 should be specific to this proposal, not generic advice. Leanness is36 a first-class concern here: raise over-engineering, premature37 abstraction, and speculative generality (indirection, config knobs,38 or extension points with no current caller) when a **simpler39 architecture** would satisfy the same acceptance criteria — anchored40 to still meeting them, never stripping required behavior.414. **Open questions** — things you can't decide from the proposal42 alone. Ask the author to clarify rather than asserting a gap. Phrase43 as "help me understand X" not "didn't you consider X".4445The review is **breadth over depth**: catch the obvious across any46domain, leave the deep multi-persona / domain-specific analysis to a47richer user-installed architecture-review skill. If you want a48seven-perspective matrix (technical-soundness + operational complexity49+ reliability + security + scalability + migration + product impact),50or domain-specific reference files for distributed systems / API51design / data architecture / migration plans, jig doesn't ship those —52install a heavier skill at the user scope and Codex can prefer it.5354## When to use vs. when to defer5556There are four things people often confuse with this skill. Pick the57right one:5859- **Any other user-installed architecture/design/RFC-review skill.**60 Codex user location: `$HOME/.agents/skills/arch-review/` — but the deferral61 is **category-based, not name-based**, so a skill named anything62 (`arch-review`, `design-review`, `rfc-reviewer`, `tech-spec-review`,63 etc.) whose description claims architecture review, design review,64 RFC review, or technical-design review will be preferred. If one is65 present, **defer to it.** Codex can select66 the more specific skill by description; if you want to be sure,67 explicitly invoke that skill. The one exception jig's description carves68 out is the bundled `review` skill — jig:arch-review does **not**69 defer to that one (it's the generic fallback below jig's baseline,70 not above it).71- **`/jig:pr-review`** — a sibling jig skill for **PR / diff review**.72 Different shape: that one reads a diff and produces scope / blockers73 / nits / strengths. This one reads a design document and produces74 summary / strengths / concerns / open questions. Reach for75 `/jig:pr-review` when there is a PR or branch with a diff; reach76 for this skill when there is a design doc, RFC, ADR draft, or77 proposal with no diff to evaluate.78- **`/jig:independent-review`** — a sibling jig skill for79 **spec-compliance review** of a finished slice (does the80 implementation satisfy the acceptance criteria of `spec.md`?). That81 is a spec-shape review against a written spec. This skill is a82 **design-shape review** against a proposal. Reach for83 `/jig:independent-review` when a slice is in REVIEWED-or-similar84 state with a `spec.md` to evaluate against; reach for this skill85 when there is a proposal but no acceptance criteria yet.86- **`/jig:adr-workflow`** — orthogonal jig skill for **ADR87 authorship and scaffolding** (`/jig:adr-workflow new`,88 `/jig:adr-workflow accept`, etc.). That skill *creates* an ADR;89 this skill *reviews* an ADR draft. Reach for `/jig:adr-workflow`90 when you need to scaffold a new decision record or move one91 through its lifecycle states; reach for this skill when the ADR92 exists and you want a second pair of eyes on the decision logic93 before accepting it.9495Rule of thumb: **diff exists → `/jig:pr-review`. Spec exists with96acceptance criteria → `/jig:independent-review`. ADR needs scaffolding97→ `/jig:adr-workflow`. Design doc, RFC, or ADR draft to evaluate →98this skill (or the richer user one).**99100## Inputs101102Four input modes, ordered by richness:1031041. **Uploaded document (PDF, markdown, Word).** The user uploads or105 shares a design document. Preferred for fidelity — you get the106 full proposal with diagrams, context, and constraints as the author107 intended. Read the entire document before forming opinions.1081092. **URL to a fetchable doc.** The user provides a link to a public110 wiki page, a public Confluence space, a public Google Doc, or a111 markdown file on GitHub. Fetch and read the full content. Still112 high-fidelity if the page renders cleanly.1131143. **Pasted text or verbal description.** Most limited mode. Work115 with what you have, but flag what's missing. Ask targeted116 follow-up questions before reviewing — "what constraints drove117 this design?" or "what alternatives did you consider?" — instead118 of guessing.1191204. **ADR file on disk** (`docs/decisions/adr-NNNN-*.md`). Narrower121 review scope — decision-shape, not system-shape. Focus on whether122 the decision logic is sound and the consequences are honestly123 assessed, not on system-wide completeness.124125**Not supported by this baseline**: authenticated systems (internal126Confluence behind SSO, private Google Docs, internal-only wikis).127Without an MCP integration, this skill cannot fetch content from128authenticated systems. If the user has only a link to one of those,129ask them to either paste the content or upload an export. A richer130user-installed `arch-review` skill may handle authenticated fetching131— defer to it if so.132133## Readiness pre-check134135Before reviewing, scan the proposal for three signals:1361371. **Problem statement** — an explicit description of what the design is trying to138 solve. Not "we need X" but "X is needed because Y."1392. **Scope boundary** — what the proposal explicitly covers and what it does not.1403. **Stakeholders** — who decides, who consumes the design, who operates the141 resulting system.142143If any of the three are missing or weak, lead the Summary with a one-sentence144readiness note ("This proposal is missing an explicit scope boundary — proceeding145with the review, but treat the missing signal as a Concern in its own right.").146Default: proceed, but surface the readiness issue. The pre-check catches "review147an early draft that isn't reviewable yet" without blocking the user.148149## Scope discipline150151Before writing any finding, apply scope discipline. A finding must be actionable152inside the proposal's stated boundary. Out-of-scope concerns are noise.153154- **Different team's system or upstream platform decision**: not a Concern. The155 reviewer cannot ask the author to renegotiate a dependency they don't own.156- **Adjacent design doc that exists separately**: note the dependency, do not157 relitigate the adjacent design as a Concern here.158- **"The proposal should also address X"** where X is a separate concern: surface159 as an Open Question, not a Concern. The author's response will reveal whether160 X belongs here or in a follow-up.161162Prophylactic expansion — demanding the proposal cover every adjacent concern a163thorough reviewer template admits — is the most common AI-slop failure mode for164baseline reviews. Resist it.165166## Review structure167168For each proposal, emit a markdown report with exactly these four H2169sections:170171```markdown172## Summary173<two or three sentences: what the proposal does, your overall174assessment, and whether it is ready to proceed>175176## Strengths177- <specific decision or trade-off the author got right>. Worth keeping178 because <why>.179- (or: "None obvious from the proposal alone.")180181## Concerns182- <specific risk, gap, or unaddressed failure mode>. Matters because183 <why>; one concrete mitigation is <suggestion>.184- (or: "None.")185186## Open questions187- <thing you cannot decide from the proposal alone>. Would help to188 know <what>.189- (or: "None.")190```191192If a section is empty, write "None." rather than omitting the heading193— consistency makes the output scan-friendly.194195### Worked example196197Suppose the design-doc fragment is:198199```markdown200# Add Redis cache in front of the product-search service201202## Context203The product-search service currently queries Postgres on every204request. p99 latency at peak is 450ms; the SLO target is 200ms.205206## Proposal207Add a Redis cluster between the API layer and Postgres. Cache the208result of every search query for 5 minutes, keyed on the normalized209query string. Cache invalidation is purely TTL-based; no explicit210invalidation on writes.211212## Constraints213- We have ~30 product writes per day; reads are ~50 req/s peak.214- Team has operated Redis in two other services for 18 months.215```216217A baseline review would read:218219```markdown220## Summary221Proposes a Redis read-through cache in front of the product-search222service to bring p99 latency from 450ms to under the 200ms SLO.223Reasonable for a read-heavy workload with low write volume; the224TTL-only invalidation strategy is the main thing worth scrutinizing225before accepting.226227## Strengths228- Right tool for the workload — 30 writes/day with 50 req/s reads229 is the textbook read-through cache fit, and the team already230 operates Redis. Worth keeping because the team-fit dimension is231 often where caching proposals fail.232233## Concerns234- TTL-only invalidation means a product update is invisible to235 search for up to 5 minutes. Matters because product-detail236 changes (price, availability) are exactly the kind of edit237 customers notice as stale data; one concrete mitigation is238 publishing an invalidation event on every product write (the239 30/day write rate makes this cheap).240241## Open questions242- What does the cache hit-rate look like at the chosen TTL? Would243 help to know whether the chosen 5 minutes was modeled against244 actual query distribution or chosen as a round number.245```246247Notice what's **not** in this review: no seven-perspective matrix248(no separate technical-soundness / operational-complexity /249reliability / security / scalability / migration / product-impact250walk-through), no domain-specific deep dive (no "use Redis Sentinel251vs. Cluster mode for this scale", no "consider a write-through cache252instead"). That depth belongs in a richer user-installed253architecture-review skill, not the baseline.254255## Gotchas256257- **A configured `review.arch_review_skill` (scaffold.json) is honored only in258 the orchestrated arch pass, not here.** Spec 096-01 / ADR-0040 D1 lets a259 project name its richer arch-review skill in `scaffold.json`; that key is read260 by `review.py` when it builds the **arch pass** prompt for the spec-workflow261 reviewer subagent. It is **not** consulted on this router-only interactive262 invocation. Config honoring on orchestrator-invoked surfaces is a tracked263 follow-up (ADR-0040 OQ1).264- **The deferral hint is the routing mechanism, not a code path.**265 Jig's description tells Codex "prefer any other266 installed skill whose description identifies it as handling267 architecture review, design review, RFC review, or technical-design268 review." There is no filesystem probe, no plugin-precedence lookup,269 no name-matching against `arch-review` specifically. The deferral270 is **category-based**: a user skill named anything that claims that271 surface area will win. If Codex consistently picks jig's272 baseline over such a skill, jig's description is too greedy — open273 an issue. **This richer-skill deferral applies to _interactive_ use274 only.** The spec-workflow **arch pass** spawns a read-only `reviewer`275 subagent with no `Skill` tool, so it cannot use interactive skill selection —276 there277 `review.py` uses a host-specific file-read fallback outside this Codex-rendered skill-selection path. Codex-rendered guidance keeps richer-skill deferral to interactive skill selection or explicit invocation. See278 [docs/workflow.md](../../docs/workflow.md) § Post-implementation review.279- **Lightweight is a feature, not a limitation.** The baseline does280 not ship a seven-perspective matrix. It does not ship281 domain-specific reference files (distributed systems, API design,282 data architecture, migration plans). It does not perform a283 completeness-checklist sweep. It does not produce a severity-rated284 finding list. If you find yourself wishing the baseline did more,285 you are in the target audience for installing a richer skill at286 the user scope (commonly `$HOME/.agents/skills/arch-review/`).287- **This skill reviews an ADR draft; `/jig:adr-workflow` creates288 one.** The direction matters. If the ADR does not exist yet, you289 want the scaffolding skill, not this one. If the ADR exists in290 PROPOSED state and you want a second pair of eyes on the decision291 logic before accepting, this skill is the right choice.292- **The bundled `review` skill is explicitly excluded from the293 deferral.** Jig's description says it does **not** defer to294 `review`. That's the one carve-out; everything else in the295 architecture-review category wins over jig.296- **Fallback mode** (if the routing-dogfood in spec 014-01's DoD297 ever fails): the SKILL.md frontmatter gets298 `disable-model-invocation: true` and this skill becomes299 explicit-invocation-only (`/jig:arch-review`). In that mode, no300 auto-trigger fires — the user has to type the slash command. If301 you see `disable-model-invocation: true` in this skill's302 frontmatter, the post-merge routing-dogfood (see spec 014-01303 AC #9) flipped it after a failed dogfood.304305## Relationship to other skills306307- **`/jig:pr-review`** — sibling skill, different shape. PR-shape308 review against a diff, not design-shape review against a309 proposal. See "When to use vs. when to defer" above. The two310 skills compose: pr-review evaluates the implementation diff311 *after* the design is settled; arch-review evaluates the design312 *before* the implementation starts.313- **`/jig:independent-review`** — sibling skill, different shape.314 Spec-compliance review against `spec.md`, not design review315 against a proposal. Use it when a slice has acceptance criteria316 to evaluate against; use this skill when the proposal is317 upstream of any acceptance criteria.318- **`/jig:adr-workflow`** — orthogonal skill. Scaffolds and319 transitions ADRs through their lifecycle; this skill reviews an320 ADR draft before it's accepted. Pairs naturally: an architect321 drafts an ADR via `/jig:adr-workflow new`, this skill reviews322 the draft, and `/jig:adr-workflow accept` moves it to accepted323 once the review is addressed.324- **`/jig:slice-land`** — orthogonal skill. Lands a finished slice325 (prepares the PR body, runs the merge sequence). Different phase326 of the workflow: arch-review operates upstream of any slicing;327 slice-land operates downstream of implementation. They do not328 interact.