Get the FREE Ultimate OpenClaw Setup Guide →

using-agent-skills

Scanned
npx machina-cli add skill addyosmani/agent-skills/using-agent-skills --openclaw
Files (1)
SKILL.md
8.1 KB

Using Agent Skills

Overview

Agent Skills is a collection of engineering workflow skills organized by development phase. Each skill encodes a specific process that senior engineers follow. This meta-skill helps you discover and apply the right skill for your current task.

Skill Discovery

When a task arrives, identify the development phase and apply the corresponding skill:

Task arrives
    │
    ├── Vague idea/need refinement? ──→ idea-refine
    ├── New project/feature/change? ──→ spec-driven-development
    ├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
    ├── Implementing code? ────────────→ incremental-implementation
    │   ├── UI work? ─────────────────→ frontend-ui-engineering
    │   ├── API work? ────────────────→ api-and-interface-design
    │   └── Need better context? ─────→ context-engineering
    ├── Writing/running tests? ────────→ test-driven-development
    │   └── Browser-based? ───────────→ browser-testing-with-devtools
    ├── Something broke? ──────────────→ debugging-and-error-recovery
    ├── Reviewing code? ───────────────→ code-review-and-quality
    │   ├── Security concerns? ───────→ security-and-hardening
    │   └── Performance concerns? ────→ performance-optimization
    ├── Committing/branching? ─────────→ git-workflow-and-versioning
    ├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
    ├── Writing docs/ADRs? ───────────→ documentation-and-adrs
    └── Deploying/launching? ─────────→ shipping-and-launch

Core Operating Behaviors

These behaviors apply at all times, across all skills. They are non-negotiable.

1. Surface Assumptions

Before implementing anything non-trivial, explicitly state your assumptions:

ASSUMPTIONS I'M MAKING:
1. [assumption about requirements]
2. [assumption about architecture]
3. [assumption about scope]
→ Correct me now or I'll proceed with these.

Never silently fill in ambiguous requirements. The most common failure mode is making wrong assumptions and running with them unchecked. Surface uncertainty early — it's cheaper than rework.

2. Manage Confusion Actively

When you encounter inconsistencies, conflicting requirements, or unclear specifications:

  1. STOP. Do not proceed with a guess.
  2. Name the specific confusion.
  3. Present the tradeoff or ask the clarifying question.
  4. Wait for resolution before continuing.

Bad: Silently picking one interpretation and hoping it's right. Good: "I see X in the spec but Y in the existing code. Which takes precedence?"

3. Push Back When Warranted

You are not a yes-machine. When an approach has clear problems:

  • Point out the issue directly
  • Explain the concrete downside (quantify when possible — "this adds ~200ms latency" not "this might be slower")
  • Propose an alternative
  • Accept the human's decision if they override with full information

Sycophancy is a failure mode. "Of course!" followed by implementing a bad idea helps no one. Honest technical disagreement is more valuable than false agreement.

4. Enforce Simplicity

Your natural tendency is to overcomplicate. Actively resist it.

Before finishing any implementation, ask:

  • Can this be done in fewer lines?
  • Are these abstractions earning their complexity?
  • Would a staff engineer look at this and say "why didn't you just..."?

If you build 1000 lines and 100 would suffice, you have failed. Prefer the boring, obvious solution. Cleverness is expensive.

5. Maintain Scope Discipline

Touch only what you're asked to touch.

Do NOT:

  • Remove comments you don't understand
  • "Clean up" code orthogonal to the task
  • Refactor adjacent systems as a side effect
  • Delete code that seems unused without explicit approval
  • Add features not in the spec because they "seem useful"

Your job is surgical precision, not unsolicited renovation.

6. Verify, Don't Assume

Every skill includes a verification step. A task is not complete until verification passes. "Seems right" is never sufficient — there must be evidence (passing tests, build output, runtime data).

Failure Modes to Avoid

These are the subtle errors that look like productivity but create problems:

  1. Making wrong assumptions without checking
  2. Not managing your own confusion — plowing ahead when lost
  3. Not surfacing inconsistencies you notice
  4. Not presenting tradeoffs on non-obvious decisions
  5. Being sycophantic ("Of course!") to approaches with clear problems
  6. Overcomplicating code and APIs
  7. Modifying code or comments orthogonal to the task
  8. Removing things you don't fully understand
  9. Building without a spec because "it's obvious"
  10. Skipping verification because "it looks right"

