kotlin-multiplatform-permissions

Installation
SKILL.md

When to Use This Skill

Use when:

  • A feature requires a dangerous permission (camera, location, microphone, contacts, storage)
  • The app must show a rationale dialog when the user has previously denied a permission
  • Permission request logic must be testable in commonMain
  • iOS requires a NSCameraUsageDescription (or equivalent) Info.plist key

Trigger keywords: permissions, runtime permission, PermissionState, camera permission, location permission, microphone permission, permission denied, permission rationale, request permission, permission controller, Accompanist permissions KMP, expect actual permission, iOS Info.plist permission, permission flow.

Freshness rule: On Android, ActivityResultContracts.RequestPermission replaced the deprecated ActivityCompat.requestPermissions — always use the modern launcher contract. On iOS, every new permission category requires its own NS*UsageDescription key in Info.plist; check Apple docs for the exact key name when adding a new permission type.


Installs
8
GitHub Stars
2
First Seen
Jun 21, 2026
kotlin-multiplatform-permissions — ronjunevaldoz/kmp-agent-skills