CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

axiom-media

Use when working with camera, photos, audio, haptics, ShazamKit, on-device music analysis, face grouping and video highlights, screen recording, casting to non-AirPlay routes, SharePlay playback, the user's Apple Music library, lock-screen metadata, or CarPlay app design, templates, and navigation. Covers AVCaptureSession, AVFoundation, Core Haptics, MediaPlayer, MusicKit, NowPlaying, ScreenCaptureKit, DockKit.

Quality

75%

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

Fix and improve this skill with Tessl

tessl review fix ./axiom-codex/skills/axiom-media/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 well-built routing skill: dense, non-obvious domain knowledge (the Anti-Rationalization and Cross-Domain sections), fully concrete directives with exact files, sections, patterns, and APIs, and a clean one-level reference index. The main costs are triplicated routing sections (table + dot graph + numbered list), an inconsistent auditor invocation, and reference paths that do not resolve to any file in the provided bundle.

Suggestions

Remove the dot Decision Tree — it duplicates the numbered Decision Tree entry-for-entry (~25 lines) — and fold Example Invocations into the Quick Reference table to cut roughly a third of the body's tokens without losing any routing information.

Reconcile the auditor routing: replace "Launch: `camera-auditor` agent" in Example Invocations with the `axiom-audit-camera` skill invocation used in step 14 and the inline note, so all three mentions agree.

Ship the referenced files in the bundle (ideally under the standard `references/` directory) so the ~30 `skills/*.md` paths resolve; if they exist only in the parent repo, note that in the SKILL.md so the index is verifiable.

DimensionReasoningScore

Conciseness

All content is high-signal — no concept explanations, and the Anti-Rationalization table is dense non-obvious knowledge ("`Song.id` ... differs per device ... never use it as a cross-device key"). But routing information is triplicated: the Quick Reference table ("Camera capture, AVCaptureSession | See `skills/camera-capture.md`"), the dot Decision Tree ("what -> \"skills/camera-capture.md\" [label=\"camera capture\"]"), and the numbered Decision Tree ("1. Camera capture? → `skills/camera-capture.md`") all encode the same mapping — the dot graph is fully redundant with the numbered list. That is a whole section of redundancy, matching anchor 3 ("could be tightened") rather than anchor 4's "minor instances that could be trimmed"; not score 2 because nothing is padded or explains what Claude already knows.

3 / 5

Actionability

Directives are maximally concrete for an instruction-only router: "Read: `skills/camera-capture.md` (Pattern 8, deferred start)", "See `skills/carplay-templates-ref.md`" with named sections and pattern numbers, plus exact API-level fixes ("join your own session via `provider(from:in:)`, or `init(session:analyzerFormat:priority:)`"). Example Invocations ("User: 'My camera app takes a second before preview appears' → Read `skills/camera-capture.md` Pattern 8") cover the common cases. Per the rubric's code-vs-instruction note, absence of code is not penalized when guidance is this specific; not score 4 because no directive lacks the exact file/section/API to act on.

5 / 5

Workflow Clarity

The routing workflow is clearly sequenced: the numbered Decision Tree ("1. Camera capture? → ..."), Cross-Domain Routing resolves boundary cases explicitly ("Now Playing metadata/controls → **stay here** ... Background audio mode → **invoke axiom-integration**"), and Anti-Rationalization catches misdiagnoses. No validation checkpoints are required — routing is read-only, not destructive or batch. Score 4 rather than 5 because the auditor path is inconsistent: Example Invocations say "Launch: `camera-auditor` agent" while the inline note says "invoke the matching Codex skill ... Available: `axiom-audit-camera`" and step 14 says "→ `axiom-audit-camera`". Well above anchor 3 — the sequence is complete and unambiguous.

4 / 5

Progressive Disclosure

The body is a well-signaled, one-level-deep index: "See `skills/camera-capture.md` Patterns 8-9", "See `skills/carplay-templates-ref.md`", each mapped to a symptom row — textbook anchor 5 structure. But scored against the actual bundle: no `references/`, `scripts/`, or `assets/` directories exist, and none of the ~30 referenced `skills/*.md` paths resolve to a file in this bundle, so the references cannot be verified as real and the layout is nonstandard. Anchor 4 ("references mostly clear; minor organization gaps") is the best fit — not 5 because references cannot be confirmed against the bundle structure; not 3 because references are prominently signaled, not buried.

4 / 5

Total

16

/

20

Passed

Description

65%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.

A strong trigger-focused description for an Apple media routing skill: explicit 'Use when' guidance, broad natural keyword coverage, and a clearly bounded niche. Its main weakness is the total absence of concrete capability verbs — the 'what' is delivered as a framework coverage list ("Covers AVCaptureSession, ..."), which leaves specificity at the domain-naming level.

Suggestions

Add 2-3 concrete action verbs to the 'what', e.g. "Set up AVCaptureSession capture pipelines, publish Now Playing metadata and remote-command handlers, implement Core Haptics patterns, route playback to CarPlay templates" — this would move specificity from a bare domain list toward concrete capabilities.

Include the natural synonyms users actually say that are currently missing: "video playback/export", "Now Playing", "Chromecast/Google Cast", and "music playback".

Consider replacing part of the framework enumeration with capability phrases, since frameworks like "Covers ... DockKit" duplicate trigger terms without adding actions.

DimensionReasoningScore

Specificity

"Use when working with camera, photos, audio, haptics, ShazamKit..." and "Covers AVCaptureSession, AVFoundation, Core Haptics, MediaPlayer..." name many domains and frameworks but state no concrete action verbs — the only verb is the generic "Covers". This matches anchor 2 ("Names the domain but actions are minimal or generic"): it is not score 3 because no 1-2 concrete actions (e.g. "set up capture sessions", "publish Now Playing metadata") are stated, and not score 1 because the language is concrete and domain-specific rather than vague or abstract.

2 / 5

Completeness

"Use when working with camera, photos, audio, ..." is an explicit, specific 'when' with concrete trigger phrases, and "Covers AVCaptureSession, AVFoundation, ..." answers 'what' — but only as a framework/domain list, not as actions. Anchor 4 ("Has both 'what' and 'when'; 'when' could be more explicit or specific") is the best fit in reverse: the 'what' could be more explicit. Not score 5 because the 'what' is a bare coverage list; not score 3 because the 'when' is explicit and detailed, not missing or weakly implied.

4 / 5

Trigger Term Quality

Rich natural keywords: "camera", "photos", "audio", "haptics", "screen recording", "casting to non-AirPlay routes", "SharePlay playback", "the user's Apple Music library", "lock-screen metadata", "CarPlay app design, templates, and navigation". Good-to-comprehensive coverage, but a few natural phrases users would say are missing ("video playback/export", "Now Playing", "Chromecast/Google Cast", "music playback"), so anchor 4 ("Good keyword coverage; a few natural terms missing") fits better than anchor 5, while clearly exceeding anchor 3's "missing common variations".

4 / 5

Distinctiveness Conflict Risk

Terms like "ShazamKit", "CarPlay", "SharePlay playback", "DockKit", and "casting to non-AirPlay routes" define a clear Apple-media niche with distinct triggers (anchor 5 territory), but "on-device music analysis" and "face grouping and video highlights" create minor overlap risk with sibling AI/vision skills, matching anchor 4 ("Mostly distinct; minor overlap risk with closely related skills"). Not score 3 — the niche is far more specific than "Works with document files".

4 / 5

Total

14

/

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-media/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.