| name | vibe-sunsang-onboard |
| description | Initialize vibe-sunsang for Codex โ create the local workspace, classify workspace types, generate CLAUDE.md, and run the first Codex-session conversion. Use when the user says "๋ฐ์ ์ ์์", "vibe-sunsang setup", "์จ๋ณด๋ฉ", "์ด๊ธฐ ์ค์ ", "์ด๊ธฐํ", "์
์
", or wants to start tracking AI-collaboration growth. |
vibe-sunsang-onboard for Codex
๋ฐ์ ์ ์ด๊ธฐ ์ค์ . ์ฒ์ ํ ๋ฒ๋ง ์คํํ๋ค. ๋ก์ปฌ ์ํฌ์คํ์ด์ค ์์ฑ โ ์ ํ ๋ถ๋ฅ โ CLAUDE.md ์์ฑ โ ์ฒซ ๋ณํ.
Codex๋ skill-first๋ค (commands/ ์์). ๊ฐ๊ด์์ Codex CLI์ ์นด๋ UI๊ฐ ์์ผ๋ฏ๋ก shared/questioning-policy.md ยงA ๋ฒํธ ๋ธ๋ก์ผ๋ก ์ฑํ
์์ ๋ฌป๋๋ค (์์ ฏ ํ๋ด ๊ธ์ง).
์ฐธ์กฐ ๊ฒฝ๋ก
- ์ฌ์ฉ์ ๋ฐ์ดํฐ ๋ฃจํธ:
~/vibe-sunsang/
- ์ค์ :
~/vibe-sunsang/config/
- ๋ณํ ๊ฒฐ๊ณผ:
~/vibe-sunsang/conversations/
- ๊ฒฐ๊ณผ ์ ์ฅ:
~/vibe-sunsang/exports/
- ์ข
๋จ ๋ก๊ทธ:
~/vibe-sunsang/growth-log/
- Codex ์ธ์
์๋ณธ:
~/.codex/sessions/ (JSONL)
- CLAUDE.md ํ
ํ๋ฆฟ:
$PLUGIN_ROOT/skills/vibe-sunsang-onboard/references/CLAUDE-MD-TEMPLATE.md
- ๋ณํ ์คํฌ๋ฆฝํธ:
$PLUGIN_ROOT/skills/vibe-sunsang-retro/scripts/convert_sessions.py
Step 0: ์ฌ์ฉ์ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ ์ค๋น
~/vibe-sunsang/๊ฐ ์๋์ง ํ์ธํ๋ค.
์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ (์ฌ์จ๋ณด๋ฉ) โ shared/questioning-policy.md ยงA ๋ฒํธ ๋ธ๋ก:
์ง๋ฌธ: ์ด์ ์ ์ค์ ํ ๋ฐ์ ์ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค. ์ด๋ป๊ฒ ํ ๊น์?
1. ์ ํ๋ก์ ํธ๋ง ์ถ๊ฐ โ ๊ธฐ์กด ์ค์ ์ ์ ์งํ๋ฉด์ ์ ํ๋ก์ ํธ๋ง ์ถ๊ฐํด์ (์ถ์ฒ)
2. ์ฒ์๋ถํฐ ๋ค์ โ ๊ธฐ์กด ์ค์ ์ ๋ฐฑ์
(*.bak)ํ๊ณ ์๋ก ์์ํด์
(๋ชจ๋ฅด๋ฉด 1๋ฒ์ผ๋ก ์งํํ๊ฒ ์ต๋๋ค)
- 1๋ฒ โ ๊ธฐ์กด config๋ฅผ ์ฝ์ด ๋งคํ๋ ํ๋ก์ ํธ๋ ๊ฑด๋๋ฐ๊ณ ์ ํ๋ก์ ํธ๋ง ์งํ.
- 2๋ฒ โ ๊ธฐ์กด config๋ฅผ
*.bak๋ก ๋ฐฑ์
ํ ์๋ก ์์ฑ.
์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ:
mkdir -p "$HOME/vibe-sunsang/config" "$HOME/vibe-sunsang/conversations" "$HOME/vibe-sunsang/exports" "$HOME/vibe-sunsang/growth-log/weekly"
Step 0.5: ์ํฌ์คํ์ด์ค ํ๊ฒฝ ๊ตฌ์ฑ
CLAUDE.md ์์ฑ โ ~/vibe-sunsang/CLAUDE.md๊ฐ ์์ผ๋ฉด:
$PLUGIN_ROOT/skills/vibe-sunsang-onboard/references/CLAUDE-MD-TEMPLATE.md๋ฅผ ์ฝ๋๋ค (์ธ๋ผ์ธ ํ๋์ฝ๋ฉ ๊ธ์ง).
~/vibe-sunsang/CLAUDE.md๋ก ์ ์ฅํ๋ค.
์ด๋ฏธ ์์ผ๋ฉด: "๊ธฐ์กด CLAUDE.md๋ฅผ ์ ์งํฉ๋๋ค."
.gitignore ์์ฑ โ ~/vibe-sunsang/.gitignore๊ฐ ์์ผ๋ฉด ์์ฑ:
# Large conversation files
conversations/**/*.md
!conversations/INDEX.md
git init โ ~/vibe-sunsang/.git์ด ์์ผ๋ฉด cd "$HOME/vibe-sunsang" && git init. ํ๋ฌ๊ทธ์ธ ๋๋ ํ ๋ฆฌ์์๋ ์คํํ์ง ์๋๋ค.
Step 1: ํ์ & ์ค๋ช
๋ค์์ ๋ณด์ฌ์ค๋ค:
๋ฐ์ ์์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค!
๋ฐ์ ์์ Codex์ ๋๋ ๋ํ๋ฅผ ๋์๋ณด๊ณ AI์ ๋ ์ ํ์
ํ๋ ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ํด์ฃผ๋ AI ๋ฉํ ์
๋๋ค.
๋งค์ฃผ ํ ๋ฒ ์ด๋ฒ ์ฃผ ๋ํ๋ฅผ ๋ฆฌ๋ทฐํ๋ฉด:
- ๋ด๊ฐ ์ด๋ค ์ค์๋ฅผ ๋ฐ๋ณตํ๊ณ ์๋์ง
- AI์๊ฒ ์ด๋ป๊ฒ ์์ฒญํ๋ฉด ๋ ํจ๊ณผ์ ์ธ์ง
- ์ด๋ค ๊ฐ๋
์ ๋ชจ๋ฅด๊ณ ๋์ด๊ฐ๋์ง
๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค. ์ง๊ธ๋ถํฐ ์ด๊ธฐ ์ค์ ์ ์งํํ๊ฒ ์ต๋๋ค.
Step 2: Codex ์ธ์
ํ์ธ
~/.codex/sessions/๋ฅผ ํ์ธํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์
(JSONL)์ด ์๋์ง ๋ณธ๋ค:
ls "$HOME/.codex/sessions/"
์ธ์
์ด ์์ผ๋ฉด:
"์์ง Codex ๋ํ ๊ธฐ๋ก์ด ์์ต๋๋ค. ๋จผ์ Codex๋ก ์์
ํ ํ ๋ค์ ์์ฃผ์ธ์." โ ์ข
๋ฃ
์ธ์
์ด ์์ผ๋ฉด ๋ค์ ๋จ๊ณ๋ก ์งํํ๋ค.
Step 3: ํ๋ก์ ํธ(์ํฌ์คํ์ด์ค) ๋งคํ
Codex ์ธ์
์ ๊ฐ JSONL์ session_meta.cwd(์์
๋๋ ํ ๋ฆฌ)๋ก ์ํฌ์คํ์ด์ค๋ฅผ ์๋ณํ๋ค. ๋ณํ๊ธฐ๊ฐ cwd์ ๋ง์ง๋ง ๊ฒฝ๋ก ์กฐ๊ฐ์ ์ํฌ์คํ์ด์ค ์ด๋ฆ์ผ๋ก ์ด๋ค.
- ์ธ์
ํ์ผ์ ๊ฐ๋ณ๊ฒ ํ์ด ๋ฑ์ฅํ๋ cwd(์ํฌ์คํ์ด์ค) ๋ชฉ๋ก๊ณผ ๊ฐ ๋น๋๋ฅผ ํ์
ํ๋ค.
- ์์๋ณด๊ธฐ ์ฌ์ด ์ด๋ฆ์ ๋ถ์ผ ์ ์๊ฒ ์๋ดํ๋ค. ๋ณ๊ฒฝ์ด ํ์ํ๋ฉด
shared/questioning-policy.md ยงA ๋ฒํธ ๋ธ๋ก์ผ๋ก ์ํฌ์คํ์ด์ค๋ณ๋ก ๋ฌป๋๋ค:
์ง๋ฌธ: ์ด ์ํฌ์คํ์ด์ค(`~/code/my-project`, ์ธ์
12๊ฐ)์ ์ด๋ฆ์ ๋ญ๋ผ๊ณ ํ ๊น์?
1. my-project โ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก์์ ์ถ์ธกํ ์ด๋ฆ์ด์์ (์ถ์ฒ)
2. ๋ฌธ์ฅ์ผ๋ก ์ง์ ๋ค๋ฅธ ์ด๋ฆ ์๋ ค์ฃผ์ธ์
3. ๊ฑด๋๋ฐ๊ธฐ โ ์ด ์ํฌ์คํ์ด์ค๋ ๋ถ์ํ์ง ์์์
(๋ชจ๋ฅด๋ฉด 1๋ฒ์ผ๋ก ์งํํ๊ฒ ์ต๋๋ค)
์ง๋ฌธ๊ณผ 1๋ฒ ๋ผ๋ฒจ์ ๊ฐ ์ํฌ์คํ์ด์ค์ ๋ง๊ฒ ๋์ ์์ฑํ๋ค.
๊ท์น:
- ํ ๋ฒ์ 5๊ฐ๊น์ง๋ง ๋ฌป๋๋ค (ํผ๋ก ๋ฐฉ์ง). 5๊ฐ ์ด๊ณผ๋ฉด 5๊ฐ์ฉ ๋๋ "๋ ์งํํ ๊น์?" ํ์ธ.
- ์ธ์
์ด 5๊ฐ ๋ฏธ๋ง์ธ ์ํฌ์คํ์ด์ค๋ ์๋์ผ๋ก ๊ฑด๋๋ด๋ค (์ฌ์ฉ์์๊ฒ ์๋ฆผ).
- "๊ฑด๋๋ฐ๊ธฐ"๋ ๋งคํ์์ ์ ์ธ. ์ฌ์จ๋ณด๋ฉ ์ ์ด๋ฏธ ๋งคํ๋ ์ํฌ์คํ์ด์ค๋ ๊ฑด๋๋ด๋ค.
๊ฒฐ๊ณผ๋ฅผ ~/vibe-sunsang/config/project_names.json์ ์ ์ฅํ๋ค (cwd โ ํ์๋ช
๋งคํ).
Step 4: ์ํฌ์คํ์ด์ค ์ ํ ๋ถ๋ฅ
๊ฐ ์ํฌ์คํ์ด์ค ๋๋ ํ ๋ฆฌ(cwd)์ CLAUDE.md/AGENTS.md/README.md๋ฅผ ์ฝ์ด ์ ํ์ ์ถ๋ก ํ๋ค.
์ ํ ๋ถ๋ฅ ๊ธฐ์ค:
| ์ ํ | ํค์๋/ํจํด | ์ค๋ช
|
|---|
| Builder (๊ตฌํ์) | build, test, deploy, component, API, ์ฝ๋ฉ, ๊ฐ๋ฐ, ์ฑ | ์ฝ๋ฉ/๊ฐ๋ฐ |
| Explorer (ํํ์) | research, study, analyze, ๋ฆฌ์์น, ํ์ต, ์คํฐ๋, Q&A | ๋ฆฌ์์น/Q&A/ํ์ต |
| Designer (๊ธฐํ์) | plan, design, ideation, ๊ธฐํ, ์์ด๋์ด, ์ฝํ
์ธ , ๊ธ์ฐ๊ธฐ | ๊ธฐํ/์์ด๋์์ด์
|
| Operator (์ด์์) | automate, workflow, schedule, ์๋ํ, ์ฐ๋, ์คํฌ๋ฆฝํธ, MCP | ์
๋ฌด ์๋ํ |
๋ฌธ์๋ฅผ ๋ชป ์ฐพ์ผ๋ฉด ํ์ผ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋จํ ํ์ธ(.py/.js๊ฐ ๋ง์ผ๋ฉด Builder ๋ฑ). ์ถ๋ก ์ด ์ด๋ ค์ฐ๋ฉด shared/questioning-policy.md ยงA ๋ฒํธ ๋ธ๋ก์ผ๋ก ๋ฌป๋๋ค:
์ง๋ฌธ: [์ํฌ์คํ์ด์ค๋ช
]์(๋ฅผ) ๋ถ์ํด๋ณด๋ [์ถ๋ก ๋ ์ ํ] ์ํฌ์คํ์ด์ค๋ก ๋ณด์
๋๋ค. ๋ง๋์?
1. Builder (์ฝ๋ฉ) โ ์ฝ๋ฉ/๊ฐ๋ฐ ํ๋ก์ ํธ
2. Explorer (๋ฆฌ์์น/ํ์ต) โ ๋ฆฌ์์น/Q&A/์คํฐ๋
3. Designer (๊ธฐํ) โ ๊ธฐํ/์์ด๋์์ด์
4. Operator (์๋ํ) โ ์
๋ฌด ์๋ํ/๋ฐ์ดํฐ์ฒ๋ฆฌ
(์ถ๋ก ํ ์ ํ์ด ๋ง์ผ๋ฉด ๊ทธ ๋ฒํธ๋ก, ์๋๋ฉด ๋ค๋ฅธ ๋ฒํธ๋ก ๋ตํด์ฃผ์ธ์)
question์ ๊ฐ ์ํฌ์คํ์ด์ค ์ด๋ฆ๊ณผ ์ถ๋ก ์ ํ์ผ๋ก ๋์ ์์ฑ. ์ฌ๋ฌ ๋ชฉ์ ์ด๋ฉด ์ฃผ๋ ๋ชฉ์ 1๊ฐ. ๊ฐ์ ์ ํ์ด ๋ฐ๋ณต๋๋ฉด ๋ฌถ์ด์ ํ ๋ฒ์ ํ์ธ.
๊ฒฐ๊ณผ๋ฅผ ~/vibe-sunsang/config/workspace_types.json์ ์ ์ฅ:
{
"schema_version": 1,
"type_definitions": {
"builder": "์ฝ๋ฉ/๊ฐ๋ฐ",
"explorer": "๋ฆฌ์์น/Q&A/์คํฐ๋",
"designer": "๊ธฐํ/์์ด๋์์ด์
",
"operator": "์๋ํ/๋ฐ์ดํฐ์ฒ๋ฆฌ"
},
"default_type": "builder",
"workspaces": {
"my-app": {
"type": "builder",
"name": "my-app",
"detected_from": "CLAUDE.md",
"confirmed": true
}
}
}
Step 5: ์ฒซ ๋ณํ ์คํ
python3 "$PLUGIN_ROOT/skills/vibe-sunsang-retro/scripts/convert_sessions.py" --force --output-dir "$HOME/vibe-sunsang/conversations" 2>/dev/null || python "$PLUGIN_ROOT/skills/vibe-sunsang-retro/scripts/convert_sessions.py" --force --output-dir "$HOME/vibe-sunsang/conversations"
๋ณํ ์งํ ์ํฉ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ฃ๋๋ฉด ์์ฝํ๋ค:
- ์ด ์ํฌ์คํ์ด์ค ์
- ์ด ์ธ์
์
- ๊ฐ์ฅ ํ๋ฐํ ์ํฌ์คํ์ด์ค TOP 3
- ์ ํ๋ณ ๋ถํฌ (Builder N๊ฐ, Explorer N๊ฐ, ...)
Step 6: ์ฌ์ฉ๋ฒ ์๋ด
์ค์ ์๋ฃ! ์ ํ๋ณ ๋ง์ถค ๋ถ์์ ๋ฐ์ ์ ์์ต๋๋ค:
| ์ ํ | ๋ถ์ ๋ด์ฉ |
|---|
| Builder (๊ตฌํ์) | ์ฝ๋ฉ ์์ฒญ ํ์ง, ์๋ฌ ๋์, ์ฝ๋ ์ดํด๋ |
| Explorer (ํํ์) | ์ง๋ฌธ ๊น์ด, ์ถ์ฒ ๊ฒ์ฆ, ๋นํ์ ์ฌ๊ณ |
| Designer (๊ธฐํ์) | ๊ธฐํ ๊ตฌ์ฒด์ฑ, ๊ตฌ์กฐํ, ์คํ ๊ฐ๋ฅ์ฑ |
| Operator (์ด์์) | ์๋ํ ํ์ง, ์๋ฌ ์ฒ๋ฆฌ, ์ฌ์ฌ์ฉ์ฑ |
v2 ๋ ๋ฒจ ์์คํ
โ 6๊ฐ์ง ๊ธฐ์ ์ฐจ์์ผ๋ก AI ํ์ฉ ๋ฅ๋ ฅ์ ๋ถ์ํฉ๋๋ค:
| ๊ธฐ์ ์ฐจ์ | ์ฌ์ด ์ค๋ช
|
|---|
| DECOMP (์์
๋ถํด) | ํฐ ์์ฒญ์ ์์ ๋จ๊ณ๋ก ๋๋๋ ๋ฅ๋ ฅ |
| VERIFY (๊ฒ์ฆ ์ ๋ต) | AI ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ณ ๊ฒ์ฆํ๋ ๋ฅ๋ ฅ |
| ORCH (์ค์ผ์คํธ๋ ์ด์
) | ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ์กฐํฉํ์ฌ ํ์ฉํ๋ ๋ฅ๋ ฅ |
| FAIL (์คํจ ๋์) | ์ค๋ฅ๊ฐ ๋๋ฉด ์์ธ์ ํ์
ํ๊ณ ๋์ฒํ๋ ๋ฅ๋ ฅ |
| CTX (๋งฅ๋ฝ ๊ด๋ฆฌ) | AI์๊ฒ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ ๋ฌํ๋ ๋ฅ๋ ฅ |
| META (๋ฉํ์ธ์ง) | ๋ด๊ฐ AI๋ฅผ ์ด๋ป๊ฒ ์ฐ๋์ง ๋์๋ณด๋ ๋ฅ๋ ฅ |
๋ ๋ฒจ์ L1.0(์
๋ฌธ)๋ถํฐ L7.0(๋ง์คํฐ)๊น์ง 0.5 ๋จ์๋ก ์ธก์ ๋ฉ๋๋ค. ์ ํ๋ง๋ค ์ค์ํ ์ถ์ด ๋ฌ๋ผ ๋ง์ถค ๋ถ์์ ๋ฐ์ ์ ์์ด์.
์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ (Codex skill๋ก ์คํ):
| ๊ธฐ๋ฅ | ์ค๋ช
|
|---|
| "๋ณํํด์ค" (vibe-sunsang-retro) | ์ ๋ํ ๋ณํ (๋งค์ฃผ ์คํ ๊ถ์ฅ) |
| "๋ฉํ ๋งํด์ค" (vibe-sunsang-mentor) | AI ํ์ฉ ๋ฅ๋ ฅ ์ฝ์นญ (์ ํ๋ณ 6์ถ ๋ง์ถค) |
| "์ฑ์ฅ ๋ฆฌํฌํธ ๋ง๋ค์ด์ค" (vibe-sunsang-growth) | ์ฑ์ฅ ๋ถ์ ๋ฆฌํฌํธ (6์ถ ๋ ์ด๋ ์ฐจํธ ํฌํจ) |
์ถ์ฒ ๋ฃจํด: ๋งค์ฃผ ๊ธ์์ผ "๋ณํํด์ค" โ "๋ฉํ ๋งํด์ค"๋ก ์ด๋ฒ ์ฃผ ๋ฆฌ๋ทฐ โ ํ๋ ๊ณํ ์ค์ฒ.
Step 7: ๋ฐ๋ก ์์ํ ์ง ๋ฌผ์ด๋ณด๊ธฐ
shared/questioning-policy.md ยงA ๋ฒํธ ๋ธ๋ก:
์ง๋ฌธ: ๋ฐ๋ก ์ด๋ฒ ์ฃผ ๋ฆฌ๋ทฐ๋ฅผ ์์ํด๋ณผ๊น์?
1. ๋ฉํ ๋ง ์์ โ AI ํ์ฉ ๋ฅ๋ ฅ ์ฝ์นญ ์ธ์
์ ๋ฐ๋ก ์์ํด์ (6์ถ ๋ถ์) โ vibe-sunsang-mentor
2. ์ฑ์ฅ ๋ฆฌํฌํธ ์์ฑ โ ์ฑ์ฅ ๋ถ์ ๋ฆฌํฌํธ๋ฅผ ์๋ ์์ฑํด์ (6์ถ ๋ ์ด๋) โ vibe-sunsang-growth
3. ๋์ค์ ํ ๊ฒ์ โ ์ฌ๊ธฐ์ ๋ง๋ฌด๋ฆฌํ ๊ฒ์
(๋ชจ๋ฅด๋ฉด 1๋ฒ์ผ๋ก ์งํํ๊ฒ ์ต๋๋ค)
์ ํ์ ๋ฐ๋ผ: 1โ vibe-sunsang-mentor, 2โ vibe-sunsang-growth, 3โ ์ข
๋ฃ.
Gotchas
- CLAUDE-MD-TEMPLATE.md๋ฅผ ์ธ๋ผ์ธ์ผ๋ก ํ๋์ฝ๋ฉํ์ง ์๋๋ค. ๋ฐ๋์
$PLUGIN_ROOT/skills/vibe-sunsang-onboard/references/CLAUDE-MD-TEMPLATE.md์์ ์ฝ๋๋ค.
- ๊ธฐ์กด ๋ฐ์ดํฐ๊ฐ ์๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ค. ์ถฉ๋ ์ ์ฌ์ฉ์์๊ฒ ํ์ธ๋ฐ๋๋ค.
- git init์ ์ฌ์ฉ์ ์ํฌ์คํ์ด์ค(
~/vibe-sunsang/)์์๋ง ์คํํ๋ค.
- Codex ์ธ์
์๋ณธ์
~/.codex/sessions/๋ค (Claude Code์ ~/.claude/projects/๊ฐ ์๋).
- ๋ณํ ์ค ๋ถ์์ด ์๋ฃ๋๋ค๊ณ ๋งํ์ง ์๋๋ค. ๋ณํ์ ๋ฐ์ดํฐ ์ค๋น์ผ ๋ฟ์ด๋ค.