Adapting Spec-Driven Workflow to Your Team Without Burning Time
The default spec-driven workflow works for a week, then you hit a project where it does not fit: research before specs, a review step before implementation, artifact types the default never heard of. Most teams abandon the workflow here. The alternative is customizing it to match the team.
Three levels, easiest first
Project config: a YAML file at openspec/config.yaml that sets defaults and injects context into every artifact. Best for most teams. Custom schemas: define your own workflow artifacts and their dependencies, for teams with unique processes. Global overrides: share schemas across projects, for power users only. Stop at level one; deeper levels pay off only when project config provably cannot express what you need.
Project config injects your context
The config injects context the agent sees on every artifact: your stack, API conventions, test framework, coding standards. Per-artifact rules appear only for the matching type, so a proposal rule never clutters specs. Tell it TypeScript, React, Node.js, REST, Jest; add a rule that proposals must include a rollback plan and specs use Given/When/Then. You stop correcting the same things in review.
Custom schemas and templates
When config is not enough, fork the built-in schema, edit the YAML and templates freely, and test immediately. A research-first team can define Research with no dependencies, Proposal requiring research, Tasks requiring proposal: the workflow enforces order without forcing phases you do not need. Templates are markdown files shaping generated output; add a rollback section to the proposal template and every future proposal has it.
Validate before using
Run schema validate before relying on a custom schema: it checks YAML syntax, template existence, circular dependencies, and artifact IDs. A typo in the schema file otherwise breaks every artifact generation mid-task.
The trade-off
Customization is addictive: once you know it exists, every team quirk feels like a reason to customize. Most quirks are signal that the team should change, not that the tool should accommodate. Before adding a custom schema, ask whether the default would force you to drop a genuinely better practice. If yes, customize. If no, change the practice. Teams that customize everything end up maintaining a workflow instead of shipping code.
The smallest test
Open your config.yaml, add your stack, your test runner, and one rule you repeat in every review. Generate the next artifact and check whether it obeys.
Recommended for you
- WorkflowSuperpowersClaude Code
Why Your Multi-Agent Workflow Keeps Colliding
Two agents in two threads share files but not context. Both decide on stale state. Fix: one fresh agent per task, with isolated context.
- WorkflowSuperpowersClaude Code
The Discipline Stack That Makes Agent Output Trustworthy
The reliability problem is not the model. It is the missing disciplines around it. Brainstorm, plan, test, verify, review: each gate before the next step.
- WorkflowSuperpowersClaude Code
Why Your Agent Forgets Step 5 by Step 12
A ten-task plan drifts by task four. The model is not forgetful. The plan is too coarse. Fix: smaller tasks with sharper edges.
- Workflow
Why Your Worktree Directory Becomes Unmanageable Past Ten Active Tasks
Ten or more active worktrees with no naming and cleanup rules becomes a graveyard of old branches and lost work. Three rules fix it.
Enjoyed this article?
Subscribe for new articles. No spam. Unsubscribe anytime.