using-opm · git:20261005.14f51b0 · 2026-10-05 · sha256 d78fd1e9c6787247

using-opm git:20261005.14f51b0A

Immutable. This exact content never changes and is served at /api/v1/blob/d78fd1e9c6787247.

---
name: using-opm
description: Establishes how to find and invoke OPM skills before taking any other action, including clarifying questions. Use when starting any conversation or task, before exploring the codebase, answering a question, entering plan mode, or writing code.
---

# Using OPM

This file is injected at SessionStart by the OPM plugin hook, so it stays short. Subagents dispatched to execute a single task: ignore this skill.

## The Rule

If there is even a small chance a skill applies to what you are about to do, invoke it BEFORE any other action: before clarifying questions, before exploring the codebase, before checking files. If it turns out wrong for the situation, you do not have to use it.

Then announce "Using opm:<name> to <purpose>" and follow the skill exactly. If it has a checklist, create a todo per item.

## How to Invoke

- Skill tool: `Skill(skill: "opm:<name>")`, or the slash command `/opm:<name>`.
- Process skills come first (they set the approach); implementation skills carry it out.
- "Run this plan" -> `opm:executing-plans`.
- Before entering plan mode: if you have not brainstormed yet, invoke `opm:brainstorming` first.

## Pick the size first

| Size | Signal | Skill |
|------|--------|-------|
| spike | one file or about 10 lines, a clear bug or tweak | `opm:tdd-workflow`, no spec, plan or reviewer |
| bounded | a feature of a few tasks, design needed | `opm:brainstorming` then `opm:writing-plans` |
| multi-week | more than about a week or 8 tasks | `opm:milestone-planning` |
| unattended | a whole new project from one brief | `opm:jump-start <project-name> <brief>` |
| contested | the idea itself is unsettled | `opm:brew-idea <brief>` |

When no row fits, ask one question about size.

## Scale the approach

Use Claude Code's power without being asked; announce each step in one line ("Using 3 parallel subagents to ...").

- Wide search, review or audit -> a subagent, so the main context stays small.
- Independent pieces -> parallel subagents in one message; git worktrees when they edit files.
- More than about 3 tasks -> `opm:writing-plans`; weeks of work -> `opm:milestone-planning`.
- Many agents at once -> offer a multi-agent Workflow with a rough agent count; run it only after the user says yes.

Read references/orchestration.md when you are about to escalate.

## Workflow Map

1. `opm:brainstorming` - design, get approval. Architectural work writes `docs/specs/YYYY-MM-DD-<topic>.md`.
2. `opm:writing-plans` - turn the approved spec into bite-sized TDD tasks in `docs/plans/YYYY-MM-DD-<topic>.md`.
3. `opm:executing-plans` - fresh subagent per task, reviewer gate, progress ledger. Every task follows `opm:tdd-workflow`.
4. `opm:verification-before-completion` - fresh evidence before any "done", commit, or PR.
5. `opm:compound-learnings` - capture anything non-obvious learned along the way.

Optional: `/opm-video:explainer-video <path>` turns this into a narrated explainer (install the opm-video plugin first).

## Red Flags

These thoughts mean STOP - you are rationalizing:

| Thought | Reality |
|---------|---------|
| "This is just a simple question" | Questions are tasks. Check for skills. |
| "I need more context first" | Skill check comes BEFORE clarifying questions. |
| "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. |
| "I can check git/files quickly" | Files lack conversation context. Check for skills. |
| "This doesn't need a formal skill" | If a skill exists, use it. |
| "I remember this skill" | Skills evolve. Read the current version. |
| "This doesn't count as a task" | Action = task. Check for skills. |
| "The skill is overkill" | Simple things become complex. Use it. |
| "I'll just do this one thing first" | Check BEFORE doing anything. |
| "I know what that means" | Knowing the concept is not using the skill. Invoke it. |

## Precedence

User instructions (CLAUDE.md, rules files, direct requests) override skills; skills override default behavior. Skip a skill workflow only when the user has explicitly told you to.

<!-- Adapted from obra/superpowers (MIT) -->