mise-en-place
Mise-en-Place
Turn a raw idea or existing spec into a detailed, implementation-ready prd.json for ratatouille.
Trigger Formats
mise-en-place: <short idea>mise-en-place: <file path>(e.g.,mise-en-place: SPEC.md)
Inputs
- Idea prompt OR spec file
- Optional: existing codebase to inspect for stack + constraints
Outputs
prd.json(root)
Workflow
1) Intake
- If user provides a file path, read it. If missing, ask for the correct path.
- If user provides a prompt, treat it as the seed spec.
- If a codebase exists, do a quick scan for stack + constraints (configs, lockfiles) to avoid redundant questions.
2) Interview + Brainstorm
Ask focused questions to fill gaps. Keep it fast and structured. If the user prefers brevity, batch 3-5 questions at a time.
Minimum areas to cover:
- Problem + target users
- Core user flow (start → success)
- Features (must-have vs nice-to-have)
- Non-goals/out of scope
- Tech stack expectations (or confirm detected stack)
- Data model + APIs/integrations
- Security/privacy requirements
- Design direction (if UI)
- Constraints (deadline, budget, compliance)
3) Research (Web)
Run targeted web research for:
- Domain-specific standards or best practices
- Chosen stack + library gotchas
- Security/compliance requirements (if applicable)
- Competitive benchmarks or common UX patterns
Summarize key findings (short bullets) and capture sources in prd.json.
4) Generate prd.json
Create a single, canonical JSON file in the repo root:
{
"meta": {
"title": "",
"created": "YYYY-MM-DD",
"updated": "YYYY-MM-DD",
"source": "mise-en-place",
"seed": "prompt|file"
},
"vision": {
"problem": "",
"audience": "",
"success": ""
},
"scope": {
"in": [""],
"out": [""]
},
"user_flow": [
"Discovery",
"Onboarding",
"Core loop",
"Exit/return"
],
"features": [
{
"id": "F-001",
"name": "",
"description": "",
"inputs": [""],
"outputs": [""],
"edge_cases": [""]
}
],
"requirements": {
"functional": [""],
"non_functional": [""]
},
"data_model": [
{
"entity": "",
"fields": [""],
"relationships": [""]
}
],
"integrations": [
{
"name": "",
"purpose": "",
"constraints": ""
}
],
"design": {
"style": "",
"references": [""]
},
"tech_stack": {
"frontend": "",
"backend": "",
"db": "",
"auth": "",
"hosting": "",
"realtime": "",
"other": [""]
},
"risks": [""],
"research": [
{
"topic": "",
"summary": "",
"sources": [""]
}
],
"tasks": [
{
"id": "T-001",
"title": "",
"goal": "",
"scope": "one iteration",
"acceptance_criteria": [""],
"tracer_bullet": "thin end-to-end slice",
"dependencies": [""],
"status": "todo",
"notes": ""
}
]
}
5) Task Decomposition Rules
- Each task must be one ratatouille iteration.
- Provide a tracer-bullet path for each task.
- Keep tasks independent where possible.
- Include explicit acceptance criteria.
6) Handoff Hint
Finish by telling the user to run ratatouille:
ratatouille: prd.json
Rules
- Be concise and precise.
- Do not implement code.
- Store everything in
prd.json.
More from sebastiaanwouters/dotagents
flyctl
Deploy and manage apps on Fly.io using flyctl CLI. Triggers on: fly deploy, fly.io, flyctl, deploy to fly. Handles launch, deploy, scale, secrets, volumes, databases.
79teacher
Guide learning and deep understanding through proven methodologies (Socratic, Feynman, Problem-Based). Use when user says "help me understand", "teach me", "explain this", "learn about", "socratic", "feynman", "problem-based", "I don't understand", "confused about", "why does", or wants to truly grasp a concept.
77chef
Telegram communication for AI agents. ALL methods are BLOCKING. Use for user interviews, status updates, and feedback collection.
34bitwarden
Retrieves API keys, passwords, secrets from Bitwarden vault using bw CLI. Triggers on missing env variables, missing API keys, missing secrets, "secret not found", "env not set", or "use bw".
29librarian
Use for code research that needs dependency internals, upstream implementation examples, or external prior art. Always delegate to a subagent that investigates with opensrc and web search, then return only distilled findings, versions, paths, and links.
29frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics.
28