CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swift-actor-persistence

Thread-safe data persistence in Swift using actors — in-memory cache with file-backed storage, eliminating data races by design.

Quality

73%

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 ./skills/swift-actor-persistence/SKILL.md

The canonical home for this skill is swift-actor-persistence in affaan-m/ECC

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 strong, code-first pattern skill: the actor implementation is complete and copy-paste ready, and the structure is easy to navigate. The main weakness is token efficiency — duplicate 'when to use' sections, a design-decisions table that restates the best practices, and explanation of actor-model basics Claude already knows.

Suggestions

Merge 'When to Activate' and 'When to Use' into a single section — they currently duplicate each other's content.

Cut the Key Design Decisions table entries that restate Best Practices (atomic writes, synchronous init) and keep one authoritative list.

Drop the explanation of what the actor model guarantees ('serialized access — no data races, enforced by the compiler') — Claude already knows this — and consider moving the @Observable ViewModel example to a reference file.

DimensionReasoningScore

Conciseness

The code examples earn their tokens, but there is noticeable redundancy: 'When to Activate' and 'When to Use' duplicate each other, the Key Design Decisions table restates Best Practices (e.g. .atomic writes appears in both), and 'The actor model guarantees serialized access' explains a concept Claude already knows. Mostly efficient but could be tightened — several redundant sections, not just minor instances.

3 / 5

Actionability

The LocalRepository actor is complete, executable Swift (full implementation including init, CRUD API, atomic persistence, and synchronous load), and the usage section shows copy-paste-ready calls covering reads, writes, and deletes, plus ViewModel integration. Specific examples cover the common cases.

5 / 5

Workflow Clarity

Content flows in a clear sequence (pattern → usage → ViewModel integration → design guidance) and the code demonstrates the full call flow. However, there are no validation or verification checkpoints — e.g., how to test concurrent access or migrate existing DispatchQueue-based code — which keeps it below the top anchor.

4 / 5

Progressive Disclosure

A single-file skill with clear, scannable section headers and no nested or buried references. The ~135 lines are reasonably placed inline, though secondary material (the @Observable ViewModel example, migration guidance) could be split into a reference file to keep SKILL.md leaner.

4 / 5

Total

16

/

20

Passed

Description

61%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 concrete, domain-specific description that clearly communicates the mechanism (actor-based cache + file storage), but it omits any 'when to use' trigger guidance and never names the actual operations the skill supports. Adding an explicit 'Use when...' clause with natural trigger phrases would address the two lowest dimensions at once.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building a persistence layer in Swift 5.5+, replacing DispatchQueue/NSLock-based synchronization, or when the user mentions data races, Swift concurrency, or offline-first storage.'

Name the concrete operations the pattern provides (save, delete, lookup by ID, load all) so the capability list is comprehensive rather than mechanism-only.

Include common synonyms such as 'Swift concurrency', 'async/await', and 'local storage' to broaden natural trigger coverage.

DimensionReasoningScore

Specificity

Names the domain ('thread-safe data persistence in Swift using actors') and concrete mechanisms ('in-memory cache with file-backed storage', 'eliminating data races by design'), but lists no explicit operations (save, delete, lookup), so capability coverage is not comprehensive. It is clearly more concrete than the 'actions are minimal or generic' anchor but does not list the several specific actions of the anchor above.

3 / 5

Completeness

The 'what' is clearly stated (actor-based persistence with in-memory cache and file-backed storage), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps this dimension at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Contains natural terms a Swift developer would actually say — 'thread-safe', 'data races', 'Swift', 'actors', 'persistence', 'in-memory cache'. A few natural variations are missing ('Swift concurrency', 'async/await', 'local storage', 'offline'), keeping it below the comprehensive synonym coverage of the top anchor.

4 / 5

Distinctiveness Conflict Risk

'Data persistence in Swift using actors' carves a specific niche with mostly distinct triggers. Minor overlap risk remains with generic Swift, persistence, or CoreData-oriented skills, so it does not reach the minimal-conflict top anchor.

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

valeriibeck-star/claude-skills

Path

skills/swift-actor-persistence/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.