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.
npx agentmods add skills/rcosteira79/android-skills/android-testingnpx skills add rcosteira79/android-skills --skill android-testinggit clone --depth 1 https://github.com/rcosteira79/android-skillsWrote 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/skills/rcosteira79/android-skills/android-testing)<a href="https://agentmods.dev/skills/rcosteira79/android-skills/android-testing"><img src="https://agentmods.dev/badge/skills/rcosteira79/android-skills/android-testing.svg" alt="Measured on agentmods" 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 | $0.00100 | $0.01939 |
| Opus 5 | $0.00050 | $0.00970 |
| Sonnet 5 | $0.00020 | $0.00388 |
| Haiku 4.5 | $0.00010 | $0.00194 |
Grade A, and why
android-testing 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.
How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Android Testing
Android-specific testing on a test-first foundation. This reference focuses on the test-first discipline plus the Compose-test and KMP traps that are easy to get wrong, not the basics of the three tiers, fakes over mocks, runTest, or Given-When-Then naming — except where a name breaks one target's compile.
Test-first (the foundation)
- No production code without a failing test first. Write the test, watch it fail (RED), write the minimal code to pass (GREEN), then refactor. A behaviour you never watched fail isn't proven.
- A bug isn't fixed until a test that was red because of the bug is green.
This layers on top of any dedicated TDD discipline skill (superpowers:test-driven-development, ace:test-driven-development) but requires none. For bootstrapping the test stack from scratch (test DI, JUnit/Robolectric/Roborazzi/Paparazzi selection, the instrumented runner, Compose Preview Screenshot Testing, UI Automator, Jacoco), see Google's official testing-setup skill (android skills add testing-setup).
commonTest names must survive Kotlin/Native, not just the JVM
commonTest is compiled once per declared target, so a green jvmTest proves nothing about the iOS compile. Backticks themselves are fine on every target — they are escaping syntax, not part of the name — but Kotlin/Native's frontend rejects 24 characters inside them: . ; , ( ) [ ] { } / < > : \ $ & ~ * ? # | § % @ (FirNativeIdentifierChecker — an unconditional error since Kotlin 1.7; the set also reserves the IR mangler's own characters). Kotlin/JVM forbids only . ; [ ] / < > : \. The comma is the gap between the two lists; a space is in neither, so a Given-When-Then convention with commas fails every native target while CI stays green:
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.
- 4d ago First seen · 79 lines · 100 tokens per session scan A 0dc46800d8db
android-testing is a skill published in the GitHub repository rcosteira79/android-skills (136 stars, last pushed 9d ago), licensed MIT. It adds 100 tokens to every session and 1,939 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-08-30.
Other skills, from other repositories
java
Always load this skill when writing, modifying, creating, or moving Java or Kotlin source code, or when project setup has already chosen Java/Kotlin as the implementation language.
imagegen
Use when generating premium design reference images across three modes — brand identity boards, website section images, or mobile app screens — art-directed and implementation-friendly, not generic AI slop. Output is images only, never code. Triggers on "brand kit", "logo 设计", "品牌系统", "web design image", "landing page…
flutter-quality
Flutter/Dartプロジェクトの品質チェック。dart analyze/dart format/flutter testを実行。「Flutterの品質チェック」「Flutter テスト」「Flutterのテスト実行」「Flutter lint」「Dart解析」「Flutterフォーマット」で起動。Do NOT use for 純粋なDartパッケージ(Flutterなし)。.
agentic-test-driven-development
A visual test-driven development loop for Compose apps using Compose HotSwan for Android device testing. Navigates the live app, edits code, hot-reloads, and produces a markdown report that EMBEDS before/after screenshots so the change is shown, not just claimed.
swift-tdd-workflow
Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with XCTest including unit, integration, and XCUITest E2E tests.
shared
跨 skill 复用的共享材料容器。收纳与具体平台/业务无关的通用工作方法(测试驱动开发、并行分发子 agent)和共享适配指南(Android 分区存储)。由其他 skill 按需引用,不单独作为任务入口。.