This repository documents the native-first OpenCode workflow adopted in April 2026.
The core rule is still the same:
one primary owner per task phase, with overlays only when they add a distinct kind of value.
What changed is the implementation strategy. Instead of keeping multiple heavyweight workflow systems active all the time, the current stack uses OpenCode's native agents, commands, and plugins as the baseline, then brings in stronger models or external evidence only when the task actually needs them.
- keep the always-loaded context small
- make planning, testing, implementation, review, and verification explicit
- route strong models on demand instead of paying their cost on every turn
- preserve one clear owner at a time
- keep optional extensions optional
| Layer | Tooling | Responsibility |
|---|---|---|
| 0. Native runtime | OpenCode agents, subagents, model routing, variants | Default ownership, day-to-day execution, model selection |
| 1. Durable instructions | AGENTS.md, CONTRIBUTING.md, project docs |
Stable rules, safety boundaries, coding standards |
| 2. On-demand skills | Optional framework/domain skills such as Superpowers | Specialist guidance only when the domain clearly matches |
| 3. Workflow commands | /plan, /spec, /implement, /review, /verify, /release |
Repeatable task flows with explicit models and outputs |
| 4. Runtime plugins | smart-compaction, verify-gate |
Context retention and soft verification gates |
| 5. External evidence | Sentry MCP, optional OpenSpec or issue systems | Runtime validation and artifacts beyond one local session |
The active owner is now selected inside OpenCode itself.
buildandbuild-deepown implementation workplanandplan-deepown design and requirement clarification- subagents such as
reviewerandexploreassist with narrow responsibilities - commands intentionally bind heavyweight phases to stronger models
- Sentry contributes evidence without taking ownership
OpenSpec is no longer a required baseline dependency in this repository's default flow. It remains useful when you want a larger tracked lifecycle beyond PLAN.md, but the native stack does not depend on it.
The default flow documented by this repo is:
/planfor interactive planning with clarifying questions and a persistedPLAN.md/specto turn acceptance criteria into Vitest-oriented test skeletons/implementto execute against the plan and test anchors/reviewfor focused review feedback/verifyfor tests, lint, and type checks
This replaces the older pattern where planning discipline and lifecycle management were spread across multiple separate tools.
The earlier five-tool stack proved useful, but it carried real costs:
- overlapping responsibilities
- larger always-loaded prompts
- slower model reasoning
- more opportunities for configuration drift
The native-first stack keeps the same principles while reducing duplication. Planning rigor, TDD discipline, and runtime validation still exist, but they now live closer to OpenCode's own primitives.