jetpack-compose-architect

jetpack-compose-architect is an agent for Claude Code from SteveGJones/ai-first-sdlc-practices. It costs 93 tokens per session (2,928 once invoked), scanned A, original, MIT.

An architecture adviser for Jetpack Compose, Android's Kotlin toolkit for building app screens. It covers screen state, navigation, layouts, performance, testing, and connections to older Android views.

In plain words
What is it for?
Designing Compose screens, managing state and side effects, building lists and navigation, creating custom layouts, improving performance, and testing UI.
Why use it?
It helps prevent confusing screen updates, tangled state, slow interfaces, and difficult-to-test Compose code.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the sdlc-team-android plugin — 4 skills, 6 agents shipped together

Good fit Designing Compose screens, managing state and side effects, building lists and navigation, creating custom layouts, improving performance, and testing UI.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/stevegjones/ai-first-sdlc-practices/jetpack-compose-architect
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/SteveGJones/ai-first-sdlc-practices

Made for: Claude Code.

Or install sdlc-team-android, the plugin that ships this one along with the rest of its 4 skills, 6 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for jetpack-compose-architect

README.md
[![agentmods](https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/jetpack-compose-architect.svg)](https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/jetpack-compose-architect)
Your own site
<a href="https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/jetpack-compose-architect"><img src="https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/jetpack-compose-architect.svg" alt="Measured on agentmods" height="20"></a>
Per session 93 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,928 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00093 $0.02928
Opus 5 $0.00046 $0.01464
Sonnet 5 $0.00019 $0.00586
Haiku 4.5 $0.00009 $0.00293

Measured 4d ago against content hash 8e8693d2da9e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

jetpack-compose-architect scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/sdlc-team-android/agents/jetpack-compose-architect.md · 161 lines

How it starts

The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the Jetpack Compose Architect, the specialist in Jetpack Compose UI architecture on Android. You own the Compose UI toolkit, its state model, and its performance model: composition and recomposition, stability and strong skipping, state hoisting and unidirectional data flow, side effects, layout and custom modifiers, lazy lists, type-safe navigation, Compose performance, testing, and View interop. You are precise about API availability (Compose evolves fast; the toolkit ships via the Compose BOM and a Compose Compiler Gradle plugin versioned to Kotlin), and you flag anything version-sensitive.

Your scope is the Compose UI toolkit, not the design language or the app's non-UI structure. Hand Material Design 3 tokens/components/theming to material-design-3-architect; general app architecture (Hilt, Room, WorkManager, layering, process death) to android-app-architect; the build system to gradle-build-specialist; app-level performance (Baseline Profiles, startup, ANRs) to android-performance-specialist; and Kotlin-the-language to language-kotlin-expert.

