agentleFS
GuillemRocaGuillemRoca/agent-skills-android/skills/using-agent-skills/SKILL.md

using-agent-skills

Skill2 starsChanged 40 days agoMITView on GitHub

Use when starting a session or selecting a skill for a task. Meta-skill defining five core agent behaviors: assumption surfacing, confusion management, constructive pushback, simplicity enforcement, and scope discipline. Includes the skill discovery flowchart for all 30 Android skills.

49 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use brainstorm-experiments-existing, prioritize-assumptions and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • skytiger6724Skill

    brainstorm-experiments-existing

    Design experiments to test assumptions for an existing product — prototypes, A/B tests, spikes, and other low-effort validation methods. Use when validating assumptions, testing feature ideas cheaply, or planning product experiments.

    Also in 4 projects that use this

  • skytiger6724Skill

    prioritize-assumptions

    Prioritize assumptions using an Impact × Risk matrix and suggest experiments for each. Use when triaging a list of assumptions, deciding what to test first, or applying the assumption prioritization canvas.

    Also in 4 projects that use this

  • 45ckSkill

    pestle-analysis

    Also in 4 projects that use this

  • About-IntelligenceSkill

    positioning-ideas

    Brainstorm product positioning ideas differentiated from competitors.

    Also in 4 projects that use this

  • +2 more from skytiger6724

The file

We split this skill into the rules it gives an agent

11 rules. 1 is common, 10 are distinctive, and 0 are very specific to this project.

  • 1

    Common

    Most of the 44 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    Before implementing non-trivial work, state your assumptions:

    line 20
  2. Distinctive:

    When encountering inconsistencies, stop and clarify:

    line 30
  3. Distinctive:

    Don't default to agreement.

    line 38
  4. Distinctive:

    Before writing code, ask: "Can this be done with less?"

    line 46
  5. Distinctive:

    Don't add features beyond what's requested

    line 49
  6. Distinctive:

    Follow project conventions, don't introduce new patterns

    line 51
  7. Distinctive:

    Only modify what's requested:

    line 55
  8. Distinctive:

    Don't refactor neighboring code "while you're here"

    line 57
  9. Distinctive:

    Don't add error handling for impossible scenarios

    line 58
  10. Distinctive:

    Don't add comments to code you didn't change

    line 59
  11. Distinctive:

    Don't upgrade dependencies unrelated to the task

    line 60

“Common” is measured: kept by at least 6 in 10 of the 44 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Using Agent Skills (Android)

Overview

This is the meta-skill — it defines how agents should work, not what they should build. Five core operating behaviors ensure agents produce reliable, high-quality Android code that matches project conventions and user intent.

Five Core Operating Behaviors

1. Surface Assumptions Explicitly

Before implementing non-trivial work, state your assumptions:

  • "I'm assuming we're using MVVM, not MVI, for this screen"
  • "I'm assuming minSdk 26 since that's in build.gradle.kts"
  • "I'm assuming offline-first since the project uses Room as source of truth"

Why: Unstated assumptions are the #1 cause of wasted agent work. A wrong assumption in step 1 makes steps 2–10 wrong.

2. Manage Confusion

When encountering inconsistencies, stop and clarify:

  • "The spec says use DataStore but the existing code uses SharedPreferences — which should I follow?"
  • "TaskRepository has two different patterns — which is the intended one?"
  • Name the specific confusion. Don't proceed with a guess.

3. Push Back When Warranted

Don't default to agreement. When a request has concrete downsides, say so:

  • "Adding that dependency would increase APK size by ~2MB for a feature used by <1% of users"
  • "Skipping tests here is risky because this ViewModel handles payment state"
  • Provide the tradeoff, let the human decide.

4. Enforce Simplicity

Before writing code, ask: "Can this be done with less?"

  • Resist unnecessary abstractions
  • Don't add features beyond what's requested
  • Three similar lines of code is better than a premature abstraction
  • Follow project conventions, don't introduce new patterns

5. Maintain Scope Discipline

Only modify what's requested:

  • Don't refactor neighboring code "while you're here"
  • Don't add error handling for impossible scenarios
  • Don't add comments to code you didn't change
  • Don't upgrade dependencies unrelated to the task

Skill Discovery Flowchart

Match your current task to the right skill:

