• Claude Code์—์„œ ํŠน์ • ์ž‘์—…์„ ์ „๋‹ดํ•˜๋Š” ํŠน์ˆ˜ํ™”๋œ ํ•˜์œ„ AI ์–ด์‹œ์Šคํ„ดํŠธ
  • ๊ฐ subagent๋Š” ๋…๋ฆฝ๋œ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์—์„œ ์‹คํ–‰
  • ์ปค์Šคํ…€ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ, ๊ฐœ๋ณ„ ๋„๊ตฌ ์ ‘๊ทผ ๊ถŒํ•œ, ๋…๋ฆฝ์  ํผ๋ฏธ์…˜ ๋ณด์œ 
  • Claude๊ฐ€ subagent์˜ description๊ณผ ๋งค์นญ๋˜๋Š” ์ž‘์—…์„ ๋งŒ๋‚˜๋ฉด ์ž๋™ ์œ„์ž„ โ†’ ๋…๋ฆฝ ์ž‘์—… ํ›„ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜

ํ•ด๋‹น ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์ด์œ 

  • ์ปจํ…์ŠคํŠธ ์˜ค์—ผ ๋ฐฉ์ง€: ๋Œ€๋Ÿ‰ ์ถœ๋ ฅ(ํ…Œ์ŠคํŠธ ๋กœ๊ทธ, ํŒŒ์ผ ํƒ์ƒ‰ ๊ฒฐ๊ณผ)์ด ๋ฉ”์ธ ๋Œ€ํ™”๋ฅผ ์˜ค์—ผ์‹œํ‚ค์ง€ ์•Š์Œ
  • ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์ ˆ์•ฝ: ๋ฉ”์ธ ๋Œ€ํ™”์˜ ์ปจํ…์ŠคํŠธ๋ฅผ ํ•ต์‹ฌ ์ž‘์—…์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ
  • ์ œ์•ฝ ๊ฐ•์ œ: subagent๋ณ„๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ๋ฅผ ์ œํ•œ (์˜ˆ: ์ฝ๊ธฐ ์ „์šฉ)
  • ๋น„์šฉ ์ œ์–ด: ๋‹จ์ˆœ ์ž‘์—…์€ Haiku ๊ฐ™์€ ์ €๋ ดํ•œ ๋ชจ๋ธ๋กœ ๋ผ์šฐํŒ…

AS-IS (Subagent ์—†์ด)

sequenceDiagram
    autonumber
    actor User
    participant Main as ๋ฉ”์ธ ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ

    User->>Main: "ํ…Œ์ŠคํŠธ ์‹คํ–‰ํ•ด์ค˜"
    Main->>Main: ํ…Œ์ŠคํŠธ ์ถœ๋ ฅ 500์ค„ ์ƒ์„ฑ
    Note over Main: ์ปจํ…์ŠคํŠธ์— ํ…Œ์ŠคํŠธ ๋กœ๊ทธ๊ฐ€<br/>๊ทธ๋Œ€๋กœ ์ถ•์ ๋จ

    User->>Main: "auth ๋ชจ๋“ˆ ๊ตฌ์กฐ ํŒŒ์•…ํ•ด์ค˜"
    Main->>Main: 20๊ฐœ ํŒŒ์ผ ํƒ์ƒ‰ ๊ฒฐ๊ณผ ์ƒ์„ฑ
    Note over Main: ํŒŒ์ผ ๋‚ด์šฉ์ด ์ปจํ…์ŠคํŠธ์—<br/>์ถ”๊ฐ€๋กœ ์ถ•์ ๋จ

    User->>Main: "์ด์ œ ๋ฒ„๊ทธ ์ˆ˜์ •ํ•ด์ค˜"
    Note over Main: โš ๏ธ ์ปจํ…์ŠคํŠธ ์˜ค์—ผ<br/>ํ…Œ์ŠคํŠธ ๋กœ๊ทธ + ํƒ์ƒ‰ ๊ฒฐ๊ณผ๋กœ<br/>ํ•ต์‹ฌ ๋Œ€ํ™”๊ฐ€ ๋ฐ€๋ ค๋‚จ<br/>โ†’ ์ด์ „ ๋งฅ๋ฝ ์œ ์‹ค

TO-BE (Subagent ์‚ฌ์šฉ)

