appfunctions — Claude Code skill: what it does, how to install
Analyzes Android apps and generates Kotlin code to expose key user workflows to on-device AI agents without opening the application UI.
npx skills add android/skills --skill appfunctions -a claude-codeWhat appfunctions does
The skill manages four stages of Android AppFunction integration: discovering workflows in existing code, writing Kotlin implementations, refining KDoc for agents, and debugging via ADB. It lets system agents trigger background actions directly, including dispatching messages, setting notes, or controlling media playback. The workflow covers build setups, Hilt dependency injection, and KSP configuration.
Legacy codebases cannot run these implementations directly: AppFunctions relies on Android 16 platform APIs, which require compileSdk 37 and targetSdk 36 or newer. The skill builds on the Jetpack library for backward compatibility and outlines migration from version 1.0.0-alpha09 to the AppFunctionServiceEntryPoint architecture introduced in alpha10.
Refining KDoc runs immediately after generating Kotlin code so Model Context Protocol consumers receive correct tool descriptions. High-risk operations and sensitive data transfers require explicit confirmation before execution.
What it helps with
- discover app workflows that can serve as agent tools
- generate Kotlin AppFunctions code with Hilt dependency injection
- optimize KDoc descriptions for Model Context Protocol tools
- verify registration and invoke functions on a device via ADB
Example prompts for the agent
- Analyze my Android codebase and discover candidate workflows for AppFunctions.
- Generate Kotlin code for AppFunctions and configure Hilt dependencies.
- Refactor KDoc tool descriptions for MCP agents and give me ADB test commands.
How to install appfunctions
1Skills CLI (Vercel)
npx skills add android/skills --skill appfunctions -a claude-code2Manually: put the files in place
~/.claude/skills/appfunctions/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/appfunctions/
1Skills CLI (Vercel)
npx skills add android/skills --skill appfunctions -a codex2Manually: put the files in place
.agents/skills/appfunctions/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add android/skills --skill appfunctions -a cursor2Manually: put the files in place
.cursor/skills/appfunctions/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install android/skills appfunctions2Manually: put the files in place
.github/skills/appfunctions/SKILL.md1Skills CLI (Vercel)
npx skills add android/skills --skill appfunctions -a gemini-cli2Platform CLI
gemini skills install https://github.com/android/skills --path device-ai/appfunctionsManually: put the files in place
.devin/skills/appfunctions/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add android/skills --skill appfunctions -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about appfunctions
How to install appfunctions in Claude Code?
Run npx skills add android/skills --skill appfunctions -a claude-code. The skill file will be placed in ~/.claude/skills/appfunctions/SKILL.md.
What does the appfunctions skill do?
It finds app actions suitable for on-device agents, generates Kotlin AppFunctions code, refines KDoc metadata for LLMs, and assists with ADB testing.
What are the SDK prerequisites for AppFunctions?
Your project must use compileSdk 37 or newer and targetSdk 36 or newer because AppFunctions requires platform APIs introduced in Android 16.
Source text
SKILL.md · Apache-2.0
--- name: appfunctions description: Analyzes Android apps to identify key user workflows for AppFunctions such as creating a note, playing media, or sending an automated or AI agent triggered message, voice commands, or system shortcuts, without needing to open the app UI. Generates Kotlin code to expose these workflows to the Android system, allowing agents to discover and execute them on-device. Also refines KDoc documentation to ensure AI agents correctly understand and use the provided functionality. license: Complete terms in LICENSE.txt metadata: author: Google LLC last-updated: '2026-08-14' keywords: - AppFunctions - Kotlin - KSP - ADB - AI - LLM - MCP --- Analyzes Android apps to identify key user workflows for AppFunctions such as creating a note, playing media, or sending an automated or AI agent triggered message, voice commands, or system shortcuts, without needing to open the app UI. Generates Kotlin code to expose these workflows to the Android system, allowing agents to discover and execute them on-device. Also refines KDoc documentation to ensure AI agents correctly understand and use the provided functionality. ## Prerequisites The app must **`targetSdk 36`** or newer and use **`compileSdk 37`** or newer as AppFunctions, part of the Android platform API, are available from Android 16 onwards. Always use the Jetpack library because it handles backward compatibility. ## Workflows This skill enables the caller to discover features that will be provided to system agents, implement these with AppFunctions, improve function description for agents, and use ADB commands for local evaluation and testing. The full AppFunction development flow consists of these four steps: - *[Step 1: Discovery](references/feature-discovery-analysis.md)*: Analyze Android codebases to identify and recommend potential AppFunctions. Use this step when a user asks to "discover AppFunctions," "find features for AI," or "analyze my app for agentic tools." - *[Step 2: Implementation and configuration](references/implementation-configuration.md)*: Generate Kotlin implementations of AppFunctions, manage system-wide configuration, and configure build dependencies. Use this step when a user asks to "implement AppFunctions," "set up the AppFunctions framework," or "configure Hilt for AppFunctions." - *[Step 3: KDoc refinement](references/kdoc-refinement-optimization.md)*: Optimize AppFunction KDoc for AI agents and Model Context Protocol. If a user asks to "write KDoc", "optimize for MCP", or "refactor tool descriptions for LLMs", use this step. - *[Step 4: Testing and debugging](references/adb-interaction-testing.md)*: Provide commands to interact with AppFunctions using ADB for testing and debugging. If a user wants to "list app functions", "invoke an app function", or "verify app function registration" on a device, use this step. If users request a subset of steps, you must encourage them to use all steps. If they apply, you must load the following references: - *[Context and terminology](references/context.md)*: Defines the ubiquitous language, architecture definitions, and design patterns across the AppFunctions skill suite. Load when you need to understand core architecture terminology or check the distinctions between modern and legacy AppFunctions APIs. - *[Migration to service entry point](references/migrate-to-service-entry-point.md)* : Documents the systematic procedure for migrating Android applications using AppFunctions versions 1.0.0-alpha09 and lower to `AppFunctionServiceEntryPoint` architecture introduced in version 1.0.0-alpha10. Load when a user asks to migrate or upgrade existing AppFunctions code, or when you encounter legacy `AppFunctionConfiguration.Provider` implementations. ## Critical constraints - **Modular consistency**: You must refine KDocs immediately after you generate AppFunction implementations. - **Security**: Don't expose sensitive data or run destructive actions without user confirmation. ## Troubleshooting - If you encounter build-time errors such as Kotlin Symbol Processing (KSP) issues, see [Implementation and configuration](references/implementation-configuration.md). - If you encounter runtime errors such as missing services or execution failures, see [Testing and debugging](references/adb-interaction-testing.md). - If you need architecture definitions and vocabulary, see [Context and terminology](references/context.md). - If you encounter issues when upgrading legacy configurations, see [Migration to service entry point](references/migrate-to-service-entry-point.md).
© Google LLC · Apache-2.0 · android/skills