CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

core-haptics

Builds custom tactile and synchronized audio-haptic experiences with Core Haptics, including CHHapticEngine lifecycle, transient and continuous events, dynamic parameters, parameter curves, AHAP files, and device verification. Use when system sensoryFeedback or UIFeedbackGenerator patterns cannot express the required haptic behavior.

Quality

89%

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

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

The body is a lean, navigable overview packed with non-obvious Core Haptics lifecycle and parameter gotchas, a clearly sequenced workflow with explicit validation checkpoints and an idempotent recovery loop, and a genuine one-level-deep reference holding the executable patterns. Minor trimmable redundancy (the TOC and the paragraph restating the API-ownership table) and the deferral of copy-paste code to the reference keep conciseness and actionability at 4 rather than 5.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious API gotchas ("stoppedHandler... is not called for an explicit stop(completionHandler:)", ".hapticIntensity" vs ".hapticIntensityControl") and contains no concept padding, but the 12-line Contents TOC and the "Do not introduce CHHapticEngine for a normal button tap" paragraph partially restate the preceding API-ownership table. Minor trims are possible, placing it between the 'efficient' anchor 4 and the 'every token earns its place' anchor 5.

4 / 5

Actionability

Concrete API-level guidance throughout ("CHHapticEngine.capabilitiesForHardware()", "makeAdvancedPlayer(with:)" for looping/seeking, the retained-player gesture protocol: start, send bounded parameters, throttle, stop on cancel, recreate after reset) plus one complete executable snippet (HapticCapability). The copy-paste-ready engine/event code lives in the reference file rather than the body, leaving minor gaps versus the fully copy-paste-ready anchor 5, while being far above the pseudocode level of anchor 3.

4 / 5

Workflow Clarity

The 8-step Implementation Workflow is explicitly sequenced with validation checkpoints (capability check at step 2, hardware validation at step 8), the Testing section enumerates seven verification scenarios (fallback, cold start, interruption recovery, gesture cancellation, preferences, audio artifacts, battery), reset recovery is described as an idempotent feedback loop, and a 10-item Review Checklist closes the process. This matches anchor 5's combination of sequence, explicit validation, error-recovery loops, and checklists rather than the minor-gaps profile of anchor 4.

5 / 5

Progressive Disclosure

The body is a well-signaled overview that offloads code patterns to a real one-level-deep reference ("Load [Core Haptics patterns](references/core-haptics-patterns.md) when writing engine ownership, programmatic events, live modulation, parameter curves, or AHAP playback"). The sole bundle file exists (216 lines with sections for engine owner, transient, continuous, curve, and AHAP that match the promised contents) and contains no nested references, and navigation is easy via the TOC and References section.

5 / 5

Total

18

/

20

Passed

Description

87%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 clearly and explicitly answers both what it does and when to use it, enumerates the concrete Core Haptics API surface (lifecycle, event types, parameters, curves, AHAP, device verification), and explicitly disambiguates from the system feedback APIs to minimize wrong-skill triggering. Its only weakness is keyword coverage that omits natural synonyms such as "vibration" or "Taptic Engine".

DimensionReasoningScore

Specificity

"Builds custom tactile and synchronized audio-haptic experiences with Core Haptics, including CHHapticEngine lifecycle, transient and continuous events, dynamic parameters, parameter curves, AHAP files, and device verification" enumerates six-plus concrete technical capabilities with comprehensive API coverage, but they hang off the single verb "Builds" as included topics rather than multiple parallel action verbs. This sits between anchor 4 ('several specific actions; minor gaps') and anchor 5's action-verb-dense example, and is clearly above anchor 3's 1-2 actions.

4 / 5

Completeness

The "what" is explicit and detailed (builds custom tactile and synchronized audio-haptic experiences with the enumerated API surface) and the "when" is an explicit trigger clause with concrete conditions: "Use when system sensoryFeedback or UIFeedbackGenerator patterns cannot express the required haptic behavior". Both are answered with concrete trigger phrases, matching anchor 5 rather than anchor 4's less-explicit 'when'.

5 / 5

Trigger Term Quality

Natural terms users would say are present — "Core Haptics", "haptic", "tactile", "audio-haptic", "AHAP files", "sensoryFeedback", "UIFeedbackGenerator" — giving good keyword coverage. Common synonyms such as "vibration" or "Taptic Engine" are missing, so it falls short of anchor 5's comprehensive synonym coverage while exceeding anchor 3's 'missing common variations'.

4 / 5

Distinctiveness Conflict Risk

The "Use when..." clause explicitly fences the skill off from the system feedback APIs (sensoryFeedback, UIFeedbackGenerator), and the custom-waveform/synchronized-audio framing carves a clear niche distinct from ordinary audio playback. Conflict risk is minimal, matching anchor 5's 'clear niche with distinct triggers' rather than anchor 4's minor-overlap profile.

5 / 5

Total

18

/

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

thienqo/ios-skills

Path

skills/core-haptics/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.