orchestrate-github-skills-exercise
Run the end-to-end GitHub Skills exercise lifecycle as an approval-gated loop: outline, bootstrap, review and fix, then publish. Use this when the user wants to build a complete exercise from an idea,
SKILL.mdskills/orchestrate-github-skills-exercise/SKILL.md
GitHubOrchestrate a GitHub Skills exercise
Use this skill as the detailed loop procedure for @github-skills-orchestrator, which enforces sequencing,
human gates, and publication authorization. Load the relevant phase skill and perform its work directly;
do not delegate to specialist agents or merge the phase requirements into the coordinator prompt.
Phase map
| Phase | Skill to load |
|---|---|
| 1. Outline | create-github-skills-outline |
| 2. Bootstrap | bootstrap-github-skills-exercise |
| 3. Review and fix | review-github-skills-exercise |
| 4. Publish | publish-github-skills-exercise |
The loop
flowchart TD
A[Idea] --> B[Outline round]
B --> G1{Gate 1: user approves outline?}
G1 -- revise --> B
G1 -- approved --> C[Build round]
C --> G2{Gate 2: user satisfied with build?}
G2 -- changes --> C
G2 -- satisfied --> D[Review round]
D --> G3{Gate 3: user approves findings and fixes?}
G3 -- fixes approved --> C
G3 -- no blocking findings, user signs off --> E[Publish prep]
E --> G4{Gate 4: user authorizes publish or transfer?}
G4 -- authorized --> F[Publish or transfer]
Gate rules
These are not optional.
- Never skip a gate. Each gate requires an explicit user response before the next phase starts.
- Check in after every round, not just every phase. After each build round and after each review round, stop and report before doing anything else.
- Never chain build → review → build without a user check-in between rounds.
- Never auto-publish. Publishing and transferring always need explicit authorization naming the target owner and repository.
- Always re-review after a fix round. After build approval, reload the review skill and check the fixes.
- Escalate repeat findings. If the same finding survives two fix rounds, stop fixing and ask the user to decide.
- State position in every handoff. Open each report with the phase and round number, for example
Phase 3 — review round 2.
Phase 1: Outline
Load create-github-skills-outline. Iterate with the user on each revision, stating what changed and what
still needs a decision.
Gate 1 passes when the user explicitly approves the outline, including its title and repository name. Before moving on, confirm:
- the exercise title and one repository name are approved, and the learner copy name is
skills-<name>, - every step has a Theory block with real content and at least one Activity block,
- every step has an Actions Trigger and a Grading-Check decision,
- the file map names real files aligned by number,
- the approved outline's storage location is recorded; bootstrap saves it to
.github/exercise-outline.mdas its first action.
Phase 2: Bootstrap
Load bootstrap-github-skills-exercise against the approved outline. Follow its template-contract,
toolkit-version, and completion requirements before reporting the build.
At the end of every build round, stop and report:
- files created or changed in this round,
- which steps are graded and what each check asserts,
- decisions made on the user's behalf,
- what to look at first,
- completion gates that pass and any that do not.
Then ask for approval or change requests. Gate 2 passes when the user says the build is satisfactory.
Phase 3: Review and fix
Load review-github-skills-exercise. Review is report-only: do not edit files, apply fixes, or change
repository or remote state in this phase, even when tools permit it. This is a behavioral boundary, not
restricted tool access or an independent review of the coordinator's own work.
At the end of every review round, stop and report:
- blocking findings, important findings, and nice-to-improve findings,
- the proposed fix for each finding,
- anything that could not be verified without running the exercise.
Ask the user which fixes to apply before applying any. Then:
- Load
bootstrap-github-skills-exerciseand apply only the approved fixes in a separate build round. - Report the build round and wait for Gate 2 approval.
- Reload
review-github-skills-exerciseand re-review. - Report again and wait.
Gate 3 passes when there are no blocking findings and the user signs off. If a finding survives two fix rounds, stop and escalate.
Phase 4: Publish
Load publish-github-skills-exercise to produce validation evidence, the release checklist, PR copy, and
release notes.
Gate 4 passes only when the user explicitly authorizes the action and names the target. Propose the approved repository name as the default target, but do not treat the Gate 1 name approval as publish authorization. Confirm which path applies:
- publish to a personal account,
- publish to an organization,
- transfer from one organization to another.
Then follow the safety sequence in the publish skill.
Resuming mid-flight
If the user asks what is next on an existing exercise, determine the current phase from repository state:
| Observation | Phase |
|---|---|
No outline recorded (no .github/exercise-outline.md or other recorded outline) |
Phase 1 |
Outline approved, no .github/steps/ content |
Phase 2 |
| Steps and workflows exist | Phase 3 |
| Steps and workflows exist and a recorded review sign-off exists | Phase 4 |
[!IMPORTANT] Repository state alone cannot tell you that a review happened. A reviewed exercise and an unreviewed one look identical on disk. Default to Phase 3 and re-run the review unless there is explicit recorded evidence of sign-off, such as a review summary committed with the exercise, a linked approving pull request review, or the user confirming it in this conversation. Never infer Gate 3 from the presence of files, or the loop can skip review entirely.
Report the detected phase and the evidence you used, then ask the user to confirm before continuing.
Status report format
Use this shape for every round report:
## Phase N — <phase name>, round M
### What happened
### What needs your decision
### Suggested next action