| name | scaffold |
| description | Scaffolds new skills and agents following established hoodcat-harness patterns.
Reads existing files at runtime to ensure generated code matches current conventions.
Triggers on: "์ค์บํด๋", "์คํฌ ์์ฑ", "์์ด์ ํธ ์์ฑ", "scaffold",
or any request to create a new skill, agent, or skill+agent pair.
|
| argument-hint | <type> <name> [agent:<type>] [tools:[...]] [model:<model>] -- <description> |
| user-invocable | true |
| context | fork |
| agent | coder |
Scaffold Skill
์
๋ ฅ
$ARGUMENTS: ์์ฑํ ์ ํ๊ณผ ์ด๋ฆ, ์ต์
, ์ค๋ช
.
ํ์
<type> <name> [options] -- <description>
์ง์ ์ ํ
| type | ์์ฑ๋ฌผ | ํ์ ์ธ์ |
|---|
worker | ์์ปค ์คํฌ SKILL.md | name, agent, description |
agent | ์์ด์ ํธ .md | name, tools, description |
pair | ์์ด์ ํธ + ์คํฌ ์ | name, tools, description |
์ต์
agent:<type> - ์คํฌ์ด ์ฌ์ฉํ ์์ด์ ํธ (worker/pair์์ ์ฌ์ฉ, ๊ธฐ๋ณธ๊ฐ: coder)
tools:[Tool1,Tool2,...] - ์์ด์ ํธ ๋๊ตฌ ๋ชฉ๋ก (agent/pair์์ ํ์)
model:<model> - ์์ด์ ํธ ๋ชจ๋ธ (๊ธฐ๋ณธ๊ฐ: opus)
--user-invocable / --internal - ์ฌ์ฉ์ ์ง์ ํธ์ถ ๊ฐ๋ฅ ์ฌ๋ถ (๊ธฐ๋ณธ๊ฐ: user-invocable)
์์
worker lint-check agent:coder -- ํ๋ก์ ํธ ๋ฆฐํฐ ์คํ
agent analyzer tools:[Read,Glob,Grep] -- ์ฝ๋ ๋ถ์ ์ ๋ฌธ ์์ด์ ํธ
pair formatter tools:[Read,Write,Edit,Bash(npx *)] -- ์ฝ๋ ํฌ๋งทํ
์คํฌ๊ณผ ์์ด์ ํธ
์์ฐ์ด ์
๋ ฅ๋ ํ์ฉํ๋ค. ์๋๋ฅผ ํ์
ํ์ฌ ์ ์ ํ ์ ํ์ผ๋ก ๋งคํํ๋ค.
ํ๋ก์ธ์ค
1. ์
๋ ฅ ํ์ฑ ๋ฐ ๊ฒ์ฆ
$ARGUMENTS์์ type, name, agent, tools, model, description์ ์ถ์ถํ๋ค.
๊ฒ์ฆ ํญ๋ชฉ:
- name์ด ๊ธฐ์กด ์คํฌ/์์ด์ ํธ์ ์ค๋ณต๋์ง ์๋์ง ํ์ธ (Glob์ผ๋ก
.claude/skills/*/SKILL.md์ .claude/agents/*.md ๊ฒ์)
- worker/pair์ผ ๋ agent๊ฐ
.claude/agents/์ ์กด์ฌํ๋์ง ํ์ธ
- agent/pair์ผ ๋ tools๊ฐ ์ง์ ๋์๋์ง ํ์ธ
์ค๋ณต์ด๋ ๋๋ฝ์ด ์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ๋ณด๊ณ ํ๊ณ ์ค๋จํ๋ค.
2. ์ฐธ์กฐ ์์ ์ฝ๊ธฐ
์์ฑ ์ ํ์ ๋ง๋ ๊ธฐ์กด ํ์ผ์ Read๋ก ์ฝ์ด ์ต์ ํจํด์ ํ์
ํ๋ค:
| ์ ํ | ์ฐธ์กฐ ํ์ผ |
|---|
| worker | .claude/skills/code/SKILL.md + .claude/skills/test/SKILL.md |
| agent | .claude/agents/coder.md + .claude/agents/reviewer.md |
| pair | worker ์ฐธ์กฐ + agent ์ฐธ์กฐ ๋ชจ๋ |
์ฐธ์กฐ ํ์ผ์์ ํ์
ํ ๊ฒ:
- frontmatter ํ๋์ ํ์
- ๋ณธ๋ฌธ ์น์
๊ตฌ์กฐ์ ์์
- Shared Context Protocol / Memory Management ์ ํ ํ
์คํธ
- ๋งํฌ๋ค์ด ์คํ์ผ (ํค๋ฉ ๋ ๋ฒจ, ์ฝ๋ ๋ธ๋ก ์ฌ์ฉ ํจํด)
3. ์คํฌ ํ์ผ ์์ฑ (worker/workflow/pair)
.claude/skills/{name}/SKILL.md๋ฅผ ์์ฑํ๋ค.
frontmatter
---
name: {name}
description: |
{description}
{ํธ๋ฆฌ๊ฑฐ ํํธ - ํ๊ธ/์์ด ํค์๋ ํฌํจ}
argument-hint: "{์ ์ ํ ์ธ์ ํํธ}"
user-invocable: {true/false}
context: fork
agent: {agent}
---
์์ปค ์คํฌ ๋ณธ๋ฌธ ๊ตฌ์กฐ
# {Name} Skill
## ์
๋ ฅ
$ARGUMENTS: {์
๋ ฅ ์ค๋ช
}
## ํ๋ก์ธ์ค
### 1. {์ฒซ ๋ฒ์งธ ๋จ๊ณ}
{์ค๋ช
}
### 2. {๋ ๋ฒ์งธ ๋จ๊ณ}
{์ค๋ช
}
...
## ์ถ๋ ฅ
```markdown
## {์ถ๋ ฅ ์ ๋ชฉ}
### {์น์
1}
- {ํญ๋ชฉ}
### {์น์
2}
- {ํญ๋ชฉ}
REVIEW ์ฐ๋
{๋ฆฌ๋ทฐ ๋ฐฉ์ ์ค๋ช
- ๋ด๋ถ ์คํฌ์ด๋ฉด "ํธ์ถ ์ํฌํ๋ก์ฐ๊ฐ ๋ด๋น", ๋
๋ฆฝ ์คํฌ์ด๋ฉด ์์ฒด ๋ฆฌ๋ทฐ ๋ก์ง}
### 4. ์์ด์ ํธ ํ์ผ ์์ฑ (agent/pair)
`.claude/agents/{name}.md`๋ฅผ ์์ฑํ๋ค.
#### frontmatter
```yaml
---
name: {name}
description: |
{description}
{์ธ์ ํธ์ถ๋๋์ง, ์ธ์ ํธ์ถ๋์ง ์๋์ง}
tools:
- {Tool1}
- {Tool2}
...
model: {model}
memory: project
---
์์ด์ ํธ ๋ณธ๋ฌธ ๊ตฌ์กฐ
# {Name} Agent
## Purpose
You are a {role description} running inside a forked sub-agent context.
Your job is to {ํต์ฌ ์ฑ
์ ์์ฝ}.
## Capabilities
- **{์นดํ
๊ณ ๋ฆฌ 1}**: {์ค๋ช
}
- **{์นดํ
๊ณ ๋ฆฌ 2}**: {์ค๋ช
}
## Constraints
- {์ ์ฝ ์ฌํญ 1}
- {์ ์ฝ ์ฌํญ 2}
## Shared Context Protocol
์ด์ ์์ด์ ํธ์ ์์
๊ฒฐ๊ณผ๊ฐ additionalContext๋ก ์ฃผ์
๋๋ฉด, ์ด๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ค๋ณต ์์
์ ์ค์ธ๋ค.
์์
์๋ฃ ์, ํต์ฌ ๋ฐ๊ฒฌ ์ฌํญ์ ์ง์ ๋ ๊ณต์ ์ปจํ
์คํธ ํ์ผ์ ๊ธฐ๋กํ๋ค.
additionalContext์ ๊ธฐ๋ก ๊ฒฝ๋ก๊ฐ ํฌํจ๋์ด ์๋ค.
๊ธฐ๋ก ํ์:
```markdown
## {Name} Report
### {์น์
1}
- [{ํญ๋ชฉ ์ค๋ช
}]
### {์น์
2}
- [{ํญ๋ชฉ ์ค๋ช
}]
Memory Management
์์
์์ ์ : MEMORY.md์ ์ฃผ์ ๋ณ ํ์ผ์ ์ฝ๊ณ , ์ด์ ์์
์ด๋ ฅ๊ณผ ์ถ์ ๋ ์ง์์ ์ฐธ๊ณ ํ๋ค.
์์
์๋ฃ ํ: MEMORY.md๋ฅผ ๊ฐฑ์ ํ๋ค (200์ค ์ด๋ด ์ ์ง):
## TODO - {์์ด์ ํธ ์ญํ ์ ๋ง๋ TODO ์ค๋ช
}
## In Progress - ํ์ฌ ์งํ ์ค์ธ ์์
(์ค๋จ๋ ๊ฒฝ์ฐ)
## Done - ์๋ฃ๋ ์์
์์ฝ (์ค๋๋ ํญ๋ชฉ์ ์ ๋ฆฌ)
์ถ์ ๋ ํจํด์ ์ฃผ์ ๋ณ ํ์ผ์ ๋ถ๋ฆฌ ๊ธฐ๋กํ๋ค.
### 5. shared-context-config.json ์
๋ฐ์ดํธ (agent/pair๋ง)
`.claude/shared-context-config.json`์ `filters`์ ์ ์์ด์ ํธ ํ์
์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ค.
๊ธฐ๋ณธ ํํฐ ๊ฐ:
- ์ฝ๊ธฐ ์ ์ฉ ์์ด์ ํธ (Grep/Glob/Read๋ง): `["navigation"]`
- ์ฝ๊ธฐ/์ฐ๊ธฐ ์์ด์ ํธ: `["navigation", "code_changes"]`
- ํ์ ์ ์ฉ ์์ด์ ํธ: `[]`
Read๋ก ํ์ฌ ํ์ผ์ ์ฝ๊ณ , Edit์ผ๋ก filters ๊ฐ์ฒด์ ์ ํญ๋ชฉ์ ์ถ๊ฐํ๋ค.
### 6. ๊ฒ์ฆ
`@checklists.md`์ ์ฒดํฌ๋ฆฌ์คํธ๋ก ์์ฑ๋ ํ์ผ์ ๊ฒ์ฆํ๋ค.
์์ฑ๋ ๊ฐ ํ์ผ์ Read๋ก ๋ค์ ์ฝ์ด ์ฒดํฌ๋ฆฌ์คํธ ํญ๋ชฉ์ ํ์ธ:
- frontmatter ํ์ ํ๋ ์กด์ฌ ์ฌ๋ถ
- ๋ณธ๋ฌธ ํ์ ์น์
์กด์ฌ ์ฌ๋ถ
- Shared Context Protocol / Memory Management ํฌํจ ์ฌ๋ถ (์์ด์ ํธ)
- `context: fork` ์ค์ ์ฌ๋ถ (์คํฌ)
๋๋ฝ ํญ๋ชฉ์ด ์์ผ๋ฉด ์ฆ์ ์์ ํ๋ค.
## ์ถ๋ ฅ
```markdown
## Scaffold ์๋ฃ
### ์์ฑ๋ ํ์ผ
- `.claude/skills/{name}/SKILL.md` - {์ ํ} ์คํฌ
- `.claude/agents/{name}.md` - ์์ด์ ํธ (agent/pair๋ง)
### ๊ฒ์ฆ ๊ฒฐ๊ณผ
- frontmatter: OK
- ๋ณธ๋ฌธ ์น์
: OK
- Shared Context Protocol: OK (์์ด์ ํธ)
- Memory Management: OK (์์ด์ ํธ)
### ๋ค์ ๋จ๊ณ
- ์์ฑ๋ ํ์ผ์ ์ด์ด `{placeholder}` ๋ถ๋ถ์ ํ๋ก์ ํธ์ ๋ง๊ฒ ์์
- ํ์ ์ ํ๋ก์ธ์ค ๋จ๊ณ๋ฅผ ์ถ๊ฐ/์์
- `/commit`์ผ๋ก ์ปค๋ฐ