Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when reviewing architecture in any codebase — module boundaries, stated design contracts, abstraction depth, error-handling design. Assess by default, apply changes on request; complexity is dependencies plus obscurity, and deep modules win.
.claude/skills/automagik-dev-architecture/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 174% | 0% |
| case-01 | ✓→✗ | ▼ Worse | -46% | 0% |
| case-02 | ✓→✗ | ▼ Worse | -51% | 0% |
| case-03 | ✓→✗ | ▼ Worse | 818% | 0% |
Runtime syntax: invoke the plugin copy through the active runtime's owner-qualified skill selector; use a bare selector only when intentionally selecting a user-tier copy (a separately installed personal copy; Genie no longer seeds this tier). Cross-skill prose below uses bare names as portable semantic routes; the orchestrator resolves the selector for the active runtime.
This lane treats complexity as anything that makes a system hard to understand or modify — it accumulates as dependencies and obscurity. KISS comes first: begin with the simplest complete design that satisfies current user stories, and make every added mechanism earn its carrying cost with a present contractual need or measurement. Hypothetical future scale is not evidence. The unit of judgment is the module: deep modules (simple interface, substantial implementation) are good; shallow modules (interface as complicated as what they hide) are architecture debt. Information leakage, pass-through methods, temporal decomposition, and speculative optimization are the smells to hunt. Prize "define errors out of existence" and design-it-twice thinking.
This lane's lens is inspired by the work of John Ousterhout, author of A Philosophy of Software Design.
Assess and report by default. Apply changes only when the invocation explicitly asks. Every finding must cite the concrete interface, import, or branch that embodies it — no vibes. Findings outside this lane (failing gates, security holes, missing tests) get a one-line handoff to the relevant lane skill under skills/. When you have enough information to judge, judge; recommend one design, not a survey.
Architecture is judged against the repo's own stated intent, then against first principles. Before scoring anything, collect: CLAUDE.md / AGENTS.md architecture sections, ADRs or design docs, any documented invariants ("X must never import Y", "state lives in Z"), and the real module graph traced from the entry points via imports. A repo's deliberate constraints (zero-daemon designs, intentionally-duplicated modules, forbidden cross-imports) are the design under review — the defect is a violated contract or a contract the code has outgrown, not the contract's existence.
Genie-framework repos: .genie/ documents (wishes, brainstorms) often record the intended design and its acceptance criteria — read the relevant wish before judging the code it produced.
Repo profile — recall, verify, persist. Before deriving from scratch, recall a stored profile for this repo: a memory/brain store if one is available this session, else a well-known file (in genie-framework repos, .genie/repo-profile.md). For this lane the profile records the module map, documented invariants, key interfaces and their depth verdicts. Recalled anchors are hypotheses — re-verify each invariant you rely on against current code and report drift as a finding. After the audit, persist what discovery learned: update rather than duplicate, delete what proved wrong.
Profile write boundary. During assess-only and pull-request runs, return proposed profile changes as a profile_delta; do not write memory or repository files. Persist a profile only when the user explicitly asks.
Every structural claim traces to code read this session, cited file:line. A design opinion is only a defect if you can name the modification scenario it makes expensive; interfaces judged without reading their implementation are labeled as such. Conversely, added machinery without a current user story, contract, or measurement is itself a grounded complexity finding: the evidence is the absent requirement plus the concrete states and failure modes the machinery introduces.
Lead with a one-sentence verdict on architectural health and name the simplest viable design. Then findings ranked by change-amplification risk, each with evidence, the modification scenario it hurts, and one recommended structural move. Explicitly list contracts verified intact — a review that only lists problems hides where the design is strong. Cross-lane handoffs last. In a genie-framework repo, treat unjustified stateful machinery as a blocking HIGH plan/design gap, use CRITICAL/HIGH/MEDIUM/LOW for finding severities and SHIP/FIX-FIRST/BLOCKED only for the overall verdict, and note which findings warrant a refactor wish via wish rather than opportunistic edits.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | pass→pass | 15,643 | 9,817 | -37% | 1 | 1 | 0% | 2,256 | 2,727 | +21% | 0 | 0 | — |
case-01 | pass→fail | 18,507 | 5,540 | -70% | 1 | 1 | 0% | 3,256 | 1,765 | -46% | 0 | 0 | — |
case-02 | pass→fail | 16,960 | 3,859 | -77% | 1 | 1 | 0% | 3,338 | 1,639 | -51% | 0 | 0 | — |
case-03 | pass→fail | 3,449 | 22,211 | +544% | 1 | 1 | 0% | 550 | 5,048 | +818% | 0 | 0 | — |
case-04 | pass→fail | 9,321 | 10,828 | +16% | 1 | 1 | 0% | 1,024 | 2,490 | +143% | 0 | 0 | — |
case-05 | pass→pass | 16,525 | 15,847 | -4% | 1 | 1 | 0% | 2,543 | 3,728 | +47% | 0 | 0 | — |
case-06 | pass→pass | 13,958 | 10,412 | -25% | 1 | 1 | 0% | 2,040 | 2,936 | +44% | 0 | 0 | — |
case-07 | fail→pass | 15,933 | 19,898 | +25% | 1 | 1 | 0% | 2,691 | 3,977 | +48% | 0 | 0 | — |
case-08 | pass→pass | 11,930 | 10,171 | -15% | 1 | 1 | 0% | 1,865 | 2,875 | +54% | 0 | 0 | — |
case-14 | pass→pass | 13,542 | 9,869 | -27% | 1 | 1 | 0% | 2,072 | 2,812 | +36% | 0 | 0 | — |
case-09 | pass→fail | 16,207 | 4,072 | -75% | 1 | 1 | 0% | 2,274 | 1,566 | -31% | 0 | 0 | — |
case-10 | fail→fail | 10,057 | 5,374 | -47% | 1 | 1 | 0% | 1,591 | 1,625 | +2% | 0 | 0 | — |
case-11 | fail→fail | 11,702 | 5,918 | -49% | 1 | 1 | 0% | 1,685 | 1,742 | +3% | 0 | 0 | — |
case-12 | fail→fail | 5,397 | 4,924 | -9% | 1 | 1 | 0% | 246 | 1,676 | +581% | 0 | 0 | — |
case-13 | pass→pass | 13,599 | 14,458 | +6% | 1 | 1 | 0% | 2,021 | 3,513 | +74% | 0 | 0 | — |
case-16 | fail→fail | 11,639 | 4,270 | -63% | 1 | 1 | 0% | 1,835 | 1,646 | -10% | 0 | 0 | — |
case-17 | fail→fail | 19,754 | 5,567 | -72% | 1 | 1 | 0% | 3,078 | 1,699 | -45% | 0 | 0 | — |
case-18 | fail→pass | 7,878 | 14,730 | +87% | 1 | 1 | 0% | 1,192 | 3,269 | +174% | 0 | 0 | — |
case-19 | fail→fail | 12,198 | 6,884 | -44% | 1 | 1 | 0% | 2,040 | 1,645 | -19% | 0 | 0 | — |
case-20 | fail→fail | 13,324 | 6,134 | -54% | 1 | 1 | 0% | 2,346 | 1,737 | -26% | 0 | 0 | — |
case-21 | pass→pass | 14,698 | 10,862 | -26% | 1 | 1 | 0% | 2,306 | 2,932 | +27% | 0 | 0 | — |
case-22 | pass→fail | 10,888 | 6,554 | -40% | 1 | 1 | 0% | 1,530 | 1,678 | +10% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 11 counted toward the lift figure. The other 11 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -18 percentage points is the difference between those two pass rates over the 11 comparable cases. 7 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.