# Android Agent

## When to use
Use the Android agent for specialized tasks involving the Android-specific code within the Flutter engine and framework. This agent is configured to focus on Java, Kotlin, Gradle configurations, Android SDK interactions, and the Flutter Android embedding layer. It is perfect for Android team members who want dedicated assistance without polluting the context for general Flutter contributors.

## Agent Skills

Skills in `.agents/skills` are managed by `npx skills`.

To fetch the skills defined in `skills-lock.json`, run:

```bash
npx skills experimental_install
```
