Content
52%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A genuinely useful router with an excellent decision tree, a strong anti-rationalization table, and a correct one-level-deep reference structure. Its main flaws are duplication — Example Invocations and Critical Patterns largely restate the Decision Tree and Routing Logic — inconsistent destination naming, and unresolvable sub-skill paths, which together cost both tokens and execution certainty.
Suggestions
Cut the ~130-line 'Example Invocations' section (and fold 'Critical Patterns' into Routing Logic): both restate the Decision Tree nearly entry-for-entry; keep only the handful of genuinely ambiguous cases (e.g. the memory-plus-stutter and first-launch-hang pairs) as inline examples.
Pick one canonical name per destination and use it everywhere: 'axiom-audit-memory' vs 'memory-auditor (Agent)' vs 'memory-auditor' (and the energy/swift-perf equivalents) currently name the same target three ways across Routing Logic, the Decision Tree, and the Codex inline block.
Move version-sensitive details ('OS27', 'iOS 26', 'iOS 13–26', 'the 27 cycle') out of the router into the referenced sub-files (or a single versioned section), so the router body stays version-agnostic and doesn't age.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Noticeably verbose for a router: the ~130-line "Example Invocations" section restates the Decision Tree entry-for-entry (e.g. "User: 'My app's memory usage keeps growing' → See skills/memory-debugging.md" duplicates Decision Tree item 2), "Critical Patterns" re-summarizes sections already described in Routing Logic, and inline version markers ("OS27", "iOS 26", "iOS 13–26", "the 27 cycle") appear throughout rather than being isolated in a versioned/deprecated section. This matches anchor 2 — several padded sections — better than anchor 3, since roughly half the body is a second or third restatement of the same routing map. | 2 / 5 |
Actionability | Routing decisions themselves are concrete and specific ("Memory leak scan → axiom-audit-memory (5-phase semantic audit...)", "xcprof compare --fail-on-regression (non-zero exit)"), but execution is incomplete: the destinations "See skills/memory-debugging.md" cannot be resolved — no skills/, references/, or scripts/ files exist in the bundle — and destination naming is inconsistent, with the same target called "axiom-audit-memory", "memory-auditor (Agent)", and "memory-auditor" in different sections. Matches anchor 3: concrete guidance with missing key details; not anchor 4, whose guidance is fully executable as written. | 3 / 5 |
Workflow Clarity | The Decision Tree is a well-sequenced triage with conditionals and even a feedback loop ("memory-debugging FIRST ... then performance-profiling if memory is fixed but stutter remains") and ordering rules, and the Anti-Rationalization table doubles as error-recovery guidance. Below anchor 5 because of real friction: inconsistent agent names across sections, non-monotonic numbering (10/10a/10b/10c, 14/14a), and no checkpoint telling Claude what to do when a referenced sub-skill file is unavailable. | 4 / 5 |
Progressive Disclosure | The router pattern is sound: every detailed topic is deferred one level deep with clearly signaled references ("See skills/hang-diagnostics.md", "See axiom-build (skills/lldb.md)"), and section headers (When to Use, Routing Logic, Decision Tree, Anti-Rationalization) make navigation easy. Not anchor 5 because the referenced paths are not part of this bundle (no skills/ directory exists alongside SKILL.md), and the same routing map is spread across three parallel sections, so content placement is only 'mostly' appropriate. | 4 / 5 |
Total | 13 / 20 Passed |