Review a completed epic's branch against every issue's acceptance criteria
Use these deterministic scripts instead of crafting curl commands:
| Script | Purpose |
|---|---|
.claude/hooks/gitlab/scripts/get-epic.sh <iid> --with-issues | Fetch epic with all issues |
.claude/hooks/gitlab/scripts/create-issue.sh | Create remediation issues |
All scripts support --help for usage details.
This skill performs a post-completion audit of an epic. It reviews the actual state of the code on the epic's branch against every issue's acceptance criteria and requirements.
Any findings are filed as new GitLab issues attached to the same epic.
.claude/hooks/gitlab/scripts/get-epic.sh $ARGUMENTS[0] --with-issues --format=json
Determine the branch to review based on labels:
execution-plan::{plan-name} AND phase::{phase-name} → review phase/{plan-name}/{phase-name}execution-plan::* label → review epic/{epic-iid}-{epic-slug}git fetch origin
git checkout origin/{branch}
For each issue (in IID order):
Parse the issue description to identify:
Use Grep and Glob to find:
For every criterion, classify as:
Pay special attention to:
For each finding, note:
missing, broken, partial, deviationGroup findings by issue and show:
If zero findings, report success and stop.
If findings exist, ask for confirmation before creating issues.
For each finding, create a new issue:
.claude/hooks/gitlab/scripts/create-issue.sh \
--title="[Audit] {classification}: {short description} (from #{original-iid})" \
--description="## Context
This issue was identified during a post-completion audit of epic **{epic-title}** (&{epic-iid}).
**Original issue**: #{original-iid} — {original-title}
## Finding
**Classification**: \`{classification}\`
**Acceptance criterion**:
> {the specific criterion}
**Current state**:
{description of current state}
**Files involved**:
- \`{file}:{line}\` — {note}
## Expected resolution
{what needs to be done}" \
--labels="{original-labels},audit" \
--epic-iid={epic-iid}
Print final summary: