docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거

Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
This commit is contained in:
Antigravity Agent
2026-07-05 00:33:48 +09:00
parent 1cfd3bbb56
commit 9148c358d0
6455 changed files with 1 additions and 86875 deletions
@@ -0,0 +1,317 @@
---
id: ai-anthropic-skills-patterns
title: Anthropic Skills — modular agent capability
category: Coding
status: draft
source_trust_level: B
verification_status: conceptual
created_at: 2026-05-09
updated_at: 2026-05-09
tags: [ai, anthropic, agents, vibe-coding]
tech_stack: { language: "TS / Markdown", applicable_to: ["AI"] }
applied_in: []
aliases: [Anthropic Skills, agent skills, modular capability, prompt module, sub-agent, Claude skills]
---
# Anthropic Skills
> Claude / agent 의 modular capability. **Markdown skill files + structured tools**. Re-usable + composable.
## 📖 핵심 개념
- 매 skill = self-contained doc + tool.
- Loaded on-demand.
- Modular (mix and match).
- LLM 가 자체 invoke.
## 💻 코드 패턴
### Skill structure
```
skills/
├── pdf-processor/
│ ├── SKILL.md # 의 description + 사용법
│ ├── helpers.ts # tool implementation
│ └── examples/ # sample input
├── data-analyst/
│ └── SKILL.md
└── code-reviewer/
└── SKILL.md
```
### SKILL.md
```markdown
---
name: PDF Processor
description: Extract text and structure from PDF files
---
# PDF Processor
When user asks about PDF processing:
1. Use `extract_text(path)` to get raw text.
2. Use `extract_tables(path)` for tables.
3. Use `summarize(text)` for long docs.
## Tool examples
To extract: extract_text('/path/to/doc.pdf')
To find tables: extract_tables(path, page=2)
```
→ LLM 가 SKILL.md 읽음 + 자체 use.
### Discovery
```
Agent loop:
1. User query.
2. List available skills.
3. LLM 가 relevant skill 선택.
4. Skill description + tools 가 context 에.
5. Use.
```
→ Lazy load (token 절약).
### Skill 의 ingredient
```
- Description: 언제 use.
- Examples: input → output.
- Tools: 호출 가능.
- Constraints: 안 do.
- Workflow: step-by-step.
```
### Multi-skill
```
User: "Analyze this PDF and write a summary email".
LLM 가:
1. PDF Processor skill (extract).
2. Data Analyst skill (analyze).
3. Email Writer skill (write).
→ Compose multiple.
```
### vs MCP server
```
MCP: standardized protocol (Anthropic).
Skills: skill 의 unit (markdown + tool).
→ Skills 가 MCP 위에 사용 가능.
```
→ [[AI_MCP_Server_Building]].
### Code skill 예
```markdown
---
name: Code Reviewer
description: Review code for bugs, style, performance
---
# Code Reviewer
For each file:
1. Check for common bugs (null check, off-by-one).
2. Verify style (lint, format).
3. Suggest performance improvement.
4. Output JSON: { issues: [...], suggestions: [...] }
## Don't
- Don't rewrite entire file.
- Don't suggest opinion-based changes (subjective style).
```
### Versioning
```
skills/
├── pdf-processor/
│ └── v2/
│ ├── SKILL.md
│ └── ...
```
→ Multiple version, A/B test.
### Sharing
```
Internal company skills:
- Marketing Copywriter.
- Customer Support Triage.
- Code Reviewer.
- Data Analyst.
→ Library 가 매 team 가 share.
```
### Public skill marketplace
```
2026 의 가능성:
- "Skills marketplace" (Hugging Face 식).
- 매 skill 가 review / rating.
- 매 use case 의 best skill.
```
### Custom Claude
```
Claude Pro / Team:
- Custom instruction (system prompt).
- Memory (persistent).
- Skills (loaded on demand).
→ Specialized assistant.
```
### Anthropic Computer Use + Skills
```
Skill: 'Search the web for X and summarize'.
- Computer Use tool.
- Browser navigation.
- Reading + summary.
→ Modular agent.
```
### Skill 작성 가이드
```
1. Description 가 specific (애매 X).
2. Examples (input → expected output).
3. Constraints (안 do).
4. Tool 가 명확.
5. Output format (JSON 등).
6. Eval (test cases).
```
### Iterative improve
```
1. Initial skill.
2. Test cases.
3. Fail case 분석.
4. Skill update.
5. Re-test.
→ "Skill engineering" 의 process.
```
### vs prompt template
```
Prompt template: 1 prompt + variable.
Skill: doc + tool + workflow.
→ Skill 가 더 큰 unit.
```
### Production
```
- Code review bot (PR 매번).
- Data analyst (Slack bot).
- Customer support (1-line).
- Personal assistant.
→ 매 task = own skill.
```
### Skills + RAG
```
Skill 가 own knowledge base:
- Doc 가 vector DB.
- Skill 가 retrieve.
- LLM 가 answer.
→ Skill 가 expert in domain.
```
### Skills + sub-agent
```
Main agent: orchestrator.
Skill A → sub-agent A.
Skill B → sub-agent B.
→ Multi-agent coordination.
```
→ [[AI_Multi_Agent_Coordination]].
### Anthropic 의 official format
```
2026 시점 evolving.
- Markdown + frontmatter.
- Tool definitions.
- Examples.
- Constraints.
```
### Implementation 예 (TS)
```ts
class SkillManager {
skills = new Map<string, Skill>();
register(skill: Skill) {
this.skills.set(skill.name, skill);
}
list(): SkillSummary[] {
return [...this.skills.values()].map(s => ({
name: s.name,
description: s.description,
}));
}
async load(name: string): Promise<string> {
const skill = this.skills.get(name);
return skill ? skill.fullContent : '';
}
}
// LLM 의 system prompt 에 skill list.
// LLM 가 'load_skill(name)' tool 호출.
// Loaded skill content 가 context 에 추가.
```
### 함정
```
- Skill 너무 많음 = LLM 가 헷갈림.
- Description 가 vague.
- Tool overlap.
- No eval.
- Version 관리 X.
- Cross-skill state share.
```
### Best practice
```
1. Specific name + description.
2. Self-contained (depend X).
3. Test case (10+).
4. Versioning (skill v1, v2).
5. Composable (다른 skill 와 stack).
6. Idempotent (re-run OK).
```
## 🤔 의사결정 기준
| 작업 | 추천 |
|---|---|
| Specific task | Skill |
| 일반 prompt | System prompt |
| External integration | MCP |
| Multi-step | Skill + sub-agent |
| Re-usable across team | Skill library |
## ❌ 안티패턴
- **Skill 너무 많음**: LLM 헷갈림.
- **Vague description**: 안 invoke.
- **No example**: bad output.
- **Tool overlap**: confusion.
- **No eval**: silent regression.
## 🤖 LLM 활용 힌트
- Skills = modular capability.
- Markdown + tool 가 unit.
- MCP 위 가능.
- Specific name + description 가 핵심.
## 🔗 관련 문서
- [[AI_Skills_Patterns]]
- [[AI_MCP_Integration_Patterns]]
- [[AI_Multi_Agent_Coordination]]