Skip to content
Back to skills

Codex Capacitor Permissions

ASecurity

Android 13+ storage/media permissions guidelines for the web/capacitor Biblia Codex app. Using the custom usePermissions hook and PermissionScreen components in onboarding loops.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 5, 2026
developmentdatabase

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add welitonevoc/Biblia-Codex --skill codex-capacitor-permissions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Codex Capacitor Permissions?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Codex Capacitor Permissions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/welitonevoc-codex-capacitor-permissions/badge)](https://www.skillsdirectory.com/skills/welitonevoc-codex-capacitor-permissions)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: codex-capacitor-permissions
description: Android 13+ storage/media permissions guidelines for the web/capacitor Biblia Codex app. Using the custom usePermissions hook and PermissionScreen components in onboarding loops.
---

# Biblia Codex - Android Capacitor Permissions

This skill guides the implementation of permission requests natively on Android when operating through the Capacitor wrapper, specifically targeting the storage constraints introduced with Android 13+.

## 🛠 Permission Flow Architecture

1. **Permission Hook (`src/hooks/usePermissions.ts`)**
   - The primary entry point for managing Android external reading permissions (`@capacitor/android`, `@capacitor/filesystem`).
   - You MUST utilize `const { granted, check, request, ensure } = usePermissions();` in any view needing OS access (ex. importing database blobs, `.pdf`/`.docx` generator services).

2. **Onboarding Integration (`src/components/Onboarding.tsx`)**
   - Keep permissions as the Final onboarding step (Step 7: `PermissionScreen.tsx`).
   - The app actively monitors whether `hasLaunched` exists locally in JSON logic, rendering onboarding if false. Wait until Step 7 to gracefully prompt the user for directory access so that feature benefits are highlighted first.

3. **Global Permission Checks (`src/App.tsx`)**
   - Utilize Capacitor's `Capacitor.getPlatform()` checking explicitly for Android `isAndroid === true`. Ensure web instances do not aggressively demand native OS permissions since they utilize the browser's implicit sandboxed directories.
   - For modules (`src/components/ModuleManagement.tsx`), intercept initialization. Do not show raw OS dialogs. ALWAYS trigger the premium `PermissionScreen` component or the defined dialog with three native buttons (`Depois`, `Abrir Configurações`, `Conceder Permissão`).

## 🤝 Fallback Flow
- Always implement the fallback function `openAppSettings()`. If permission states return `denied`, Android 13+ prevents standard loop requests. The App Settings menu must intercept the manual override.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…