GitHub workflow
Select the requested operation and follow its task reference. Each operation works on an ordinary issue or PR without earlier ghflow tasks. Load only the task and shared rules needed now. Apply Working context and tool output to reference loading, searches, and handoffs.
Before choosing how to execute the operation, apply Execution mode. Local-model work stays in the current session without subagents. This mode overrides task instructions to dispatch workers or start fresh review sessions.
Locate the source and tools
Resolve this SKILL.md path through any symbolic link. Its parent is GHFLOW_SKILL_DIR. Use absolute paths below that directory for references and subagent handoffs. Set GHFLOW_CLI to the absolute path of cli/ghflow.py below it before running command examples. Quote the path. A command tool can start a new shell for each call, so export the variable in each command that uses it, or write the full path:
export GHFLOW_CLI="ABSOLUTE_SKILL_DIRECTORY/cli/ghflow.py"
python3 "$GHFLOW_CLI" --help
Replace ABSOLUTE_SKILL_DIRECTORY with the resolved directory. The resolved skill directory is the source checkout root. Use its cli/ghflow.py directly. Keep the current directory at the target project so Git, GitHub, and identity configuration use that project. Resolve writing guidance through each reference's links, not through the current directory. If source reads need external directory permission, report the resolved checkout path and use the setup instructions in Source access permissions. Do not silently change agent permissions.
The selected task reference names the shared rules it needs. Open a shared reference when its condition applies, and read the section that owns the decision; do not read every shared reference before the first action. The conditions: Authorization when a permission or scope question arises; Evidence before you report a result or pass on an identifier; Decisions when a fact or choice is missing; Agent identity before an agent runs Git or GitHub commands; GitHub writes before changing GitHub records. CLI reads do not grant permission to write.
Select the requested operation
Match the user's explicit request to the operation below. Identify the subject repository from the user's request or the target checkout. python3 "$GHFLOW_CLI" facts reports the checkout, repository, tooling, identity readiness, and the project facts file; with --issue ISSUE_URL it adds the issue's branches, worktrees, PRs, and board items. Use it instead of separate git and gh reads for that state, and read .ghflow/project.md when it reports one. For a local-model session start, preamble ISSUE_URL prints these facts as a compact block that fits in the first prompt. The source checkout supplies instructions and tools; its remote and the configured account do not identify the subject. If the selected repository, issue, or PR is missing, return the needed input before GitHub searches or dispatch. For an assessment-only request, explain the operation and limits without performing delivery. If a material endpoint is unclear, ask only for that decision. Do not choose backlog work or add a fixed sequence. A delivery request defaults to review follow-up with its PR left open. Read its coordinator reference and apply the selected execution mode to dispatch and review requirements.
| Request | Task reference |
|---|---|
| Reassess an existing issue | reconsider-issue |
| Define an idea or issue, including draft-only work | define-issue |
| Settle issue decisions with the user | interview-issue |
| Split a broad parent into children | decompose-parent-issue |
| Publish a reviewed issue draft | file-issue |
| Implement an issue through local commits | implement-issue |
| Independently review code changes | review-changes |
| Publish committed changes as a PR | submit-pr |
| Address PR feedback and repair CI | address-pr-review |
| Merge an explicitly authorized PR | merge-pr |
| Deliver or tackle one selected issue | express-issue |
| Deliver an agreed parent issue | deliver-parent-issue |
| Group related issues under themes | bundle-issues |
| Assess a requested set of open issues | triage-issues |
| Resolve issues needing input | sweep-needs-input |
| Define accepted issues | sweep-needs-definition |
| Return unblocked issues to definition | sweep-blocked |
| Audit closed issues | sweep-audit-closed |
| Prioritize a requested board scope | sweep-prioritize |
| Stage issues into the Ready queue | curate-ready-queue |
| Deliver an explicitly requested Ready queue | burndown-ready-queue |
| Write or refresh the project facts file | prepare-project-facts |
Execute and hand off
For sustained work or findings that would be costly to reconstruct, apply Task notes. On resumption or after context compaction, read the task's existing notes before repeating research or reopening decisions.
Follow the selected reference's scope and stopping point. Carry existing authorization across included tasks. Draft-only and read-only limits still apply; implementation or submission never implies merge permission.
In delegated mode, apply Coordination. Give the subagent the selected operation and required inputs. If delegation or the required reviewer model is unavailable, follow the shared rules and report the limit.
Return the operation's actual result, sources, checks, and remaining decisions. Report missing capabilities and incomplete evidence explicitly.