CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

callkit

Implement VoIP calling with CallKit and PushKit. Use when building incoming/outgoing call flows, registering for VoIP push notifications, configuring CXProvider and CXCallController, handling call actions, coordinating audio sessions, or creating Call Directory extensions for caller ID and call blocking.

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

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

SKILL.md
Quality
Evals
Security

Quality

Content

88%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, highly actionable body: complete executable Swift for every core CallKit/PushKit flow with explicit error handling and a review checklist. The main gaps are minor redundancy around the Call Directory manager section and a monolithic length that could shed a section or the checklist to the existing reference file.

Suggestions

Remove the paragraph after the Call Directory manager code that restates the code's own calls (getEnabledStatusForExtension / openSettings / reloadExtension), keeping only the routing note about push-notifications.

Trim or relocate the Key Types table — the roles of CXProvider, CXCallController, and CXCallUpdate are knowledge Claude already has.

Consider moving the Common Mistakes table or the full Review Checklist into references/callkit-patterns.md to slim the main body while keeping the reference one level deep.

DimensionReasoningScore

Conciseness

Code blocks are lean and earn their tokens, but the paragraph after the Call Directory manager code restates exactly what that code shows, and the Key Types table recaps framework roles Claude already knows. Efficient overall with minor trimming opportunities.

4 / 5

Actionability

Fully executable, copy-paste-ready Swift covering every core case: provider singleton configuration, continuation-wrapped reportNewIncomingCall, answer/end/start action handling with fulfill/fail branches, both PushKit delegate variants gated on mustReport, audio session coordination, and the complete call directory handler. Undefined helpers (connectToCallServer, sendTokenToServer) are deliberately app-specific and clearly marked.

5 / 5

Workflow Clarity

Sections are sequenced setup → provider → flows → push → audio → directory with a TOC, error branches are explicit (action.fail() with .failed report, catch for DND-filtered calls, guard on push type), and the Review Checklist plus Common Mistakes table provide concrete validation checkpoints.

5 / 5

Progressive Disclosure

One clearly signaled, one-level-deep reference (references/callkit-patterns.md, verified to exist and cover the promised hold/mute, concurrent calls, and encrypted-push patterns), but the main body is a fairly monolithic ~440 lines with the full 20-item checklist and call-directory detail inline rather than split out.

4 / 5

Total

18

/

20

Passed

Description

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

An exemplary description: concrete and comprehensive capability list, explicit trigger guidance, natural keywords, and a clearly distinct niche. It directly matches the rubric's good-overall pattern.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'building incoming/outgoing call flows', 'registering for VoIP push notifications', 'configuring CXProvider and CXCallController', 'coordinating audio sessions', 'creating Call Directory extensions for caller ID and call blocking' — covering the domain comprehensively.

5 / 5

Completeness

Explicitly answers both 'what' ('Implement VoIP calling with CallKit and PushKit') and 'when' via a concrete 'Use when...' clause enumerating trigger scenarios.

5 / 5

Trigger Term Quality

Natural terms a user would say are comprehensively covered: 'VoIP calling', 'incoming/outgoing call flows', 'VoIP push notifications', 'audio sessions', 'caller ID', 'call blocking', alongside the framework names CallKit and PushKit.

5 / 5

Distinctiveness Conflict Risk

Clear iOS CallKit/PushKit VoIP niche with distinct trigger phrases and third-person voice; minimal risk of firing for unrelated skills.

5 / 5

Total

20

/

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