What are you trying to do?
│
├─ "I have a vague idea"
│   └─ idea-refine → spec-driven-development
│
├─ "Requirements are unclear or contradictory"
│   └─ interview-me → spec-driven-development
│
├─ "I need to write a spec"
│   └─ spec-driven-development
│
├─ "No quality bar is written down" / "the agent keeps silencing checks"
│   └─ constraint-driven-development
│
├─ "I need to plan implementation"
│   └─ planning-and-task-breakdown
│
├─ "I need to build a feature"
│   ├─ Architecture decisions? → android-architecture
│   ├─ UI with Compose? → android-ui-engineering
│   ├─ Data persistence? → android-data-persistence
│   ├─ API/interface design? → api-and-interface-design
│   ├─ Work outside the visible UI (sync, uploads)? → android-background-work
│   ├─ High-stakes, hard-to-reverse decision? → doubt-driven-development
│   └─ General implementation → incremental-implementation + test-driven-development
│
├─ "I need to test"
│   ├─ Unit/integration tests → test-driven-development
│   ├─ Device/UI tests → android-device-testing
│   ├─ End-to-end proof on a device → android-e2e-verification
│   └─ Accessibility testing → android-accessibility
│
├─ "I need to review code"
│   ├─ Code quality → code-review-and-quality
│   ├─ Security review → security-and-hardening
│   └─ Performance review → performance-optimization
│
├─ "I need to debug"
│   └─ debugging-and-error-recovery
│
├─ "I need to simplify code"
│   └─ code-simplification
│
├─ "I need to ship"
│   ├─ CI/CD setup → ci-cd-and-automation
│   ├─ Version/release → git-workflow-and-versioning
│   ├─ Logging, crash reporting, monitoring → observability-and-instrumentation
│   └─ Launch checklist → shipping-and-launch
│
├─ "I need to migrate/deprecate"
│   └─ deprecation-and-migration
│
├─ "I need to write docs"
│   └─ documentation-and-adrs
│
├─ "I need to set up context for AI"
│   └─ context-engineering
│
├─ "I need to check official docs"
│   └─ source-driven-development
│
└─ "I'm not sure"
    └─ Start with idea-refine or context-engineering

Quick Reference: All 30 Skills

PhaseSkillTrigger
DEFINEinterview-meRequirements vague or contradictory
DEFINEidea-refineVague idea needs sharpening
DEFINEspec-driven-developmentNeed a spec before coding
DEFINEcontext-engineeringSetting up AI context for project
DEFINEconstraint-driven-developmentWriting down and guarding the quality bar
PLANplanning-and-task-breakdownBreaking work into tasks
PLANandroid-architectureArchitecture decisions
BUILDincremental-implementationBuilding feature step by step
BUILDtest-driven-developmentWriting tests before code
BUILDandroid-ui-engineeringBuilding Compose UI
BUILDandroid-data-persistenceRoom, DataStore, offline-first
BUILDandroid-background-workWorkManager, foreground services, alarms
BUILDapi-and-interface-designDesigning interfaces and contracts
BUILDsource-driven-developmentUsing official docs for framework code
BUILDdoubt-driven-developmentStress-testing a high-stakes decision
BUILDcode-simplificationMaking code easier to understand
BUILDdocumentation-and-adrsWriting docs and ADRs
VERIFYandroid-device-testingInstrumented tests, emulator, ADB
VERIFYandroid-e2e-verificationMaestro end-to-end flows on device
VERIFYandroid-accessibilityAccessibility compliance
VERIFYdebugging-and-error-recoveryFixing bugs systematically
VERIFYperformance-optimizationMeasuring and improving performance
REVIEWcode-review-and-qualityReviewing code quality
REVIEWsecurity-and-hardeningSecurity review and hardening
SHIPci-cd-and-automationCI/CD pipeline setup
SHIPgit-workflow-and-versioningGit workflow and versioning
SHIPshipping-and-launchRelease checklist and rollout
SHIPobservability-and-instrumentationLogging, Crashlytics, release health
SHIPdeprecation-and-migrationDeprecating and migrating code
METAusing-agent-skillsHow agents should operate

Skills Are Workflows, Not Suggestions

  • Follow steps in order — each step depends on the previous
  • Never skip verification — "it looks right" is not evidence
  • Produce tangible artifacts — specs, task lists, test results, not just prose
  • Anti-rationalizations are real — if you're about to skip a step, check the "Common Rationalizations" table
  • Assumption-making without validation is the most common failure mode

Verification

  • Assumptions stated explicitly before implementation
  • Confusion surfaced (not silently resolved with guesses)
  • Pushback provided when warranted (with tradeoffs)
  • Simplicity enforced (no unnecessary abstractions)
  • Scope maintained (only requested changes made)
  • Correct skill loaded for the current task

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.