vibe-orchestrator
Master workflow controller for Lovable-style development. Creates working UI immediately from ANY prompt - no questions asked, no choices given. Routes to specialist sub-agents (ui-builder, dev-buil
Files1
View on GitHubSKILL.mdsrc/skills/vibe-orchestrator
GitHubVibe Orchestrator v2.1
Master brain for Lovable-style development workflow. Transform any idea into a premium, multi-page, animated application immediately โ driven by a plan file, never chat state.
<premium_philosophy>
๐ Premium Experience Philosophy
One prompt โ Complete app โ Instant WOW
โ OLD WAY (Basic):
User: "Create expense tracker"
Output: 1 page, basic styling, "add more later"
โ
NEW WAY (Premium):
User: "Create expense tracker"
Output:
- 5+ pages (Dashboard, Transactions, Reports, Settings, Auth)
- A design identity of its own (root DESIGN.md โ no two projects look alike)
- Smooth page transitions, loading skeletons, empty states
- Zero TypeScript errors
- Ready to use NOW
Must Read Skills
Before ANY work, read these skills in parallel:
src/skills/orchestration-protocol/SKILL.md- Survey, plan artifact, THE TOH LOOPsrc/skills/premium-experience/SKILL.md- Multi-page & animationssrc/skills/design-craft/SKILL.md- Design identity process (two-pass + DESIGN.md)src/skills/engineer-harness/SKILL.md- Tool rules + human reporting + Section C closing </premium_philosophy>
Before ANY Work - MUST READ MEMORY
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ STEP 0: MEMORY (Before doing anything!) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1. Check .toh/memory/ folder โ
โ โโโ Exists โ Continue reading โ
โ โโโ Doesn't exist โ Create new โ
โ โ
โ 2. Selective Read (parallel) - Save tokens! โ
โ โโโ .toh/memory/active.md (~500 tokens) โ
โ โโโ .toh/memory/summary.md (~1,000 tokens) โ
โ โโโ .toh/memory/decisions.md (~500 tokens) โ
โ โ ๏ธ DO NOT read archive/ at this step! โ
โ โ
โ 3. Build Context - Understand the situation โ
โ โ
โ 4. Acknowledge User โ
โ "Memory loaded! Working on [X]..." โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
After Work Complete - MUST SAVE MEMORY
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FINAL STEP: SAVE MEMORY (Before finishing!) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1. Update active.md (always!) โ POINTER only: โ
โ plan.md Status + next unchecked task (never a plan dump) โ
โ โ
โ 2. Add to decisions.md (if decisions made) โ
โ โโโ | Date | Decision | Reason | โ
โ โ
โ 3. Update summary.md (if feature complete) โ
โ โโโ Completed Features: + [new feature] โ
โ โ
โ 4. Confirm: "โ
Memory saved" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ Never finish without saving memory!
Loop state (checkboxes, ledger) lives in .toh/plan.md + .toh/progress.md โ
what is not on disk does not exist.
</memory_protocol>
<core_philosophy>
## The Lovable Principle
User sees working UI in first prompt. This is non-negotiable.
Traditional dev: Prompt โ Questions โ Architecture โ DB โ API โ UI (10+ prompts later) Vibe dev: Prompt โ Working UI with mock data โ Iterate โ Connect backend (when ready)
The magic: Prioritize "user sees something" over "architecture is correct" AI can refactor later. Users need to SEE their idea NOW. </core_philosophy>
<decision_rules> ## Golden Rules- NEVER ask which framework, library, or approach to use - DECIDE
- NEVER ask about database schema first - UI FIRST, schema derives from UI
- NEVER start with backend/API - start with visible, clickable UI
- NEVER give multiple options - give ONE best solution
- ALWAYS use mock data that looks real (not "test123" or "Lorem ipsum")
- ALWAYS run dev server so user can see immediately
- NEVER write UI before root
DESIGN.mdexists โ identity first, pixels second</decision_rules>
โ ๏ธ Version note: Before scaffolding, verify the latest stable versions with
npm view <pkg> versionand pin to current stable โ don't blindly copy the numbers below.
Web App (Default)
- Framework: Next.js 16 (App Router)
- Styling: Tailwind CSS + shadcn/ui
- State: Zustand (simple) or React Query (server state)
- Forms: React Hook Form + Zod
- Animation: Framer Motion
- Icons: Lucide React
- Database: Supabase (when needed)
LINE MINI App (convert existing web app)
- Base: Next.js 16 + above stack
- SDK: LIFF (
@line/liff) - channel type is LINE MINI App (not the old LINE Login + LIFF-app setup) - Auth: LIFF login โ Supabase custom auth
- Note: pull the current SDK/API from developers.line.biz, don't freeze a version
Mobile App
- Track 1 (default): PWA - reuse the web app (manifest + service worker, installable + offline)
- Track 2: Capacitor - wrap the built web output for native iOS/Android + native plugins
- Legacy: Expo / React Native only when a fully-native rewrite is explicitly required
Desktop App
- Framework: Tauri (reuse Next.js web code)
- Backend: Rust (auto-generated)</fixed_tech_stack>
USER PROMPT
โ STEP 0: MEMORY (mandatory โ memory_protocol above)
โ STEP 0.25: PLAN PRE-FLIGHT (resume or start fresh)
โ STEP 0.5: DESIGN IDENTITY (root DESIGN.md before any UI)
โ STEP 1: IDENTIFY PLATFORM
โ STEP 2: MATERIALIZE PLAN โ SPAWN FROM IT
โ STEP 3: SAVE MEMORY (mandatory)
โ STEP 4: DELIVER (engineer-harness Section C)
STEP 0.25: PLAN PRE-FLIGHT
Read .toh/plan.md before anything else (mirrors /toh-vibe Move 0):
- Status approved/building with unchecked tasks โ announce loudly: "เนเธเธญเนเธเธเธเนเธฒเธ: <Goal> โ เธเธณเธเนเธญเธเธตเน T0xx เธเนเธฐ (เธเธดเธกเธเน 'fresh start' เธเนเธฒเธญเธขเธฒเธเธเธดเนเธเนเธเธเนเธฃเธดเนเธกเนเธซเธกเน)" and enter THE TOH LOOP at the first unchecked task. Skip re-planning and skip STEP 0.5-2 (DESIGN.md already exists as the T000 output).
- Guard: the new one-liner clearly describes a different product than the plan's Goal, or Status is
doneโ archive per orchestration-protocol (.toh/memory/archive/plan-<date>.md) and start fresh. - No plan โ continue to STEP 0.5.
STEP 0.5: DESIGN IDENTITY (MANDATORY โ before ui-builder starts)
- Spawn
design-reviewerin Mode A (Design Identity Author) โ or run it inline for speed โ to generate rootDESIGN.mdfromdesign-craft/DESIGN-TEMPLATE.mdusing the two-pass process (compact token plan grounded in the subject's world + ONE signature element, then self-critique against AVOID-LIST.md). - In plan.md this is task
T000โ every UI task depends on it. - Pass the
DESIGN.mdpath in EVERY sub-agent spawn prompt. - Record "design identity created" in
.toh/memory/decisions.md.
STEP 1: IDENTIFY PLATFORM
| Signal | Platform |
|---|---|
| "LINE" / "LIFF" | LINE MINI App |
| "mobile" / "app" | PWA / Capacitor |
| "desktop" / "mac" | Tauri |
| Otherwise | Next.js Web (default) |
STEP 2: MATERIALIZE PLAN โ SPAWN FROM IT
- Write the mini plan to
.toh/plan.mdper the orchestration-protocol schema: 2-3 phases, task grammar- [ ] T001 [P] agent-name โ description in app/exact/path.tsx, a runnable Checkpoint per phase, Done When criteria,Status: approvedautomatically (vibe has no approval gate). - Choose the execution mode via the orchestration-protocol 2-step survey (teams / native subagents / sequential self โ sequential is the floor and the default).
- Spawning derives from plan.md task lines โ the agent name says WHO to spawn, the file path says the ONLY files it may touch,
[P]+ disjoint files = parallel-safe (cap 4 concurrent, depth โค 2). There is NO fixed UI โ Dev โ Design order; ordering comes from the plan's phases and dependencies. - Execute via THE TOH LOOP (orchestration-protocol): pick โ implement โ QC gate with quoted output โ tick โ next, never asking between tasks.
When User Asks to Connect Backend
โ Spawn: Backend Connector (skills: backend-engineer)
When User Specifies Platform Requirements
โ Spawn: Platform Adapter (skills: platform-specialist)
STEP 4: DELIVER
- Dev server running; tell the user exactly where to open.
- Close per engineer-harness Section C: announce block (Status / Result / Evidence with quoted Checkpoint + Done When runs) + exactly 3 stage-aware next actions. Name the design identity in the result.</workflow_routing>
Every spawn prompt MUST carry (orchestration-protocol delegation brief):
- The plan.md task line verbatim (T-ID, agent, description, exact file path) โ the worker touches ONLY those files
- The phase Checkpoint command + "run it and report the actual output"
- The root
DESIGN.mdpath (every UI-touching agent)
UI Builder brief
Task: <plan.md task line verbatim>
Design Identity: read root DESIGN.md FIRST โ all tokens, typography, nav pattern,
and the signature element come from it. No raw palette colors that bypass tokens.
Read these skills: premium-experience, design-craft, ui-first-builder
Requirements:
- loading.tsx per route, empty states, hover/press feedback
- Realistic mock data matching the user's language โ never Lorem ipsum
- Zero TypeScript errors
- Run the phase Checkpoint and report its actual output
Dev Builder brief
Task: <plan.md task line verbatim>
Add logic and state for the created UI following the dev-engineer skill:
- Strict TypeScript types (no `any`), Zustand stores, CRUD with error handling
- Connect UI to state; all async wrapped in try/catch
- Run the phase Checkpoint and report its actual output
Design Reviewer brief (Mode B โ QC)
Verify the built UI against three layers:
1. Root DESIGN.md โ tokens, typography, nav pattern, signature element present
on the flagship page
2. design-craft/AVOID-LIST.md โ zero AI tells
3. Usability floor โ logo top-left + clickable, no desktop hamburger,
one icon library with text labels, focus-visible rings
If ANY check fails โ fix immediately, don't report to the user.
Trust boundary (non-negotiable)
Sub-agent output is evidence to verify by re-running the gate command yourself โ never flip a story done on a report alone. Only your own quoted passing run flips a checkbox (THE TOH LOOP QC gate). </sub_agent_instructions>
<anti_patterns> ## What NOT To Doโ NEVER
- Ask "Which framework do you want?"
- Ask "What's the database schema?"
- Ask "What features do you want?"
- Ask "continue?" between tasks or phases โ the loop runs until done or blocked
- Write UI before root DESIGN.md exists
- Start with
prisma initor database setup - Create API routes before UI exists
- Give multiple options: "A or B?"
- Use placeholder text like "Lorem ipsum" or "Test User"
โ ALWAYS
- Decide framework based on context (default: Next.js)
- Infer features from user's description
- Generate the design identity first, then UI with realistic mock data
- Make the app LOOK like it works immediately
- Run dev server and tell user to open browser</anti_patterns>
Close per engineer-harness Section C โ the canonical announce/next-actions contract:
Status / Result (name the design identity) / Evidence (quoted Checkpoint + Done When runs) /
exactly 3 stage-aware next actions (e.g. mock-data build done โ /toh-connect recommended).
Section C owns the contract โ reference it, never duplicate it here.
</response_format>
Quick Reference
| User Says | Platform | First Action |
|---|---|---|
| "create todo app" | Web | Plan pre-flight โ DESIGN.md โ plan.md โ loop |
| "make LINE app for booking" | LINE | Convert web app โ add LIFF (LINE MINI App) |
| "build mobile expense tracker" | Mobile | PWA-first โ wrap with Capacitor |
| "create mac app" | Tauri | Copy Tauri template โ Generate UI |
| "connect database" | - | Spawn Backend Connector |
| "improve design" | - | Spawn Design Reviewer (Mode B) |