From bytheslice
Create the day's pre-made pizza menu — turn a project brief into a structured 8-section PRD with phased implementation guidance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bytheslice:create-menuopusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- skills/create-menu/SKILL.md -->
Generate a complete, canonical PRD from a free-form project brief. This skill uses plan mode to resolve ambiguity before writing, and invokes prd-reviewer as its final step.
/create-menu is always standalone. It produces a single output artifact (docs/prd-<slug>.md) regardless of whether a master checklist already exists. No checklist coordination, no Prep-section interaction.
The PRD it produces feeds the next step (/cook-pizzas), but that handoff is a user action, not a skill-to-skill coordination.
Collect before generating:
Read both before entering plan mode:
| File | Used For |
|---|---|
| references/prd-template-v2.md | Section structure, headings, and prompts |
| references/project-defaults.md | Default tech stack, services, architecture conditional, token contract |
After reading the brief and any uploaded specs, MUST enter plan mode before generating any PRD content.
Analyze the brief for ambiguities, then generate 3–7 clarifying questions. Do not generate more than 7. Cover only what is genuinely ambiguous after inference from context and defaults. Present questions ONE AT A TIME using ask_user_input_v0 (use single_select or multi_select where possible — avoid free-text when a choice set is realistic).
Always provide a recommended answer in available options.
Question topics to cover (only if ambiguous in the brief):
All answers from plan mode populate Section 6 (Open Questions & Explicit Assumptions) of the PRD.
Before writing Section 4 (Technical Architecture), evaluate the architecture type:
| Signal | Architecture |
|---|---|
| Marketing-only single site (no auth, no dashboard, no admin, no client portal) | Single Next.js app — NOT a monorepo |
| Marketing + any combination of: auth, admin panel, client dashboard, user portal | Turborepo monorepo |
Detection: read the brief and plan-mode answers. If unclear, surface this as a plan-mode question (see Step 1). Do not default to monorepo without signal.
This decision drives Section 4 content and the project-defaults.md architecture field.
When parsing the project brief, extract these signals and route them to the right sections:
| Signal in Brief | Routes To |
|---|---|
| Nouns (objects, records, things users interact with) | Section 2 (Functional Requirements) — capabilities |
| Verbs (what users do) | Section 2 (Functional Requirements) |
| "For [audience]" or "[role] who needs..." | Section 1 (Problem & Users) — user paragraph |
| "So that [outcome]" or "to [achieve X]" | Section 1 (Problem & Users) — problem paragraph |
| "Without [thing]" or "instead of [alternative]" | Section 7 (Out of Scope) |
| "Connects to [service]" or "uses [provider]" | Section 2 implied integrations |
| "Must [perform/scale/comply]" | Section 3 (Non-Functional Requirements) |
| Time references ("first," "later," "eventually") | Section 6 (Open Questions — phasing assumptions) |
project-defaults.md where applicable.[Inferred: reasoning].docs/prd-[project-slug].md.agents/prd-reviewer.md as the final step — pass the draft PRD plus all source materials.verdict: revise, apply suggestions and re-run the reviewer. Cap at 2 iterations.revise after 2 iterations, return needs_human: true with hitl_category: prd_ambiguity.Not all gaps are equal. Use these tags so downstream readers know what's urgent:
| Tag | Meaning | Example |
|---|---|---|
[TBD-BLOCKER] | Must be resolved before Stage 1 work begins | [TBD-BLOCKER] auth model: SSO vs email/password |
[TBD-ASSUMPTION] | Working assumption documented, validate during design | [TBD-ASSUMPTION] users will tolerate email-only login for MVP |
[TBD-DEFER] | Can be resolved later in the project lifecycle | [TBD-DEFER] localization scope, English only at launch |
[Inferred: reason] | Filled in based on context, flag for review | [Inferred: B2B SaaS based on "team workspace" language] |
Before writing the file, verify:
[ ] Every capability in Section 2 maps to at least one non-functional constraint in Section 3
[ ] Every integration implied in Section 2 is accounted for in Section 4
[ ] Every open question from plan-mode answers appears in Section 6
[ ] Section 7 contains at least 2 explicit out-of-scope items
[ ] Architecture choice in Section 4 matches the conditional rule (Step 2)
[ ] Every [TBD-BLOCKER] item is surfaced in Section 6
If any check fails, fix the gap before writing the file or explicitly flag it with a tagged TBD.
docs/prd-[project-slug].md, or docs/prd.md if no slug is obvious.| Situation | Action |
|---|---|
| Tech stack not specified | Apply defaults from project-defaults.md |
| Integrations not mentioned | List defaults (Supabase, Stripe, Resend); mark optional ones [TBD-DEFER] |
| Data model not described | Enumerate entities implied by the brief; mark attributes [TBD-ASSUMPTION] |
| Personas vague | Draft 1–2 personas from context; mark with [Inferred: ...] |
| Auth model unspecified | Ask in plan-mode gate (affects architecture conditional) |
| Multi-tenancy unclear | Ask before generating — this affects schema and RLS design |
| Performance targets missing | Apply defaults from project-defaults.md NFR section |
| Out-of-scope not stated | Ask in plan-mode gate; ensure Section 7 is not empty |
After writing the PRD, dispatch agents/prd-reviewer.md with:
The reviewer returns a structured verdict. On verdict: revise, apply the suggested_revisions list and re-dispatch. Cap at 2 iterations. If still failing, set needs_human: true with hitl_category: prd_ambiguity and surface the specific blocking issues.
After writing the PRD file and completing the review loop, end the response with:
## PRD Generation Summary
**Confirmed** (from brief, defaults, or plan-mode answers):
- ...
**Assumed** (inferred or working assumptions):
- ...
**Blocked** (TBD-BLOCKER items needing input):
- ...
**Reviewer result**: pass | revise (N iterations)
[ ] Plan-mode gate completed (3–7 questions asked and answered)
[ ] Architecture conditional evaluated and documented in Section 4
[ ] All 8 sections (0–7) present in the output PRD
[ ] No Linear references in output
[ ] Consistency check passed (or gaps flagged with TBD tags)
[ ] prd-reviewer dispatched and returned verdict: pass (or HITL surfaced after 2 iterations)
[ ] PRD written to docs/prd-[project-slug].md
[ ] Generation summary included in response
[ ] All - [ ] checkbox syntax converted to [ ] in output
The PRD produced by this skill feeds downstream skills as follows:
| PRD Section | Feeds |
|---|---|
| Section 2 (Functional Requirements) | Drives feature stages in /cook-pizzas |
| Section 3 (Non-Functional Requirements) | Drives CI/CD scaffold gates + visual review checklist |
| Section 4 (Technical Architecture) | Drives monorepo decision + db-schema-foundation conditional |
| Section 5 (UX & Content Fundamentals) | Drives design-system gate input |
| Section 6 (Open Questions & Assumptions) | Drives phased-plan elicitation + HITL category 1 triggers |
| Section 7 (Out of Scope) | Guards every stage from scope creep — referenced throughout orchestration |
Pass the full PRD file path to /cook-pizzas after human review and sign-off.
npx claudepluginhub steve-piece/bytheslice --plugin bythesliceGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.