manage-skills
npx skills add https://github.com/codefactory-co/kimoring-ai-skills --skill manage-skills
Agent 安装分布
Skill 文档
ì¸ì ê¸°ë° ì¤í¬ ì ì§ë³´ì
목ì
íì¬ ì¸ì ìì ë³ê²½ë ë´ì©ì ë¶ìíì¬ ê²ì¦ ì¤í¬ì ë리íí¸ë¥¼ íì§íê³ ìì í©ëë¤:
- 커ë²ë¦¬ì§ ëë½ â ì´ë¤ verify ì¤í¬ììë 참조íì§ ìë ë³ê²½ë íì¼
- ì í¨íì§ ìì 참조 â ìì ëê±°ë ì´ëë íì¼ì 참조íë ì¤í¬
- ëë½ë ê²ì¬ â 기존 ê²ì¬ìì ë¤ë£¨ì§ ìë ìë¡ì´ í¨í´/ê·ì¹
- ì¤ëë ê° â ë ì´ì ì¼ì¹íì§ ìë ì¤ì ê° ëë íì§ ëª ë ¹ì´
ì¤í ìì
- ìë¡ì´ í¨í´ì´ë ê·ì¹ì ëì íë 기ë¥ì 구íí í
- 기존 verify ì¤í¬ì ìì íê³ ì¼ê´ì±ì ì ê²íê³ ì¶ì ë
- PR ì ì verify ì¤í¬ì´ ë³ê²½ë ììì 커ë²íëì§ íì¸í ë
- ê²ì¦ ì¤í ì ììíë ì´ì를 ë쳤ì ë
- 주기ì ì¼ë¡ ì¤í¬ì ì½ëë² ì´ì¤ ë³íì ë§ì¶° ì ë ¬í ë
ë±ë¡ë ê²ì¦ ì¤í¬
íì¬ íë¡ì í¸ì ë±ë¡ë ê²ì¦ ì¤í¬ 목ë¡ì ëë¤. ì ì¤í¬ ìì±/ìì ì ì´ ëª©ë¡ì ì ë°ì´í¸í©ëë¤.
(ìì§ ë±ë¡ë ê²ì¦ ì¤í¬ì´ ììµëë¤)
ìí¬íë¡ì°
Step 1: ì¸ì ë³ê²½ì¬í ë¶ì
íì¬ ì¸ì ìì ë³ê²½ë 모ë íì¼ì ìì§í©ëë¤:
# 커ë°ëì§ ìì ë³ê²½ì¬í
git diff HEAD --name-only
# íì¬ ë¸ëì¹ì ì»¤ë° (mainìì ë¶ê¸°ë ê²½ì°)
git log --oneline main..HEAD 2>/dev/null
# mainìì ë¶ê¸°ë ì´íì 모ë ë³ê²½ì¬í
git diff main...HEAD --name-only 2>/dev/null
ì¤ë³µì ì ê±°í 목ë¡ì¼ë¡ í©ì¹©ëë¤. ì íì ì¸ìë¡ ì¤í¬ ì´ë¦ì´ë ììì´ ì§ì ë ê²½ì° ê´ë ¨ íì¼ë§ íí°ë§í©ëë¤.
íì: ìµìì ëë í 리(첫 1-2 ê²½ë¡ ì¸ê·¸ë¨¼í¸) 기ì¤ì¼ë¡ íì¼ì 그룹íí©ëë¤:
## ì¸ì
ë³ê²½ì¬í ê°ì§
**ì´ ì¸ì
ìì Nê° íì¼ ë³ê²½ë¨:**
| ëë í 리 | íì¼ |
|----------|------|
| src/components | `Button.tsx`, `Modal.tsx` |
| src/server | `router.ts`, `handler.ts` |
| tests | `api.test.ts` |
| (루í¸) | `package.json`, `.eslintrc.js` |
Step 2: ë±ë¡ë ì¤í¬ê³¼ ë³ê²½ íì¼ ë§¤í
ìì ë±ë¡ë ê²ì¦ ì¤í¬ ì¹ì ì ëì´ë ì¤í¬ì 참조íì¬ íì¼-ì¤í¬ 매íì 구ì¶í©ëë¤.
Sub-step 2a: ë±ë¡ë ì¤í¬ íì¸
ë±ë¡ë ê²ì¦ ì¤í¬ í ì´ë¸ìì ê° ì¤í¬ì ì´ë¦ê³¼ ì»¤ë² íì¼ í¨í´ì ì½ìµëë¤.
ë±ë¡ë ì¤í¬ì´ 0ê°ì¸ ê²½ì°, Step 4 (CREATE vs UPDATE ê²°ì )ë¡ ë°ë¡ ì´ëí©ëë¤. 모ë ë³ê²½ íì¼ì´ “UNCOVERED”ë¡ ì²ë¦¬ë©ëë¤.
ë±ë¡ë ì¤í¬ì´ 1ê° ì´ìì¸ ê²½ì°, ê° ì¤í¬ì .claude/skills/verify-<name>/SKILL.md를 ì½ê³ ë¤ììì ì¶ê° íì¼ ê²½ë¡ í¨í´ì ì¶ì¶í©ëë¤:
- Related Files ì¹ì â í ì´ë¸ì íì±íì¬ íì¼ ê²½ë¡ ë° glob í¨í´ ì¶ì¶
- Workflow ì¹ì â grep/glob/read ëª ë ¹ì´ìì íì¼ ê²½ë¡ ì¶ì¶
Sub-step 2b: ë³ê²½ë íì¼ì ì¤í¬ì 매ì¹
Step 1ìì ìì§í ê° ë³ê²½ íì¼ì ëí´, ë±ë¡ë ì¤í¬ì í¨í´ê³¼ ëì¡°í©ëë¤. íì¼ì´ ì¤í¬ê³¼ 매ì¹ëë ì¡°ê±´:
- í´ë¹ ì¤í¬ì ì»¤ë² íì¼ í¨í´ê³¼ ì¼ì¹
- í´ë¹ ì¤í¬ì´ 참조íë ëë í 리 ë´ì ìì¹
- í´ë¹ ì¤í¬ì íì§ ëª ë ¹ì´ì ì¬ì©ë regex/문ìì´ í¨í´ê³¼ ì¼ì¹
Sub-step 2c: 매í íì
### íì¼ â ì¤í¬ 매í
| ì¤í¬ | í¸ë¦¬ê±° íì¼ (ë³ê²½ë íì¼) | ì¡ì
|
|------|--------------------------|------|
| verify-api | `router.ts`, `handler.ts` | CHECK |
| verify-ui | `Button.tsx` | CHECK |
| (ì¤í¬ ìì) | `package.json`, `.eslintrc.js` | UNCOVERED |
Step 3: ìí¥ë°ì ì¤í¬ì 커ë²ë¦¬ì§ ê° ë¶ì
ìí¥ë°ì(AFFECTED) ê° ì¤í¬(매ì¹ë ë³ê²½ íì¼ì´ ìë ì¤í¬)ì ëí´, ì ì²´ SKILL.md를 ì½ê³ ë¤ìì ì ê²í©ëë¤:
- ëë½ë íì¼ ì°¸ì¡° â ì´ ì¤í¬ì ëë©ì¸ê³¼ ê´ë ¨ë ë³ê²½ íì¼ì´ Related Files ì¹ì ì 목ë¡ëì´ ìì§ ìì ê²½ì°?
- ì¤ëë íì§ ëª ë ¹ì´ â ì¤í¬ì grep/glob í¨í´ì´ íì¬ íì¼ êµ¬ì¡°ì ì¬ì í ì¼ì¹íëì§? ìí ëª ë ¹ì´ë¥¼ ì¤ííì¬ í ì¤í¸í©ëë¤.
- 커ë²ëì§ ìì ì í¨í´ â ë³ê²½ë íì¼ì ì½ê³ ì¤í¬ì´ ê²ì¬íì§ ìë ìë¡ì´ ê·ì¹, ì¤ì , í¨í´ì ìë³í©ëë¤. íì¸ ì¬í:
- ìë¡ì´ íì ì ì, enum ë³í, ëë exported ì¬ë³¼
- ìë¡ì´ ë±ë¡(registration) ëë ì¤ì
- ìë¡ì´ íì¼ ëª ëª ëë ëë í 리 ê·ì¹
- ìì ë íì¼ì ìì¬ ì°¸ì¡° â ì¤í¬ì Related Filesì ìë íì¼ì´ ì½ëë² ì´ì¤ì ë ì´ì ì¡´ì¬íì§ ìë ê²½ì°?
- ë³ê²½ë ê° â ì¤í¬ì´ ê²ì¬íë í¹ì ê°(ìë³ì, ì¤ì í¤, íì ì´ë¦)ì´ ìì ë íì¼ìì ë³ê²½ëìëì§?
ë°ê²¬ë ê° ê°ì 기ë¡í©ëë¤:
| ì¤í¬ | ê° ì í | ìì¸ |
|------|---------|------|
| verify-api | íì¼ ëë½ | `src/server/newHandler.ts`ê° Related Filesì ìì |
| verify-ui | ì í¨í´ | ì ì»´í¬ëí¸ê° ê²ì¬ëì§ ìë ê·ì¹ì ì¬ì© |
| verify-test | ì¤ëë ê° | ì¤ì íì¼ì í
ì¤í¸ ë¬ë í¨í´ì´ ë³ê²½ë¨ |
Step 4: CREATE vs UPDATE ê²°ì
ë¤ì ê²°ì í¸ë¦¬ë¥¼ ì ì©í©ëë¤:
커ë²ëì§ ìì ê° íì¼ ê·¸ë£¹ì ëí´:
IF 기존 ì¤í¬ì ëë©ì¸ê³¼ ê´ë ¨ë íì¼ì¸ ê²½ì°:
â ê²°ì : 기존 ì¤í¬ UPDATE (커ë²ë¦¬ì§ íì¥)
ELSE IF 3ê° ì´ìì ê´ë ¨ íì¼ì´ ê³µíµ ê·ì¹/í¨í´ì ê³µì íë ê²½ì°:
â ê²°ì : ì verify ì¤í¬ CREATE
ELSE:
â "ë©´ì "ë¡ íì (ì¤í¬ ë¶íì)
결과를 ì¬ì©ììê² ì ìí©ëë¤:
### ì ì ì¡ì
**ê²°ì : 기존 ì¤í¬ UPDATE** (Nê°)
- `verify-api` â ëë½ë íì¼ ì°¸ì¡° 2ê° ì¶ê°, íì§ í¨í´ ì
ë°ì´í¸
- `verify-test` â ì ì¤ì í¨í´ì ëí íì§ ëª
ë ¹ì´ ì
ë°ì´í¸
**ê²°ì : ì ì¤í¬ CREATE** (Mê°)
- ì ì¤í¬ íì â <í¨í´ ì¤ëª
> ì»¤ë² (Xê° ë¯¸ì»¤ë² íì¼)
**ì¡ì
ë¶íì:**
- `package.json` â ì¤ì íì¼, ë©´ì
- `README.md` â 문ì, ë©´ì
AskUserQuestionì ì¬ì©íì¬ íì¸í©ëë¤:
- ì´ë¤ 기존 ì¤í¬ì ì ë°ì´í¸í ì§
- ì ìë ì ì¤í¬ì ìì±í ì§
- ì ì²´ ê±´ëë°ê¸° ìµì
Step 5: 기존 ì¤í¬ ì ë°ì´í¸
ì¬ì©ìê° ì ë°ì´í¸ë¥¼ ì¹ì¸í ê° ì¤í¬ì ëí´, íì¬ SKILL.md를 ì½ê³ ëì í¸ì§ì ì ì©í©ëë¤:
ê·ì¹:
- ì¶ê°/ìì ë§ â ìì§ ìëíë 기존 ê²ì¬ë ì ë ì ê±°íì§ ìì
- Related Files í ì´ë¸ì ì íì¼ ê²½ë¡ ì¶ê°
- ë³ê²½ë íì¼ìì ë°ê²¬ë í¨í´ì ëí ì íì§ ëª ë ¹ì´ ì¶ê°
- 커ë²ëì§ ìì ê·ì¹ì ëí ì ìí¬íë¡ì° ë¨ê³ ëë íì ë¨ê³ ì¶ê°
- ì½ëë² ì´ì¤ìì ìì ê° íì¸ë íì¼ì 참조 ì ê±°
- ë³ê²½ë í¹ì ê°(ìë³ì, ì¤ì í¤, íì ì´ë¦) ì ë°ì´í¸
ìì â Related Filesì íì¼ ì¶ê°:
## Related Files
| File | Purpose |
|------|---------|
| ... 기존 í목 ... |
| `src/server/newHandler.ts` | ì í¨ì± ê²ì¬ê° í¬í¨ë ì ìì² í¸ë¤ë¬ |
ìì â íì§ ëª ë ¹ì´ ì¶ê°:
### Step N: ì í¨í´ ê²ì¦
**íì¼:** `path/to/file.ts`
**ê²ì¬:** ê²ì¦í ë´ì©ì ëí ì¤ëª
.
```bash
grep -n "pattern" path/to/file.ts
```
**ìë°:** ì못ë ê²½ì°ì 모ìµ.
Step 6: ì ì¤í¬ ìì±
ì¤ì: ì ì¤í¬ì ìì±í ë, ë°ëì ì¬ì©ììê² ì¤í¬ ì´ë¦ì íì¸ë°ìì¼ í©ëë¤.
ìë¡ ìì±í ê° ì¤í¬ì ëí´:
-
íì â ê´ë ¨ ë³ê²½ íì¼ì ì½ì´ í¨í´ì ê¹ì´ ì´í´í©ëë¤
-
ì¬ì©ììê² ì¤í¬ ì´ë¦ íì¸ â
AskUserQuestionì ì¬ì©í©ëë¤:ì¤í¬ì´ 커ë²í í¨í´/ëë©ì¸ì ì ìíê³ , ì¬ì©ììê² ì´ë¦ì ì ê³µíê±°ë íì¸íëë¡ ìì²í©ëë¤.
ì´ë¦ ê·ì¹:
- ì´ë¦ì ë°ëì
verify-ë¡ ììí´ì¼ í©ëë¤ (ì:verify-auth,verify-api,verify-caching) - ì¬ì©ìê°
verify-ì ëì¬ ìì´ ì´ë¦ì ì ê³µíë©´ ìëì¼ë¡ ìì ì¶ê°íê³ ì¬ì©ììê² ì립ëë¤ - kebab-case를 ì¬ì©í©ëë¤ (ì:
verify-error-handling,verify_error_handlingìë)
- ì´ë¦ì ë°ëì
-
ìì± â
.claude/skills/verify-<name>/SKILL.md를 ë¤ì í í릿ì ë°ë¼ ìì±í©ëë¤:
---
name: verify-<name>
description: <í ì¤ ì¤ëª
>. <í¸ë¦¬ê±° ì¡°ê±´> í ì¬ì©.
---
íì ì¹ì :
- Purpose â 2-5ê°ì ë²í¸ê° ë§¤ê²¨ì§ ê²ì¦ ì¹´í ê³ ë¦¬
- When to Run â 3-5ê°ì í¸ë¦¬ê±° ì¡°ê±´
- Related Files â ì½ëë² ì´ì¤ì ì¤ì íì¼ ê²½ë¡ í
ì´ë¸ (
lsë¡ ê²ì¦, íë ì´ì¤íë ë¶ê°) - Workflow â ê²ì¬ ë¨ê³, ê°ê° ë¤ìì ëª
ì:
- ì¬ì©í ë구 (Grep, Glob, Read, Bash)
- ì íí íì¼ ê²½ë¡ ëë í¨í´
- PASS/FAIL 기ì¤
- ì¤í¨ ì ìì ë°©ë²
- Output Format â 결과를 ìí ë§í¬ë¤ì´ í ì´ë¸
- Exceptions â ìµì 2-3ê°ì íì¤ì ì¸ “ìë°ì´ ìë” ì¼ì´ì¤
-
ì°ê´ ì¤í¬ íì¼ ì ë°ì´í¸ â ì ì¤í¬ ìì± í ë°ëì ìë 3ê° íì¼ì ì ë°ì´í¸í©ëë¤:
4a. ì´ íì¼ ìì²´ (
manage-skills/SKILL.md) ì ë°ì´í¸:- ë±ë¡ë ê²ì¦ ì¤í¬ ì¹ì ì í ì´ë¸ì ì ì¤í¬ íì ì¶ê°í©ëë¤
- 첫 ë²ì§¸ ì¤í¬ ì¶ê° ì “(ìì§ ë±ë¡ë ê²ì¦ ì¤í¬ì´ ììµëë¤)” í ì¤í¸ì HTML 주ìì ì ê±°íê³ í ì´ë¸ë¡ êµì²´í©ëë¤
- íì:
| verify-<name> | <ì¤ëª > | <ì»¤ë² íì¼ í¨í´> |
4b.
verify-implementation/SKILL.mdì ë°ì´í¸:- ì¤í ëì ì¤í¬ ì¹ì ì í ì´ë¸ì ì ì¤í¬ íì ì¶ê°í©ëë¤
- 첫 ë²ì§¸ ì¤í¬ ì¶ê° ì “(ìì§ ë±ë¡ë ê²ì¦ ì¤í¬ì´ ììµëë¤)” í ì¤í¸ì HTML 주ìì ì ê±°íê³ í ì´ë¸ë¡ êµì²´í©ëë¤
- íì:
| <ë²í¸> | verify-<name> | <ì¤ëª > |
4c.
CLAUDE.mdì ë°ì´í¸:## Skillsí ì´ë¸ì ì ì¤í¬ íì ì¶ê°í©ëë¤- íì:
| verify-<name> | <í ì¤ ì¤ëª > |
Step 7: ê²ì¦
모ë í¸ì§ í:
- ìì ë 모ë SKILL.md íì¼ì ë¤ì ì½ê¸°
- ë§í¬ë¤ì´ íìì´ ì¬ë°ë¥¸ì§ íì¸ (ë«íì§ ìì ì½ë ë¸ë¡, ì¼ê´ë í ì´ë¸ ì´)
- ê¹¨ì§ íì¼ ì°¸ì¡°ê° ìëì§ íì¸ â Related Filesì ê° ê²½ë¡ì ëí´ íì¼ ì¡´ì¬ íì¸:
ls <file-path> 2>/dev/null || echo "MISSING: <file-path>"
- ì ë°ì´í¸ë ê° ì¤í¬ìì íì§ ëª ë ¹ì´ íë를 ëë¼ì´ë°íì¬ ë¬¸ë² ì í¨ì± ê²ì¦
- ë±ë¡ë ê²ì¦ ì¤í¬ í ì´ë¸ê³¼ ì¤í ëì ì¤í¬ í ì´ë¸ì´ ë기íëì´ ìëì§ íì¸
Step 8: ìì½ ë³´ê³ ì
ìµì¢ ë³´ê³ ì를 íìí©ëë¤:
## ì¸ì
ì¤í¬ ì ì§ë³´ì ë³´ê³ ì
### ë¶ìë ë³ê²½ íì¼: Nê°
### ì
ë°ì´í¸ë ì¤í¬: Xê°
- `verify-<name>`: Nê°ì ì ê²ì¬ ì¶ê°, Related Files ì
ë°ì´í¸
- `verify-<name>`: ì í¨í´ì ëí íì§ ëª
ë ¹ì´ ì
ë°ì´í¸
### ìì±ë ì¤í¬: Yê°
- `verify-<name>`: <í¨í´> 커ë²
### ì
ë°ì´í¸ë ì°ê´ íì¼:
- `manage-skills/SKILL.md`: ë±ë¡ë ê²ì¦ ì¤í¬ í
ì´ë¸ ì
ë°ì´í¸
- `verify-implementation/SKILL.md`: ì¤í ëì ì¤í¬ í
ì´ë¸ ì
ë°ì´í¸
- `CLAUDE.md`: Skills í
ì´ë¸ ì
ë°ì´í¸
### ìí¥ìë ì¤í¬: Zê°
- (ê´ë ¨ ë³ê²½ì¬í ìì)
### ë¯¸ì»¤ë² ë³ê²½ì¬í (ì ì© ì¤í¬ ìì):
- `path/to/file` â ë©´ì (ì¬ì )
ìì±/ì ë°ì´í¸ë ì¤í¬ì íì§ ê¸°ì¤
ìì±ëê±°ë ì ë°ì´í¸ë 모ë ì¤í¬ì ë¤ìì ê°ì¶ì´ì¼ í©ëë¤:
- ì½ëë² ì´ì¤ì ì¤ì íì¼ ê²½ë¡ (
lsë¡ ê²ì¦), íë ì´ì¤íëê° ìë ê² - ìëíë íì§ ëª ë ¹ì´ â íì¬ íì¼ê³¼ 매ì¹ëë ì¤ì grep/glob í¨í´ ì¬ì©
- PASS/FAIL ê¸°ì¤ â ê° ê²ì¬ì ëí´ íµê³¼ì ì¤í¨ì ëª íí ì¡°ê±´
- ìµì 2-3ê°ì íì¤ì ì¸ ìì¸ â ìë°ì´ ìë ê²ì ëí ì¤ëª
- ì¼ê´ë íì â 기존 ì¤í¬ê³¼ ëì¼ (frontmatter, ì¹ì í¤ë, í ì´ë¸ 구조)
Related Files
| File | Purpose |
|---|---|
.claude/skills/verify-implementation/SKILL.md |
íµí© ê²ì¦ ì¤í¬ (ì´ ì¤í¬ì´ ì¤í ëì 목ë¡ì ê´ë¦¬) |
.claude/skills/manage-skills/SKILL.md |
ì´ íì¼ ìì²´ (ë±ë¡ë ê²ì¦ ì¤í¬ 목ë¡ì ê´ë¦¬) |
CLAUDE.md |
íë¡ì í¸ ì§ì¹¨ (ì´ ì¤í¬ì´ Skills ì¹ì ì ê´ë¦¬) |
ìì¸ì¬í
ë¤ìì 문ì ê° ìëëë¤:
- Lock íì¼ ë° ìì±ë íì¼ â
package-lock.json,yarn.lock,pnpm-lock.yaml,Cargo.lock, ìë ìì±ë ë§ì´ê·¸ë ì´ì íì¼, ë¹ë ì¶ë ¥ë¬¼ì ì¤í¬ 커ë²ë¦¬ì§ê° ë¶íì - ì¼íì± ì¤ì ë³ê²½ â
package.json/Cargo.tomlì ë²ì ë²í, 린í°/í¬ë§¤í° ì¤ì ì ì¬ìí ë³ê²½ì ì ì¤í¬ì´ ë¶íì - 문ì íì¼ â
README.md,CHANGELOG.md,LICENSEë±ì ê²ì¦ì´ íìí ì½ë í¨í´ì´ ìë - í
ì¤í¸ í½ì¤ì² íì¼ â í
ì¤í¸ í½ì¤ì²ë¡ ì¬ì©ëë ëë í 리ì íì¼(ì:
fixtures/,__fixtures__/,test-data/)ì íë¡ëì ì½ëê° ìë - ìí¥ë°ì§ ìì ì¤í¬ â UNAFFECTEDë¡ íìë ì¤í¬ì ê²í ë¶íì; ëë¶ë¶ì ì¸ì ìì ëë¶ë¶ì ì¤í¬ì´ ì´ì í´ë¹
- CLAUDE.md ìì²´ â CLAUDE.mdì ë³ê²½ì 문ì ì ë°ì´í¸ì´ë©°, ê²ì¦ì´ íìí ì½ë í¨í´ì´ ìë
- 벤ë/ìëíí° ì½ë â
vendor/,node_modules/ëë ë³µì¬ë ë¼ì´ë¸ë¬ë¦¬ ëë í 리ì íì¼ì ì¸ë¶ ê·ì¹ì ë°ë¦ - CI/CD ì¤ì â
.github/,.gitlab-ci.yml,Dockerfileë±ì ì¸íë¼ì´ë©°, ê²ì¦ ì¤í¬ì´ íìí ì í리ì¼ì´ì í¨í´ì´ ìë