Skip to main content
skill CX Codex

permissionkit — Claude Code and Cursor skill: parental consent in iOS

A skill that walks the agent through PermissionKit: a child asks a parent for an exception to communication limits over iMessage.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add dpearson2699/swift-ios-skills --skill permissionkit -a claude-code
Open on GitHub

What permissionkit does

Reach for this skill when a Swift app restricts a child's contact with other people and needs a way for the child to ask a parent for an exception. The agent gets the whole flow: CommunicationLimits reports whether a phone number or email is already known, PermissionQuestion carries the request, AskCenter.shared.ask(_:in:) starts the send, and the verdict arrives later via responses(for:).

The skill ships a version table. Core types such as CommunicationTopic and CommunicationLimits start at iOS 26.0, AskError at 26.1, and AskCenter, PermissionButton plus significant-update topics at 26.2. It also covers attaching a name and avatar to the question and lists the available actions, .message and .audioCall among them.

Everything runs through iMessage. That rules it out as a general in-app consent, moderation or chat-safety layer. Entitlement keys should come from Apple's docs and Xcode capabilities rather than guesswork. When communication limits are off, ask throws AskError.communicationLimitsNotEnabled, so that branch needs handling.

What it helps with

  • Explain to a child why a contact is blocked by a parental limit
  • Build a request for one contact or several to send to a parent
  • Find out which phone numbers and emails the system already recognises
  • Attach a name and avatar so the parent knows who the request is about
  • Handle the error thrown when communication limits are off

Example prompts for the agent

  • Check with CommunicationLimits whether +1234567890 is known, and build a question if it isn't
  • Add a SwiftUI screen with PermissionButton that sends a parent a request for .audioCall
  • Catch AskError.communicationLimitsNotEnabled inside requestPermission

How to install permissionkit

1Skills CLI (Vercel)

npx skills add dpearson2699/swift-ios-skills --skill permissionkit -a claude-code

2Manually: put the files in place

~/.claude/skills/permissionkit/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/permissionkit/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about permissionkit

How do I install permissionkit in Claude Code?

Run npx skills add dpearson2699/swift-ios-skills --skill permissionkit -a claude-code. The skill file lands at ~/.claude/skills/permissionkit/SKILL.md.

What does permissionkit do?

It guides the agent through writing PermissionKit code: limit checks, question creation, the send flow and response handling.

Does PermissionKit work for in-app contact permissions?

No. Its communication experiences exist only in iMessage, so in-app contact consent, moderation and chat safety are outside its scope.

Similar skills

Everything for Mobile →

From the same set86

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor