Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Cursor rules for Android development with Jetpack Compose integration.
.claude/skills/amariahak-cursor-rules-for-android-development-with-jetpack-compose-integration/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 25% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 25% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 11% | 0% |
Cursor rules for Android development with Jetpack Compose integration.
Synced from https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules/android-jetpack-compose-cursorrules-prompt-file.mdc.
// Android Jetpack Compose .cursorrules
// Flexibility Notice
// Note: This is a recommended project structure, but be flexible and adapt to existing project structures. // Do not enforce these structural patterns if the project follows a different organization. // Focus on maintaining consistency with the existing project architecture while applying Jetpack Compose best practices.
// Project Architecture and Best Practices
const androidJetpackComposeBestPractices = "Adapt to existing project architecture while maintaining clean code principles", "Follow Material Design 3 guidelines and components", "Implement clean architecture with domain, data, and presentation layers", "Use Kotlin coroutines and Flow for asynchronous operations", "Implement dependency injection using Hilt", "Follow unidirectional data flow with ViewModel and UI State", "Use Compose navigation for screen management", "Implement proper state hoisting and composition", ];
// Folder Structure
// Note: This is a reference structure. Adapt to the project's existing organization
const projectStructure = app/ src/ main/ java/com/package/ data/ repository/ datasource/ models/ domain/ usecases/ models/ repository/ presentation/ screens/ components/ theme/ viewmodels/ di/ utils/ res/ values/ drawable/ mipmap/ test/ androidTest/ ;
// Compose UI Guidelines
const composeGuidelines =
;
// Testing Guidelines
const testingGuidelines =
;
// Performance Guidelines
const performanceGuidelines =
;
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | fail→pass | 11,805 | 8,478 | -28% | 1 | 1 | 0% | 1,972 | 2,130 | +8% | 0 | 0 | — |
case-05 | pass→pass | 12,095 | 8,237 | -32% | 1 | 1 | 0% | 1,774 | 2,225 | +25% | 0 | 0 | — |
case-06 | pass→pass | 12,308 | 7,549 | -39% | 1 | 1 | 0% | 1,615 | 2,023 | +25% | 0 | 0 | — |
case-01 | fail→fail | 19,463 | 18,201 | -6% | 1 | 1 | 0% | 4,310 | 5,029 | +17% | 0 | 0 | — |
case-02 | pass→pass | 23,320 | 12,505 | -46% | 1 | 1 | 0% | 3,001 | 3,329 | +11% | 0 | 0 | — |
case-03 | pass→pass | 15,435 | 24,633 | +60% | 1 | 1 | 0% | 2,804 | 2,698 | -4% | 0 | 0 | — |
case-04 | pass→pass | 14,778 | 13,388 | -9% | 1 | 1 | 0% | 2,812 | 3,270 | +16% | 0 | 0 | — |
case-07 | pass→pass | 12,028 | 8,849 | -26% | 1 | 1 | 0% | 2,272 | 2,241 | -1% | 0 | 0 | — |
case-08 | pass→pass | 9,573 | 6,106 | -36% | 1 | 1 | 0% | 1,787 | 1,805 | +1% | 0 | 0 | — |
case-09 | pass→pass | 9,180 | 6,101 | -34% | 1 | 1 | 0% | 1,643 | 1,655 | +1% | 0 | 0 | — |
case-10 | pass→pass | 8,386 | 4,893 | -42% | 1 | 1 | 0% | 1,406 | 1,616 | +15% | 0 | 0 | — |
case-11 | pass→pass | 7,765 | 6,845 | -12% | 1 | 1 | 0% | 1,454 | 1,894 | +30% | 0 | 0 | — |
case-12 | pass→pass | 10,330 | 8,851 | -14% | 1 | 1 | 0% | 1,994 | 2,210 | +11% | 0 | 0 | — |
case-13 | pass→pass | 8,992 | 5,628 | -37% | 1 | 1 | 0% | 1,594 | 1,572 | -1% | 0 | 0 | — |
case-14 | fail→pass | 12,812 | 12,463 | -3% | 1 | 1 | 0% | 2,185 | 2,253 | +3% | 0 | 0 | — |
case-16 | pass→pass | 9,298 | 12,444 | +34% | 1 | 1 | 0% | 1,809 | 2,662 | +47% | 0 | 0 | — |
case-17 | pass→pass | 9,918 | 8,145 | -18% | 1 | 1 | 0% | 1,629 | 2,012 | +24% | 0 | 0 | — |
case-18 | pass→pass | 11,155 | 8,044 | -28% | 1 | 1 | 0% | 1,881 | 1,994 | +6% | 0 | 0 | — |
case-19 | pass→pass | 14,150 | 10,953 | -23% | 1 | 1 | 0% | 2,259 | 2,567 | +14% | 0 | 0 | — |
case-20 | pass→pass | 12,546 | 8,087 | -36% | 1 | 1 | 0% | 2,132 | 2,092 | -2% | 0 | 0 | — |
case-21 | pass→pass | 10,182 | 7,070 | -31% | 1 | 1 | 0% | 1,933 | 2,046 | +6% | 0 | 0 | — |
case-22 | pass→pass | 8,422 | 5,270 | -37% | 1 | 1 | 0% | 1,432 | 1,583 | +11% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.