forge-intake — Prompt Master intake + dispatch shaping
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").
- Detect the project type with
forge-router(website · ecommerce · fullstack · electron · n8n · integration · rag · voice · prediction · scraping · dashboard · or a new/mixed type). - Generate the question list — the owner chose ONE big list:
It reads the subagent-brainstormed bank atnode .claude/forge-bin/forge-intake.cjs --type <slug> --task "<one-line task>" --run <run_id>.claude/config/intake/question-bank.json(universal questions first, then type-specific; required before recommended). Use--jsonif you want to map it to an ask-tool; use--tier requiredfor a quick essential round on small builds. - For a NEW / mixed / unusual project type (no matching
byTypeslug): 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. - Present the list to the owner as ONE consolidated list (the numbered output, or batched
AskUserQuestionrounds of ≤4 if you prefer buttons — the tool'soptionsmap straight onto choices). Let the owner answer per number or pick options; every question is skippable. - 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 viaforge-reflectas 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
byTypefor 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.