using-oac
IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT.
This is not negotiable. This is not optional. You cannot rationalize your way out of this.
How to Access Skills
In Claude Code: Use the Skill tool. When you invoke a skill, its content is loaded and presented to you—follow it directly. Never use the Read tool on skill files.
Using OAC Skills
The Rule
Invoke relevant or requested skills BEFORE any response or action. Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it.
digraph skill_flow {
"User message received" [shape=doublecircle];
"About to build/create something?" [shape=doublecircle];
"Already brainstormed?" [shape=diamond];
"Invoke oac:approach skill" [shape=box];
"Might any OAC skill apply?" [shape=diamond];
"Invoke Skill tool" [shape=box];
"Announce: 'OAC skill loaded: [friendly-skill-name] — [purpose]'" [shape=box];
"Has checklist?" [shape=diamond];
"Create TodoWrite todo per item" [shape=box];
"Follow skill exactly" [shape=box];
"Respond (including clarifications)" [shape=doublecircle];
"About to build/create something?" -> "Already brainstormed?";
"Already brainstormed?" -> "Invoke oac:approach skill" [label="no"];
"Already brainstormed?" -> "Might any OAC skill apply?" [label="yes"];
"Invoke oac:approach skill" -> "Might any OAC skill apply?";
"User message received" -> "Might any OAC skill apply?";
"Might any OAC skill apply?" -> "Invoke Skill tool" [label="yes, even 1%"];
"Might any OAC skill apply?" -> "Respond (including clarifications)" [label="definitely not"];
"Invoke Skill tool" -> "Announce: 'OAC skill loaded: [friendly-skill-name] — [purpose]'";
"Announce: 'OAC skill loaded: [friendly-skill-name] — [purpose]'" -> "Has checklist?";
"Has checklist?" -> "Create TodoWrite todo per item" [label="yes"];
"Has checklist?" -> "Follow skill exactly" [label="no"];
"Create TodoWrite todo per item" -> "Follow skill exactly";
}
Available OAC Skills
| Skill | When to invoke |
|---|---|
oac:using-oac |
This skill — loaded at session start |
oac:approach |
BEFORE any creative work, building features, adding functionality |
oac:context-discovery |
BEFORE implementing anything — find standards and patterns |
oac:task-breakdown |
When breaking complex features into subtasks |
oac:code-execution |
When implementing code subtasks |
oac:test-generation |
When creating tests |
oac:code-review |
When reviewing code changes |
oac:external-research |
When working with external libraries/packages |
oac:parallel-execution |
When running multiple agents in parallel |
oac:debugger |
BEFORE proposing any fix for a bug or test failure |
oac:verification-before-completion |
BEFORE claiming any work is complete or tests pass |
Skill Priority
When multiple skills could apply, use this order:
- Process skills first (approach, debugger) — these determine HOW to approach the task
- Implementation skills second (context-discovery, task-breakdown, code-execution) — these guide execution
"Let's build X" → approach first, then context-discovery, then implementation skills. "Fix this bug" → debugger first, then verification-before-completion.
Red Flags
These thoughts mean STOP — you're 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. |
| "Let me gather information first" | Skills tell you HOW to gather information. |
| "This doesn't need a formal skill" | If a skill exists, use it. |
| "I remember this skill" | Skills evolve. Read 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. |
| "This feels productive" | Undisciplined action wastes time. Skills prevent this. |
| "I know what that means" | Knowing the concept ≠ using the skill. Invoke it. |
Skill Types
Rigid (debugger, verification-before-completion): Follow exactly. Don't adapt away discipline.
Flexible (approach, context-discovery): Adapt principles to context.
The skill itself tells you which.
Skill Friendly Names
When announcing a skill, use the friendly name below (not the internal skill ID):
| Skill ID | Friendly Name |
|---|---|
oac-approach |
OAC Approach |
context-discovery |
OAC Context Discovery |
task-breakdown |
OAC Task Breakdown |
code-execution |
OAC Code Execution |
test-generation |
OAC Test Generation |
code-review |
OAC Code Review |
external-research |
OAC External Research |
parallel-execution |
OAC Parallel Execution |
debugger |
OAC Debugger |
verification-before-completion |
OAC Verification |
context-setup |
OAC Context Setup |
Example announcement: OAC skill loaded: OAC Approach — planning before implementation
User Instructions
Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.