| name | team-review |
| description | Multi-lens code review using agent teams for thorough, multi-perspective verification.
Spawns reviewer, security, and architect agents as team members who independently review
and then exchange findings via SendMessage for deeper coverage.
Triggers on: "๋ฉํฐ๋ ์ฆ ๋ฆฌ๋ทฐ", "ํ ๋ฆฌ๋ทฐ", "team-review", "๋ค๊ด์ ๋ฆฌ๋ทฐ",
or when a large/high-risk change needs comprehensive review from multiple perspectives.
|
| argument-hint | <๋ฆฌ๋ทฐ ๋์ ํ์ผ ๋๋ ๋ณ๊ฒฝ ์ค๋ช
> |
| user-invocable | true |
| context | fork |
| agent | coder |
Team Review Skill (Multi-Lens Review)
๊ฐ์
์์ด์ ํธํ์ ํ์ฉํ์ฌ ์ฝ๋ ๋ณ๊ฒฝ์ 3๊ฐ์ง ๊ด์ (์ฝ๋ ํ์ง, ๋ณด์, ์ํคํ
์ฒ)์์ ๋์์ ๋ฆฌ๋ทฐํ๋ค.
๋จ์ผ ๋ฆฌ๋ทฐ์ด๋ ํ ์ ํ์ ์ด์์ ์ง์คํ๋ ๊ฒฝํฅ์ด ์์ผ๋ฏ๋ก, ๋
๋ฆฝ ๋ฆฌ๋ทฐ์ด๋ค์ด ์์ ์ ์ ๋ฌธ ์์ญ์ ๊น์ด ์๊ฒ ๊ฒํ ํ ํ ์ํธ ํผ๋๋ฐฑ์ ๊ตํํ์ฌ ๋๋ฝ์ ์ต์ํํ๋ค.
์ ์ฉ ๊ธฐ์ค
- ์ฌ์ฉ: ๋๊ท๋ชจ ๋ณ๊ฒฝ (ํ์ผ 5๊ฐ+), ๊ณ ์ํ ์ฝ๋ (์ธ์ฆ, ๊ฒฐ์ , ๋ฐ์ดํฐ ์ฒ๋ฆฌ), ์ํคํ
์ฒ ๋ณ๊ฒฝ
- ๋ฏธ์ฌ์ฉ: ๋จ์ ๋ณ๊ฒฝ (ํ์ผ 1-2๊ฐ, ๊ธฐ์กด ํจํด ๋ด ์์ ) โ ๊ธฐ์กด ์๋ธ์์ด์ ํธ ๋ฆฌ๋ทฐ ์ฌ์ฉ
ํ๋ก์ธ์ค
1. ๋ฆฌ๋ทฐ ๋์ ํ์
$ARGUMENTS์์ ๋ฆฌ๋ทฐ ๋์ ํ์ผ/๋ณ๊ฒฝ ๋ฒ์๋ฅผ ํ์
ํ๋ค.
๋ช
์์ ํ์ผ ๋ชฉ๋ก์ด ์์ผ๋ฉด git diff --name-only ๋๋ ๋ณ๊ฒฝ ์ค๋ช
์์ ์ถ๋ก ํ๋ค.
2. ๋ฆฌ๋ทฐํ ์์ฑ
TeamCreate("review-team")
3. ๋ฆฌ๋ทฐ ํ์คํฌ ์์ฑ
TaskCreate({
subject: "์ฝ๋ ํ์ง ๋ฆฌ๋ทฐ",
description: "๋ณ๊ฒฝ๋ ํ์ผ๋ค์ ์ฝ๋ ํ์ง์ ๋ฆฌ๋ทฐํ๋ผ. ๊ฐ๋
์ฑ, ์ ์ง๋ณด์์ฑ, ํจํด ์ผ๊ด์ฑ, ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง์ ์ง์ค. ๋ฆฌ๋ทฐ ์๋ฃ ํ ๋ค๋ฅธ ๋ฆฌ๋ทฐ์ด์๊ฒ SendMessage๋ก ์ฃผ์ ๋ฐ๊ฒฌ์ ๊ณต์ ํ๋ผ.",
activeForm: "์ฝ๋ ํ์ง ๋ฆฌ๋ทฐ ์ค"
})
TaskCreate({
subject: "๋ณด์ ๋ฆฌ๋ทฐ",
description: "๋ณ๊ฒฝ๋ ํ์ผ๋ค์ ๋ณด์์ ๋ฆฌ๋ทฐํ๋ผ. OWASP Top 10, ์ธ์ฆ/์ธ๊ฐ, ์
๋ ฅ ๊ฒ์ฆ, ์์กด์ฑ ์ทจ์ฝ์ ์ ์ง์ค. ๋ฆฌ๋ทฐ ์๋ฃ ํ ๋ค๋ฅธ ๋ฆฌ๋ทฐ์ด์๊ฒ SendMessage๋ก ์ฃผ์ ๋ฐ๊ฒฌ์ ๊ณต์ ํ๋ผ.",
activeForm: "๋ณด์ ๋ฆฌ๋ทฐ ์ค"
})
TaskCreate({
subject: "์ํคํ
์ฒ ๋ฆฌ๋ทฐ",
description: "๋ณ๊ฒฝ๋ ํ์ผ๋ค์ ๊ตฌ์กฐ์ ์ ํฉ์ฑ์ ๋ฆฌ๋ทฐํ๋ผ. ๋ชจ๋ ๊ฒฝ๊ณ, ์์กด์ฑ ๋ฐฉํฅ, ํ์ฅ์ฑ, ๊ฒฐํฉ๋์ ์ง์ค. ๋ฆฌ๋ทฐ ์๋ฃ ํ ๋ค๋ฅธ ๋ฆฌ๋ทฐ์ด์๊ฒ SendMessage๋ก ์ฃผ์ ๋ฐ๊ฒฌ์ ๊ณต์ ํ๋ผ.",
activeForm: "์ํคํ
์ฒ ๋ฆฌ๋ทฐ ์ค"
})
4. ๋ฆฌ๋ทฐ์ด ์คํฐ
3๋ช
์ ๋ฆฌ๋ทฐ์ด๋ฅผ ํ์์ผ๋ก ์คํฐํ๋ค:
Task(team_name="review-team", name="quality-reviewer"):
"๋น์ ์ ์ฝ๋ ํ์ง ๋ฆฌ๋ทฐ์ด์
๋๋ค. ๋ค์ ํ์ผ๋ค์ ๋ฆฌ๋ทฐํ์ธ์: [๋์ ํ์ผ ๋ชฉ๋ก].
๊ฐ๋
์ฑ, ์ ์ง๋ณด์์ฑ, ํจํด ์ผ๊ด์ฑ, ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง์ ์ง์คํ์ธ์.
๋ฆฌ๋ทฐ ์๋ฃ ํ:
1. TaskUpdate๋ก ํ์คํฌ๋ฅผ completed ์ฒ๋ฆฌํ์ธ์.
2. SendMessage๋ก security-reviewer์ arch-reviewer์๊ฒ ์ฃผ์ ๋ฐ๊ฒฌ์ ๊ณต์ ํ์ธ์.
3. ๋ค๋ฅธ ๋ฆฌ๋ทฐ์ด์ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด ๋ณด์ถฉ ์๊ฒฌ์ ์ ์ํ์ธ์."
Task(team_name="review-team", name="security-reviewer"):
"๋น์ ์ ๋ณด์ ๋ฆฌ๋ทฐ์ด์
๋๋ค. ๋ค์ ํ์ผ๋ค์ ๋ฆฌ๋ทฐํ์ธ์: [๋์ ํ์ผ ๋ชฉ๋ก].
OWASP Top 10, ์ธ์ฆ/์ธ๊ฐ, ์
๋ ฅ ๊ฒ์ฆ, ์์กด์ฑ ์ทจ์ฝ์ ์ ์ง์คํ์ธ์.
๋ฆฌ๋ทฐ ์๋ฃ ํ:
1. TaskUpdate๋ก ํ์คํฌ๋ฅผ completed ์ฒ๋ฆฌํ์ธ์.
2. SendMessage๋ก quality-reviewer์ arch-reviewer์๊ฒ ์ฃผ์ ๋ฐ๊ฒฌ์ ๊ณต์ ํ์ธ์.
3. ๋ค๋ฅธ ๋ฆฌ๋ทฐ์ด์ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด ๋ณด์ถฉ ์๊ฒฌ์ ์ ์ํ์ธ์."
Task(team_name="review-team", name="arch-reviewer"):
"๋น์ ์ ์ํคํ
์ฒ ๋ฆฌ๋ทฐ์ด์
๋๋ค. ๋ค์ ํ์ผ๋ค์ ๋ฆฌ๋ทฐํ์ธ์: [๋์ ํ์ผ ๋ชฉ๋ก].
๋ชจ๋ ๊ฒฝ๊ณ, ์์กด์ฑ ๋ฐฉํฅ, ํ์ฅ์ฑ, ๊ฒฐํฉ๋์ ์ง์คํ์ธ์.
๋ฆฌ๋ทฐ ์๋ฃ ํ:
1. TaskUpdate๋ก ํ์คํฌ๋ฅผ completed ์ฒ๋ฆฌํ์ธ์.
2. SendMessage๋ก quality-reviewer์ security-reviewer์๊ฒ ์ฃผ์ ๋ฐ๊ฒฌ์ ๊ณต์ ํ์ธ์.
3. ๋ค๋ฅธ ๋ฆฌ๋ทฐ์ด์ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด ๋ณด์ถฉ ์๊ฒฌ์ ์ ์ํ์ธ์."
5. ๋ชจ๋ํฐ๋ง ๋ฐ ์ข
ํฉ
๋ฆฌ๋๋ TaskList๋ก ์งํ ์ํฉ์ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ๋ค.
3๊ฐ ํ์คํฌ๊ฐ ๋ชจ๋ completed ์ํ๊ฐ ๋๋ฉด:
- ๊ฐ ๋ฆฌ๋ทฐ์ด์ ๊ฒฐ๊ณผ๋ฅผ ์์ง
- ๋ฆฌ๋ทฐ์ด ๊ฐ ๊ตํ๋ ๋ณด์ถฉ ์๊ฒฌ๋ ํฌํจ
- ์ต์ข
verdict๋ฅผ ์ข
ํฉ
6. ์ ๋ฆฌ
SendMessage(type="shutdown_request", recipient="quality-reviewer")
SendMessage(type="shutdown_request", recipient="security-reviewer")
SendMessage(type="shutdown_request", recipient="arch-reviewer")
TeamDelete()
์ถ๋ ฅ
## ๋ฉํฐ๋ ์ฆ ๋ฆฌ๋ทฐ ์๋ฃ
### ์ต์ข
Verdict: [PASS / WARN / BLOCK]
### ์ฝ๋ ํ์ง ๋ฆฌ๋ทฐ (quality-reviewer)
**Verdict**: [PASS/WARN/BLOCK]
[์ฃผ์ ๋ฐ๊ฒฌ ์์ฝ]
### ๋ณด์ ๋ฆฌ๋ทฐ (security-reviewer)
**Verdict**: [PASS/WARN/BLOCK]
[์ฃผ์ ๋ฐ๊ฒฌ ์์ฝ]
### ์ํคํ
์ฒ ๋ฆฌ๋ทฐ (arch-reviewer)
**Verdict**: [PASS/WARN/BLOCK]
[์ฃผ์ ๋ฐ๊ฒฌ ์์ฝ]
### ๊ต์ฐจ ์๊ฒฌ
- [๋ฆฌ๋ทฐ์ด ๊ฐ ์ํธ ํผ๋๋ฐฑ์์ ๋์จ ์ถ๊ฐ ๋ฐ๊ฒฌ]
### ๋ฆฌ๋ทฐ ๋์ ํ์ผ
[ํ์ผ ๋ชฉ๋ก]
๋น์ฉ ์ฃผ์
์ด ์คํฌ์ 3๊ฐ์ ๋ณ๋ Claude ์ธ์คํด์ค๋ฅผ ์คํฐํ๋ฏ๋ก, ๋จ์ผ ๋ฆฌ๋ทฐ ๋๋น ์ฝ 3๋ฐฐ์ ํ ํฐ์ ์ฌ์ฉํ๋ค.
๋จ์ ๋ณ๊ฒฝ์๋ ๊ธฐ์กด ์๋ธ์์ด์ ํธ ๋ฐฉ์์ ๋ฆฌ๋ทฐ๋ฅผ ์ฌ์ฉํ๋ผ.
/team-review vs /ultrareview ์ญํ ๋ถ๋ฆฌ
๊ฐ์ ๋ค๊ด์ ๋ฆฌ๋ทฐ ๋๊ตฌ์ด์ง๋ง ์ฌ์ฉ ์์ ์ด ๋ค๋ฆ
๋๋ค.
| ํญ๋ชฉ | /team-review (harness) | /ultrareview (Claude Code ๊ณต์) |
|---|
| ์คํ ์์น | fork context (๋์ผ ์ธ์
) | background subscription (๋ณ๋ ๊ณผ๊ธ) |
| ์๋ต์ฑ | ์ฆ์ ๊ฒฐ๊ณผ | ๋น๋๊ธฐ, ๋ณ๋ ํ |
| ๋น์ฉ | ๋จ์ผ ๋ฆฌ๋ทฐ ๋๋น ์ฝ 3๋ฐฐ | ๋ณ๋ ์ฒญ๊ตฌ |
| ์ ํฉํ ์์ | iteration ์ค (PR ์์ฑ ์ง์ ์ ๊ฒ) | pre-merge ๊ณ ์ํ PR ์ต์ข
๊ฒ์ฆ |
| Orchestrator ์๋ ํธ์ถ | ๊ฐ๋ฅ | ํธ์ถํ์ง ์์ (์ฌ์ฉ์ ๋ช
์ ์์ฒญ ์์๋ง) |
๊ถ์ฅ ์ฌ์ฉ ํจํด:
- ๊ฐ๋ฐ ์ค ์ฝ๋ ๋ฆฌ๋ทฐ๊ฐ ํ์ํ ๋ โ
/team-review
- ๋จธ์ง ์ง์ ๋ง์ง๋ง ๊ฒ์ดํธ๊ฐ ํ์ํ ๊ณ ์ํ ๋ณ๊ฒฝ โ
/ultrareview (์ฌ์ฉ์๊ฐ ์ง์ ํธ์ถ)
- Orchestrator๋ ์์ฒด ํ๋จ์ผ๋ก
/ultrareview๋ฅผ ํธ์ถํ์ง ์์. ๋ณ๋ ๊ณผ๊ธ + ๋น๋๊ธฐ์ด๋ฏ๋ก ์ฌ์ฉ์ ์์ฌ ๋ช
์ ํ์.
์์ธ ๋น๊ต ๋ถ์: docs/research-ultrareview-vs-team-review-20260516.md