Skip to main content

best-practices-one-shot

Best practices for Ask one-shot runs: the same question to N seats concurrently, answers returned per seat with no consensus, no judge, and no quorum. Use when a user asks several models one question and wants to read each answer, when partial answers are still useful, or when deciding whether a request is a one-shot, a roundtable, or a competition.

설치로 이동

소스 정보

저장소
grahama1970/agent-stack-public
최근 소스 활동
2026년 9월 24일 15:51
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
best-practices-one-shot
description
Best practices for Ask one-shot runs: the same question to N seats concurrently, answers returned per seat with no consensus, no judge, and no quorum. Use when a user asks several models one question and wants to read each answer, when partial answers are still useful, or when deciding whether a request is a one-shot, a roundtable, or a competition.
triggers
["one-shot best practices","ask one-shot","per-seat answers","ask several models one question","no consensus panel","independent answers"]
provides
["one-shot-contract","deliverable-driven-mode-routing","honesty-vs-readiness-split"]
composes
["ask","best-practices-tau-dag","agentic-evals"]
complies
["best-practices-skills","best-practices-tau-dag"]
taxonomy
["orchestration","querying"]
disciplines
["engineering-standards","agentic-orchestration"]
# Best Practices: One-Shot A one-shot asks N seats the same question concurrently and returns N independent answers. The human reads the answers; nothing synthesizes them. It is the correct mode when the deliverable is perspectives, not a decision. ## Core Rule Never manufacture agreement from one-shot answers. The moment you summarize the answers into "the models agree that..." you have run a roundtable without its equal-packet, quorum, and attributed-dissent guarantees. The moment you pick "the best answer" you have run a competition without isolation or an independent judge. If the user wants either, recompile in the right mode; do not upgrade a one-shot in prose. ## Contract `skills/ask/run.sh one-shot "<question>" --handler <a> --handler <b> ...` - **Independence is structural.** Each seat runs as its own single-call Tau DAG. There is no shared node, so one seat's failure cannot reach another lane even in principle — stronger isolation than a roundtable's join-gate. - **Nonce-bound answers.** The prompt embeds a fresh token the answer must echo; a response without this run's nonce is `STALE_OR_UNBOUND`, never an answer. A stale artifact can never be graded as this run's result. - **Honesty and readiness are separate verdicts.** Per seat: `ANSWERED`, `NAMED_BLOCKER` (non-empty failure_code), or `DISHONEST` (neither). Run level: exit 0 at or above `--min-answered`, exit 3 when every lane was honest but answers fell below the floor, exit 1 only for dishonest lanes. 1/3 answers is a usable result, not a failure. - **Receipts per seat.** Every lane leaves its own run dir with `response.md`, `node-receipt.json`, `dag-chart.initial.txt`, and `dag-chart.final.txt`; the run writes `one-shot-verdict.json`. Report from these artifacts, never from memory of the stdout. ## Choosing the mode (deliverable-driven) | The user wants | Mode | | --- | --- | | To read N perspectives themselves | one-shot | | One deliberated position with dissent attributed | roundtable (`$best-practices-roundtable`) | | One winner chosen on evidence from isolated attempts | compete (`$best-practices-competition`) | | One answer from one model | `$ask` single handler | Cues in the request: "ask A and B and C <question>" with no synthesis verb is a one-shot. "Discuss / debate / recommend" is a roundtable. "Each implement / pick a winner / judge" is a competition. ## Charts are part of the run Before executing, show the human the compiled DAG chart (`dag-chart.initial.txt`, printed at compile). After the run, read and report the final verdict chart (`dag-chart.final.txt`) — per-node PASS / FAIL / NAMED_BLOCKER / NO_RECEIPT — so what succeeded and failed is visible without trusting prose. The final chart is also the project agent's self-correction instrument: every non-PASS node is a work item to read, fix, rerun, or name before reporting. Both artifacts are eval-enforced in `$ask`. ## Fail-Closed Rules | Condition | Behavior | | --- | --- | | Answer missing this run's nonce | `STALE_OR_UNBOUND`, lane fails | | No answer and no failure_code | `DISHONEST`, run exits 1 | | Zero answers, all blockers named | honest but `NOT_READY`, exit 3 | | Caller summarizes answers into consensus | wrong mode; recompile as roundtable | | Caller ranks answers and declares a winner | wrong mode; recompile as compete | ## Common Failure Modes | Failure mode | Required correction | | --- | --- | | Consensus prose over independent answers | Report per seat, or rerun as roundtable | | "Best answer" selection without a judge | Rerun as compete with `--judge-handler` | | Treating a named blocker as a failure | It is honest; count it against readiness only | | Treating an all-blocked run as a pass | Exit 3 NOT_READY is the contract | | Reporting from stdout memory | Read `one-shot-verdict.json` and lane receipts | ## Agentic Evals The live contract is proven by `skills/ask/fixtures/agentic_eval_live.json` case `live-one-shot-asks-mixed-seats-and-returns-per-seat-answers` (runner level, two trials), with the verdict machinery red-teamed by the ladder and judge-audit adversarial cases. Do not add deterministic-only proof for live behavior; extend the live fixture instead.
GitHub에서 보기