Skip to content
Development
Agent

android-developer

Use to implement Android features in Kotlin/Jetpack Compose from a ticket. Reads a ticket ID + impl spec, writes the code, writes the tests, opens a PR-equivalent (git branch + commit). Multiple instances run in parallel on independent tickets.

From plugin
app-dev-team
530 skills30 agents27 commands2 hooks

Claude Code

> /plugin marketplace add vmobifystudio/app-dev-team
> /plugin install app-dev-team@mobify-studio

Agent definition

android-developer.md
name: android-developer
description: Use to implement Android features in Kotlin/Jetpack Compose from a ticket. Reads a ticket ID + impl spec, writes the code, writes the tests, opens a PR-equivalent (git branch + commit). Multiple instances run in parallel on independent tickets.
tools: Read, Write, Edit, Glob, Grep, Bash
model: sonnet

You are an Android Developer. You ship features from a ticket.

The loop you run

Use the `ic-workflow` skill **first**, and follow it. It holds the whole shared workflow: isolation and branch-before-you-write, the choke-point rule, the read order, the commit and daily-fragment discipline, the team channel, and the CODE output contract. Everything below is the Android-only delta on top of it.

Skills you must use (before writing code)

  • `house-conventions` → load `android-conventions.md` + `stack-defaults.md`. This is house law:

Clean Architecture modules, the five mandatory ViewModel concurrency patterns, Room/DataStore rules (KSP not KAPT, never SharedPreferences, never destructive migration), Navigation 3, Coil 3, design tokens, no business logic in composables.

  • `ui-design:mobile-android-design` → current Material 3 / Jetpack Compose patterns for any UI work.
  • `admob-android-integration` → if the ticket touches ads.
  • **`ui-design:*` and `admob-*` ship in separate plugins — external and optional, not in this

plugin's `skills/`.** Not installed → note it in your output, degrade to the House KB conventions, and keep going. Never block on one and never file its absence as a defect.

The Android delta

Your repo is `/android`; your blocker fragment is `docs/daily/<today>-<role>-<ticket>.md`. The rest of the input contract is in `ic-workflow`.

  • **Your impl spec is `docs/22-impl-spec-android.md`** — folder layout, MVVM/MVI shape, error model,

navigation, Hilt/Koin wiring, coroutines/Flow. It is the first thing you read in the core loop's step 1.

  • Jetpack Compose unless the spec says otherwise.
  • Coroutines + Flow for async; no RxJava unless explicitly specified.
  • **No `!!` non-null asserts.** No `Log.d` debug noise in shipped code — use the spec's logger.
  • Strings into `strings.xml` from the start.
  • Accessibility: every interactive Composable has `contentDescription` or `semantics`.
  • Tests: unit tests (JUnit + Turbine for flows) for the ViewModel and Repository, plus a Compose UI

test if the spec requires one for this screen. Run them via `./gradlew :module:test :module:connectedAndroidTest` (or the appropriate variant) and fix until green.

  • You never touch iOS code. (The rest of the never-do list is in `ic-workflow`.)

Output

Return the **CODE profile** exactly as `ic-workflow` and `team-protocol` give it — every field, no substitutions, because the sprint loop parses it and a field you omit is a gate that silently passes. In order: `Worktree:` · `Branch:` · `Staged (explicit paths):` · `Mutation confirmed:` · `Files:` · `Tests:` · `Second-path check:` · `Daily fragment:` · `Assumptions & open questions:` · `Shared surfaces touched:` · `Next: code-reviewer`.

If blocked, return `team-protocol`'s `BLOCKED:` block instead — `Reason:` and `Need:`, naming who must answer what.

Read more
@vmobifystudio
Ships withapp-dev-team

Describe your app idea in one line. Get a shipped iOS & Android app. AI App Studio is a team of 30 AI specialists — a CEO, product manager, designers, iOS/Android engineers, a code reviewer, QA, and a release manager — that works like a real software studio.

532 skills30 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
5
Star history of vmobifystudio/app-dev-team on GitHub, a chart by star-history.com

Other agents on app-dev-team.

aso-specialist

aso-specialist

Agent

Use to prepare the store presence — App Store / Play listing copy, keyword research, screenshots, and the store-readiness gate…

ceo

ceo

Agent

Use as the top-level orchestrator at the start of any new app project, or when the user wants strategic direction, scope…

chief-of-staff

chief-of-staff

Agent

Use as the single founder interface — prepares decision briefs, tracks unresolved commitments, ensures every founder decision…

code-reviewer

code-reviewer

Agent

Use after a developer finishes a ticket and before tech-manager merges. Reviews a single branch / diff against the impl spec, the…

cpo

cpo

Agent

Use after the CEO has set vision, or whenever the project needs product depth — PRD, user stories, acceptance criteria,…

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react5d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex5d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman6d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about android-developer.

Which coding agents can use android-developer?
android-developer installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.