permissionkit

Implement guardian approval flows for iMessage-based communication permissions in iOS apps.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/harshav167/build-ios-apps --skill permissionkit-harshav167
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: permissionkit
Source: https://github.com/harshav167/build-ios-apps/tree/main/skills/permissionkit
Command: npx skills add https://github.com/harshav167/build-ios-apps --skill permissionkit-harshav167

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Permission management for child-related communication requires parental approval flows, compliance checks, and clear prompts to guardians.

Core Features & Use Cases

  • Build permission experiences using PermissionQuestion and CommunicationTopic to describe a messaging request to guardians.
  • Send and observe approvals or denials via AskCenter, with robust error handling, pending state, and expiration logic.
  • Support SignificantAppUpdateTopic flows with proper availability checks and compliance guidance.

Quick Start

Create a PermissionQuestion for a contact and initiate the flow with AskCenter.shared.ask(question, in: viewController).

Frequently Asked Questions about permissionkit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I require guardian approval for iMessage communication in an iOS app?

To require guardian approval for iMessage communication in an iOS app, create a PermissionQuestion with a CommunicationTopic and initiate the flow using AskCenter.shared.ask() within a view controller to observe guardian responses.

Does this parental permission flow support general in-app direct messages?

No, this parental permission flow does not support general in-app direct messages. It specifically applies to scenarios enforcing communication limits or requiring guardian consent for iMessage-based experiences only, ensuring compliance for child-related messaging features.

How do I handle errors when a guardian denies a messaging permission request?

To handle errors when a guardian denies a messaging permission request, the AskCenter integration implements robust AskError case handling alongside pending state and expiration logic to ensure the permission flow fails gracefully.

Can I use AskCenter to manage SignificantAppUpdateTopic compliance checks?

Yes, you can use AskCenter to manage SignificantAppUpdateTopic compliance checks. The implementation supports SignificantAppUpdateTopic flows by enforcing proper availability guardrails and providing compliance guidance during significant application updates.

What is the best way to describe a messaging request to a guardian in iOS?

The best way to describe a messaging request to a guardian in iOS is by constructing a PermissionQuestion object combined with a CommunicationTopic. This structure clearly defines the specific child-related communication permission being requested from the guardian.