From ttal
Reviews a PR against the original implementation plan, classifying each finding as in-scope done, in-scope undone (always blocking), or cosmetic (ignore). Prevents scope leakage by rejecting non-blocking follow-up nits.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ttal:sp-review-against-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You wrote a plan. A worker executed it. Now you're reviewing their PR against that plan. Your job isn't to re-review the whole codebase — specialized agents (pr-review-lead etc.) do that. Your job is narrower and sharper: **did the PR actually deliver what the plan said it would?**
You wrote a plan. A worker executed it. Now you're reviewing their PR against that plan. Your job isn't to re-review the whole codebase — specialized agents (pr-review-lead etc.) do that. Your job is narrower and sharper: did the PR actually deliver what the plan said it would?
This skill exists because lenient "it's mostly done, minor gaps can be follow-up nits" reviews leak scope and waste pipeline cycles. Read the rule, then the anti-pattern, then do the review.
Every finding falls into exactly one of three categories:
In-scope + done ✓ — plan called for it, PR delivered it. No action. Don't bother listing these except as a sanity check.
In-scope + undone 🔴 — plan called for it, PR didn't deliver it (or delivered a partial/watered-down version). ALWAYS BLOCKING. Never "non-blocking." Never "fold into follow-up PR." Never "minor gap." If it was in the plan, it's in this PR — or the PR is not done.
Cosmetic + no value ⚪ — not in the plan, no real value if added. Don't mention at all. Not even as a "minor nit." Noise wastes attention.
There is no fourth category. No "minor gap, non-blocking, fold into follow-up" escape hatch. That hatch is how scope leaks.
From an actual past review:
Review complete. Build + tests + vet all pass. CI still running. Matches plan exactly: ... Minor gaps (non-blocking):
- Aliyun 3-function refactor skipped — subtask e1f0a134 annotation asked for extracting three helper functions; worker inlined them instead.
- One AssemblyAI edge case uncovered — we're still billed. Rare case. Could be folded into 7a8ee4f1 cleanup or a follow-up nit commit.
Both items are Category 2 (in-scope + undone). Both were in the plan's subtask annotations. Both got mislabeled as "non-blocking."
What went wrong:
Correct classification:
# Execution steps (what the worker was supposed to do):
task <task-uuid> tree
# Orientation (what/why/anti-goals — if present):
# Look for "orientation: flicknote <hex>" in the task annotations, then:
flicknote detail <hex>
For each subtask in the tree and each explicit ask in annotations:
git diff origin/main..HEAD or the PR URL).Do NOT grade ambition (would a different plan have been better?). You're grading execution against YOUR plan.
LGTM — zero Category 2 findings. Every plan item is delivered. Advance the pipeline:
ttal go <hex>
# spawns pr-review-lead for the deeper review pass
NEED_WORK — one or more Category 2 findings. Send blockers directly to the worker with ttal send:
cat <<EOF | ttal send --to <hex>:coder
# NEED_WORK
## Blockers (Category 2 — in-scope, undone)
1. <concrete finding>
Plan asked for: <quote/paraphrase from subtask or annotation>
PR delivered: <what's there, or nothing>
Fix: <what needs to happen>
2. <next finding>
...
## Questions (optional — ask before fixing if unclear)
- <question>
EOF
The worker fixes, pushes new commits, and you re-review. Use the configured task channel for coordination.
cat <<'EOF' | ttal send --to <admin-alias>
blocked: <reason>
EOF
npx claudepluginhub tta-lab/ttal-cli --plugin ttalValidates blocking code review feedback against implementation plan, categorizing issues as in-scope, out-of-scope, or unclear. Gets user decisions on misalignments to prevent scope creep before agent fixes. Use after reviews in plan execution.
Performs scope-focused PR reviews on GitHub/GitLab: validates requirements compliance, prevents scope creep, triages out-of-scope findings to backlog issues.
Executes tech plans via dependency-aware task batching, TDD, incremental commits, section code reviews, and PR creation. Use after planning phases.