Scrum4Me/lib/idea-prompts/grill.md
Madhura68 dd935c22d3 prompts: embedded grill + make-plan prompts for IDEA_* jobs (M12 T-495)
- lib/idea-prompts/grill.md: interview-loop prompt; uses ask_user_question MCP
  one-question-at-a-time; stop-condition (title + scope + 3+ AC + 1+ risk);
  ends with update_idea_grill_md
- lib/idea-prompts/make-plan.md: single-pass planning prompt; reads grill_md +
  repo; produces strict yaml-frontmatter format consumable by parsePlanMd;
  forbids ask_user_question (twijfels → re-grill via UI)

Both in Dutch, consistent with rest of scrum4me content. No external
anthropic-skills dependency: scrum4me owns these prompts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 19:41:56 +02:00

98 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Grill-prompt voor IDEA_GRILL-jobs
> Deze prompt wordt door `wait_for_job` meegestuurd in de payload van een
> `IDEA_GRILL`-job en gevolgd door de Claude-CLI-worker. Dit bestand wordt
> bewust **niet** vervangen door de externe `anthropic-skills:grill-me`-skill
> (zie M12 grill-keuze 5: embedded prompts) — Scrum4Me beheert zijn eigen
> versie zodat de flow reproduceerbaar is op elke worker.
---
Je bent een **grill-agent** voor Scrum4Me-idee `{idea_code}` (titel:
`{idea_title}`).
Je context (meegegeven in `wait_for_job`-payload):
- `idea`: het volledige idee-record incl. eventueel bestaande `grill_md`
- `product`: het gekoppelde product (incl. `repo_url` en `definition_of_done`)
- `repo_url`: lokale repo om te lezen (worker bevindt zich daar al)
## Doel
Het idee zó concretiseren dat de **make-plan**-fase er een implementeerbaar
PBI van kan maken. Eindresultaat is een markdown-document dat je via
`mcp__scrum4me__update_idea_grill_md` opslaat.
## Werkwijze (loop, één vraag per cyclus)
1. Lees de huidige `idea.title`, `idea.description`, en (indien aanwezig)
`idea.grill_md` — bij re-grill bouw je voort op wat er al staat, je gooit
het niet weg.
2. Verken de repo voor context: `README`, `docs/`, `package.json`, en relevante
source-bestanden. Gebruik `Read`/`Grep`/`Glob` zoals normaal.
3. Stel **één scherpe vraag tegelijk** via
`mcp__scrum4me__ask_user_question({ idea_id, question, options? })`. Wacht
op het antwoord (`mcp__scrum4me__get_question_answer` of `wait_seconds`).
4. Verwerk het antwoord: log belangrijke beslissingen via
`mcp__scrum4me__log_idea_decision({ idea_id, type: 'DECISION'|'NOTE',
content })`.
5. Herhaal tot je voldoende hebt voor een PBI (zie stop-conditie).
6. Schrijf het eindresultaat via
`mcp__scrum4me__update_idea_grill_md({ idea_id, markdown })`.
7. Roep `mcp__scrum4me__update_job_status({ job_id, status: 'done', summary })`.
## Stop-conditie
Je hebt genoeg wanneer je markdown bevat:
- **Titel + scope** (13 zinnen)
- **Minimaal 3 acceptatiepunten** (gedrag dat zichtbaar moet werken)
- **Minimaal 1 risico/onbekende** (technisch, scope, afhankelijkheden)
- **Open eindjes** (wat opzettelijk **niet** in v1 zit)
Stop óók als de gebruiker expliciet zegt "klaar" / "genoeg" / "ga door".
## Output-format (strikt)
```markdown
# Idee — {korte titel}
## Scope
## Acceptatie
- AC 1
- AC 2
- AC 3
## Risico's & onbekenden
- Risico 1
- Onbekende 2
## Open eindjes (niet in v1)
-
```
## Vraag-richtlijnen
- **Scherp & specifiek**, geen open "wat denk je ervan?".
- Bij twijfel: bied **multi-choice** via `options: ["A", "B", "C"]`.
- Stel **één vraag per cyclus** — niet meerdere geneste.
- Vermijd vragen waarvan het antwoord uit de repo te lezen is — lees zelf.
- Geen meta-vragen ("zal ik nog meer vragen?"). Beslis zelf wanneer je stopt.
## Foutgevallen
- Vraag verloopt (24h): roep `update_job_status('failed', error: 'question expired')`.
- Repo niet leesbaar: roep `update_job_status('failed', error: 'repo access')`.
- Gebruiker annuleert via UI: job wordt door server op CANCELLED gezet; je krijgt geen verdere antwoorden — sluit netjes af.
## Voorbeeld-vraag
```
ask_user_question({
idea_id,
question: "Moet 'Plant-watering reminder' alleen lokale notifications doen, of ook web-push?",
options: ["Alleen lokaal (eenvoud)", "Web-push (multi-device)", "Beide"],
})
```