CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

axiom-audit-swiftdata

Use when the user mentions SwiftData review, @Model issues, SwiftData migration safety, or SwiftData performance checking.

Quality

70%

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-audit-swiftdata/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

This is a strong, highly executable audit procedure with an exemplary phased workflow, explicit verification steps, and thoughtful false-positive and output-limit handling. Its weaknesses are length — several sections are trimmable padding for a 300-line single file — and the absence of any progressive disclosure: the full pattern catalog and completeness tables are inlined rather than split into referenced files.

Suggestions

Split the 9-pattern detection catalog into a references/patterns.md file and keep one-line summaries plus the highest-severity 2-3 patterns inline, cutting SKILL.md well under half its size.

Delete or compress the Invocation Examples section (five examples where two suffice) and the Scope section, which restates the frontmatter description.

Add copy-paste code for the fixes that are currently directional, especially Patterns 3 and 4 (willMigrate fetch placement and background ModelContext creation), to match the output format's own 'Fix: Code example' requirement.

DimensionReasoningScore

Conciseness

The body is dense and assumes domain competence (no 'what is SwiftData' filler), but there is trimmable material: five near-identical Invocation Examples, a Scope section that restates the description, and repeated 'Read matching files; check...' phrasing across patterns. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' — above anchor 2 (no padded concept explanations) but below anchor 4 because whole sections (Invocation Examples, Scope) could be cut with no capability loss.

3 / 5

Actionability

Detection guidance is fully executable — verbatim grep regexes per pattern, quantitative thresholds ("5+ indexes", "batches of 100-500"), and code fixes like "@Relationship var tags: [Tag] = []" — matching 'mostly executable guidance with minor gaps'. Not 5 because several fixes are directional prose only (e.g. Pattern 3 'Move data access into willMigrate', Pattern 4 'Create a dedicated background ModelContext') without the code example the output format itself demands of findings.

4 / 5

Workflow Clarity

Five phases are explicitly sequenced (map → detect → completeness → cross-reference → score) with a validation checkpoint after every detection step ('use Read to verify the surrounding context before reporting — grep patterns have high recall but need contextual verification'), plus a False Positives list and output limits as error-recovery guardrails. This matches the top anchor: clear sequence, explicit validation steps, and checklists for a complex process.

5 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and the entire ~300-line content is inlined in SKILL.md. Section structure itself is good (clear headers, tables), but content that clearly belongs in separate files — the 9-pattern detection catalog, the Phase 3 completeness table, and the invocation examples — is all inline, matching 'some structure but could be better organized; content that should be separate is inline'. Not 2 because headers and cross-references make it navigable; not 4 because nothing is split out despite the length (the under-50-lines simple-skill exception does not apply here).

3 / 5

Total

15

/

20

Passed

Description

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

The description has excellent trigger specificity for the SwiftData niche and low conflict risk, but it is entirely a 'use when' clause — it never states what the skill does (audit for anti-patterns, verify migration safety, produce a health score). This reads as half a description and would under-inform both routing and user expectations.

Suggestions

Lead with a what-clause before the trigger clause, e.g. 'Audits SwiftData code for 9 critical anti-patterns (schema registration gaps, relationship defaults, migration timing, context isolation) and produces a SAFE/FRAGILE/DANGEROUS health score.'

Add natural trigger variations users would say: 'SwiftData crashes', 'ModelContainer', 'CloudKit sync issues', and 'Swift Data' as a spacing variant.

Keep the 'Use when' clause explicit but append the missing-capability half so the description answers both what and when.

DimensionReasoningScore

Specificity

The description names the domain and sub-areas concretely ("SwiftData review, @Model issues, SwiftData migration safety, or SwiftData performance checking") but the verbs are generic — "review" and "checking" — matching 'names domain and 1-2 concrete actions, but not comprehensive'. It is above anchor 2 ('actions minimal or generic', e.g. 'Processes PDF files') because @Model/migration/performance scope the domain specifically, but below anchor 4 because no distinct audit actions (detect anti-patterns, verify schema registration, score health) are listed.

3 / 5

Completeness

The entire description is a single 'when' clause ("Use when the user mentions...") with no 'what' — what the skill actually does (audits, detects, reports) is only weakly implied by the trigger nouns. This matches anchor 2, 'only when is present without what'. It does not reach 3 because the 'what' is never stated, even vaguely, as a capability statement.

2 / 5

Trigger Term Quality

"SwiftData review", "@Model", "SwiftData migration safety", and "performance checking" are natural phrases a user with this need would say (e.g. 'check my SwiftData migrations'), matching 'good keyword coverage; a few natural terms missing'. Not 5 because common variations users would say are absent — 'Swift Data' spacing, ModelContainer, CloudKit sync, relationships/crashes, or a .swift/SwiftUI-adjacent phrasing.

4 / 5

Distinctiveness Conflict Risk

"SwiftData" is a precise, unambiguous technology name with specific sub-triggers (@Model, migration safety), giving a clear niche with minimal conflict risk — sibling skills like a Core Data or CloudKit auditor would trigger on their own distinct terms. It is not 4 because no plausible wrong-skill trigger is identifiable from the description itself.

5 / 5

Total

14

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

CharlesWiltgen/Axiom

Path

axiom-codex/skills/axiom-audit-swiftdata/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.