Phase task verification
Shared branch creation and verification logic for sequential and parallel task execution - handles git operations, HEAD verification, and MODE-specific behaviorFrom its SKILL.md
npx -y skills add arittr/spectacular --skill phase-task-verificationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.5 KB, as published. Nobody here has run it
Phase Task Verification
When to Use
Invoked by sequential-phase-task and parallel-phase-task after task implementation to create and verify git-spice branch.
Parameters
- RUN_ID: 6-char run ID (e.g., "8c8505")
- TASK_ID: Phase-task (e.g., "1-1")
- TASK_NAME: Short name (e.g., "create-verification-skill")
- COMMIT_MESSAGE: Full commit message
- MODE: "sequential" or "parallel"
The Process
Step 1: Stage and create branch
git add .
gs branch create {RUN_ID}-task-{TASK_ID}-{TASK_NAME} -m "{COMMIT_MESSAGE}"
Step 2: Verify based on MODE
MODE: sequential - Verify HEAD points to expected branch:
CURRENT=$(git rev-parse --abbrev-ref HEAD)
EXPECTED="{RUN_ID}-task-{TASK_ID}-{TASK_NAME}"
[ "$CURRENT" = "$EXPECTED" ] || { echo "ERROR: HEAD=$CURRENT, expected $EXPECTED"; exit 1; }
MODE: parallel - Detach HEAD (makes branch accessible in parent repo):
git switch --detach
CURRENT=$(git rev-parse --abbrev-ref HEAD)
[ "$CURRENT" = "HEAD" ] || { echo "ERROR: HEAD not detached ($CURRENT)"; exit 1; }
Rationalization Table
| Rationalization | Why It's Wrong |
|---|---|
| "Verification is optional" | Silent failures lose work |
| "Skip detach in parallel mode" | Breaks worktree cleanup |
| "Branch create errors are obvious" | Silent failures aren't detected until cleanup fails |
| "Detach can happen later" | Cleanup runs in parent repo - branch must be accessible |
| "HEAD verification adds overhead" | <100ms cost prevents hours of lost work debugging |
Error Handling
git add fails:
- No changes to stage: Error is expected - task implementation failed or incomplete
- Check if task was actually implemented
- Verify files were modified in expected locations
- Do NOT continue with branch creation
- Permission issues: Git repository permissions corrupted
- Check file ownership:
ls -la .git - Verify worktree is accessible
- Escalate to orchestrator
- Check file ownership:
gs branch create fails:
- Duplicate branch name: Branch already exists
- Check existing branches:
git branch | grep {RUN_ID}-task-{TASK_ID} - Verify task wasn't already completed
- May indicate resume scenario - escalate to orchestrator
- Check existing branches:
- Git-spice errors: Repository state issues
- Run
gs repo syncto fix state - Verify git-spice initialized:
gs ls - Check for uncommitted changes blocking operation
- Run
- Invalid branch name: Name contains invalid characters
- Verify RUN_ID is 6-char alphanumeric
- Verify TASK_NAME contains only alphanumeric + hyphens
- Do NOT sanitize - escalate to orchestrator (indicates data corruption)
HEAD verification fails (sequential mode):
- Expected:
gs branch createshould checkout new branch automatically - Actual: Still on previous branch or detached HEAD
- Indicates git-spice behavior change or bug
- Do NOT continue - task is not properly staged
- Escalate to orchestrator with exact HEAD state
HEAD verification fails (parallel mode):
- Expected:
git switch --detachshould detach HEAD - Actual: Still on branch after detach command
- Indicates git version issue or repository corruption
- Do NOT continue - cleanup will fail to access branch
- Escalate to orchestrator with git version:
git --version