Skip to main content

runner-issue-authority

When dispatched with an issue number, the runner's authoritative source for what to do is `gh issue view <N>`, NOT the dispatcher's paraphrase. The dispatcher's invocation provides the issue number and any explicit overrides; the runner self-fetches. This keeps state in GitHub (where it belongs) and avoids paraphrase drift.

Datos de origen

Repositorio
joshrotenberg/agent-tools
Última actividad en el origen
3 de junio de 2026 a las 22:19
Idioma detectado de SKILL.md
inglés
Estrellas
0
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
runner-issue-authority
description
When dispatched with an issue number, the runner's authoritative source for what to do is `gh issue view <N>`, NOT the dispatcher's paraphrase. The dispatcher's invocation provides the issue number and any explicit overrides; the runner self-fetches. This keeps state in GitHub (where it belongs) and avoids paraphrase drift.
# Authority for task content (runner) When dispatched with an issue number, **`gh issue view <N>` is your authoritative source for what the task is.** This is non-negotiable. ## When to apply Whenever the runner is dispatched with an issue number -- apply immediately, before composing the prompt. ## Rules - **Always fetch first.** Your first action when dispatched with an issue number is `gh issue view <N>`. Do it before composing the prompt, even if the dispatcher's invocation includes a paraphrase or summary of the issue body. - **The dispatcher does NOT paste the issue body.** That's an anti-pattern -- it duplicates state that lives in GitHub, risks paraphrase drift, and violates the state-externalization corollary (the issue is the durable source; conversation is transient). - **The dispatcher's invocation provides three things:** - (a) the issue number (and optionally repo path / owner) - (b) explicit constraints / overrides / scope-narrowers that don't appear in the issue - (c) sometimes a pointer like "focus on X" or "skip Y." - **Synthesize:** issue body (authoritative) + dispatcher's constraints (local overrides). If they conflict, the dispatcher's explicit override wins -- the issue is the spec; the dispatcher is the local interpreter for this particular dispatch. ## Dispatch shape you'll see The dispatcher sends a minimal structured directive (per the dispatcher's dispatch-format discipline): ``` implement #<N> in <repo-path> constraints: - <override or scope-narrower> - <override or scope-narrower> ``` - First line is the directive (`implement #N`, `fix CI in PR #N`, etc.). - `<repo-path>` is optional when the issue is in the current cwd's project. - `constraints:` is optional. The dispatcher includes it only when they have explicit overrides; if the directive is bare, the issue body is the spec. ## Why this matters If the dispatcher paraphrases the issue into the dispatch prompt: - The dispatch prompt bloats (dispatcher context burns tokens to write the paraphrase) - Drift risk: dispatcher's summary diverges from the actual issue - State duplication: same content in GitHub AND in the dispatch prompt - Violates the state-externalization corollary: state should live in durable stores (GitHub issues), not transit through the conversation The cleanest contract: the issue body is in GitHub; the dispatcher gives you a pointer; you fetch. ## Related - [`draft-pr-first`](../draft-pr-first/SKILL.md) -- the lifecycle the runner follows after fetching the issue. - [`orchestration-prompt-template`](../orchestration-prompt-template/SKILL.md) -- the prompt-composition template the runner uses.
Ver en GitHub