permissionkit

Automate parental consent flows for child communication permissions with PermissionKit.

Updated May 10, 2026
One-click install
npx skills add https://github.com/FelixRauch/medat-figuren --skill permissionkit-felixrauch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: permissionkit
Source: https://github.com/FelixRauch/medat-figuren/tree/main/.agents/skills/permissionkit
Command: npx skills add https://github.com/FelixRauch/medat-figuren --skill permissionkit-felixrauch

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

PermissionKit helps developers request and manage parental/guardian approval for communication permissions involving minors, so child-to-contact actions respect communication limits and required consent.

Core Features & Use Cases

  • Communication limits checking: Determine whether communication limits are enabled and whether a contact handle is known before prompting.
  • Permission question + topic building: Create PermissionQuestion instances using CommunicationTopic, including person information and permitted communication actions (e.g., message, audio/video calls).
  • Permission flow orchestration: Trigger the request via AskCenter and/or PermissionButton, then asynchronously observe PermissionResponse to enable or restrict the requested behavior.
  • Significant app update approvals: Request parental approval for significant update permissions using SignificantAppUpdateTopic.

Quick Start

Add PermissionKit to your app, create a PermissionQuestion<CommunicationTopic> with the child’s target communication handle and allowed actions, then call AskCenter.shared.ask(... ) from your view controller and handle the resulting PermissionResponse to enable or deny the feature.

Frequently Asked Questions about permissionkit

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

FAQPage Schema
How do I request parental consent for child messaging in a SwiftUI app?

To request parental consent for child messaging, create a PermissionQuestion with CommunicationTopic including the target handle and allowed actions, then call AskCenter to present the prompt and asynchronously observe PermissionResponse to enable or restrict features.

How does CommunicationLimits checking work before prompting for guardian approval?

CommunicationLimits checking verifies whether communication limits are enabled and whether a contact handle is known before prompting for guardian approval, ensuring the permission request is only triggered when required by the app's parental control settings.

Can I handle significant app update approvals using PermissionKit?

Yes, you can handle significant app update approvals by creating a PermissionQuestion using SignificantAppUpdateTopic, which requests parental approval specifically for significant update permissions within your app's consent flow.

What's the best way to observe asynchronous permission responses for communication limits?

The best way to observe asynchronous permission responses for communication limits is to trigger the request via AskCenter or PermissionButton, then asynchronously observe PermissionResponse to reliably enforce the approved or denied communication behavior in your UI flows.

Do I need to specify permitted communication actions when building a permission question?

Yes, you need to specify permitted communication actions such as message or audio and video calls when building a PermissionQuestion with CommunicationTopic, so the guardian approval prompt accurately reflects the requested child communication permissions.

What are the limitations of using AskCenter for parental consent flows?

AskCenter requires checking CommunicationLimits eligibility and knowing the contact handle before presenting the request, and it relies on async response observation to enforce permissions, meaning UI flows must handle pending and denied PermissionResponse states reliably.