Skip to main content

shepherd-approve-design

HUMAN-ONLY shepherd design approval. Run after reviewing .shepherd/2-design.md, .shepherd/3-success-criteria.md, and .shepherd/_panel.json. Records the approved panel in _state.json, writes .shepherd/_design.approved, and hands control back to /shepherd. The agent cannot invoke this.

Source facts

Repository
apify/shepherd
Last source activity
August 14, 2026 at 20:26
Detected SKILL.md language
English
Stars
3
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
shepherd-approve-design
description
HUMAN-ONLY shepherd design approval. Run after reviewing .shepherd/2-design.md, .shepherd/3-success-criteria.md, and .shepherd/_panel.json. Records the approved panel in _state.json, writes .shepherd/_design.approved, and hands control back to /shepherd. The agent cannot invoke this.
disable-model-invocation
true
allowed-tools
Read, Bash, Skill
argument-hint
# Approve design Record human approval of the design, success criteria, and review panel so implementation can begin. 1. Read `.shepherd/2-design.md`, `.shepherd/3-success-criteria.md`, and `.shepherd/_panel.json`; stop if any is missing. Approval covers all three. 2. Summarize the approach, success criteria, reviewers, final reviewers, limits, and panel reason in 3-5 lines. 3. Copy the approved panel into `_state.json`: ```bash python3 - <<'PY' import json from pathlib import Path state_path = Path(".shepherd/_state.json") panel = json.loads(Path(".shepherd/_panel.json").read_text()) for key in ("reviewers", "final_reviewers", "inner_iterations", "final_review_rounds"): if key not in panel: raise SystemExit(f"_panel.json missing required key: {key}") state = json.loads(state_path.read_text()) if state_path.exists() else {} state["panel"] = panel state["phase"] = "inner-loop" state["iteration"] = 1 state_path.write_text(json.dumps(state, indent=2, sort_keys=True) + "\n") PY ``` 4. Write the marker: ```bash mkdir -p .shepherd printf 'approved_at=%s\nbase_commit=%s\nnote=design approved by human via /shepherd-approve-design\n' \ "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$(git rev-parse HEAD 2>/dev/null || echo none)" \ > .shepherd/_design.approved ``` 5. Confirm briefly, then invoke `/shepherd` so it resumes into implementation. Do not edit source here.
View on GitHub