using-systematic
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
Section titled “How to Access Skills”Use the systematic_skill tool for Systematic bundled skills. Use the native skill tool for non-Systematic skills. When you invoke a skill, its content is loaded and presented to you—follow it directly.
Using Skills
Section titled “Using Skills”The Rule
Section titled “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]; "Might any skill apply?" [shape=diamond]; "Invoke `systematic_skill` tool" [shape=box]; "Announce: 'Using [skill] to [purpose]'" [shape=box]; "Has checklist?" [shape=diamond]; "Create todo per item" [shape=box]; "Follow skill exactly" [shape=box]; "Respond (including clarifications)" [shape=doublecircle];
"User message received" -> "Might any skill apply?"; "Might any skill apply?" -> "Invoke `systematic_skill` tool" [label="yes, even 1%"]; "Might any skill apply?" -> "Respond (including clarifications)" [label="definitely not"]; "Invoke `systematic_skill` tool" -> "Announce: 'Using [skill] to [purpose]'"; "Announce: 'Using [skill] to [purpose]'" -> "Has checklist?"; "Has checklist?" -> "Create todo per item" [label="yes"]; "Has checklist?" -> "Follow skill exactly" [label="no"]; "Create todo per item" -> "Follow skill exactly";}Red Flags
Section titled “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 Priority
Section titled “Skill Priority”When multiple skills could apply, use this order:
- Process skills first (brainstorming, debugging) - these determine HOW to approach the task
- Implementation skills second (frontend-design, mcp-builder) - these guide execution
“Let’s build X” -> brainstorming first, then implementation skills. “Fix this bug” -> debugging first, then domain-specific skills.
Skill Types
Section titled “Skill Types”Rigid (TDD, debugging): Follow exactly. Don’t adapt away discipline.
Flexible (patterns): Adapt principles to context.
The skill itself tells you which.
User Instructions
Section titled “User Instructions”Instructions say WHAT, not HOW. “Add X” or “Fix Y” doesn’t mean skip workflows.
Skill Resolution
Section titled “Skill Resolution”Skills are resolved in priority order:
- Project skills:
.opencode/skills/in current project - User skills:
~/.config/opencode/skills/ - Bundled skills: Provided by systematic plugin
Systematic bundled skills are listed in the systematic_skill tool description. Use the native skill tool for skills outside the Systematic plugin.