sequenceDiagram
    autonumber
    actor User
    participant Main as ๋ฉ”์ธ ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ
    participant Sub1 as test-runner (Subagent)
    participant Sub2 as Explore (Subagent)

    User->>Sub1: "ํ…Œ์ŠคํŠธ ์‹คํ–‰ํ•ด์ค˜"
    Note over Sub1: ๋…๋ฆฝ ์ปจํ…์ŠคํŠธ์—์„œ<br/>ํ…Œ์ŠคํŠธ 500์ค„ ์‹คํ–‰
    Sub1-->>Main: "3๊ฐœ ์‹คํŒจ" (์š”์•ฝ๋งŒ ๋ฐ˜ํ™˜)

    User->>Sub2: "auth ๋ชจ๋“ˆ ๊ตฌ์กฐ ํŒŒ์•…ํ•ด์ค˜"
    Note over Sub2: ๋…๋ฆฝ ์ปจํ…์ŠคํŠธ์—์„œ<br/>20๊ฐœ ํŒŒ์ผ ํƒ์ƒ‰
    Sub2-->>Main: ๊ตฌ์กฐ ์š”์•ฝ ๋ฐ˜ํ™˜

    User->>Main: "์ด์ œ ๋ฒ„๊ทธ ์ˆ˜์ •ํ•ด์ค˜"
    Note over Main: โœ… ์ปจํ…์ŠคํŠธ ๊นจ๋—<br/>์š”์•ฝ๋งŒ ๋‚จ์•„์žˆ์–ด<br/>ํ•ต์‹ฌ ๋งฅ๋ฝ ์œ ์ง€๋จ

Agent๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ์ค€

1๋‹จ๊ณ„: Agent vs Skill ๋ถ„๋ฆฌ ํŒ๋‹จ

์•„๋ž˜ 4๊ฐ€์ง€ ์งˆ๋ฌธ์„ ์ˆœ์„œ๋Œ€๋กœ ํ™•์ธํ•œ๋‹ค. ํ•˜๋‚˜๋ผ๋„ YES์ด๋ฉด Agent ํ›„๋ณด์ด๋‹ค.

flowchart TD
    Q1{{"์ž๊ธฐ์™„๊ฒฐ์ ์ธ๊ฐ€?"}}
    Q2{{"๋„๊ตฌ ์ ‘๊ทผ์„<br/>์ œํ•œํ•ด์•ผ ํ•˜๋Š”๊ฐ€?"}}
    Q3{{"๋Œ€๋Ÿ‰ ์ถœ๋ ฅ์ด<br/>์˜ˆ์ƒ๋˜๋Š”๊ฐ€?"}}
    Q4{{"๋„๋ฉ”์ธ ํŠนํ™”<br/>system prompt๊ฐ€<br/>ํ•„์š”ํ•œ๊ฐ€?"}}

    AGENT["โœ… Agent"]
    SKILL["๐Ÿ’ก Skill / Main ์ฒ˜๋ฆฌ"]

    Q1 -->|YES| AGENT
    Q1 -->|NO| SKILL
    Q1 -->|"YES์ง€๋งŒ ํ™•์ธ ํ•„์š”"| Q2

    Q2 -->|YES| AGENT
    Q2 -->|NO| Q3

    Q3 -->|YES| AGENT
    Q3 -->|NO| Q4

    Q4 -->|YES| AGENT
    Q4 -->|NO| SKILL

โ€์ž๊ธฐ์™„๊ฒฐ์ ์ธ๊ฐ€?โ€ ๊ตฌ์ฒด์  ๊ธฐ์ค€

์ถ”์ƒ์ ์ธ โ€œ์ž๊ธฐ์™„๊ฒฐ์ โ€์„ 3๊ฐ€์ง€ ์กฐ๊ฑด์œผ๋กœ ํ’€๋ฉด:

