Reviewing Work

SkillProductivity

Review work — check task completion, run lint/build, mark reviewer remarks. Use after /unipi:work completes.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Reviewing Work skill

What this skill tells your AI

The instructions your AI receives, as published by neuron-mr-white/unipi in packages/workflow/skills/review-work/SKILL.md and read by ahel’s review.

Review what was built, verify task completion, run codebase checks, add reviewer remarks.

Boundaries

This skill MAY: read codebase, run checks (lint, build, test, docker), write reviewer remarks to plan docs, run bash for git operations (checkout worktree branch). This skill MAY NOT: edit code, implement features, create new files.

Command Format

/unipi:review-work plan:<path>(optional) <string(greedy)>(optional)
  • plan:<path) — specific plan to review (auto-suggested)
  • string(greedy) — scope (e.g., "only review auth tasks" or "just check builds")
  • If no plan provided → agent finds latest plan or asks user
  • Runs in current session (or worktree session if still active)

Phase 1: Load Plan & Switch Branch

  1. If plan: arg provided, read that plan
  2. If not, list plans in .unipi/docs/plans/ and ask user
  3. Read plan fully — understand tasks, acceptance criteria, current status
  4. Read workbranch: from plan frontmatter:
    • If workbranch: exists and is not empty → switch to that branch/worktree
    • If workbranch: missing or empty → review on current branch (main)
    • To switch: git checkout {workbranch} or use worktree path

Exit: On correct branch. Plan loaded.

Ralph Status Check

If a ralph loop was used for this work (check .unipi/ralph/ for a matching state file):

  1. Read .unipi/ralph/{name}.state.json — note iteration count, reflection findings
  2. Read .unipi/ralph/{name}.md — check checklist completion
  3. Note any items marked incomplete or abandoned across iterations
  4. Include this loop context in your reviewer remarks

Phase 2: Check Task Completion

For each task in plan:

  1. Read acceptance criteria
  2. Verify against actual implementation
  3. Determine status:
    • Done — all criteria met → completed:
    • Partially Done X/Y — some steps complete, others not
    • Unstarted — nothing done → unstarted:
    • Failed — attempted but broken → failed:
    • Awaiting User — needs user action → awaiting_user:
    • Blocked — waiting on dependency → blocked:
    • Skipped — intentionally not done → skipped:

If string(greedy) scope provided, only check matching tasks.


Phase 3: Run Codebase Checks

Run project's verification suite:

  1. Lintnpm run lint or equivalent
  2. Type checktsc --noEmit or equivalent
  3. Testsnpm test or equivalent
  4. Buildnpm run build or equivalent
  5. Dockerdocker build . if Dockerfile exists

Report results. If any fail:

  • Note which checks failed
  • Identify which tasks are affected
  • Don't fix — just report

Phase 4: Write Reviewer Remarks

Add REVIEWER-REMARK at the end of the plan document, behind a divider:

---

## Reviewer Remarks

REVIEWER-REMARK: Partially Done 3/5
- Tasks 1-3 complete, verified against acceptance criteria
- Task 4 stuck: API endpoint returns 500, needs investigation
- Task 5 unstarted: depends on Task 4

Codebase Checks:
- ✓ Lint passed
- ✓ Type check passed
- ✗ Tests failed: 2 failing in auth.test.ts
- ✓ Build passed
- ✓ Docker build passed

Status Format

REVIEWER-REMARK: <Done | Partially Done X/Y | Unstarted>

Followed by description explaining the status.


Phase 5: Handoff

Based on review results, use ask_user new_session options when available so the selected next workflow command can be queued automatically. If ask_user is unavailable, present the same choices conversationally and keep copyable commands visible.

If all tasks done and checks pass:

If workbranch is set (worktree):

"All tasks complete and verified. Ready to merge back to main."

Offer:

ask_user({
  question: "Merge this worktree now?",
  options: [
    { label: "Proceed to /unipi:worktree-merge", value: "merge", action: "new_session", prefill: "/unipi:worktree-merge" },
    { label: "Consolidate learnings", value: "consolidate", action: "new_session", prefill: "/unipi:consolidate" },
    { label: "Done for now", value: "done", action: "end_turn" },
  ],
  allowFreeform: false,
})

Copyable fallback:

/unipi:worktree-merge

If workbranch is empty (main branch):

"All tasks complete and verified. Changes already on main — no merge needed."

Offer /unipi:consolidate as a new_session handoff when available. Copyable fallback:

/unipi:consolidate

Either way, user can consolidate learnings:

/unipi:consolidate

If tasks incomplete or checks fail:

"Tasks remaining and/or checks failing. Continue work?"

Offer the applicable /unipi:work ... command as a new_session handoff when available.

If workbranch is set:

/unipi:work worktree:<branch> specs:<plan-path>

If workbranch is empty (main):

/unipi:work specs:<plan-path>

If scoped review complete:

"Scoped review complete. Run full review or continue work?"

Offer both commands as new_session options when available:

/unipi:review-work plan:<plan-path>  (full review)
/unipi:work specs:<plan-path>        (continue work)

Notes

  • Reviewer remarks append to end of plan — don't modify existing content
  • Check results are factual — report pass/fail, don't diagnose
  • This is a checkpoint, not a fix pass — work continues via /unipi:work

Signals

GitHub stars
64
Forks
15
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
review-work-neuron-mr-white
Source
github.com/neuron-mr-white/unipi