Content
60%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 well-architected router — clear one-level-deep navigation, concrete routes, named agents, and an explicit decision sequence — but it pays roughly double the token cost by repeating the same routing table in five formats (Quick Reference, Routing Logic, dot tree, simplified list, Example Invocations), and a handful of route entries are ambiguous (duplicated agent names, out-of-order numbering) or point at files not present in this bundle. The routing design is strong; the body's economy and internal consistency are not.
Suggestions
Consolidate the five duplicate views of the routing table into two: keep the Quick Reference table and the Routing Logic sections, and delete the dot decision tree, the 'Simplified' numbered list, and the bulk of Example Invocations (retain only examples whose routing isn't already covered by the table) — this would cut the body roughly in half.
Fix the ambiguous route entries: replace the duplicated "`axiom-analyze-triage` (or `axiom-analyze-triage`)" with the intended alternative (`triage-analyzer`), correct the same duplication in the Production Corpus Triage section, and renumber sections so '10a' and '10' appear in order.
Make every pointer resolvable: either bundle the referenced `skills/*.md` files with the skill or state their location convention once (e.g., resolved relative to the plugin root) so each 'See skills/...' and 'See axiom-security (skills/...)' route lands on a real file.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The same symptom→route mapping is presented five times: the 37-row Quick Reference table ("| Symptom / Task | Reference |"), the Routing Logic trigger lists, the 44-line dot decision tree, the "Simplified:" numbered list (which itself acknowledges the duplication), and ~95 lines of Example Invocations restating the routing triggers (e.g., "My app was rejected for Guideline 2.1" appears both in Routing Logic §3 and in Example Invocations). Build meta-commentary also leaks in ("rewritten for Codex by scripts/build-codex.ts; do not hand-edit"). This fits anchor 2 ('noticeably verbose; several unnecessary... padded sections'): the padding is whole duplicated sections, not the mere tightening opportunities of anchor 3, though nothing explains concepts Claude already knows so it stays above anchor 1. | 2 / 5 |
Actionability | Routes are concrete and executable: exact paths ("See `skills/app-store-submission.md`"), named agent invocations ("Invoke: `axiom-audit-iap`", "`axiom-validate-screenshots`"), a precise tool-fallback rule ("if `command -v <tool>` finds nothing... use `<plugin-root>/tools/<tool>`"), and specific error codes (ITMS-90035, ITMS-90161) mapped to routes. Minor gaps keep it at anchor 4 rather than 5: the entry "`axiom-analyze-triage` (or `axiom-analyze-triage`)" names the same tool twice where an alternative (e.g., `triage-analyzer`) was clearly intended, and cross-suite pointers ("See axiom-security", "See axiom-payments suite") carry no resolvable path. | 4 / 5 |
Workflow Clarity | The routing decision process is explicitly sequenced with yes/no edges in the dot tree ("Rejected?" → "skills/app-store-diag.md" [label="yes, app was rejected"]) plus an ordered 12-step fallback list ("1. App was rejected? → ..."). It is a pure router with no destructive or batch operations, so the validation-checkpoint cap does not apply. Anchor 4 rather than 5 because small defects add ambiguity: section numbering runs "10a" before "10", and line "`triage-analyzer` or `axiom-analyze-triage` / `axiom-analyze-triage`" duplicates a name instead of distinguishing the two options. | 4 / 5 |
Progressive Disclosure | Structurally this is textbook one-level-deep disclosure: the Quick Reference table and per-route "**Reference**:" lines signal every `skills/*.md` target clearly, with no nested reference chains. Scored against the actual bundle as provided, however, no bundle files exist (no references/, scripts/, or assets/, and none of the ~15 referenced `skills/*.md` files ship with this SKILL.md), so the router's targets cannot be verified and several pointers escape to other suites without paths. That is the 'good structure... minor organization gaps' of anchor 4 rather than the fully verifiable, appropriately-split state of anchor 5; it stays above anchor 3 because references are clearly signaled and only one level deep. | 4 / 5 |
Total | 14 / 20 Passed |