์กฐ๊ฑดYES โ†’ AgentNO โ†’ Skill
์ž…๋ ฅ์ด ๋ช…ํ™•ํ•œ๊ฐ€? ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ง€์‹œ ๊ฐ€๋Šฅ?โ€CLAUDE.md + plan.md ์ฝ๊ณ  ๊ตฌํ˜„ ๋ฌธ์„œ ์ž‘์„ฑํ•ด""์‚ฌ์šฉ์ž๊ฐ€ ๋ญ˜ ์›ํ•˜๋Š”์ง€ ๋ฌผ์–ด๋ณด๋ฉด์„œ ๋งŒ๋“ค์–ดโ€
์ค‘๊ฐ„ ํŒ๋‹จ ๋ถˆํ•„์š”ํ•œ๊ฐ€? ํ˜ผ์ž ๋๊นŒ์ง€ ๊ฐ€๋Šฅ?์ฝ”๋“œ ๋ถ„์„ โ†’ ๋ฌธ์„œ ์ƒ์„ฑ (ํŒ๋‹จ ๊ธฐ์ค€์ด prompt์— ์žˆ์Œ)์ดˆ์•ˆ โ†’ ์‚ฌ์šฉ์ž ํ™•์ธ โ†’ ์ˆ˜์ • โ†’ ์žฌํ™•์ธ
๊ฒฐ๊ณผ๋ฌผ์ด ๋…๋ฆฝ์ ์ธ๊ฐ€? ๋‹ค๋ฅธ ๊ฒฐ๊ณผ ์—†์ด๋„ ์˜๋ฏธ ์žˆ์Œ?โ€Flutter ๊ตฌํ˜„ ๋ฌธ์„œโ€ (Web ์—†์ด๋„ ์˜๋ฏธ ์žˆ์Œ)โ€œ3๊ฐœ ํ”Œ๋žซํผ ํ†ตํ•ฉ ์š”์•ฝโ€ (3๊ฐœ ๊ฒฐ๊ณผ ํ•„์š”)

๋„๊ตฌ ์ œํ•œ

ํŠน์ • ๋„๊ตฌ๋งŒ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ฐจ๋‹จํ•ด์•ผ ํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ Agent์ด๋‹ค.

  • ์˜ˆ: ์ฝ๊ธฐ ์ „์šฉ ํƒ์ƒ‰ ์—์ด์ „ํŠธ โ†’ tools: Read, Glob, Grep (Write/Edit ์ฐจ๋‹จ)
  • ์˜ˆ: DB ์ฝ๊ธฐ ์ „์šฉ โ†’ hooks.PreToolUse๋กœ SELECT๋งŒ ํ—ˆ์šฉ

๋Œ€๋Ÿ‰ ์ถœ๋ ฅ

์ฝ”๋“œ๋ฒ ์ด์Šค ํƒ์ƒ‰, ํ…Œ์ŠคํŠธ ์‹คํ–‰, ๋กœ๊ทธ ๋ถ„์„ ๋“ฑ ์ถœ๋ ฅ์ด ๋งŽ์€ ์ž‘์—…์€ ๋ฉ”์ธ ์ปจํ…์ŠคํŠธ๋ฅผ ์˜ค์—ผ์‹œํ‚ค๋ฏ€๋กœ Agent๋กœ ๊ฒฉ๋ฆฌํ•˜๊ณ  ์š”์•ฝ๋งŒ ๋ฐ˜ํ™˜๋ฐ›๋Š”๋‹ค.

๋„๋ฉ”์ธ ํŠนํ™” prompt

ํ”Œ๋žซํผ๋ณ„ ์•„ํ‚คํ…์ฒ˜, ์ปจ๋ฒค์…˜, ํŒจํ„ด ๋“ฑ ํŠนํ™”๋œ system prompt๊ฐ€ ํ•„์š”ํ•˜๋ฉด Agent๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ .claude/agents/์— ์ •์˜ํ•œ๋‹ค.

2๋‹จ๊ณ„: Agent๋กœ ๊ฒฐ์ •๋œ ํ›„ ์„ธ๋ถ€ ์„ค๊ณ„

์งˆ๋ฌธ๊ฒฐ์ • ์‚ฌํ•ญ
๋น„์šฉ ์ตœ์ ํ™”: ์–ด๋–ค ๋ชจ๋ธ์ด ์ ํ•ฉํ•œ๊ฐ€?haiku (ํŒŒ์ผ ํƒ์ƒ‰) / sonnet (๊ตฌํ˜„ ๋ถ„์„) / opus (์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„)
์‹คํŒจ ๋ณต๊ตฌ: Agent ์‹คํŒจ ์‹œ ๋Œ€์•ˆ์ด ์žˆ๋Š”๊ฐ€?Skill์ด ์ง์ ‘ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” fallback ๊ฒฝ๋กœ ํ™•๋ณด

