feat(browser): step byg-et-flow's intake into an ordered interview + don't build faster than you can test - #5
Merged
Conversation
Replace the flat "alle fem punkter" intake checklist with a stepped, ordered interview (one topic per turn) that ends in an explicit spoergerunde gap-fill round, plus a new "look it up, never assert" catalog rule. Why: testing the merged skill on a real LAG bilagskontrol prompt, the model dumped all question-clusters at once (a wall), asked deep edge-case questions in the abstract before seeing any sample, and asserted a building block did not exist without checking the catalog. Changes to byg-et-flow/SKILL.md: - Intake is now TRIN FOR TRIN in a fixed order: proces -> sample early -> varianter -> output -> menneskeligt tjek -> spoergerunde. Ask for a real example at step 2 so later questions are grounded in it, not abstract. - New "Saadan spoerger du" section folds in grill-me interviewing principles as PROSE (one question at a time, recommend an answer, explore-don't-ask, sharpen fuzzy terms, stress-test from the sample) — deliberately never via AskUserQuestion, which does not exist in the claude.ai browser that this pack targets. - New catalog rule: never claim a block exists/does-not-exist without list_node_types/get_node_type; "menneske i loekken" means the flow delivers a result the human reviews, not a step that pauses the run (there is no approval/pause @node). RED/GREEN tested with fresh subagents on the bilagskontrol scenario: RED reproduced the multi-cluster dump + abstract edge-cases; GREEN interviewed one topic at a time in order, requested the sample early, ran a real spoergerunde with recommended answers, and handled the godkend-knap question without asserting node availability. Co-Authored-By: Claude <noreply@anthropic.com> via Dash <dash@syv.ai> Claude-Session: https://claude.ai/code/session_01SYvwyQEa9xsKzsQTwpBuhp
simo787c
marked this pull request as ready for review
July 27, 2026 11:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two changes to
byg-et-flow, both prompted by real bilagskontrol runs in the claude.ai browser. One file:agentbase-browser/skills/byg-et-flow/SKILL.md.1. Stepped, ordered interview (replaces the flat five-point intake)
The old flat checklist made the model dump all ~5 question-clusters at once (a wall), ask deep edge-case questions in the abstract before seeing a sample, and once assert a block didn't exist without checking the catalog.
TRIN FOR TRINin a fixed order: proces → sample tidligt → varianter → output → menneskeligt tjek → spørgerunde. Asking for a real example at step 2 grounds later questions in it instead of asking abstractly.grill-me's principles in as prose (one question at a time, recommend an answer, explore-don't-ask, sharpen fuzzy terms, stress-test from the sample) — deliberately never viaAskUserQuestion, which doesn't exist in the browser this pack targets.list_node_types/get_node_type; "menneske i løkken" means the flow delivers a result the human reviews (e.g. a control sheet with an empty status column), not a step that pauses the run.RED/GREEN: RED (old skill) reproduced the multi-cluster dump + abstract edge-cases. GREEN interviewed one topic at a time in order, requested the sample early, ran a real spørgerunde with recommended answers, and handled the godkend-knap question without asserting node availability — prose only. Confirmed again on a live run: the spørgerunde caught a moms ekskl./inkl. trap that would have thrown a phantom 375 kr diff on every line.
2. "Byg ikke hurtigere end du kan teste" (tracer-bullet build discipline)
That same live run interviewed well but then built and saved the entire match-flow on a single faktura — no betalingsdokumentation, no Excel-oversigt — so the matching logic could never run, and it handed back a flow that was "gemt, men uprøvet". It also guessed an undocumented node config instead of probing it.
run_node) and defer the rest; probe uncertain node config on real data withrun_nodeinstead of guessing; never save a full flow as "færdigt" when it has never run.RED/GREEN on the exact "one faktura, rest comes later, fortsæt" decision point: a faithful (non-leading) RED with the interview-only skill reproduced the wild failure — it laid the whole 6-node graph in one
set_flowand saved it as v0.1 untested, following "læg hele grafen i ét set_flow" literally, only then noticing it couldn't run. GREEN built only the OCR slice, ran it on the real faktura viarun_node(surfacing that the filename keyI2differs from fakturanr100447), and explicitly deferred the matching until a complete sag exists — saving nothing untested.🤖 Generated with Claude Code
https://claude.ai/code/session_01SYvwyQEa9xsKzsQTwpBuhp