with one click
refine-plan
// Reflect user memos/comments in a plan and update it (do NOT implement)
// Reflect user memos/comments in a plan and update it (do NOT implement)
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | refine-plan |
| description | Reflect user memos/comments in a plan and update it (do NOT implement) |
| argument-hint | <plan name or path> [--qa quick|light|standard|thorough|adversarial] |
Resolve $ARGUMENTS to plan file paths. Always resolve BOTH plan.md and plan_ko.md:
.md → use as-is; derive the other file by path swap (plan.md ↔ plan_ko.md)/plan/plan.md (English) and /plan/plan_ko.md (Korean)ls -d .claude_reports/plans/*$ARGUMENTS* 2>/dev/null
{match}/plan/plan.md and {match}/plan/plan_ko.md_audit/_fix_ suffix; if still multiple, ask userExample: /refine-plan inference-refactor → English: .../plan/plan.md, Korean: .../plan/plan_ko.md
Invoke the plan-team (기획팀) agent as a subagent with the following prompt:
Refine mode. Update an existing plan based on user memos.
Korean plan file: {$ARGUMENTS}
English plan file: {$ARGUMENTS with plan_ko.md replaced by plan.md}
Read the Korean plan and find all user memos. Memos can appear in any of these formats:
- `<!-- memo: ... -->` (standard memo tag)
- `<!-- ... -->` (HTML comment — treat any HTML comment as a user memo)
- `// ...` (inline comment)
- `[memo] ...` (bracketed annotation)
- `(**...**)` (parenthetical note)
- Any other text marked as a user annotation (e.g., a distinct block inserted between plan steps, or an inline sentence addressed to the planner). Do NOT treat the plan's original author-written prose as a memo.
Re-read source files if needed, update the Korean plan in-place, and sync changes to the English plan. Remove the memo comments after incorporating them.
Return which steps were changed and a brief summary.
If $ARGUMENTS contains --qa light|standard|thorough|adversarial, use that level and strip the flag.
Note: refine-plan delegates to 기획팀 and runs a QA review loop. The "3 rounds with 🔴 remaining" outcome is handled at the init-plan level and does not need separate gating here.
Otherwise, auto-detect from the refinement scope:
| Level | Auto-detect condition | Action |
|---|---|---|
| Quick | (manual via --qa quick only — autopilot skips refine entirely in quick mode, so this only matters on direct invocation) | 1× 품질관리팀 (model: "sonnet"), single pass, max 1 round (no fix-round on 🔴 — record as 미해결 이슈 and exit) |
| Light | ≤3 steps changed, mechanical | 1× 품질관리팀 (model: "sonnet") |
| Standard | 4-10 steps changed, logic changes | 1× 품질관리팀 (default opus) |
| Thorough | >10 steps changed, architectural | 2× 품질관리팀 in parallel: A correctness (opus), B completeness (sonnet) |
| Adversarial | Cross-variant (SE+SS+CSS), shared modules (utils/, network.py), or >20 steps changed — AND Codex available | Thorough-level 품질관리팀 (A/B) + 1× codex-review-team (adversarial-review) in parallel; Codex writes refine_round_{N}_codex.md |
See
--qaflag for manual override. Whenqa_levelis set in plan frontmatter, it overrides auto-detect.
Codex availability check: Before selecting Adversarial, run codex --version (suppress stderr). If the command fails or Codex is not authenticated, fall back to Thorough silently. This check is skipped if --qa adversarial is explicitly specified (fail loudly instead).
Thorough mode — launch 2 QA agents in parallel:
Log dir = task root folder (parent of plan/). Run mkdir -p {log_dir}/_internal/plan_reviews before invoking QA.
After 기획팀 returns, assess QA level (changed step count, nature) per the table above, then:
model: 'sonnet')model: 'sonnet' for the B (completeness) agent; A (correctness) uses default opus.Check verdict:
## 미해결 이슈 (no fix-round). Report to user.## 미해결 이슈. Report to user: changed steps, resolved issues, unresolved issues and why.Refine the plan at: $ARGUMENTS