์•ˆํ‹ฐํŒจํ„ด

ํ•˜์ง€ ๋ง ๊ฒƒ์ด์œ ๋Œ€์•ˆ
ํŒŒ์ผ 1๊ฐœ๋‹น Agent 1๊ฐœ์˜ค๋ฒ„ํ—ค๋“œ๋งŒ ์ฆ๊ฐ€๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๋ฌถ๊ธฐ
Agent๊ฐ€ Agent ์ƒ์„ฑ๋ถˆ๊ฐ€๋Šฅ (๊ณต์‹ ์ œ์•ฝ)Skill chaining ๋˜๋Š” Main orchestration
์‚ฌ์šฉ์ž ํ™•์ธ์ด 2ํšŒ ์ด์ƒ ํ•„์š”ํ•œ ์ž‘์—…์„ Agent๋กœAgent๋Š” ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ ๋ถˆ๊ฐ€Skill๋กœ ์ „ํ™˜
๋ชจ๋“  ์ž‘์—…์„ Agent๋กœ์ปจํ…์ŠคํŠธ ์ „ํ™˜ ๋น„์šฉ๋‹จ์ˆœ ์ž‘์—…์€ Main์—์„œ ์ง์ ‘

Skill vs Agent ํŒ๋‹จ ๊ธฐ์ค€

ํ•ต์‹ฌ ์ฐจ์ด

์†์„ฑSkillAgent (Subagent)
์‹คํ–‰ ์œ„์น˜Main conversation ๋‚ด๋ถ€๋ณ„๋„ conversation (๊ฒฉ๋ฆฌ)
์ปจํ…์ŠคํŠธMain๊ณผ ๊ณต์œ ๋…๋ฆฝ (์ „๋‹ฌ๋ฐ›์€ ๊ฒƒ๋งŒ ์‚ฌ์šฉ)
์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ๊ฐ€๋Šฅ๋ถˆ๊ฐ€ (๊ฒฐ๊ณผ๋งŒ ๋ฐ˜ํ™˜)
๋„๊ตฌ ์ œํ•œ๋ถˆ๊ฐ€ (Main ๋„๊ตฌ ์ „๋ถ€ ์‚ฌ์šฉ)๊ฐ€๋Šฅ (tools ํ•„๋“œ)
์ค‘์ฒฉ ํ˜ธ์ถœSkill โ†’ Agent ๊ฐ€๋ŠฅAgent โ†’ Agent ๋ถˆ๊ฐ€
์ ํ•ฉํ•œ ์ž‘์—…์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜, ์‚ฌ์šฉ์ž ํ™•์ธ ๋ฃจํ”„๋…๋ฆฝ์  ๋ถ„์„/์ƒ์„ฑ, ๋Œ€๋Ÿ‰ ์ถœ๋ ฅ

์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํŒจํ„ด

์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ = ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆœ์„œ๋Œ€๋กœ ๋˜๋Š” ๋™์‹œ์— ์‹คํ–‰์‹œํ‚ค๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„์„œ, ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜๊ธฐ๋Š” ์—ญํ• 

sequenceDiagram
    autonumber
    actor User
    participant Skill as Skill (์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ)
    participant A1 as Agent A
    participant A2 as Agent B

    User->>Skill: "๋ฌธ์„œ ์ƒ์„ฑํ•ด์ค˜"
    Note over Skill: Phase 1: ์ž…๋ ฅ ์ˆ˜์ง‘
    Skill->>User: "์–ด๋–ค ๊ธฐํš์„œ?"
    User->>Skill: "plan.md"

    Note over Skill: Phase 2: Agent ๋ณ‘๋ ฌ ํ˜ธ์ถœ
    par ๋ณ‘๋ ฌ ์‹คํ–‰
        Skill->>A1: "Flutter ๋ฌธ์„œ ๋งŒ๋“ค์–ด"
        Skill->>A2: "Web ๋ฌธ์„œ ๋งŒ๋“ค์–ด"
    end
    A1-->>Skill: flutter-impl.md ์ดˆ์•ˆ
    A2-->>Skill: web-impl.md ์ดˆ์•ˆ

    Note over Skill: Phase 3: ์‚ฌ์šฉ์ž ํ™•์ธ
    Skill->>User: "Flutter ๋ฌธ์„œ ํ™•์ธํ•ด์ฃผ์„ธ์š”"
    User->>Skill: "์ˆ˜์ •ํ•ด์ค˜"
    Skill->>Skill: ์ง์ ‘ Edit ์ˆ˜์ •

    Note over Skill: Phase 4: ํŒŒ์ผํ™”
    Skill->>Skill: ๋งํฌ ์—ฐ๊ฒฐ + ์ €์žฅ
    Skill-->>User: "์™„๋ฃŒ!"

