CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swiftui-gestures

Implement, review, or improve SwiftUI gesture handling. Use when adding tap, long press, drag, magnify, or rotate gestures, composing gestures with simultaneously/sequenced/exclusively, managing transient state with @GestureState, resolving parent/child gesture conflicts with highPriorityGesture or simultaneousGesture, building custom Gesture protocol conformances, or migrating from deprecated MagnificationGesture to MagnifyGesture or using the newer RotateGesture.

Quality

88%

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

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%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-structured reference skill with executable, comprehensive code examples and exemplary progressive disclosure to a verified one-level-deep reference file. The main improvements are trimming minor padding and fixing two small accuracy/coverage gaps that keep the code from being fully copy-paste ready.

Suggestions

Fix or remove the non-public parameter in `RotateGesture(minimumAngleDelta: .degrees(1))` (the public initializer takes no arguments) and either add a `SpatialTapGesture` example or drop it from the overview table so every shown API is exemplified and compiles.

Trim token overhead: cut the defensive velocity sentence in the DragGesture section ("do not confuse it with iOS 17+ gesture types..."), and prune checklist items that verbatim-repeat body sections.

Add a brief ordered sequence for the header's three workflows (review / write / fix), e.g. '1. Identify gesture types in use via the overview table; 2. Check each against the Review Checklist; 3. Apply fixes from Common Mistakes', to make the review workflow's ordering explicit.

DimensionReasoningScore

Conciseness

Mostly efficient: each section is a one-or-two-line intro plus dense code, and all content is gesture-API-specific knowledge rather than concepts Claude already knows (e.g., "Succeeds after the user holds for `minimumDuration`. Fails if finger moves beyond `maximumDistance`"). Minor trimmable padding keeps it below level 5: the 13-line table-of-contents, the defensive sentence "DragGesture.Value.velocity is available with DragGesture from iOS 13+; do not confuse it with iOS 17+ gesture types such as MagnifyGesture and RotateGesture", and checklist items that restate body sections. It is well above level 3, which would require genuinely unnecessary explanation.

4 / 5

Actionability

Nearly all guidance is concrete, executable Swift covering the common cases (tap/long-press/drag/magnify/rotate, all three combinators, priority modifiers, GestureMask, a full custom Gesture conformance). Minor gaps hold it at level 4 rather than 5: `SpatialTapGesture` is listed in the overview table but never exemplified, and `RotateGesture(minimumAngleDelta: .degrees(1))` uses a parameter that does not appear in the public initializer (which takes no arguments), so that snippet likely will not compile. It is far above level 3, which is for pseudocode or missing key details.

4 / 5

Workflow Clarity

As a reference/review skill there is no numbered multi-step sequence, but the "Review Checklist" provides 11 explicit checkbox validation criteria for the review workflow and "Common Mistakes" pairs each error with a DON'T/DO fix. This lands at level 4 (checkpoints present and concrete) rather than 5, because the write/review/fix workflows promised in the header have no explicit ordering; it is above level 3, whose checkpoints would be merely implicit.

4 / 5

Progressive Disclosure

Clear overview with one well-signaled, one-level-deep reference: "For persisted, clamped magnification and combined rotation examples, load [references/gesture-patterns.md]" and the References entry that names exactly when to read it ("full drag-to-reorder, pinch-to-zoom, combined rotate+scale, velocity/projection, sequenced gesture state-machine, or gesture-specific UIKit interop examples"). The reference file exists and its headings match every promised topic. Core API content is appropriately inline and advanced patterns are split out, with a TOC aiding navigation — matching the level-5 anchor.

5 / 5

Total

17

/

20

Passed

Description

92%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 description: it names the domain, lists comprehensive API-specific capabilities, and provides an explicit 'Use when' clause with concrete triggers. The only weakness is a handful of missing natural synonyms (swipe, pinch to zoom) that would improve trigger recall.

DimensionReasoningScore

Specificity

Multiple concrete, API-level actions are listed: "composing gestures with simultaneously/sequenced/exclusively", "managing transient state with @GestureState", "resolving parent/child gesture conflicts with highPriorityGesture or simultaneousGesture", "building custom Gesture protocol conformances", and "migrating from deprecated MagnificationGesture to MagnifyGesture". This comprehensively covers the gesture domain's operations, matching the level-5 anchor rather than the level-4 anchor, which allows minor coverage gaps.

5 / 5

Completeness

Both questions are explicitly answered: the what ("Implement, review, or improve SwiftUI gesture handling" plus the concrete operation list) and the when ("Use when adding tap, long press, drag, magnify, or rotate gestures..."). The explicit 'Use when' clause with concrete trigger phrases matches the level-5 anchor exactly; level 4 would require the when to be less explicit.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "tap, long press, drag, magnify, or rotate gestures", "SwiftUI gesture handling", "parent/child gesture conflicts". A few natural user phrasings are missing — "swipe", "pinch to zoom"/"pinch gesture", "two-finger rotate" — so it falls short of the level-5 anchor's comprehensive synonym coverage, but is well above level 3's partial keyword set.

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: gesture-specific API terms (@GestureState, highPriorityGesture, MagnifyGesture migration) are unlikely to fire for non-gesture SwiftUI work. It clearly matches the level-5 anchor's "clear niche with distinct triggers; minimal conflict risk" rather than level 4, which would allow meaningful overlap with closely related skills.

5 / 5

Total

19

/

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

dpearson2699/swift-ios-skills

Path

skills/swiftui-gestures/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.