Skip to content

Guide · Agent skill

How to use the Android Permissions Security Auditor agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The android-permissions-security skill is a set of instructions and reference notes that teaches an AI agent Android's permission model and the common mistakes developers make with app manifests, content providers, services, broadcasts and runtime permission prompts. This guide shows you how to install it, ask for a review in plain language, and read the results. It is written for Android developers and security reviewers who have not used agent skills before.

Android Permissions Security Auditorandroid/skills · Apache-2.0

Quick start

  1. 1Download the ZIP. Download the skill ZIP from the android-permissions-security page on this site.
  2. 2Unzip into a skills folder. Unzip the archive into ~/.claude/skills/ for personal use, or into your project's .claude/skills/ folder to share it with a team.
  3. 3Or upload it in the Claude apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the skill.
  4. 4Confirm your project's requirements. Make sure the project has the AndroidX core-ktx and activity-ktx dependencies, and SDK levels of 31 or higher if you need knownSigner.
  5. 5Ask for a focused review. Describe the file or component you want reviewed, such as AndroidManifest.xml or a ContentProvider, in a plain request.
  6. 6Verify and apply fixes. Check each finding against the code, apply the suggested change, and ask the agent to re-check the files.

What the skill makes the agent do

Once the skill is installed, the agent knows what to look for when you ask it to review an Android project. It checks for weak custom permissions, overly broad file or URI access, caller identity checks that can be spoofed, and poor permission request flows. For each problem it finds, it suggests a specific fix.

The skill works from reference notes and guidance written into it, so the advice follows the documented Android approach rather than the agent's general memory. The playbook covers areas such as weak custom permission protection, overly broad URI permission grants, missing ContentProvider split permissions, and insecure broadcasts.

  • Weak custom permissions: suggests moving to signature or signature with knownSigner.
  • Broad URI grants: flags a wildcard pathPrefix of "/" and suggests a scoped subpath.
  • Spoofable caller checks: flags string extras such as calling_package and suggests Binder.getCallingUid().
  • Runtime permission flows: suggests a three-state flow and handling of permanent denial.
  • Storage access: suggests migrating to the Photo Picker where it applies.

Install the skill in Claude

You can install the skill in one of two ways. Download the ZIP from this page and unzip it into your personal skills folder, ~/.claude/skills/, so it is available in every project. Or unzip it into a project's .claude/skills/ folder so it applies only to that project and can be shared with your team through the repository.

If you use the Claude apps instead, upload the skill under Settings → Capabilities → Skills.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the skill

Check that your project meets the requirements

The skill needs an Android project to inspect, including the manifest and source files. The suggested code relies on AndroidX dependencies, so add androidx.core:core-ktx and androidx.activity:activity-ktx (or androidx.fragment:fragment-ktx) to the app-level build.gradle file. Some features depend on your SDK levels.

  • An Android project with AndroidManifest.xml and source files to inspect.
  • AndroidX dependencies core-ktx and activity-ktx (or fragment-ktx) for the suggested code.
  • compileSdk and targetSdk of 31 or higher if you need knownSigner partner permissions.
  • compileSdk and targetSdk of 34 or higher if you need broadcast identity sharing with BroadcastOptions.setShareIdentityEnabled.

Trigger the skill with a natural request

You do not need a special command. Describe the task in plain language and mention the files or areas you care about. The skill's description covers reviewing AndroidManifest.xml, defining custom permissions, securing Services, Receivers and Providers, verifying caller identity, and implementing runtime permission flows, so requests that name these areas are most likely to load it.

Be specific about scope. A request to review one manifest or one provider gives more useful results than a request to check an entire large codebase at once.

  • "Review my AndroidManifest.xml for exported components and weak custom permissions before release."
  • "Check my ContentProvider for overly broad URI permission grants and missing read and write permissions."
  • "Audit the bound service in this project for caller identity checks I can spoof."
  • "Review how my app requests location and storage permissions and suggest a better flow."

Read and act on the results

Treat the output as a list of findings to verify, not a final verdict. For each finding, check the cited file and line against your code, confirm the risk applies to your app's exported components and callers, and then apply or adapt the suggested fix. Re-run the review after changes to confirm the issue is gone.

The skill is built from reference material on the Android permission model, including the permission element documentation, the permissions overview, guidance on sender of pending intents, and the runtime permission request training. Where a finding points to one of these topics, the reference notes give the underlying rule.

  • Verify each finding against the actual code path.
  • Apply the suggested fix, then rebuild and test the affected flows.
  • Ask the agent to re-check the same files after you make changes.

Safety notes: scripts and network access

This skill does not run scripts and does not use the network, according to its listing. It provides guidance for the agent to apply to the files you share with it. Review its suggested changes yourself before committing them, since the skill can miss issues or misread code without human review.

  • Runs scripts: no
  • Uses network: no
  • The skill gives guidance, not a verified audit. Keep a human reviewer in the loop for release decisions.

What people use it for

  • Reviewing AndroidManifest.xml before a release to find exported components and weak custom permissions.
  • Checking whether a ContentProvider exposes overly broad URI grants or lacks split read and write permissions.
  • Finding caller identity checks that rely on intent extras instead of Binder.getCallingUid().
  • Improving a runtime permission flow that re-requests permissions in loops or ignores permanent denial.
  • Planning a migration from broad storage permissions to the Photo Picker.

Frequently asked questions

How do I install the android-permissions-security skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.

What do I need to use it?

You need an Android project with a manifest and source files to inspect. The suggested code uses AndroidX core-ktx and activity-ktx, and knownSigner needs compileSdk and targetSdk of 31 or higher, while broadcast identity sharing needs 34 or higher.

Is the skill free to use?

The skill is licensed under Apache-2.0, and its listing says its complete terms are in LICENSE.txt. Check that file for the exact terms before you use or redistribute it.

Does the skill run a security scan of my app?

No. It gives the agent guidance based on documented Android practices to review your code and suggest fixes. It is not a verified audit and can miss issues or misread code, so human review is still needed.

Does it work for iOS or web backend projects?

No. The guidance is specific to Android permissions and IPC components, so it does not apply to iOS or web backend projects.

Why does the agent not find anything, or give odd advice?

Check that the skill is in the right folder, that the request names the files or components involved, and that the project includes the manifest and source files. If advice seems wrong, compare it against the cited Android reference and the code path, since the skill can misread code.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are an Android developer preparing a release, or a security reviewer checking exported components, providers and bound services, or a team moving off broad storage permissions to the Photo Picker. Pick something else if you want a turnkey, verified security scan, or if your project is not Android, because the guidance does not cover iOS or web backends.

Download the skill