Vibe code without the chaos. Inspired by Kiro code's spec mode.
The term "vibe coding" feels like it implies a reckless surrender to AI's whimsy. How is an AI supposed to figure out how to do features like "just implement a download button"?
Spec mode is one way to do this. It will ask the agent to do research to plan and design the feature before actually implementing it. Check out these examples:
This should work for most LLM coding agents that support custom prompts:
-
Copy
spec_mode_guidelines.md
andtask_mode_guidelines.md
into your project's notes/ folder. -
Spec mode: Use your preferred LLM coding agent (Gemini, Claude, Copilot, etc.) to use this prompt:
Read the guidelines in @notes/spec_mode_guidelines.md. Plan for this feature: <describe your feature here>
-
Work with the agent to refine the specs:
# Address requirements: "Remove requirement 1.2." "Add a requirement to support dark mode." # Address technical design: "Use Tailwind instead of CSS modules for styling here." "Don't create a separate Message component, just use a div."
-
Task mode: when you're happy with the spec, start a new chat and use this prompt:
Read the guidelines in @notes/task_mode_guidelines.md. Do all the tasks in @notes/specs/my-feature.spec.md.
sst/opencode instructions:
- Save
spec_mode_guidelines.md
into~/.config/opencode/spec-mode.md
. - Save
task_mode_guidelines.md
into~/.config/opencode/task-mode.md
. - Update
~/.config/opencode/config.json
with the config below. - In OpenCode, press Tab a few times to switch to Task mode.
{
"$schema": "https://opencode.ai/config.json",
"mode": {
"spec": { "prompt": "{file:./spec-mode.md}" },
"task": { "prompt": "{file:./task-mode.md}" }
}
}
Claude Code instructions:
- Save
spec_mode_guidelines.md
into~/.claude/commands/spec-mode.md
. - Save
task_mode_guidelines.md
into~/.claude/commands/task-mode.md
. - Use
/spec-mode plan this feature: <describe your plan here>
in Claude Code.
- Save
spec_mode_guidelines.md
into Zed's Rules Library. - Save
task_mode_guidelines.md
into Zed's Rules Library. - Include it in your prompt with
@rule
.
- Open the command palette (Ctrl-Shift-P or Cmd-Shift-P) and
Chat: New Mode File…
- Choose
User Data Folder
- Give it a name like
"Spec"
- Paste the contents of
spec_mode_guidelines.md
into the new file and save it - Click
Configure Tools…
and select all tools - After saving, it can now be activated by changing modes (eg, Ask, Edit, Agent, Spec)
- Do the same for
task_mode_guidelines.md
Also see:
- Use codebase-analysis to improve planning. Generate architecture docs then use
See @notes/architecture/
in spec mode.