์™œ Agent๊ฐ€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์—†๋Š”๊ฐ€?

์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ํ•ด์•ผ ํ•  ์ผAgentSkill
์‚ฌ์šฉ์ž์—๊ฒŒ ์งˆ๋ฌธโŒโœ…
๋‹ค๋ฅธ Agent ํ˜ธ์ถœโŒโœ… (Main์ด ํ˜ธ์ถœ)
์—ฌ๋Ÿฌ ๊ฒฐ๊ณผ ์ทจํ•ฉ/์กฐ์œจโŒโœ…

โ†’ ์—ฌ๋Ÿฌ Agent๋ฅผ ์กฐ์œจํ•˜๋Š” ์—ญํ•  = ๋ฐ˜๋“œ์‹œ Skill

๋นŒํŠธ์ธ Subagents

Agent๋ชจ๋ธ๋„๊ตฌ์šฉ๋„
ExploreHaiku (๋น ๋ฆ„)์ฝ๊ธฐ ์ „์šฉํŒŒ์ผ ํƒ์ƒ‰, ์ฝ”๋“œ ๊ฒ€์ƒ‰, ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ถ„์„
Plan์ƒ์†์ฝ๊ธฐ ์ „์šฉPlan ๋ชจ๋“œ์—์„œ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ฆฌ์„œ์น˜
general-purpose์ƒ์†์ „์ฒด๋ณตํ•ฉ ๋ฆฌ์„œ์น˜, ๋‹ค๋‹จ๊ณ„ ์ž‘์—…, ์ฝ”๋“œ ์ˆ˜์ •
Bash์ƒ์†ํ„ฐ๋ฏธ๋„๋ณ„๋„ ์ปจํ…์ŠคํŠธ์—์„œ ์ปค๋งจ๋“œ ์‹คํ–‰
Claude Code GuideHaiku-Claude Code ๊ธฐ๋Šฅ ๊ด€๋ จ ์งˆ๋ฌธ ์‘๋‹ต

Subagent ํŒŒ์ผ ์ €์žฅ ์œ„์น˜

์œ„์น˜๊ฒฝ๋กœ์ ์šฉ ๋ฒ”์œ„
CLI ํ”Œ๋ž˜๊ทธ--agents '{JSON}'ํ˜„์žฌ ์„ธ์…˜๋งŒ (์šฐ์„ ์ˆœ์œ„ ์ตœ์ƒ)
Project.claude/agents/<name>.mdํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋งŒ
Personal~/.claude/agents/<name>.md๋‚ด ๋ชจ๋“  ํ”„๋กœ์ ํŠธ
Plugin<plugin>/agents/<name>.mdํ”Œ๋Ÿฌ๊ทธ์ธ ํ™œ์„ฑํ™”๋œ ๊ณณ

Subagent ์ •์˜ ๋ฐฉ๋ฒ•

.claude/agents/ (ํ”„๋กœ์ ํŠธ) ๋˜๋Š” ~/.claude/agents/ (๊ฐœ์ธ)์— Markdown ํŒŒ์ผ ์ž‘์„ฑ:

---
name: code-reviewer
description: ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ๋ณด์•ˆ์„ ๋ฆฌ๋ทฐํ•˜๋Š” ์ „๋ฌธ๊ฐ€
tools: Read, Glob, Grep
model: sonnet
---
 
๋‹น์‹ ์€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์–ด์ž…๋‹ˆ๋‹ค. ํ˜ธ์ถœ๋˜๋ฉด ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ 
ํ’ˆ์งˆ, ๋ณด์•ˆ, ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜์„ธ์š”.