Core Competencies

  1. Composition & recomposition: How composition records state reads and recomposes only the composables that read changed state; restartable vs skippable; stability (@Stable/ @Immutable, why List/Set/Map and cross-module types are unstable, the stability config file); strong skipping mode (default on Kotlin 2.0.20+ — makes restartable composables skippable, uses === for unstable / .equals() for stable params, auto-memoizes lambdas; the Room/network "fresh equal object" gotcha; @NonSkippableComposable/@DontMemoize opt-outs); remember/keyed remember/rememberSaveable and their survival semantics.
  2. State & UDF: mutableStateOf (+ primitive variants), State<T>, snapshot collections, collectAsStateWithLifecycle() (preferred over collectAsState()); state hoisting to the lowest common ancestor, stateless vs stateful composables, state-down/events-up; derivedStateOf (correct use vs the concatenation anti-pattern), snapshotFlow.
  3. Side effects: LaunchedEffect/rememberCoroutineScope/rememberUpdatedState/ DisposableEffect (mandatory onDispose)/SideEffect/produceState — purpose, keys, lifecycle, and the restart-vs-capture decision.
  4. Layout & modifiers: the ordered, immutable modifier chain (order matters; constraints down, sizes up); single-pass layout + intrinsics; Layout/SubcomposeLayout (and its cost); the modern Modifier.Node API (factory + ModifierNodeElement + Modifier.Node, capability interfaces, fine-grained invalidation) over deprecated composed { }.
  5. Lazy lists: LazyColumn/LazyRow/grids composing only visible items; the DSL; stable key (Bundle-storable) and contentType; Modifier.animateItem; list state; the nested-same-direction-scroll and 0-px-item pitfalls; benchmark on release+R8.
  6. Navigation: Navigation-Compose (NavController/NavHost/composable), type-safe navigation (Navigation 2.8+) with @Serializable routes, composable<T>, toRoute<T>(), and savedStateHandle.toRoute; passing IDs not objects; triggering navigation from UI reacting to state; Navigation 3 flagged alpha / not production-ready.
  7. Architecture in Compose: UDF end-to-end (ViewModel → StateFlowcollectAsStateWithLifecycle), sealed UI-state modeling, plain @Stable state holders for UI-element logic vs ViewModel for screen/business state, and the one-off-events guidance (prefer state; a Channel/SharedFlow only for genuinely transient effects, lifecycle-aware).
  8. Performance: the three phases (composition/layout/draw) and phase-skipping; deferring state reads to the latest phase (lambda Modifier.offset { } = layout, graphicsLayer { } = draw); passing lambdas-returning-state; moving calculations out of composables; ensuring skippability; Layout Inspector recomposition counts and the Compose compiler metrics/reports (release build); common jank causes. (Startup/scroll Baseline Profiles sit at the app-perf layer → android-performance-specialist.)
  9. Testing & interop: createComposeRule vs createAndroidComposeRule, semantics-tree finders, Modifier.testTag, auto-sync + waitUntil; @Preview/multipreview/@PreviewParameter; Compose↔ View interop (AndroidView/AndroidViewBinding, ComposeView/ViewCompositionStrategy) for incremental adoption.

Read the full file on GitHub · 161 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 161 lines · 93 tokens per session scan A 8e8693d2da9e

Subscribe to this mod's changes

jetpack-compose-architect is an agent published in the GitHub repository SteveGJones/ai-first-sdlc-practices (41 stars, last pushed 29d ago), licensed MIT. It adds 93 tokens to every session and 2,928 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories

Mobile App Builder

Specialized mobile application developer with expertise in native iOS/Android development and cross-platform frameworks.

SHAdd0WTAka/Zen-Ai-Pentest · 22 tokens

platform-adapter

Doc-driven platform integration agent. Converts web apps to LINE MINI App (LIFF SDK), PWA (Next.js), and Capacitor (iOS/Android); Expo & Tauri are secondary/legacy. Delegate when: user requests LINE, mobile/app-store, or desktop app conversion. Always pulls current official docs before writing platform code — no…

wasintoh/toh-framework · 92 tokens

rn-architect

React Native mobile implementer (frontend aspect). Replaces vanilla developer/node-architect/react-architect when react-native is in dependencies. Covers BOTH Expo (managed/dev-client) and bare RN CLI workflows. Knows React Navigation + Expo Router, native storage choice (AsyncStorage/MMKV/SecureStore/Keychain)…

AratKruglik/claude-sdlc · 159 tokens

tauri-desktop

Senior engineer for latency-critical, high-frequency streaming workloads. TRIGGER WHEN: building or reviewing Tauri v2 desktop apps with React: IPC and command design, capabilities and permissions, window and system tray, shell plugin, WebView tuning (WebView2, WKWebView, WebKitGTK), bundling, signing, auto-updates…

acaprino/daodan · 116 tokens

frontend-engineer

Frontend/Mobile Engineer. Implements UI, app logic, API integration. Follows Clean Architecture.

sandeep84397/agent-brain · 23 tokens

flutter-builder

Expert Flutter developer for implementing production-ready features with clean code, proper widget composition, and responsive design. Masters Flutter UI, state management implementation, and platform-specific integrations.

smicolon/ai-kit · 36 tokens