Skip to content
Back to skills

Using Agent Skills

ASecurity

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.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 4, 2026
ai-agentstestingdebuggingcode-reviewgitapici/cdsecurityperformancedocumentation

Works with

  • api

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add GuillemRoca/agent-skills-android --skill using-agent-skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Using Agent Skills?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Using Agent Skills
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/guillemroca-using-agent-skills/badge)](https://www.skillsdirectory.com/skills/guillemroca-using-agent-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: using-agent-skills
description: >-
  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.
---

# 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

| Phase | Skill | Trigger |
|-------|-------|---------|
| **DEFINE** | `interview-me` | Requirements vague or contradictory |
| **DEFINE** | `idea-refine` | Vague idea needs sharpening |
| **DEFINE** | `spec-driven-development` | Need a spec before coding |
| **DEFINE** | `context-engineering` | Setting up AI context for project |
| **DEFINE** | `constraint-driven-development` | Writing down and guarding the quality bar |
| **PLAN** | `planning-and-task-breakdown` | Breaking work into tasks |
| **PLAN** | `android-architecture` | Architecture decisions |
| **BUILD** | `incremental-implementation` | Building feature step by step |
| **BUILD** | `test-driven-development` | Writing tests before code |
| **BUILD** | `android-ui-engineering` | Building Compose UI |
| **BUILD** | `android-data-persistence` | Room, DataStore, offline-first |
| **BUILD** | `android-background-work` | WorkManager, foreground services, alarms |
| **BUILD** | `api-and-interface-design` | Designing interfaces and contracts |
| **BUILD** | `source-driven-development` | Using official docs for framework code |
| **BUILD** | `doubt-driven-development` | Stress-testing a high-stakes decision |
| **BUILD** | `code-simplification` | Making code easier to understand |
| **BUILD** | `documentation-and-adrs` | Writing docs and ADRs |
| **VERIFY** | `android-device-testing` | Instrumented tests, emulator, ADB |
| **VERIFY** | `android-e2e-verification` | Maestro end-to-end flows on device |
| **VERIFY** | `android-accessibility` | Accessibility compliance |
| **VERIFY** | `debugging-and-error-recovery` | Fixing bugs systematically |
| **VERIFY** | `performance-optimization` | Measuring and improving performance |
| **REVIEW** | `code-review-and-quality` | Reviewing code quality |
| **REVIEW** | `security-and-hardening` | Security review and hardening |
| **SHIP** | `ci-cd-and-automation` | CI/CD pipeline setup |
| **SHIP** | `git-workflow-and-versioning` | Git workflow and versioning |
| **SHIP** | `shipping-and-launch` | Release checklist and rollout |
| **SHIP** | `observability-and-instrumentation` | Logging, Crashlytics, release health |
| **SHIP** | `deprecation-and-migration` | Deprecating and migrating code |
| **META** | `using-agent-skills` | How 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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…