---
name: forge-intake
description: Prompt Master intake — captures the real goal via one clarifying-question list before building. Use at the START of any /forge build/create/automate task — intake, requirements, scope, PRD.
---

# forge-intake — Prompt Master intake + dispatch shaping

**Self-improvement substrate (wp-skill-evals, 2026-07-31):** before applying this skill, read
`learnings.md` in this skill's own folder and honor its corrections. After a run that produced a
genuine correction (an owner fix, a false assumption caught, a preference stated), append it to
`learnings.md` with a date and real evidence — never invent a lesson that didn't happen.

Two standing behaviours the owner requested (2026-07-13): **Prompt Master is always on.**

## 1. INTAKE — ask before building (every build task; trivial tasks skip)

At the START of any `/forge` task that BUILDS/creates/automates a real deliverable (L2+), before writing work packages, run the intake so the project's goal is captured. Skip only truly trivial turns (a status question, a one-line fix, "what does X do").

1. **Detect the project type** with `forge-router` (website · ecommerce · fullstack · electron · n8n · integration · rag · voice · prediction · scraping · dashboard · or a new/mixed type).
2. **Generate the question list** — the owner chose ONE big list:
   ```
   node .claude/forge-bin/forge-intake.cjs --type <slug> --task "<one-line task>" --run <run_id>
   ```
   It reads the subagent-brainstormed bank at `.claude/config/intake/question-bank.json` (universal questions first, then type-specific; required before recommended). Use `--json` if you want to map it to an ask-tool; use `--tier required` for a quick essential round on small builds.
3. **For a NEW / mixed / unusual project type** (no matching `byType` slug): dispatch ONE subagent to brainstorm 6-10 extra high-value questions for that specific project, save them as a JSON array, and merge with `--extra <file.json>`. (This is the "Prompt Master creates questions with subagent help" path.) Optionally propose adding the new type to the bank.
4. **Present the list to the owner** as ONE consolidated list (the numbered output, or batched `AskUserQuestion` rounds of ≤4 if you prefer buttons — the tool's `options` map straight onto choices). Let the owner answer per number or pick options; every question is skippable.
5. **Record the answers** into the run: they become the basis for `forge-prd` (PRD → tickets) and are quoted in the Boss dispatch prompts. A material answer the owner corrects can also be persisted via `forge-reflect` as an owner-correction lesson.

HONESTY: never build on assumed answers — if the owner skips a *required* question, state the assumption you're proceeding with. The intake sharpens the goal; it does not replace owner approval gates.

## 2. DISPATCH SHAPING — every Boss dispatch is Prompt Master-shaped

Every work package the Lead/Head Chef emits MUST already carry the Prompt Master agentic shape (this is the existing forge-router Work Package format): **target/deliverable · allowed actions + path anchors · forbidden actions / scope lock · stop condition + human-review triggers · success/acceptance criteria · evidence-required · no vague verbs.**

Lint a dispatch prompt before sending (advisory, non-blocking):
```
node .claude/forge-bin/forge-promptcheck.cjs <promptFile>        # or: echo "<prompt>" | forge-promptcheck.cjs -
```
It scores the prompt X/7 across those dimensions and names what's missing (e.g. "add a scope lock"). `--strict` exits 1 below 6/7 for a hard gate; default is a nudge. A canonical Forge work package already scores 6-7/7 — this catches the weak, vague ones ("improve the thing and fix stuff" → 1/7) before they reach a Boss.

## Notes
- Zero-dependency, deterministic, no LLM inside the tools, no telemetry, no UI changes (dashboard stays read-only). The bank is owner-editable JSON.
- The intake question bank was generated by a 6-agent subagent brainstorm and is Forge-owned + synced; extend `byType` for new domains.
- Intake fires for BUILD tasks; it is not a gate on Q&A/status turns. Dispatch shaping applies to every real Boss dispatch.

## Iteratieve intake (sweep-verbetering 2026-07-31 — 10 bronvideo's, zie .claude/forge-research/YT-SWEEP-2026-07-31.md)

Waar het kanaal het toelaat (dashboard-wizard, interactieve chat): stel vragen **één per keer** in
plaats van één batchlijst — elk antwoord stuurt de vólgende vraag, tot er gedeeld begrip is. Sluit
ALTIJD af met de meta-vraag: **"Wat moet ik zelf nog verhelderen dat ik niet gevraagd heb?"** — die
vangt de gaten die de vragensteller zelf mist. Leg de scope-uitkomst vast in vier lagen:
**core** (moet nu) · **nice-to-have** (mag nu) · **maybe-later** (mét concrete trigger wanneer wel) ·
**expliciet-uit-scope** (opgeschreven zodat niemand het stilzwijgend alsnog bouwt). Batch-vragen
blijven het terugvalpad voor niet-interactieve runs; de recommended-markering per vraag blijft
gelden (verdiend advies, nooit random).