์ฃผ์š” Frontmatter ํ•„๋“œ

ํ•„๋“œํ•„์ˆ˜์„ค๋ช…
nameYes๊ณ ์œ  ์‹๋ณ„์ž (์†Œ๋ฌธ์ž, ํ•˜์ดํ”ˆ)
descriptionYesClaude๊ฐ€ ์œ„์ž„ ํŒ๋‹จ์— ์‚ฌ์šฉํ•˜๋Š” ์„ค๋ช…
toolsNo์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ (์ƒ๋žต ์‹œ ์ „์ฒด ์ƒ์†)
disallowedToolsNo์ฐจ๋‹จํ•  ๋„๊ตฌ
modelNosonnet, opus, haiku, inherit
permissionModeNoํผ๋ฏธ์…˜ ๋™์ž‘ ๋ชจ๋“œ
maxTurnsNo์ตœ๋Œ€ ์—์ด์ „ํŠธ ํ„ด ์ˆ˜
skillsNo์‹œ์ž‘ ์‹œ ๋กœ๋“œํ•  ์Šคํ‚ฌ ๋ชฉ๋ก
HooksNo๋ผ์ดํ”„์‚ฌ์ดํด ํ›…
memoryNo์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ ์Šค์ฝ”ํ”„ (user, project, local)

์‹คํ–‰ ๋ฐฉ์‹: Foreground vs Background

  • Foreground: ๋ฉ”์ธ ๋Œ€ํ™”๋ฅผ ๋ธ”๋กœํ‚น. ํผ๋ฏธ์…˜ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ๋จ
  • Background: ๋ณ‘๋ ฌ ์‹คํ–‰. ์‚ฌ์ „์— ํ•„์š”ํ•œ ํผ๋ฏธ์…˜์„ ์Šน์ธ๋ฐ›๊ณ  ์‹œ์ž‘. Ctrl+B๋กœ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์ „ํ™˜ ๊ฐ€๋Šฅ

Skills์™€์˜ ๊ด€๊ณ„

๋ฐฉํ–ฅ์„ค๋ช…
Skill โ†’ SubagentSkill์— context: fork + agent: Explore ์„ค์ • ์‹œ, ์Šคํ‚ฌ ๋‚ด์šฉ์ด subagent์˜ ํƒœ์Šคํฌ๊ฐ€ ๋จ
Subagent โ†’ SkillSubagent์— skills: [api-conventions] ์„ค์ • ์‹œ, ์Šคํ‚ฌ ๋‚ด์šฉ์ด subagent ์ปจํ…์ŠคํŠธ์— ์ฃผ์ž…๋จ

context: fork ์—†์Œ (์ธ๋ผ์ธ ์‹คํ–‰)

sequenceDiagram
    autonumber
    actor User
    participant Main as ๋ฉ”์ธ ์—์ด์ „ํŠธ
    participant Skill as SKILL.md

    User->>Main: /api-conventions
    Main->>Skill: SKILL.md ์ฝ๊ธฐ
    Skill-->>Main: ๋งˆํฌ๋‹ค์šด ๋‚ด์šฉ ๋ฐ˜ํ™˜
    Note over Main: context: fork ์—†์Œ<br/>โ†’ ํ”„๋กฌํ”„ํŠธ์— ์ง์ ‘ ์ฃผ์ž…
    Main->>Main: ์Šคํ‚ฌ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ<br/>๋ฉ”์ธ ์ปจํ…์ŠคํŠธ์—์„œ ์ง์ ‘ ์‹คํ–‰
    Main-->>User: ๊ฒฐ๊ณผ ์‘๋‹ต
    Note over Main: โš ๏ธ ์Šคํ‚ฌ ๋‚ด์šฉ์ด<br/>๋ฉ”์ธ ์ปจํ…์ŠคํŠธ์— ์ถ•์ ๋จ

context: fork ์žˆ์Œ (์„œ๋ธŒ์—์ด์ „ํŠธ ์œ„์ž„)

