Vibe vs Spec
Before this: Choose an autonomy mode set how tightly each editing turn is reviewed.
Kiro
Amazon's agentic IDE — runs vibe or spec sessions against the factory's `.kiro/` steering, skills, and hooks. supports two session types. Lab C is the vibe
Thin natural-language session — short prompt, guardrails do the shaping; Lab C is the vibe case. case; multi-phase platform work prefers spec
Structured requirements → design → tasks under `.kiro/specs/` — preferred for novel platform work.-driven sessions under .kiro/specs/.
Choosing a mode
Section titled “Choosing a mode”| Dimension | Vibe (Lab C) | Spec-driven |
|---|---|---|
| Input | One natural-language prompt | Structured requirements → design → tasks |
| Feedback loop | After the fact (PR Pull request — the human merge gate; Argo CD only syncs what lands in Git after review. review) |
Before code (requirement refinement) |
| Traceability | Chat history | Versioned files in .kiro/specs/ |
| Best for | Known archetypes with strong steering Always-on and conditional markdown in `.kiro/steering/` that encodes naming, overlays, clusters, and archetypes a reviewer would otherwise carry in their head. |
Novel infrastructure, multi-stakeholder sign-off |
| Risk surface | Reviewer catches drift at PR time | Drift caught at spec-authoring time |
Vibe fits when the archetype is known, the ask maps to add-app
Factory skill that scaffolds a dual-overlay app tree from a thin prompt (Lab C). or promote-app
Factory skill path for promoting an already-shaped app across environments without inventing a new layout., and you trust guardrails plus PR review. Spec earns its keep for operator install, policy bundles, CI, and bootstrap wiring that need coordinated acceptance criteria.
They compose: specs build the platform into steering and skills; vibe onboards apps on top. Neither mode bypasses the human gate.
Next: Known scars and fixes captures the recurrent failures and exact fixes.