CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

axiom-shipping

Use when preparing an app for App Store submission, handling rejections or appeals, managing App Store Connect and Xcode Cloud, or triaging TestFlight/Sentry crash corpora. Covers checklists, metadata, privacy manifests, age ratings, export compliance.

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

60%Weight 40%Scale 1-5

Reviews 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.

DimensionReasoningScore

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

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary router-style description: concrete third-person actions, a comprehensive set of natural trigger terms including synonyms, and both 'what' and 'when' explicitly stated. It directly matches the strongest good_overall_examples pattern with no vagueness, padding, or over-claims.

DimensionReasoningScore

Specificity

Four concrete actions are named — "preparing an app for App Store submission", "handling rejections or appeals", "managing App Store Connect and Xcode Cloud", "triaging TestFlight/Sentry crash corpora" — plus an enumerated coverage list ("checklists, metadata, privacy manifests, age ratings, export compliance"). This matches the anchor 'lists multiple specific concrete actions; comprehensive coverage' rather than 4, since no meaningful capability area of the domain is left out.

5 / 5

Completeness

Both halves are explicit: "Use when preparing... handling... managing... or triaging..." gives concrete trigger phrases for when, and "Covers checklists, metadata, privacy manifests, age ratings, export compliance" states what. The 'Use when' clause is present (so no completeness cap applies), and the when is specific enough that anchor 4's 'could be more explicit' caveat doesn't apply.

5 / 5

Trigger Term Quality

Natural user phrasings are comprehensively covered with synonyms: "App Store submission", "rejections or appeals", "App Store Connect", "Xcode Cloud", "TestFlight", "Sentry", "crash corpora", "privacy manifests", "age ratings", "export compliance". This is comprehensive-with-synonyms coverage (the anchor-5 pattern), not the 'a few natural terms missing' of anchor 4.

5 / 5

Distinctiveness Conflict Risk

The App Store release-workflow niche is clear with distinct triggers (submission, rejections/appeals, ASC/Xcode Cloud, TestFlight/Sentry crash triage) that no generic skill would claim. It is written in third person with no buzzwords or over-claims, so conflict risk is minimal — anchor 5, not the 'minor overlap risk with closely related skills' of anchor 4.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

CharlesWiltgen/Axiom

Path

axiom-codex/skills/axiom-shipping/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.