{"id":"9ae0b640-6af3-4c62-8288-32abc02820eb","shortId":"yRSmBA","kind":"skill","title":"cook","tagline":"Feature development with guardrails. Plan → Review → Code → Ship.","description":"# cook skill\n<<<<<<<< HEAD:skills/cook/SKILL.md\n\n## ⛔ CRITICAL: PLANNING ONLY - NO CODE\n\n**`/cook` produces ONLY an artifact file. Do NOT implement any code.**\n\n- ❌ NO adding/modifying source files\n- ❌ NO creating classes, functions, or components\n- ❌ NO running implementation tests\n- ❌ NO writing actual code beyond file path references\n- ❌ NO \"Implementation\" step in todo list\n- ✅ ONLY produce the artifact file (`cook/*.cook.md`)\n\nAfter cooking is complete, user will **separately** request implementation.\n\n**Correct todo list for /cook:**\n1. Create artifact file (FIRST!)\n2. Product review - scope & acceptance criteria\n3. UX review - interaction design\n4. Architecture review - technical approach\n5. Security review - risk assessment\n6. QA review - test plan\n7. Finalize artifact\n\n**WRONG - do NOT include:**\n- ❌ Implementation\n- ❌ Write code\n- ❌ Any coding step\n\n---\n\n## ⚡ IMMEDIATE FIRST ACTION - EXECUTE NOW\n\n**Your VERY FIRST tool call MUST be Write to create the artifact file.**\n\nExecute this Write call IMMEDIATELY:\n\n```\nWrite(\n  file_path=\"cook/<feature-slug>.<YYYY-MM-DD>.cook.md\",\n  content=\"<full skeleton below>\"\n)\n```\n\n**BLOCKED ACTIONS until artifact exists:**\n- ❌ Read (any file)\n- ❌ Glob/Grep (any search)\n- ❌ Task/Explore (any agent)\n- ❌ Bash (any command)\n\n**ONLY ALLOWED first action:** Write artifact file.\n\nA PreToolUse hook will BLOCK other tools until artifact exists.\n\n```markdown\n# Cooking Result\n\n## Dish\n<1-2 sentence description of what we're building>\n\n## Status\nraw\n\n## Cooking Mode\nwell-done\n\n## Current Phase\nStep 0.0 - Artifact Created\n\n## Ownership\n- Decision Owner: _TBD_\n- Reviewers: _TBD_\n- Approved by: _TBD_\n\n---\n\n# Phase 0 - Project Policy & Context\n\n## Sources Scanned\n| File | Status | Key Rules |\n|------|--------|-----------|\n| CLAUDE.md | _Pending_ | |\n| README.md | _Pending_ | |\n| .claude/agents/*.md | _Pending_ | |\n\n## Hard Rules (must not be violated)\n_Pending..._\n\n## Preferred Patterns\n_Pending..._\n\n## Detected Conflicts\n_Pending..._\n\n## Policy Alignment Risk\n_Pending..._\n\n---\n\n# Step 1 - Read the Order\n\n## Feature Summary\n_Pending..._\n\n## Affected Modules/Components\n| Module | Impact | Risk Level |\n|--------|--------|------------|\n| | | |\n\n## Dependencies\n_Pending..._\n\n## Microwave Blocker Check\n_Pending..._\n\n---\n\n# Step 2 - Ingredient Approval (Product Review)\n\n## Product Decision\n_Pending: Approved / Rejected / Deferred_\n\n## Scope\n\n### In Scope\n- _Pending..._\n\n### Out of Scope\n- _Pending..._\n\n### Non-goals\n- _Pending..._\n\n## User Value\n_Pending..._\n\n## Assumptions\n- _Pending..._\n\n---\n\n# Step 3 - Presentation Planning (UX Review)\n\n## UX Decision\n_Pending: Required / Not Required_\n\n## User Flow\n_Pending..._\n\n## UI Components Affected\n| Component | Change Type | Notes |\n|-----------|-------------|-------|\n| | | |\n\n## Accessibility Considerations\n_Pending..._\n\n---\n\n# Step 4 - Implementation Plan\n\n## Architecture Decision\n\n### Selected Approach\n_Pending..._\n\n### Alternatives Considered\n| Option | Pros | Cons | Decision |\n|--------|------|------|----------|\n| Option A | | | Rejected: _reason_ |\n| Option B | | | **Selected**: _reason_ |\n\n### Trade-offs\n- Sacrificing: _what we give up_\n- Gaining: _what we get_\n\n## Patch Plan\n\n### Files to Modify\n| File | Change | Risk |\n|------|--------|------|\n| | | |\n\n### Commit Sequence\n1. _commit message_\n2. _commit message_\n\n### High-risk Areas\n- _area needing extra attention_\n\n---\n\n# Step 5 - QA Review\n\n## Test Plan\n\n### Test Cases\n| # | Scenario | Given | When | Then |\n|---|----------|-------|------|------|\n| 1 | Happy path | | | |\n| 2 | Edge case | | | |\n| 3 | Error case | | | |\n\n### Edge Cases\n- _edge case 1_\n- _edge case 2_\n\n### Acceptance Criteria\n- [ ] Given _context_, when _action_, then _result_\n- [ ] Given _context_, when _action_, then _result_\n\n### Regression Checks\n- _existing feature to verify_\n\n---\n\n# Step 6 - Security Review\n\n## Security Status\n- Reviewed: _yes/no_\n- Risk level: _low/medium/high_\n\n## Security Checklist\n| Check | Status | Notes |\n|-------|--------|-------|\n| Input validation | _Pending_ | |\n| Auth/authz | _Pending_ | |\n| Data exposure | _Pending_ | |\n| Injection vectors | _Pending_ | |\n\n## Issues Found\n_Pending..._\n\n---\n\n# Step 7 - Documentation\n\n## Documentation Updates\n| File | Change Needed |\n|------|---------------|\n| | |\n\n## New Documentation Needed\n_Pending..._\n\n---\n\n# Risk Management\n\n## Pre-mortem (3 scenarios required)\n| # | What Could Go Wrong | Likelihood | Impact | Mitigation |\n|---|---------------------|------------|--------|------------|\n| 1 | | | | |\n| 2 | | | | |\n| 3 | | | | |\n\n## Rollback Plan\n1. _step 1_\n2. _step 2_\n\n## Blast Radius\n- Affected users/modules: _list_\n- Feature flag: _yes/no (name)_\n- Rollout strategy: _immediate/gradual/canary_\n\n---\n\n# Decision Log\n\n| Date | Phase | Decision | Rationale |\n|------|-------|----------|-----------|\n| <today> | Step 0.0 | Artifact created | Starting cook flow |\n```\n\n**DO NOT:**\n- Read CLAUDE.md first\n- Explore codebase first\n- Run any searches first\n- Use Task/Explore agents first\n\n**FIRST action = Create artifact file. No exceptions.**\n\n---\n========\n>>>>>>>> feature/dry-run-validation-cook:.claude/skills/cook/SKILL.md\n\n## Purpose\nCook features through a structured, multi-phase development flow.\n\nThe goal is not speed, but correctness, safety, and product discipline.\nEvery dish must be properly prepared before serving.\n\n---\n\n## Inputs\n\n- **feature_description** (string, required)\n  Plain-language description of the feature or change (the order).\n\n- **instruction_file** (string, optional)\n  Related specification or requirements file (the recipe).\n\n- **mode** (enum: well-done | microwave, default: well-done)\n  Determines cooking thoroughness and review phases.\n\n- **dry-run** (boolean, default: false)\n  Preview mode - shows what would happen without executing.\n\n- **validate** (string, optional)\n  Path to existing artifact to validate without re-cooking.\n  Example: `/cook --validate cook/feature.cook.md`\n\n- **no-validate** (boolean, default: false)\n  Skip auto-validation after artifact generation.\n\n- **interactive** (boolean, default: false)\n  Launch interactive menu for artifact management.\n  Example: `/cook --interactive`\n\n---\n\n## Interactive Mode\n\nUse `--interactive` to launch the artifact management menu:\n\n```\n/cook --interactive\n```\n\n### What Interactive Mode Does\n\n1. **Scans for artifacts** in `cook/*.cook.md`\n2. **Presents a picker** with available artifacts\n3. **Shows action menu**:\n   - Validate artifact\n   - Compare artifacts (diff)\n   - View status summary\n4. **Executes selected action**\n\n### Interactive Flow\n\n```\n/cook --interactive\n   |\n   v\n┌─────────────────────────────────────┐\n│  Select artifact:                   │\n│  > dry-run-validation.2026-01-10    │\n│    user-auth.2026-01-09             │\n│    payment-flow.2026-01-08          │\n└─────────────────────────────────────┘\n   |\n   v\n┌─────────────────────────────────────┐\n│  Select action:                     │\n│  > Validate                         │\n│    Compare with another artifact    │\n│    View status summary              │\n└─────────────────────────────────────┘\n   |\n   v\n[Executes selected action]\n```\n\n### Actions Available\n\n| Action | Description | Command Equivalent |\n|--------|-------------|-------------------|\n| Validate | Run validation checks | `cook-validate <file>` |\n| Compare | Diff two artifacts | `cook-diff <a> <b>` |\n| Status | Show artifact summary | Quick view of status, mode, owner |\n\n---\n\n## Dry-Run Mode\n\nUse `--dry-run` to preview the cooking process without producing artifacts.\n\n```\n/cook <feature> --dry-run\n```\n\n### What dry-run does\n\n1. **Checks prerequisites**\n   - Is CLAUDE.md present?\n   - Are project-specific chefs configured?\n   - Which system chefs will be used as fallback?\n\n2. **Shows cooking plan**\n   - Lists all phases that would execute\n   - Shows which chefs will be consulted\n   - Identifies microwave blockers (if applicable)\n\n3. **Validates inputs**\n   - Parses feature description\n   - Checks for instruction file (if specified)\n   - Identifies potential issues early\n\n### Dry-run output\n\n```markdown\n# Dry-Run: /cook preview\n\n## Feature\n<parsed feature description>\n\n## Mode\nwell-done | microwave\n\n## Prerequisites Check\n- CLAUDE.md: found | NOT FOUND (will use defaults)\n- Project chefs: <list> | none (will use system chefs)\n- System chefs available: <list>\n\n## Cooking Plan\n1. Phase 0 - Project Policy & Context\n   - Chef: <project or system>\n2. Step 1 - Read the Order\n3. Step 2 - Ingredient Approval (well-done only)\n   - Chef: product_chef\n4. Step 3 - Presentation Planning (if UI changes)\n   - Chef: ux_chef\n5. Step 4 - Cooking\n   - Chef: engineer_chef, architect_chef\n6. Step 5 - Taste Testing\n   - Chef: qa_chef\n7. Step 6 - Safety Inspection\n   - Chef: security_chef\n8. Step 7 - Recipe Notes (if needed)\n   - Chef: docs_chef\n\n## Microwave Blockers (if --microwave)\n- <blocker topics detected> | none\n\n## Potential Issues\n- <early warnings> | none detected\n\n## Ready to Cook\nyes | no (reason: <why>)\n```\n\n### When to use dry-run\n\n- First time using `/cook` on a project\n- Verifying chef configuration\n- Checking if microwave mode is allowed\n- Understanding what phases will run\n\n---\n\n## Cooking Modes\n\n### well-done (default)\nFull governance cooking. No shortcuts, no raw ingredients.\n\nCooking phases:\n- Product scope check (ingredient approval)\n- UX/Design review (presentation planning)\n- Implementation (cooking)\n- QA review (taste testing)\n- Security review (safety inspection)\n- Documentation (recipe notes)\n\nBlocking allowed: YES\n\n---\n\n### microwave\nSpeed-optimized cooking for low-risk changes.\n\nCooking phases:\n- Implementation (quick heat)\n- QA review (light taste test)\n- Security review (only if API/auth touched)\n\nBlocking allowed: YES (security only)\n\nRules:\n- No scope expansion (no adding ingredients)\n- No architecture changes (no changing the recipe)\n- Should be followed by well-done cooking for verification\n\n---\n\n## Cooking Statuses\n\nEvery feature progresses through these stages:\n\n| Status | Meaning |\n|--------|---------|\n| `raw` | Feature requested, not yet evaluated |\n| `cooking` | /cook in progress, review phases running |\n| `blocked` | Specific blocker identified (requires owner + next step) |\n| `needs-more-cooking` | Rejected, incomplete, or killed (+ reason field) |\n| `well-done` | Approved and ready to implement |\n| `ready-for-merge` | Post QA/Security, ready for merge |\n| `plated` | Shipped to production |\n\n**Note:** `killed` is NOT a separate status. Use `needs-more-cooking` with `reason: killed - <why>`\n\n---\n\n## Microwave Blockers\n\nMicrowave mode is **BLOCKED** for these topics. Use `--well-done` instead:\n\n- **auth / permissions / crypto / network security** - any authentication, authorization, encryption, or security-related changes\n- **schema / migrations / storage** - database schema changes, migrations, storage layer modifications\n- **public API contracts** - any changes to public-facing API signatures or behavior\n- **UI flow changes** - even small changes to user flows or navigation\n- **payments / purchase / paywall** - anything touching billing, payments, or monetization\n\nIf microwave mode is requested for a blocked topic, automatically escalate to well-done.\n\n---\n\n## Definition of Done\n\n### Well-Done Mode Requirements\nReference: `~/.claude/templates/well-done-checklist.md`\n\n**MUST include:**\n- Scope definition (in/out)\n- Risks + mitigations (min 3)\n- Test plan (min 3 test cases)\n- Security checklist (all items addressed)\n- Rollout/rollback plan\n- Pre-mortem (3 failure scenarios)\n- Trade-offs documented\n- Ownership assigned\n\n### Microwave Mode Requirements\nReference: `~/.claude/templates/microwave-checklist.md`\n\n**MUST include:**\n- Problem statement + reproduction steps\n- Minimal fix plan\n- Tests (1-2)\n- \"Why safe\" (1 sentence)\n- Pre-mortem (1 failure scenario)\n\n---\n\n## Stop Rules (Kill Switch)\n\nIn Step 2 (Ingredient Approval), automatically set status to `needs-more-cooking` with `reason: killed` if:\n\n1. **No measurable effect** - feature has no clear, testable outcome\n2. **Risk > value** - implementation risk outweighs user benefit\n3. **No owner** (well-done mode) - no one assigned as Decision Owner\n4. **No testable AC** - acceptance criteria cannot be verified\n\nWhen killed, document the specific reason and stop processing.\n\n---\n\n## MANDATORY FIRST STEP: Create Artifact File\n\n**BEFORE ANY OTHER ACTION**, you MUST create the artifact file with skeleton structure.\n\n### Why Artifact-First?\n\n1. **Progress visibility** - User can see cooking progress in real-time\n2. **Interrupt safety** - Partial results are preserved if execution stops\n3. **Phase enforcement** - Each phase MUST write to artifact before proceeding\n4. **State machine** - Artifact tracks which phases are complete\n\n### Step 0.0 - Create Artifact Skeleton (REQUIRED)\n\n**DO THIS IMMEDIATELY UPON /cook INVOCATION:**\n\n1. Generate artifact filename: `cook/<slug>.<YYYY-MM-DD>.cook.md`\n   - `<slug>` = kebab-case of feature description (max 40 chars)\n   - `<YYYY-MM-DD>` = today's date\n\n2. Create file with this skeleton:\n\n```markdown\n# Cooking Result\n\n## Dish\n<feature description>\n\n## Status\nraw\n\n## Cooking Mode\n<well-done | microwave>\n\n## Current Phase\nPhase 0 - Starting...\n\n---\n\n## Phase 0 - Project Policy & Context\n_Pending..._\n\n## Step 1 - Read the Order\n_Pending..._\n\n## Step 2 - Ingredient Approval\n_Pending..._\n\n## Step 3 - Presentation Planning\n_Pending..._\n\n## Step 4 - Cooking\n_Pending..._\n\n## Step 5 - Taste Testing (QA)\n_Pending..._\n\n## Step 6 - Safety Inspection (Security)\n_Pending..._\n\n## Step 7 - Recipe Notes\n_Pending..._\n\n---\n\n## Decision Log\n| Date | Phase | Decision | Rationale |\n|------|-------|----------|-----------|\n```\n\n3. **CONFIRM** artifact file exists before proceeding\n\n**CRITICAL:** Do NOT proceed to Phase 0 until artifact file is created and confirmed.\n\n---\n\n## Cooking Steps\n\n### Phase 0 - Project Policy & Context (REQUIRED)\n\nThis phase runs BEFORE scope, UX, or implementation planning. No code, no design, no solutions are allowed in this phase. Project rules override user intent.\n\n#### Step 0.1 - Discover Project Context Files\n\nSearch for and read the following files (do not fail if missing):\n\n**Priority order:**\n1. `CLAUDE.md` - project rules and constraints\n2. `POLICY.md` - explicit policies\n3. `ENGINEERING.md` - engineering standards\n4. `README.md` - project overview\n5. `docs/**/*.md` - architecture, ADRs, decisions\n6. `.claude/agents/*.md` - project-specific chefs\n\n**Chef Resolution Order:**\n1. Project-specific chefs in `<project>/.claude/agents/`\n2. System-wide chefs in `~/.claude/agents/`\n\n**System-Wide Chefs Available:**\n- `engineer.md` - Head chef (implementation)\n- `product.md` - Menu curator (scope decisions)\n- `designer.md` - Presentation specialist (UX/flow)\n- `security.md` - Health inspector (security audit)\n- `qa.md` - Taste tester (quality assurance)\n- `architect.md` - Kitchen designer (architecture)\n- `docs.md` - Recipe writer (documentation)\n\n#### Step 0.2 - Extract and Normalize Rules\n\nFrom discovered files, extract and classify rules into:\n\n**A) Hard rules (MUST / MUST NOT)**\n- Non-negotiable constraints\n- Security, architecture, legal, platform limitations\n- Explicit \"do not\" statements\n\n**B) Preferred patterns**\n- Recommended libraries, architectures, conventions\n- Style or process preferences\n- Defaults the project expects\n\n**C) Explicit non-goals / forbidden approaches**\n- Deprecated patterns\n- Known bad ideas\n- Things intentionally avoided\n\n**D) Implicit assumptions (derived)**\n- Assumptions inferred due to missing or unclear documentation\n- MUST be clearly marked as assumptions\n\n#### Step 0.3 - Detect Conflicts\n\nIf user request conflicts with extracted rules:\n- Do NOT resolve it yet\n- Do NOT propose alternatives\n- Record the conflict clearly\n\n#### Step 0.4 - Risk Classification\n\nBased on documentation completeness, classify alignment risk:\n- **LOW** - clear policies found\n- **MEDIUM** - partial policies\n- **HIGH** - no meaningful policies found\n\n#### Step 0.5 - Output Format (MANDATORY)\n\nProduce this section in the cook artifact:\n\n```markdown\n## Phase 0 - Project Policy & Context\n\n### Sources scanned\n- <file or \"not found\">\n\n### Hard rules (must not be violated)\n- <rule>\n\n### Preferred patterns\n- <pattern>\n\n### Explicit non-goals / forbidden approaches\n- <non-goal>\n\n### Assumptions due to missing documentation\n- <assumption>\n\n### Detected conflicts with request\n- None OR <conflict description>\n\n### Policy alignment risk\n- LOW | MEDIUM | HIGH\n```\n\n#### Step 0.6 - Blocking Rule\n\nIf ANY of these conditions are true:\n- A hard rule directly blocks the requested feature\n- Alignment risk is HIGH\n\nThen:\n1. Set status: `needs-more-cooking`\n2. Document the blocking reason\n3. STOP - do not proceed to Step 1\n\nThe issue must be acknowledged before continuing.\n\nThis Phase 0 output informs ALL subsequent cooking steps.\n\n#### GATE: Write Phase 0 to Artifact\n\n**STOP. Before proceeding to Step 1, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Phase 0` with actual output\n2. Update `## Current Phase` to `Phase 0 - Complete`\n3. Update `## Status` to `cooking`\n4. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 1 - Read the Order\n- Restate feature in concrete terms (what dish are we making?)\n- Identify affected modules/components (which stations are involved?)\n- Identify risks and dependencies (allergens, timing)\n- Note any project-specific constraints from Step 0\n- **Check Microwave Blockers**: If microwave mode requested but touches blocked topics -> escalate to well-done\n\nStatus: `raw` -> `cooking`\n\n#### GATE: Write Step 1 to Artifact\n\n**STOP. Before proceeding to Step 2, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 1` with actual output\n2. Update `## Current Phase` to `Step 1 - Complete`\n3. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 1.5 - Recipe Library (Similar Dishes)\n\nAfter completing Step 1, **check for similar past artifacts** to enable pattern reuse.\n\n#### How to Execute\n\nRun the similarity search using the feature description:\n\n```bash\nnode -e \"\nconst { findSimilarArtifacts } = require('./scripts/lib/similarity');\nconst results = findSimilarArtifacts({\n  description: '<FEATURE_DESCRIPTION>',\n  files: [],  // Will be populated from Step 1 affected files if known\n  limit: 3,\n  minSimilarity: 20\n});\nconsole.log(JSON.stringify(results, null, 2));\n\"\n```\n\nOr use the search command for keyword-based lookup:\n\n```bash\n./scripts/cook-stats search \"<keyword from feature>\"\n```\n\n#### What to Display\n\nIf similar artifacts exist (>20% similarity), show them to the user:\n\n```\n🔍 Similar dishes found in your kitchen:\n┌──────────────────────────────────────────────────────────────┐\n│ 1. user-auth.2026-01-05.cook.md (78% similar)                │\n│    \"Add user authentication with OAuth\"                       │\n│    Files: src/auth/*, src/session.ts                          │\n│    Key decision: Used JWT with 1h expiry                      │\n├──────────────────────────────────────────────────────────────┤\n│ 2. session-refresh.2026-01-12.cook.md (65% similar)          │\n│    \"Implement token refresh flow\"                             │\n│    Files: src/session.ts, lib/token.ts                        │\n│    Key decision: Refresh 5min before expiry                   │\n└──────────────────────────────────────────────────────────────┘\n💡 Consider reusing patterns from these artifacts.\n```\n\n#### Similarity Matching\n\nSimilarity is calculated from:\n- **Files touched** (50% weight) - Jaccard similarity on file paths\n- **Title keywords** (30% weight) - Common significant words\n- **Feature keywords** (20% weight) - Extracted from description\n\n#### When No Similar Dishes Found\n\nIf no artifacts match above 20% similarity, skip this display silently.\nIf the `cook/` directory is empty, this step does nothing.\n\n#### Purpose\n\n- **Pattern reuse**: Don't reinvent the wheel\n- **Decision recall**: Remember why past choices were made\n- **Consistency**: Align with similar past features\n- **Speed**: Reference proven approaches\n\n#### What to Do with Results\n\nIf similar artifacts are found:\n\n1. **Display them to the user** (using the format above)\n2. **Read the most similar artifact** to extract:\n   - Key decisions made\n   - Pre-mortem scenarios (for reuse)\n   - Trade-offs documented\n3. **Ask the user**: \"Found similar past work. Want to reuse patterns from `<artifact>`?\"\n4. **If yes**: Pre-fill relevant sections in later steps\n\n**Note:** Similar dishes are informational - they are NOT written to the artifact, but they inform the cooking process.\n\n---\n\n### Step 2 - Ingredient Approval (well-done only)\n- Is this in scope for the project? (Is it on our menu?)\n- Does it add user value? (Will customers order it?)\n- Decision: Approve / Reject / Defer\n\nIf rejected -> Status: `needs-more-cooking`. STOP.\n\n#### GATE: Write Step 2 to Artifact\n\n**STOP. Before proceeding to Step 3, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 2` with actual output (or `_Skipped (microwave mode)_`)\n2. Update `## Current Phase` to `Step 2 - Complete`\n3. Add Product Decision to artifact header section\n4. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 3 - Presentation Planning (conditional)\nTriggered if:\n- New UI components (new plating style)\n- Changed user flow (changed service sequence)\n- Risk of user confusion (unfamiliar dish)\n\nOutput:\n- Flow description\n- UX considerations\n\n#### GATE: Write Step 3 to Artifact\n\n**STOP. Before proceeding to Step 4, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 3` with actual output (or `_Skipped (no UI changes)_`)\n2. Update `## Current Phase` to `Step 3 - Complete`\n3. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 4 - Implementation Plan (NO CODE YET)\n- Implement only approved scope (follow the recipe)\n- Respect existing patterns and architecture (house style)\n- Follow project tech stack and conventions (use the right tools)\n- Reference all changed files (ingredient list)\n\n#### GATE: Write Step 4 to Artifact\n\n**STOP. Before proceeding to Step 5, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 4` with Patch Plan\n2. Update `## Current Phase` to `Step 4 - Complete`\n3. Add Trade-offs section to artifact\n4. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 5 - Taste Testing (QA)\n- Validate acceptance criteria (does it taste right?)\n- Identify edge cases (unusual orders)\n- Flag potential regressions (did we break another dish?)\n- Verify tests exist or are added (documented tasting notes)\n\nBlockers must be resolved before proceeding.\nIf blocked -> Status: `needs-more-cooking`\n\n#### GATE: Write Step 5 to Artifact\n\n**STOP. Before proceeding to Step 6, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 5` with QA Status\n2. Update `## Current Phase` to `Step 5 - Complete`\n3. Add Pre-mortem section to artifact (min 3 scenarios for well-done, 1 for microwave)\n4. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 6 - Safety Inspection (Security)\n- Input validation (ingredient safety)\n- Authentication/authorization (who can order this?)\n- Data exposure risks (customer privacy)\n- Injection vulnerabilities (contamination)\n\nSecurity blockers override everything.\nIf blocked -> Status: `needs-more-cooking`\n\n#### GATE: Write Step 6 to Artifact\n\n**STOP. Before proceeding to Step 7, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 6` with Security Status\n2. Update `## Current Phase` to `Step 6 - Complete`\n3. Add Blast Radius & Rollout section to artifact\n4. Add entry to Decision Log\n\n**DO NOT proceed until artifact is updated.**\n\n---\n\n### Step 7 - Recipe Notes (conditional)\nTriggered if:\n- Assumptions were made\n- Behavior changed\n- New concepts introduced\n\n#### GATE: Write Step 7 to Artifact (FINAL)\n\n**STOP. Before marking cooking complete, you MUST:**\n\n1. Update artifact file - replace `_Pending..._` under `## Step 7` with docs updates (or `_Skipped (no docs needed)_`)\n2. Update `## Current Phase` to `Cooking Complete`\n3. Update `## Status` to `well-done` or `ready-for-merge`\n4. Add Ownership section to artifact header\n5. Add Assumptions & Notes section\n6. Add Next Actions section\n7. Add final entry to Decision Log\n\n**Artifact is now complete. Proceed to validation.**\n\n---\n\n## Phase Rollback Rules\n\nCooking is NOT strictly linear. These rollback rules apply:\n\n```\n+--------------------------------------------------------------+\n|                        ROLLBACK FLOW                          |\n+--------------------------------------------------------------+\n|                                                               |\n|  Step 2 (Scope) <-------------------------------------+      |\n|       |                                               |      |\n|       v                                               |      |\n|  Step 3 (UX) <------------------------------------+   |      |\n|       |                                           |   |      |\n|       v                                           |   |      |\n|  Step 4 (Implementation) <--------------------+   |   |      |\n|       |                                       |   |   |      |\n|       v                                       |   |   |      |\n|  Step 5 (QA) --------- blocker ------------->|   |   |      |\n|       |                                           |   |      |\n|       v                                           |   |      |\n|  Step 6 (Security) -- blocker ------------------>|   |      |\n|       |                     |                         |      |\n|       |                     +-- scope change -------->+      |\n|       v                                                      |\n|  Step 7 (Docs)                                               |\n|                                                              |\n+--------------------------------------------------------------+\n```\n\n### Rollback Triggers:\n\n| From | To | Trigger |\n|------|----|---------|\n| Step 5 (QA) | Step 4 (Implementation) | Test failure, missing edge case |\n| Step 5 (QA) | Step 2 (Scope) | Scope creep discovered |\n| Step 6 (Security) | Step 4 (Implementation) | Security vulnerability found |\n| Step 6 (Security) | Step 2 (Scope) | Fundamental design flaw |\n| Step 3 (UX) | Step 2 (Scope) | UX requirements change scope |\n\nWhen rollback occurs:\n1. Document the reason in Decision Log\n2. Update status to `blocked` with owner and next step\n3. Re-execute from the rollback target step\n\n---\n\n## Output Format (MANDATORY)\n\nTwo formats exist based on cooking mode. Use the appropriate one.\n\n### WELL-DONE MODE OUTPUT\n\n```markdown\n# Cooking Result\n\n## Dish\n<short description>\n\n## Status\nraw | cooking | blocked | needs-more-cooking | well-done | ready-for-merge | plated\n(if killed: needs-more-cooking + reason: killed - <why>)\n\n## Cooking Mode\nwell-done\n\n## Ownership (REQUIRED)\n- Decision Owner: <name/role>\n- Reviewers: <list or \"auto\">\n- Approved by: <name> on <date>\n\n## Product Decision\nApproved / Rejected / Deferred\n- Reason: <why>\n\n## Pre-mortem (REQUIRED - 3 scenarios)\n1. <scenario> -> mitigation: <action>\n2. <scenario> -> mitigation: <action>\n3. <scenario> -> mitigation: <action>\n\n## Trade-offs\n- Sacrificing: <perf/UX/maintainability/time>\n- Reason: <why>\n- Rejected alternatives:\n  - <alternative 1> - rejected because <reason>\n  - <alternative 2> - rejected because <reason>\n\n## Patch Plan\n- Files to modify:\n  1. <file> - <what changes>\n  2. <file> - <what changes>\n- Commit sequence:\n  1. <commit message>\n  2. <commit message>\n- High-risk areas: <list>\n- Tests to run: <list>\n\n## QA Status\n- Tests: <coverage>\n- Edge cases considered: <list>\n- Regressions checked: <list>\n\n## Security Status\n- Reviewed: yes/no\n- Issues found: <list or \"none\">\n- Risk level: low/medium/high\n\n## Blast Radius & Rollout\n- Affected users/modules: <list>\n- Feature flag: yes/no (name: <flag_name>)\n- Rollout strategy: immediate/gradual/canary\n- Rollback steps:\n  1. <step>\n  2. <step>\n\n## Assumptions & Notes\n<list>\n\n## Next Actions\n<list>\n\n## Decision Log\n| Date | Decision | Rationale |\n|------|----------|-----------|\n```\n\n### MICROWAVE MODE OUTPUT\n\n```markdown\n# Cooking Result\n\n## Dish\n<short description>\n\n## Status\nraw | cooking | blocked | needs-more-cooking | well-done | ready-for-merge | plated\n\n## Cooking Mode\nmicrowave\n\n## Problem Statement\n<what's broken + how to reproduce>\n\n## Fix Plan\n<minimal fix description>\n\n## Why Safe\n<1 sentence explaining why this is low risk>\n\n## Pre-mortem (REQUIRED - 1 scenario)\n1. <scenario> -> mitigation: <action>\n\n## Tests\n- <test 1: verifies the fix>\n- <test 2: regression check> (optional)\n\n## Security Status (only if touches auth/API)\n- Reviewed: yes/no\n- Issues found: <list or \"none\">\n\n## Next Actions\n<list>\n```\n\n---\n\n## Constraints\n\n- This skill orchestrates reasoning and decision-making\n- Each cooking phase must complete before the next begins\n- **Step 0 (Mise en Place) is MANDATORY** - cannot cook without prep\n- Project-specific rules from CLAUDE.md override generic behavior\n- Chef resolution: project-specific chefs take precedence over system-wide chefs\n- Security and QA standards from project policies take precedence\n\n## Chef Assignments\n\n**For each cooking phase, use chefs in this priority:**\n\n1. **Project-specific chef** (if exists): `<project>/.claude/agents/<project>-<role>.md`\n2. **System-wide chef** (fallback): `~/.claude/agents/<role>.md`\n\n| Phase | Project Chef | System Chef |\n|-------|-------------|-------------|\n| Cooking | `*-engineer.md` | `engineer.md` |\n| Menu Approval | `*-product.md` | `product.md` |\n| Presentation | `*-designer.md` | `designer.md` |\n| Safety | `*-security.md` | `security.md` |\n| Tasting | `*-qa.md` | `qa.md` |\n| Kitchen Design | `*-architect.md` | `architect.md` |\n| Recipe Notes | `*-docs.md` | `docs.md` |\n\n## Why Project Configuration Is Recommended\n\nWhile system-wide chefs provide generic best practices, project-specific configuration enables:\n- Enforcing **your** kitchen's standards and techniques\n- Validating against your house recipes\n- Using project-specific safety requirements\n- Context-aware reviews tailored to your cuisine\n\n**Recommendation:** Set up `CLAUDE.md` and project-specific chefs for production cooking.\n\n---\n\n## Artifact Storage\n\nCooking results are stored as decision records:\n- Location: `cook/*.cook.md`\n- Contains: scope decisions, review outcomes, final status\n\n---\n\n## Auto-Validation (Final Step)\n\nAfter generating the artifact, **automatically run validation**:\n\n```bash\n./scripts/cook-validate cook/<artifact>.cook.md\n```\n\n### Validation Behavior\n\n1. **If VALID** - Report success and proceed\n2. **If INVALID (errors)** - Show issues and offer to fix them\n3. **If WARNINGS only** - Report warnings but consider artifact ready\n\n### Example Output\n\n```\n[cook-validate] Validating artifact...\n\nValidating: user-auth.2026-01-10.cook.md\nMode: well-done\n\n[PASS] Scope sections present\n[PASS] Pre-mortem (3 scenarios)\n[PASS] Test cases (5 defined)\n[PASS] Ownership assigned\n\nResult: VALID\n\n✓ Artifact ready for implementation\n```\n\n### Skip Validation\n\nUse `--no-validate` to skip auto-validation:\n\n```\n/cook Add feature X --no-validate\n```\n\n### Validation-Only Mode\n\nTo validate an existing artifact without re-cooking:\n\n```\n/cook --validate cook/existing-artifact.cook.md\n```","tags":["cook","pjuniszewski","agent-skills","antigravity","claude-code","feature-development","skills"],"capabilities":["skill","source-pjuniszewski","skill-cook","topic-agent-skills","topic-antigravity","topic-claude-code","topic-feature-development","topic-skills"],"categories":["cook"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/PJuniszewski/cook/cook","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add PJuniszewski/cook","source_repo":"https://github.com/PJuniszewski/cook","install_from":"skills.sh"}},"qualityScore":"0.456","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 13 github stars · SKILL.md body (31,567 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T13:03:33.224Z","embedding":null,"createdAt":"2026-04-19T00:41:17.091Z","updatedAt":"2026-04-22T13:03:33.224Z","lastSeenAt":"2026-04-22T13:03:33.224Z","tsv":"'-01':744,750,756 '-08':757 '-09':751 '-10':745 '-2':191,1354 '/.claude/agents':1716,1723,3444,3452 '/.claude/templates/microwave-checklist.md':1342 '/.claude/templates/well-done-checklist.md':1303 '/cook':19,78,657,684,696,734,819,893,1017,1148,1510,3653,3673 '/scripts/cook-stats':2226 '/scripts/cook-validate':3572 '/scripts/lib/similarity':2190 '0':222,924,1551,1554,1615,1626,1902,1992,2002,2021,2031,2087,3385 '0.0':209,525,1501 '0.1':1657 '0.2':1761 '0.3':1842 '0.4':1866 '0.5':1889 '0.6':1940 '1':79,190,257,375,401,414,495,500,502,702,828,922,931,1353,1357,1362,1386,1458,1512,1560,1676,1710,1963,1982,2010,2013,2052,2110,2121,2129,2139,2163,2201,2248,2381,2509,2598,2687,2789,2824,2887,2957,3121,3220,3243,3247,3287,3336,3348,3350,3437,3577 '1.5':2155 '1h':2265 '2':84,277,378,404,417,496,503,505,709,848,929,937,1371,1396,1470,1530,1566,1682,1717,1970,2025,2118,2133,2214,2267,2391,2455,2498,2517,2525,2531,2615,2699,2801,2899,2974,3039,3085,3103,3112,3128,3222,3244,3248,3288,3446,3584 '20':2209,2235,2314,2329 '2026':743,749,755 '3':90,306,407,485,497,716,869,935,949,1312,1316,1329,1404,1480,1571,1602,1686,1975,2033,2141,2207,2412,2506,2533,2555,2587,2606,2621,2623,2707,2809,2818,2907,2981,3043,3109,3138,3218,3224,3595,3626 '30':2307 '4':95,331,728,947,960,1417,1491,1576,1690,2038,2425,2541,2595,2637,2676,2695,2705,2715,2827,2915,2993,3047,3074,3094 '40':1525 '5':100,390,958,969,1580,1694,2684,2729,2778,2797,2807,3000,3051,3071,3082,3631 '50':2298 '5min':2281 '6':105,439,967,977,1586,1700,2786,2841,2876,2895,2905,3005,3056,3091,3100 '65':2269 '7':110,469,975,985,1592,2884,2929,2946,2965,3010,3063 '78':2250 '8':983 'ac':1420 'accept':88,418,1421,2734 'access':327 'acknowledg':1987 'action':125,153,172,423,429,548,718,731,760,772,773,775,1444,3008,3292,3365 'actual':46,2023,2131,2519,2608 'ad':1112,2758 'add':2039,2142,2252,2476,2534,2542,2624,2708,2716,2810,2828,2908,2916,2994,3001,3006,3011,3654 'adding/modifying':31 'address':1323 'adr':1698 'affect':264,322,508,2067,2202,3276 'agent':165,545 'align':253,1874,1934,1958,2362 'allergen':2077 'allow':170,1029,1074,1103,1647 'altern':339,1860,3233 'anoth':764,2751 'anyth':1273 'api':1247,1255 'api/auth':1100 'appli':3035 'applic':868 'approach':99,337,1814,1921,2370 'appropri':3159 'approv':218,279,285,939,1055,1175,1373,1568,2457,2484,2645,3205,3210,3463 'architect':965 'architect.md':1752,3477,3478 'architectur':96,334,1115,1697,1755,1785,1798,2654 'area':384,385,3252 'artifact':23,61,81,112,139,155,174,184,210,526,550,649,671,681,693,705,715,721,723,738,765,789,795,818,1439,1449,1456,1488,1494,1503,1514,1604,1617,1899,2004,2015,2048,2112,2123,2151,2168,2233,2289,2326,2378,2396,2447,2500,2511,2538,2551,2589,2600,2633,2678,2689,2714,2725,2780,2791,2816,2837,2878,2889,2914,2925,2948,2959,2998,3017,3540,3567,3603,3611,3638,3668 'artifact-first':1455 'ask':2413 'assess':104 'assign':1337,1413,3427,3635 'assumpt':303,1825,1827,1840,1922,2935,3002,3289 'assur':1751 'attent':388 'audit':1746 'auth':748,1222 'auth/api':3359 'auth/authz':457 'authent':1228,2254 'authentication/authorization':2849 'author':1229 'auto':668,3560,3651 'auto-valid':667,3559,3650 'automat':1288,1374,3568 'avail':714,774,919,1728 'avoid':1822 'awar':3522 'b':350,1793 'bad':1818 'base':1869,2223,3153 'bash':166,2184,2225,3571 'begin':3383 'behavior':1258,2938,3403,3576 'benefit':1403 'best':3495 'beyond':48 'bill':1275 'blast':506,2909,3273 'block':152,180,1073,1102,1154,1213,1286,1941,1954,1973,2097,2769,2867,3132,3173,3308 'blocker':273,866,994,1156,1209,2090,2762,2863,3053,3058 'boolean':632,663,674 'break':2750 'broken':3328 'build':198 'c':1808 'calcul':2294 'call':132,144 'cannot':1423,3391 'case':396,406,409,411,413,416,1318,1520,2742,3080,3260,3630 'chang':324,371,474,599,954,1085,1116,1118,1235,1241,1250,1261,1264,2567,2570,2614,2669,2939,3060,3116 'char':1526 'check':274,433,451,782,829,875,902,1024,1053,2088,2164,3263 'checklist':450,1320 'chef':838,842,860,911,916,918,928,944,946,955,957,962,964,966,972,974,980,982,990,992,1022,1706,1707,1714,1721,1727,1731,3404,3409,3416,3426,3433,3441,3450,3456,3458,3492,3536 'choic':2358 'class':36 'classif':1868 'classifi':1771,1873 'claude.md':232,534,832,903,1677,3400,3531 'claude/agents':236,1701 'claude/skills/cook/skill.md':555 'clear':1393,1837,1864,1877 'code':8,18,29,47,119,121,1641,2641 'codebas':537 'command':168,777,2219 'commit':373,376,379,3245 'common':2309 'compar':722,762,786 'complet':68,1499,1872,2032,2140,2161,2532,2622,2706,2808,2906,2954,2980,3020,3379 'compon':39,321,323,2563 'con':343 'concept':2941 'concret':2059 'condit':1947,2558,2932 'configur':839,1023,3485,3500 'confirm':1603,1622 'conflict':250,1844,1848,1863,1928 'confus':2576 'consid':340,2284,3261,3602 'consider':328,2583 'consist':2361 'console.log':2210 'const':2187,2191 'constraint':1681,1783,2084,3366 'consult':863 'contain':3552 'contamin':2861 'content':151 'context':225,421,427,927,1557,1629,1660,1905,3521 'context-awar':3520 'continu':1989 'contract':1248 'convent':1799,2662 'cook':1,10,63,66,149,187,201,529,557,624,655,707,784,791,814,850,920,961,1004,1035,1043,1049,1061,1080,1086,1128,1131,1147,1165,1204,1381,1464,1516,1537,1542,1577,1623,1898,1969,1997,2037,2106,2337,2452,2493,2774,2872,2953,2979,3027,3155,3167,3172,3177,3191,3194,3302,3307,3312,3321,3376,3392,3430,3459,3539,3542,3550,3573,3608,3672 'cook-diff':790 'cook-valid':783,3607 'cook.md':64,150,708,1517,3551,3574 'cook/existing-artifact.cook.md':3675 'cook/feature.cook.md':659 'correct':74,573 'could':489 'creat':35,80,137,211,527,549,1438,1447,1502,1531,1620 'creep':3088 'criteria':89,419,1422,2735 'critic':14,1609 'crypto':1224 'cuisin':3527 'curat':1735 'current':206,1548,2027,2135,2527,2617,2701,2803,2901,2976 'custom':2480,2857 'd':1823 'data':459,2854 'databas':1239 'date':520,1529,1598,3295 'decis':213,283,312,335,344,518,522,1415,1596,1600,1699,1737,2042,2145,2261,2279,2353,2400,2483,2536,2545,2627,2719,2831,2919,3015,3126,3201,3209,3293,3296,3373,3547,3554 'decision-mak':3372 'default':619,633,664,675,909,1040,1804 'defer':287,2486,3212 'defin':3632 'definit':1294,1307 'depend':270,2076 'deprec':1815 'deriv':1826 'descript':193,588,594,776,874,1523,2183,2194,2318,2581 'design':94,1643,1754,3106,3476 'designer.md':1738,3467,3468 'detect':249,1001,1843,1927 'determin':623 'develop':3,565 'diff':724,787,792 'direct':1953 'directori':2338 'disciplin':577 'discov':1658,1767,3089 'dish':189,579,1539,2062,2159,2243,2322,2438,2578,2752,3169,3304 'display':2230,2333,2382 'doc':991,1695,2967,2972,3064 'docs.md':1756,3481,3482 'document':470,471,477,1070,1335,1428,1759,1834,1871,1926,1971,2411,2759,3122 'done':205,617,622,899,942,1039,1127,1174,1220,1293,1296,1299,1409,1546,2103,2460,2823,2987,3163,3180,3198,3315,3617 'dri':630,740,804,809,821,825,886,891,1012 'dry-run':629,803,808,820,824,885,890,1011 'dry-run-valid':739 'due':1829,1923 'e':2186 'earli':884 'edg':405,410,412,415,2741,3079,3259 'effect':1389 'empti':2340 'en':3387 'enabl':2170,3501 'encrypt':1230 'enforc':1482,3502 'engin':963,1688 'engineer.md':1729,3460,3461 'engineering.md':1687 'entri':2040,2143,2543,2625,2717,2829,2917,3013 'enum':614 'equival':778 'error':408,3587 'escal':1289,2099 'evalu':1146 'even':1262 'everi':578,1133 'everyth':2865 'exampl':656,683,3605 'except':553 'execut':126,141,642,729,770,857,1478,2175,3141 'exist':156,185,434,648,1606,2234,2651,2755,3152,3443,3667 'expans':1110 'expect':1807 'expiri':2266,2283 'explain':3338 'explicit':1684,1789,1809,1916 'explor':536 'exposur':460,2855 'extra':387 'extract':1762,1769,1850,2316,2398 'face':1254 'fail':1671 'failur':1330,1363,3077 'fallback':847,3451 'fals':634,665,676 'featur':2,261,435,511,558,587,597,873,895,1134,1142,1390,1522,1957,2057,2182,2312,2366,3278,3655 'feature/dry-run-validation-cook':554 'field':1171 'file':24,33,49,62,82,140,147,159,175,228,367,370,473,551,603,610,878,1440,1450,1532,1605,1618,1661,1668,1768,2016,2124,2195,2203,2257,2275,2296,2303,2512,2601,2670,2690,2792,2890,2960,3240 'filenam':1515 'fill':2430 'final':111,2949,3012,3557,3562 'findsimilarartifact':2188,2193 'first':83,124,130,171,535,538,542,546,547,1014,1436,1457 'fix':1350,3332,3593 'flag':512,2745,3279 'flaw':3107 'flow':318,530,566,733,754,1260,1267,2274,2569,2580,3037 'follow':1123,1667,2647,2657 'forbidden':1813,1920 'format':1891,2389,3148,3151 'found':466,904,906,1879,1887,2244,2323,2380,2416,3098,3269,3363 'full':1041 'function':37 'fundament':3105 'gain':361 'gate':1999,2107,2495,2584,2673,2775,2873,2943 'generat':672,1513,3565 'generic':3402,3494 'get':364 'give':359 'given':398,420,426 'glob/grep':160 'go':490 'goal':298,568,1812,1919 'govern':1042 'guardrail':5 'happen':640 'happi':402 'hard':239,1775,1908,1951 'head':12,1730 'header':2539,2999 'health':1743 'heat':1090 'high':382,1883,1938,1961,3250 'high-risk':381,3249 'hook':178 'hous':2655,3512 'idea':1819 'identifi':864,881,1157,2066,2073,2740 'immedi':123,145,1508 'immediate/gradual/canary':3284 'immediate/gradual/canary_':517 'impact':267,493 'implement':27,42,53,73,117,332,1060,1088,1179,1399,1638,1732,2271,2638,2643,3048,3075,3095,3641 'implicit':1824 'in/out':1308 'includ':116,1305,1344 'incomplet':1167 'infer':1828 'inform':1994,2440,2450 'ingredi':278,938,1048,1054,1113,1372,1567,2456,2671,2847 'inject':462,2859 'input':454,586,871,2845 'inspect':979,1069,1588,2843 'inspector':1744 'instead':1221 'instruct':602,877 'intent':1655,1821 'interact':93,673,678,685,686,689,697,699,732,735 'interrupt':1471 'introduc':2942 'invalid':3586 'invoc':1511 'involv':2072 'issu':465,883,999,1984,3268,3362,3589 'item':1322 'jaccard':2300 'json.stringify':2211 'jwt':2263 'kebab':1519 'kebab-cas':1518 'key':230,2260,2278,2399 'keyword':2222,2306,2313 'keyword-bas':2221 'kill':1169,1194,1207,1367,1384,1427,3187,3193 'kitchen':1753,2247,3475,3504 'known':1817,2205 'languag':593 'later':2434 'launch':677,691 'layer':1244 'legal':1786 'level':269,447,3271 'lib/token.ts':2277 'librari':1797,2157 'light':1093 'likelihood':492 'limit':1788,2206 'linear':3031 'list':57,76,510,852,2672 'locat':3549 'log':519,1597,2043,2146,2546,2628,2720,2832,2920,3016,3127,3294 'lookup':2224 'low':1083,1876,1936,3342 'low-risk':1082 'low/medium/high':3272 'low/medium/high_':448 'machin':1493 'made':2360,2401,2937 'make':2065,3374 'manag':481,682,694 'mandatori':1435,1892,3149,3390 'mark':1838,2952 'markdown':186,889,1536,1900,3166,3301 'match':2291,2327 'max':1524 'md':237,1696,1702,3445,3453 'mean':1140 'meaning':1885 'measur':1388 'medium':1880,1937 'menu':679,695,719,1734,2473,3462 'merg':1183,1188,2992,3184,3319 'messag':377,380 'microwav':272,618,865,900,993,996,1026,1076,1208,1210,1280,1338,1547,2089,2092,2523,2826,3298,3323 'migrat':1237,1242 'min':1311,1315,2817 'minim':1349 'minsimilar':2208 'mise':3386 'miss':1673,1831,1925,3078 'mitig':494,1310,3221,3223,3225,3351 'mode':202,613,636,687,700,801,806,896,1027,1036,1211,1281,1300,1339,1410,1543,2093,2524,3156,3164,3195,3299,3322,3614,3663 'modif':1245 'modifi':369,3242 'modul':266 'modules/components':265,2068 'monet':1278 'mortem':484,1328,1361,2404,2813,3216,3346,3625 'multi':563 'multi-phas':562 'must':133,241,580,1304,1343,1446,1485,1777,1778,1835,1910,1985,2012,2120,2508,2597,2686,2763,2788,2886,2956,3378 'name':514,3281 'name/role':3203 'navig':1269 'need':386,475,478,989,1163,1202,1379,1967,2491,2772,2870,2973,3175,3189,3310 'needs-more-cook':1162,1201,1378,1966,2490,2771,2869,3174,3188,3309 'negoti':1782 'network':1225 'new':476,2561,2564,2940 'next':1160,3007,3136,3291,3364,3382 'no-valid':660,3645,3657 'node':2185 'non':297,1781,1811,1918 'non-goal':296,1810,1917 'non-negoti':1780 'none':912,997,1000,1931 'normal':1764 'note':326,453,987,1072,1193,1594,2079,2436,2761,2931,3003,3290,3480 'noth':2344 'null':2213 'oauth':2256 'occur':3120 'off':355,1334,2410,2711,3228 'offer':3591 'one':1412,3160 'optim':1079 'option':341,345,349,605,645,3353 'orchestr':3369 'order':260,601,934,1563,1675,1709,2055,2481,2744,2852 'outcom':1395,3556 'output':888,1890,1993,2024,2132,2520,2579,2609,3147,3165,3300,3606 'outweigh':1401 'overrid':1653,2864,3401 'overview':1693 'owner':214,802,1159,1406,1416,3134,3202 'ownership':212,1336,2995,3199,3634 'pars':872 'partial':1473,1881 'pass':3618,3622,3628,3633 'past':2167,2357,2365,2418 'patch':365,2697,3238 'path':50,148,403,646,2304 'pattern':247,1795,1816,1915,2171,2286,2346,2423,2652 'payment':753,1270,1276 'payment-flow':752 'paywal':1272 'pend':233,235,238,245,248,251,255,263,271,275,284,291,295,299,302,304,313,319,329,338,456,458,461,464,467,479,1558,1564,1569,1574,1578,1584,1590,1595,2018,2126,2514,2603,2692,2794,2892,2962 'perf/ux/maintainability/time':3230 'permiss':1223 'phase':207,221,521,564,628,854,923,1032,1050,1087,1152,1481,1484,1497,1549,1550,1553,1599,1614,1625,1632,1650,1901,1991,2001,2020,2028,2030,2136,2528,2618,2702,2804,2902,2977,3024,3377,3431,3454 'picker':712 'place':3388 'plain':592 'plain-languag':591 'plan':6,15,109,308,333,366,394,499,851,921,951,1059,1314,1325,1351,1573,1639,2557,2639,2698,3239,3333 'plate':1189,2565,3185,3320 'platform':1787 'polici':224,252,926,1556,1628,1685,1878,1882,1886,1904,1933,3423 'policy.md':1683 'popul':2198 'post':1184 'potenti':882,998,2746 'practic':3496 'pre':483,1327,1360,2403,2429,2812,3215,3345,3624 'pre-fil':2428 'pre-mortem':482,1326,1359,2402,2811,3214,3344,3623 'preced':3411,3425 'prefer':246,1794,1803,1914 'prep':3394 'prepar':583 'prerequisit':830,901 'present':307,710,833,950,1058,1572,1739,2556,3466,3621 'preserv':1476 'pretoolus':177 'preview':635,812,894 'prioriti':1674,3436 'privaci':2858 'problem':1345,3324 'proceed':1490,1608,1612,1979,2007,2046,2115,2149,2503,2549,2592,2631,2681,2723,2767,2783,2835,2881,2923,3021,3583 'process':815,1434,1802,2453 'produc':20,59,817,1893 'product':85,280,282,576,945,1051,1192,2535,3208,3538 'product.md':1733,3464,3465 'progress':1135,1150,1459,1465 'project':223,836,910,925,1020,1555,1627,1651,1659,1678,1692,1704,1712,1806,1903,2082,2468,2658,3396,3407,3422,3439,3455,3484,3498,3516,3534 'project-specif':835,1703,1711,2081,3395,3406,3438,3497,3515,3533 'proper':582 'propos':1859 'pros':342 'proven':2369 'provid':3493 'public':1246,1253 'public-fac':1252 'purchas':1271 'purpos':556,2345 'qa':106,391,973,1062,1091,1583,2732,2799,3052,3072,3083,3256,3419 'qa.md':1747,3473,3474 'qa/security':1185 'qualiti':1750 'quick':797,1089 'radius':507,2910,3274 'rational':523,1601,3297 'raw':200,1047,1141,1541,2105,3171,3306 're':197,654,3140,3671 're-cook':653,3670 're-execut':3139 'read':157,258,533,932,1561,1665,2053,2392 'readi':1002,1177,1181,1186,2990,3182,3317,3604,3639 'readme.md':234,1691 'ready-for-merg':1180,2989,3181,3316 'real':1468 'real-tim':1467 'reason':348,352,1007,1170,1206,1383,1431,1974,3124,3192,3213,3231,3370 'recal':2354 'recip':612,986,1071,1120,1593,1757,2156,2649,2930,3479,3513 'recommend':1796,3487,3528 'record':1861,3548 'refer':51,1302,1341,2368,2667 'refresh':2273,2280 'regress':432,2747,3262 'reinvent':2350 'reject':286,347,1166,2485,2488,3211,3232,3234,3236 'relat':606,1234 'relev':2431 'rememb':2355 'replac':2017,2125,2513,2602,2691,2793,2891,2961 'report':3580,3599 'reproduc':3331 'reproduct':1347 'request':72,1143,1283,1847,1930,1956,2094 'requir':314,316,487,590,609,1158,1301,1340,1505,1630,2189,3115,3200,3217,3347,3519 'resolut':1708,3405 'resolv':1854,2765 'respect':2650 'restat':2056 'result':188,425,431,1474,1538,2192,2212,2375,3168,3303,3543,3636 'reus':2172,2285,2347,2407,2422 'review':7,86,92,97,102,107,216,281,310,392,441,444,627,1057,1063,1067,1092,1097,1151,3204,3266,3360,3523,3555 'right':2665,2739 'risk':103,254,268,372,383,446,480,1084,1309,1397,1400,1867,1875,1935,1959,2074,2573,2856,3251,3270,3343 'rollback':498,3025,3033,3036,3065,3119,3144,3285 'rollout':515,2911,3275,3282 'rollout/rollback':1324 'rule':231,240,1107,1366,1652,1679,1765,1772,1776,1851,1909,1942,1952,3026,3034,3398 'run':41,539,631,741,780,805,810,822,826,887,892,1013,1034,1153,1633,2176,3255,3569 'sacrif':356,3229 'safe':1356,3335 'safeti':574,978,1068,1472,1587,2842,2848,3469,3518 'scan':227,703,1907 'scenario':397,486,1331,1364,2405,2819,3219,3349,3627 'schema':1236,1240 'scope':87,288,290,294,1052,1109,1306,1635,1736,2465,2646,3040,3059,3086,3087,3104,3113,3117,3553,3619 'search':162,541,1662,2179,2218,2227 'section':1895,2432,2540,2712,2814,2912,2996,3004,3009,3620 'secur':101,440,442,449,981,1066,1096,1105,1226,1233,1319,1589,1745,1784,2844,2862,2897,3057,3092,3096,3101,3264,3354,3417 'security-rel':1232 'security.md':1742,3470,3471 'see':1463 'select':336,351,730,737,759,771 'sentenc':192,1358,3337 'separ':71,1198 'sequenc':374,2572,3246 'serv':585 'servic':2571 'session-refresh.2026-01-12.cook.md':2268 'set':1375,1964,3529 'ship':9,1190 'shortcut':1045 'show':637,717,794,849,858,2237,3588 'signatur':1256 'signific':2310 'silent':2334 'similar':2158,2166,2178,2232,2236,2242,2251,2270,2290,2292,2301,2321,2330,2364,2377,2395,2417,2437 'skeleton':1452,1504,1535 'skill':11,3368 'skill-cook' 'skills/cook/skill.md':13 'skip':666,2331,2522,2611,2970,3642,3649 'small':1263 'solut':1645 'sourc':32,226,1906 'source-pjuniszewski' 'specialist':1740 'specif':607,837,1155,1430,1705,1713,2083,3397,3408,3440,3499,3517,3535 'specifi':880 'speed':571,1078,2367 'speed-optim':1077 'src/auth':2258 'src/session.ts':2259,2276 'stack':2660 'stage':1138 'standard':1689,3420,3506 'start':528,1552 'state':1492 'statement':1346,1792,3325 'station':2070 'status':199,229,443,452,726,767,793,800,1132,1139,1199,1376,1540,1965,2035,2104,2489,2770,2800,2868,2898,2983,3130,3170,3257,3265,3305,3355,3558 'step':54,122,208,256,276,305,330,389,438,468,501,504,524,930,936,948,959,968,976,984,1161,1348,1370,1437,1500,1559,1565,1570,1575,1579,1585,1591,1624,1656,1760,1841,1865,1888,1939,1981,1998,2009,2051,2086,2109,2117,2128,2138,2154,2162,2200,2342,2435,2454,2497,2505,2516,2530,2554,2586,2594,2605,2620,2636,2675,2683,2694,2704,2728,2777,2785,2796,2806,2840,2875,2883,2894,2904,2928,2945,2964,3038,3042,3046,3050,3055,3062,3070,3073,3081,3084,3090,3093,3099,3102,3108,3111,3137,3146,3286,3384,3563 'stop':1365,1433,1479,1976,2005,2113,2494,2501,2590,2679,2781,2879,2950 'storag':1238,1243,3541 'store':3545 'strategi':516,3283 'strict':3030 'string':589,604,644 'structur':561,1453 'style':1800,2566,2656 'subsequ':1996 'success':3581 'summari':262,727,768,796 'switch':1368 'system':841,915,917,1719,1725,3414,3448,3457,3490 'system-wid':1718,1724,3413,3447,3489 'tailor':3524 'take':3410,3424 'target':3145 'task/explore':163,544 'tast':970,1064,1094,1581,1748,2730,2738,2760,3472 'tbd':215,217,220 'tech':2659 'technic':98 'techniqu':3508 'term':2060 'test':43,108,393,395,971,1065,1095,1313,1317,1352,1582,2731,2754,3076,3253,3258,3352,3629 'testabl':1394,1419 'tester':1749 'thing':1820 'thorough':625 'time':1015,1469,2078 'titl':2305 'today':1527 'todo':56,75 'token':2272 'tool':131,182,2666 'topic':1216,1287,2098 'topic-agent-skills' 'topic-antigravity' 'topic-claude-code' 'topic-feature-development' 'topic-skills' 'touch':1101,1274,2096,2297,3358 'track':1495 'trade':354,1333,2409,2710,3227 'trade-off':353,1332,2408,2709,3226 'trigger':2559,2933,3066,3069 'true':1949 'two':788,3150 'type':325 'ui':320,953,1259,2562,2613 'unclear':1833 'understand':1030 'unfamiliar':2577 'unusu':2743 'updat':472,2014,2026,2034,2050,2122,2134,2153,2510,2526,2553,2599,2616,2635,2688,2700,2727,2790,2802,2839,2888,2900,2927,2958,2968,2975,2982,3129 'upon':1509 'use':543,688,807,845,908,914,1010,1016,1200,1217,2180,2216,2262,2387,2663,3157,3432,3514,3644 'user':69,300,317,747,1266,1402,1461,1654,1846,2241,2253,2386,2415,2477,2568,2575 'user-auth':746 'user-auth.2026-01-05.cook.md':2249 'user-auth.2026-01-10.cook.md':3613 'users/modules':509,3277 'ux':91,309,311,956,1636,2582,3044,3110,3114 'ux/design':1056 'ux/flow':1741 'v':736,758,769,3041,3045,3049,3054,3061 'valid':455,643,651,658,662,669,720,742,761,779,781,785,870,2733,2846,3023,3509,3561,3570,3575,3579,3609,3610,3612,3637,3643,3647,3652,3659,3661,3665,3674 'validation-on':3660 'valu':301,1398,2478 'vector':463 'verif':1130 'verifi':437,1021,1425,2753 'view':725,766,798 'violat':244,1913 'visibl':1460 'vulner':2860,3097 'want':2420 'warn':3597,3600 'weight':2299,2308,2315 'well':204,616,621,898,941,1038,1126,1173,1219,1292,1298,1408,1545,2102,2459,2822,2986,3162,3179,3197,3314,3616 'well-don':203,615,620,897,940,1037,1125,1172,1218,1291,1297,1407,1544,2101,2458,2821,2985,3161,3178,3196,3313,3615 'wheel':2352 'wide':1720,1726,3415,3449,3491 'without':641,652,816,3393,3669 'word':2311 'work':2419 'would':639,856 'write':45,118,135,143,146,173,1486,2000,2108,2496,2585,2674,2776,2874,2944 'writer':1758 'written':2444 'wrong':113,491 'x':3656 'yes':1005,1075,1104,2427 'yes/no':513,3267,3280,3361 'yes/no_':445 'yet':1145,1856,2642","prices":[{"id":"cabade44-f896-48d1-a4f8-8e415e5504b5","listingId":"9ae0b640-6af3-4c62-8288-32abc02820eb","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"PJuniszewski","category":"cook","install_from":"skills.sh"},"createdAt":"2026-04-19T00:41:17.091Z"}],"sources":[{"listingId":"9ae0b640-6af3-4c62-8288-32abc02820eb","source":"github","sourceId":"PJuniszewski/cook/cook","sourceUrl":"https://github.com/PJuniszewski/cook/tree/main/skills/cook","isPrimary":false,"firstSeenAt":"2026-04-19T00:41:17.091Z","lastSeenAt":"2026-04-22T13:03:33.224Z"}],"details":{"listingId":"9ae0b640-6af3-4c62-8288-32abc02820eb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"PJuniszewski","slug":"cook","github":{"repo":"PJuniszewski/cook","stars":13,"topics":["agent-skills","antigravity","claude-code","feature-development","skills"],"license":"mit","html_url":"https://github.com/PJuniszewski/cook","pushed_at":"2026-02-07T08:41:12Z","description":null,"skill_md_sha":"a65ec205a7089a8c811d97edb5a8f2f0ad0013cc","skill_md_path":"skills/cook/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/PJuniszewski/cook/tree/main/skills/cook"},"layout":"multi","source":"github","category":"cook","frontmatter":{"name":"cook","description":"Feature development with guardrails. Plan → Review → Code → Ship."},"skills_sh_url":"https://skills.sh/PJuniszewski/cook/cook"},"updatedAt":"2026-04-22T13:03:33.224Z"}}