Borrowing it
Nothing to install: this file belongs to baijum/ukulele-companion. 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/baijum/ukulele-companion/main/.cursor/skills/android-bug-reproduce/SKILL.mdgit clone --depth 1 https://github.com/baijum/ukulele-companionWrote 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/baijum/ukulele-companion/android-bug-reproduce)<a href="https://agentmods.dev/skills/baijum/ukulele-companion/android-bug-reproduce"><img src="https://agentmods.dev/badge/skills/baijum/ukulele-companion/android-bug-reproduce/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/skills/baijum/ukulele-companion/android-bug-reproduce"><img src="https://agentmods.dev/badge/skills/baijum/ukulele-companion/android-bug-reproduce.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00067 | $0.01429 |
| Opus 5 | $0.00034 | $0.00714 |
| Sonnet 5 | $0.00013 | $0.00286 |
| Haiku 4.5 | $0.00007 | $0.00143 |
Grade A, and why
android-bug-reproduce 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 12d 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 — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Android Bug Reproduction on Emulator
Systematically reproduce and investigate Android bugs using ADB and the emulator.
Prerequisites
- Android SDK installed with
emulatorandadbon PATH - At least one AVD configured (check with
emulator -list-avds) - A debug APK (build with
./gradlew assembleDebugif needed)
Workflow
Step 1: Start the emulator
Check for a running emulator first:
adb devices
If none is running, start one:
emulator -list-avds
emulator -avd <avd_name> -no-snapshot-load &
Wait for the device to be ready:
adb wait-for-device
adb shell getprop sys.boot_completed # should return "1"
Step 2: Install the debug APK
adb install -r app/build/outputs/apk/debug/app-debug.apk
Step 3: Seed test data (if needed)
For features that require existing data (e.g., chord sheets, favorites), seed SharedPreferences directly:
# Stop the app first
adb shell am force-stop com.baijum.ukufretboard
# Write test data to SharedPreferences
adb shell run-as com.baijum.ukufretboard sh -c 'cat > shared_prefs/<pref_file>.xml << '\''XMLEOF'\''
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<map>
<!-- Your test data here -->
</map>
XMLEOF'
Common preference files:
| File | Contents |
|---|---|
chord_sheets.xml |
Saved songs/chord sheets (JSON list) |
favorites.xml |
Favorited chords |
app_settings.xml |
App settings |
Example — seed a chord sheet:
adb shell run-as com.baijum.ukufretboard sh -c 'cat > shared_prefs/chord_sheets.xml << '\''XMLEOF'\''
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<map>
<string name="chord_sheets_json">[{"id":"test-1","title":"Test Song","artist":"Test","content":"[C]Hello [Am]world\nLine 2\nLine 3\nLine 4\nLine 5\nLine 6\nLine 7\nLine 8\nLine 9\nLine 10","strumPatternName":"","labels":[],"createdAt":1700000000000,"updatedAt":1700000000000}]</string>
</map>
XMLEOF'
Step 4: Launch the app and navigate
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.
- 12d ago First seen · 192 lines · 67 tokens per session scan A 5e557bfd5bb8
android-bug-reproduce is a skill published in the GitHub repository baijum/ukulele-companion (14 stars, last pushed 2d ago), licensed MIT. It adds 67 tokens to every session and 1,429 once invoked, about $0.0003 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
compose-performance
Use when investigating Jetpack Compose recomposition cost, compiler stability reports, skippability, unstable parameters, frame-rate State reads, cross-phase snapshot back-writing, or @ReadOnlyComposable contracts.
sceneview-ios
Build 3D and AR apps on Apple platforms (iOS, macOS, visionOS) with SceneViewSwift — the SwiftUI wrapper around RealityKit. Use whenever the user asks for "3D in SwiftUI", "AR with ARKit in SwiftUI", a model viewer for iOS, or any Apple-platform 3D/AR app where the dependency is the SceneViewSwift Swift Package from…
sceneview
Build 3D and AR apps with the SceneView SDK in Jetpack Compose, SwiftUI (iOS/macOS/visionOS via SceneViewSwift), Web (Filament.js), Flutter and React Native. Use whenever the user asks for "3D in Compose", "AR with ARCore in Compose", a model viewer, or any cross-platform 3D/AR app where the dependency is…
compose-animations
Use when writing or reviewing Jetpack Compose motion: visibility enter/exit, animating one property toward a target, color or size transitions, multiple properties from one state, switching composable content, or choosing between AnimatedVisibility, animateAsState, rememberTransition, AnimatedContent, and Crossfade.
compose-focus-navigation
Use when writing or reviewing Jetpack Compose UI for TV, keyboard, desktop, accessibility focus, D-pad navigation, FocusRequester, focusProperties, key events, or initial focus behavior.
compose-state-and-effects
Use when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow collection, navigation, snackbar, analytics, or focus requests.