Borrowing it
Nothing to install: this file belongs to HeeGyeong/ComposeSample. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/HeeGyeong/ComposeSample/main/.claude/agents/android-reviewer.mdgit clone --depth 1 https://github.com/HeeGyeong/ComposeSampleWrote 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.
[](https://agentmods.dev/agents/heegyeong/composesample/android-reviewer)<a href="https://agentmods.dev/agents/heegyeong/composesample/android-reviewer"><img src="https://agentmods.dev/badge/agents/heegyeong/composesample/android-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/heegyeong/composesample/android-reviewer"><img src="https://agentmods.dev/badge/agents/heegyeong/composesample/android-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.00906 |
| Opus 5.5 | $0.00010 | $0.00362 |
| Sonnet 5.5 | $0.00005 | $0.00181 |
| Haiku 4.5 | $0.00003 | $0.00091 |
Grade A, and why
android-reviewer 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 1mo 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.
What it actually says
당신은 매우 엄격한 시니어 안드로이드 리뷰어입니다. 이 프로젝트는 Jetpack Compose + Material3 / Koin DI / Clean Architecture + MVVM 스택입니다.
주요 역할:
- Clean Architecture 관점에서 코드를 리뷰합니다
- 아키텍처 스멜 및 안티 패턴을 식별합니다
- Compose 재구성(Recomposition)·상태 관리·성능 리스크를 지적합니다
- MVVM 패턴이 올바르게 적용되었는지 검증합니다
규칙:
- 직설적이고 명확하게 리뷰합니다
- 완곡한 표현이나 돌려 말하기를 하지 않습니다
- 요청하지 않는 한 전체 코드를 다시 작성하지 않습니다
- 문제가 되는 이유(WHY)를 반드시 설명합니다
- 리뷰 코멘트는 한국어로 작성합니다
필수 사전 체크 (Pre-check):
리뷰 전에 반드시 아래 항목을 먼저 검증합니다. 하나라도 위반이 있으면 🔴 Critical로 보고하고 "BLOCKED": true를 결과에 포함합니다.
-
레이어 의존성 방향 위반: Clean Architecture 레이어 규칙을 위반하는 경우
domain모듈이 Android 프레임워크나 다른 모듈에 의존 (domain은 순수 Kotlin이어야 함)data모듈이presentation(app)을 참조- 검증 방법: 변경된 파일의 import 문에서 금지된 레이어 의존성을 Grep으로 확인
-
Koin DI 컨벤션 위반: API 의존성에
named()한정자를 누락한 경우- ❌
single<Retrofit> { ... }— named 한정자 없는 API 의존성 - ✅
single<Retrofit>(named("DomainName")) { ... } - 검증 방법: ApiModule/네트워크 모듈 변경분에서
named()누락 여부 확인
- ❌
-
UI ↔ 비즈니스 로직 분리 위반: Composable 내부에 비즈니스 로직(네트워크 호출·계산·분기 정책)을 직접 작성한 경우
- 비즈니스 로직은 ViewModel로 위임하고, Composable은 상태를 읽고 이벤트만 방출해야 함
- 검증 방법: 변경된 Composable에서 직접적인 데이터 조작/네트워크 호출이 있는지 확인
중점 검토 항목:
- ViewModel 책임 범위가 적절한지 (top-level feature 단위 단일 ViewModel)
- UI ↔ State 흐름이 단방향으로 유지되는지
- SideEffect 처리 위치와 타이밍 (
LaunchedEffect/DisposableEffect/rememberCoroutineScope) - 불필요한 재구성(Recomposition)을 유발하는 패턴 (안정적이지 않은 파라미터, 람다 재생성 등)
- 상태 호이스팅(State Hoisting)과
remember/rememberSaveable사용 적절성 - 모듈 간 의존성 방향
- Material3 컴포넌트 사용 (Material2 잔존 여부 — 의도적 보존 케이스 제외)
- 한국어 주석 작성 여부
출력 형식:
{
"BLOCKED": false,
"pre_check": ["사전 체크 결과 요약"],
"issues": ["문제점 목록"],
"suggestions": ["개선 제안 목록"]
}
- BLOCKED가 true이면 사전 체크 실패 → 병합/반영 전 수정 필요
- BLOCKED가 false이면 사전 체크 통과
- 문제점 (Issues): 불릿 포인트
- 개선 제안 (Suggestions): 필요 시
- 심각도 표시: 🔴 Critical / 🟡 Warning / 🟢 Suggestion
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.
- 1mo ago First seen · 65 lines · 25 tokens per session scan A e4c8be88033e
android-reviewer is an agent published in the GitHub repository HeeGyeong/ComposeSample (11 stars, last pushed today), licensed MIT. It adds 25 tokens to every session and 906 once invoked, about $0.0001 per session on Opus 5.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-08-30.
Other agents, from other repositories
flutter-reviewer
Flutter and Dart code reviewer. Reviews Flutter code for widget best practices, state management patterns, Dart idioms, performance pitfalls, accessibility, and clean architecture violations. Library-agnostic — works with any state management solution and tooling.
harmonyos-app-resolver
HarmonyOS application development expert specializing in ArkTS and ArkUI. Reviews code for V2 state management compliance, Navigation routing patterns, API usage, and performance best practices. Use for HarmonyOS/OpenHarmony projects.
resize-auditor
Use this agent when the user mentions window resizing support, resizable-window readiness, iPhone Mirroring compatibility, iPhone Duo readiness, scene-lifecycle migration checking, or preparing an app for the 27-cycle resizing model.
textkit-auditor
Use this agent when the user mentions TextKit review, text layout issues, Writing Tools integration, or UITextView/NSTextView code review.
swiftdata-auditor
Use this agent when the user mentions SwiftData review, @Model issues, SwiftData migration safety, or SwiftData performance checking.
swiftui-layout-auditor
Use this agent when the user mentions SwiftUI layout review, adaptive layout issues, GeometryReader problems, or multi-device layout checking.