sequenceDiagram
    autonumber
    actor User
    participant Main as ๋ฉ”์ธ ์—์ด์ „ํŠธ
    participant Skill as SKILL.md
    participant Sub as Explore (Subagent)

    User->>Main: /deep-research "auth ๋ชจ๋“ˆ"
    Main->>Skill: SKILL.md ์ฝ๊ธฐ
    Skill-->>Main: ๋งˆํฌ๋‹ค์šด + frontmatter ๋ฐ˜ํ™˜
    Note over Main: context: fork ๊ฐ์ง€<br/>agent: Explore ํ™•์ธ
    Main->>Sub: Task ๋„๊ตฌ ํ˜ธ์ถœ<br/>prompt = ์Šคํ‚ฌ ๋งˆํฌ๋‹ค์šด<br/>($ARGUMENTS โ†’ "auth ๋ชจ๋“ˆ" ์น˜ํ™˜)
    Note over Sub: ๊ฒฉ๋ฆฌ๋œ ์ปจํ…์ŠคํŠธ์—์„œ<br/>Read, Grep, Glob์œผ๋กœ<br/>๋…๋ฆฝ ์ž‘์—… ์ˆ˜ํ–‰
    Sub-->>Main: ๊ฒฐ๊ณผ ์š”์•ฝ๋งŒ ๋ฐ˜ํ™˜
    Main-->>User: ์š”์•ฝ ์ „๋‹ฌ
    Note over Main: โœ… ๋ฉ”์ธ ์ปจํ…์ŠคํŠธ ๊นจ๋—<br/>์š”์•ฝ๋งŒ ๋‚จ์Œ

Skill์—์„œ Subagent ์‹คํ–‰ ์˜ˆ์ œ

---
name: deep-research
description: ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ ์ฃผ์ œ๋ฅผ ์กฐ์‚ฌ
context: fork
agent: Explore
allowed-tools: Read, Grep, Glob
---
 
# Research Task
 
**์ฃผ์ œ:** $ARGUMENTS
 
1. Glob์œผ๋กœ ๊ด€๋ จ ํŒŒ์ผ ์ฐพ๊ธฐ
2. Grep์œผ๋กœ ํŒจํ„ด ๊ฒ€์ƒ‰
3. ๊ฒฐ๊ณผ ์š”์•ฝ

Skill ์ฃผ์š” Frontmatter ํ•„๋“œ

ํ•„๋“œ์„ค๋ช…์˜ˆ์‹œ
contextfork ์‹œ ์„œ๋ธŒ์—์ด์ „ํŠธ์—์„œ ์‹คํ–‰context: fork
agent์œ„์ž„ํ•  ์—์ด์ „ํŠธ ํƒ€์ž…Explore, Plan, general-purpose
allowed-toolsํผ๋ฏธ์…˜ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌRead, Grep, Glob
$ARGUMENTS์ „์ฒด ์ธ์ž ์น˜ํ™˜/skill hello world โ†’ "hello world"
$0, $1์œ„์น˜๋ณ„ ์ธ์ž ์น˜ํ™˜/skill a b โ†’ $0=a, $1=b
!`command`์‹คํ–‰ ์ „ ์…ธ ๋ช…๋ น ์ถœ๋ ฅ ์ฃผ์ž…!`gh pr diff $0`
disable-model-invocationtrue ์‹œ ์‚ฌ์šฉ์ž๋งŒ ํ˜ธ์ถœ ๊ฐ€๋ŠฅClaude ์ž๋™ ํ˜ธ์ถœ ์ฐจ๋‹จ

ํ•ต์‹ฌ ์ œ์•ฝ

๊ทœ์น™๊ฐ€๋Šฅ ์—ฌ๋ถ€
Skill์ด Task ๋„๊ตฌ ์ง์ ‘ ํ˜ธ์ถœ๋ถˆ๊ฐ€ โ€” ์Šคํ‚ฌ์€ ํ”„๋กฌํ”„ํŠธ ํ™•์žฅ์ผ ๋ฟ
context: fork๋กœ ์—์ด์ „ํŠธ ์œ„์ž„๊ฐ€๋Šฅ โ€” ๋ฉ”์ธ ์—์ด์ „ํŠธ๊ฐ€ Task ํ˜ธ์ถœ
์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค๋ฅธ ์„œ๋ธŒ์—์ด์ „ํŠธ ์ƒ์„ฑ๋ถˆ๊ฐ€ โ€” ๊ณต์‹ ์ œํ•œ

์ฐธ๊ณ  ๋ฌธ์„œ