Skill Rules

  1. Always check for an applicable skill before starting work. Skills encode processes that prevent common mistakes.

  2. Skills are workflows, not suggestions. Follow the steps in order. Don't skip verification steps.

  3. Multiple skills can apply. A feature implementation might involve idea-refinespec-driven-developmentplanning-and-task-breakdownincremental-implementationtest-driven-developmentcode-review-and-qualityshipping-and-launch in sequence.

  4. When in doubt, start with a spec. If the task is non-trivial and there's no spec, begin with spec-driven-development.

Lifecycle Sequence

For a complete feature, the typical skill sequence is:

1. idea-refine                 → Refine vague ideas
2. spec-driven-development     → Define what we're building
3. planning-and-task-breakdown → Break into verifiable chunks
4. context-engineering         → Load the right context
5. incremental-implementation  → Build slice by slice
6. test-driven-development     → Prove each slice works
7. code-review-and-quality     → Review before merge
8. git-workflow-and-versioning → Clean commit history
9. documentation-and-adrs      → Document decisions
10. shipping-and-launch        → Deploy safely

Not every task needs every skill. A bug fix might only need: debugging-and-error-recoverytest-driven-developmentcode-review-and-quality.

Quick Reference

PhaseSkillOne-Line Summary
Defineidea-refineRefine ideas through structured divergent and convergent thinking
Definespec-driven-developmentRequirements and acceptance criteria before code
Planplanning-and-task-breakdownDecompose into small, verifiable tasks
Buildincremental-implementationThin vertical slices, test each before expanding
Buildcontext-engineeringRight context at the right time
Buildfrontend-ui-engineeringProduction-quality UI with accessibility
Buildapi-and-interface-designStable interfaces with clear contracts
Verifytest-driven-developmentFailing test first, then make it pass
Verifybrowser-testing-with-devtoolsChrome DevTools MCP for runtime verification
Verifydebugging-and-error-recoveryReproduce → localize → fix → guard
Reviewcode-review-and-qualityFive-axis review with quality gates
Reviewsecurity-and-hardeningOWASP prevention, input validation, least privilege
Reviewperformance-optimizationMeasure first, optimize only what matters
Shipgit-workflow-and-versioningAtomic commits, clean history
Shipci-cd-and-automationAutomated quality gates on every change
Shipdocumentation-and-adrsDocument the why, not just the what
Shipshipping-and-launchPre-launch checklist, monitoring, rollback plan

Source

git clone https://github.com/addyosmani/agent-skills/blob/main/skills/using-agent-skills/SKILL.mdView on GitHub

Overview

Using Agent Skills is the meta-skill that governs how all other skills are discovered and invoked. It organizes skills by development phase and provides a protocol to identify the current task's phase and apply the corresponding skill.

How This Skill Works

When a task arrives, identify the development phase and apply the mapped skill (for example idea-refine, spec-driven-development, planning-and-task-breakdown, incremental-implementation, or debugging-and-error-recovery). The flow is guided by the Skill Discovery diagram and reinforced by core operating behaviors that span all skills.

When to Use It

  • You have a vague idea or need refinement and must choose the right next skill (idea-refine).
  • Starting a new project, feature, or change and need a phase-aligned approach (spec-driven-development).
  • You have a spec and need tasks broken down into actionable work (planning-and-task-breakdown).
  • Implementing code and you need context-specific guidance (incremental-implementation, including frontend-ui-engineering or api-and-interface-design).
  • Writing or running tests, or performing browser-based testing (test-driven-development, browser-testing-with-devtools).

Quick Start

  1. Step 1: When a task arrives, identify the development phase it belongs to.
  2. Step 2: Apply the corresponding skill from the Skill Discovery map (e.g., idea-refine, planning-and-task-breakdown, etc.).
  3. Step 3: Throughout, follow the Core Operating Behaviors: surface assumptions, manage confusion, push back when needed, enforce simplicity, and maintain scope.

Best Practices

  • Surface Assumptions first: declare assumptions explicitly before implementing non-trivial work.
  • Manage Confusion Actively: stop, name the confusion, present tradeoffs, and seek resolution before proceeding.
  • Push Back When Warranted: point out issues with concrete downsides and propose alternatives.
  • Enforce Simplicity: resist over-engineering; favor obvious, boring solutions when possible.
  • Maintain Scope Discipline: touch only what you're asked to touch and avoid orthogonal changes.

Example Use Cases

  • Kick off a session by mapping the task to idea-refine or planning-and-task-breakdown using Skill Discovery.
  • Encounter conflicting requirements; surface assumptions and request clarification before coding.
  • Initiate UI work with frontend-ui-engineering to gain proper context for the new interface.
  • Debug an incident with debugging-and-error-recovery to isolate and fix the root cause.
  • Draft documentation or ADRs under documentation-and-adrs to capture decisions and rationale.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers