Obtain a bounded independent Claude review of one explicit frozen implementation plan.
Install
npx skillscat add taloncjones/dotfiles/claude-plan-review Install via the SkillsCat registry.
Claude Plan Review
Set REVIEW_SKILL_FILE to this skill's absolute SKILL.md path supplied by
the skill loader. Resolve installed symlinks before using a helper. If the
loader supplies no path, the existing DOTFILEDIR is the fallback; never guess
from the target checkout or another account's skill directory.
REVIEW_ROOT=$(uv run --no-project python - "${REVIEW_SKILL_FILE:-}" "${DOTFILEDIR:-}" <<'PYROOT'
from pathlib import Path
import sys
source, fallback = sys.argv[1:]
if source and (not Path(source).is_absolute() or Path(source).name != "SKILL.md"):
raise SystemExit("Use the absolute SKILL.md path supplied by the skill loader")
root = Path(source).resolve(strict=True).parents[3] if source else (
Path(fallback).expanduser().resolve(strict=True) if fallback else None
)
required = ("claude/skills/co-review/scripts/review.py", "claude/hooks/agent_runtime.py")
if root is None or not all((root / name).is_file() for name in required):
raise SystemExit("Installed review helpers are unavailable")
print(root)
PYROOT
) || exit 2
REVIEW_HELPER="$REVIEW_ROOT/claude/skills/co-review/scripts/review.py"
RUNNER="$REVIEW_ROOT/claude/hooks/agent_runtime.py"Require an explicit plan path under docs/superpowers/plans/; never choose a
global or newest document. Freeze the selected document:
uv run --no-project python "$REVIEW_HELPER" artifact \
--repo "$REPO" --kind plan --path "$PLAN_PATH" --task-id "$TASK_ID" \
--runtime codexValidate the returned absolute path and SHA-256, then set FROZEN_PLAN
and FROZEN_PLAN_SHA256 from those validated fields. Dispatch only that copy.
Apply any deliberate --personal override to both artifact freezing and the
partner launch so they use the same account scope.
Resolve Claude account scope from the original repository throughworkflow_context.py account-scope. Personal Claude requires an unsetCLAUDE_CONFIG_DIR; do not route by a temporary snapshot path or inherited
environment. The partner remains read-only and receives bounded requested
output: severity, location, problem, concrete fix, and verdict. Empty, error,
or malformed output is incomplete.
Resolve model and effort through agent_runtime.py route --step plan-review
through the shared runtime runner; do not duplicate a route table in this
skill.
PROMPT_FILE=$(mktemp "${TMPDIR:-/tmp}/claude-plan-review.XXXXXX")
printf '%s\n' "Independently review only frozen plan $FROZEN_PLAN with SHA-256 $FROZEN_PLAN_SHA256 for task $TASK_ID. Return severity, location, problem, concrete fix, and one verdict. Do not invoke co-review, another partner, skills, or external actions." >"$PROMPT_FILE"
uv run --no-project python "$RUNNER" run \
--runtime claude --step plan-review --risk normal --provisional \
--cwd "$REPO" --sandbox read-only --timeout-secs 600 \
--prompt-file "$PROMPT_FILE"Add --personal only for a deliberate personal override. The plan-review seat
refuses --risk critical and difficulty; escalate a plan that needs a
heavier review with a recorded --config-json routes override onplan_reviewer (for example {"model": "opus", "effort": "xhigh"}); preserve
unknown observed metadata as unknown.
Verify each finding against the frozen plan, present a deduplicated list, and
retain uncertain findings as unresolved. Apply fixes within existing user
authorization; otherwise ask before editing the live plan. Use at most one
skeptic verification round.