Agent Skill์ Anthropic์ด 2025๋
10์์ ๋ฐํํ ๊ธฐ๋ฅ์ด๋ค. ๋ฐํ ์งํ๋ถํฐ ํญ๋ฐ์ ์ธ ๋ฐ์์ ์ป์ด ์ปค๋ฎค๋ํฐ์์ ๋ค์ํ ์ข
๋ฅ์ Skill์ด ๋ง๋ค์ด์ก๋ค. 2025๋
12์ 18์ผ์ Anthropic์ Agent Skills๋ฅผ ๋
๋ฆฝ์ ์ธ ์คํ ์คํ ๋ค๋๋ก ๋ฐํํ๊ณ ์ฌ๋ฌ ์๋น์ค๋ค์ด Skill์ ์ง์ํ๊ณ ์๋ค.
์ด๋ฒ ๊ธ์์๋ Agent Skill์ด Tool Use ์์์ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์๋ณธ๋ค.
Agent Skill์ด๋?
Agent Skill์ ์์ด์ ํธ๊ฐ ํน์ ์์
์ ๋ ์ ํํ๊ณ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋๋ก ์ง์๋ฌธ(instructions), ์คํฌ๋ฆฝํธ(scripts), ๋ฆฌ์์ค(resources) ๋ฑ์ ๋์ ์ผ๋ก ๋ถ๋ฌ์ฌ ์ ์๊ฒ ๊ตฌ์ฑ๋ ํด๋๋ค.
์์ด์ ํธ๋ ์ ์ ๋ ๋ง์ ๊ฒ์ ํ ์ ์์ง๋ง ์ค์ ์
๋ฌด๋ฅผ ์์ ์ ์ผ๋ก ์ํํ๋ ค๋ฉด ์ ์ฐจ์ ์ง์๊ณผ ์กฐ์ง๋ณ ๋งฅ๋ฝ์ด ํ์ํ๋ค. PDF ์์์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์
์ ์์ ํ๊ฒ ์ํํ๋ ์์, ๋ธ๋ผ์ฐ์ ์๋ํ์ ๋ฒ ์คํธ ํ๋ํฐ์ค ๊ฐ์ ๊ฒ๋ค์ด๋ค. ์ด๋ฐ ์ง์์ ๋งค๋ฒ ํ๋กฌํํธ์ ๋ชจ๋ ์์ฑํ๋ฉด ์ปจํ
์คํธ๋ฅผ ๋ญ๋นํ๊ฒ ๋๊ณ ์ผ๊ด์ฑ๋ ๋จ์ด์ง๋ค.
Agent Skill์ ์ด๋ฌํ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ์์
์ ํ์ํ ์ง์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋จ์๋ก ํจํค์งํ๊ณ ํ์ํ ๋๋ง ๋์ ์ผ๋ก ๋ก๋ํ๋ค.
ํจ์จ์ ์ธ ์ปจํ
์คํธ ๊ด๋ฆฌ ๋ฐฉ๋ฒ
Agent Skill์ ์ ์ง์ ๊ณต๊ฐ(Progressive Disclosure) ํจํด์ผ๋ก ์ปจํ
์คํธ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ค. ์ ์ง์ ๊ณต๊ฐ๋ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋ค.
์ฒซ ๋ฒ์งธ ๋จ๊ณ: ๋ฉํ๋ฐ์ดํฐ ๋ก๋
์์ด์ ํธ๊ฐ ์์ํ ๋ ๋ชจ๋ Skill์ name๊ณผ description๋ง ๋ก๋ํ๋ค. ์ด ๋ฉํ๋ฐ์ดํฐ๋ Claude๊ฐ ๊ฐ Skill์ ์ธ์ ์ฌ์ฉํด์ผ ํ๋์ง ํ๋จํ ์ ์์ ๋งํผ์ ์ ๋ณด๋ง ์ ๊ณตํ๋ค. ์๋ฅผ ๋ค์ด PDF Skill์ "PDF ํ์ผ์์ ํ
์คํธ ์ถ์ถ, ํผ ์ฑ์ฐ๊ธฐ, ๋ฌธ์ ๋ณํฉ์ ์ํํ๋ค"๋ ์ค๋ช
๋ง ์์คํ
ํ๋กฌํํธ์ ํฌํจ๋๋ค.
๋ ๋ฒ์งธ ๋จ๊ณ: SKILL.md ์ ์ฒด ๋ก๋
Claude๊ฐ ํ์ฌ ์์
์ ํด๋น Skill์ด ๊ด๋ จ ์๋ค๊ณ ํ๋จํ๋ฉด ์ ์ฒด SKILL.md๋ฅผ ์ปจํ
์คํธ์ ๋ก๋ํ๋ค. ์ด ๋จ๊ณ์์ ์์ธํ ์ง์๋ฌธ์ด ์ถ๊ฐ๋๋ค. ๊ถ์ฅ ํฌ๊ธฐ๋ 5000 ํ ํฐ ๋ฏธ๋ง์ด๋ค.
์ธ ๋ฒ์งธ ๋จ๊ณ ์ด์: ์ถ๊ฐ ํ์ผ ์จ๋๋งจ๋ ๋ก๋
Skill์ด ๋ณต์กํด์ง๋ฉด ๋ชจ๋ ๋ด์ฉ์ SKILL.md ํ๋์ ๋ด๊ธฐ ์ด๋ ค์์ง๋ค. ์ด๋ฐ ๊ฒฝ์ฐ references/, scripts/, assets/ ํด๋์ ์ถ๊ฐ ํ์ผ์ ๋ฒ๋คํ๊ณ SKILL.md์์ ์ฐธ์กฐํ๋ค. Claude๋ ํ์ํ ๋๋ง ์ด ํ์ผ๋ค์ ํ์ํ๊ณ ๋ก๋ํ๋ค.
์ด ํจํด์ ์ฅ์ ์ "ํ์ํ ๋๋ง ํ์ํ ๋งํผ"์ด๋ค. ๋ชจ๋ Skill์ ์ ์ฒด ์ง์๋ฌธ์ ์ฒ์๋ถํฐ ๋ก๋ํ๋ฉด ์ปจํ
์คํธ๊ฐ ๊ธ๋ฐฉ ์์ง๋๋ค. ์ ์ง์ ๊ณต๊ฐ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด์๋ ์์ด์ ํธ๊ฐ ์ ์ ํ ์์ ์ ์ ์ ํ Skill์ ํ์ฑํํ ์ ์๊ฒ ํ๋ค.
Agent Skill์ ๊ตฌ์กฐ
์ผ๋ฐ์ ์ธ Skill์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
skill-name/
โโโ SKILL.md # ํ์: ๋ฉํ๋ฐ์ดํฐ + ์ง์๋ฌธ
โโโ scripts/ # ์ ํ: ์คํ ๊ฐ๋ฅํ ์ฝ๋
โโโ references/ # ์ ํ: ์ถ๊ฐ ๋ฌธ์
โโโ assets/ # ์ ํ: ํ
ํ๋ฆฟ, ๋ฆฌ์์ค
SKILL.md๋ง ํ์์ด๊ณ ๋๋จธ์ง๋ ๋ชจ๋ ์ ํ์ด๋ค. ๋จ์ํ Skill์ SKILL.md ํ๋๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๊ณ ๋ณต์กํ Skill์ ์ฌ๋ฌ ๊ฐ์ ์คํฌ๋ฆฝํธ์ ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํฌํจํ ์ ์๋ค.
ํ์์์์ธ SKILL.md๋ ๋ค์๊ณผ ๊ฐ์ ํฌ๋งท์ผ๋ก ๊ตฌ์ฑ๋๋ค.
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
license: Apache-2.0
compatibility: Designed for Claude Code
metadata:
author: example-org
version: "1.0"
allowed-tools: Bash(git:*) Read
---
# PDF Processing
## When to use this skill
Use this skill when the user needs to work with PDF files...
## How to extract text
1. Use pdfplumber for text extraction...
SKILL.md๋ YAML frontmatter์ ๋งํฌ๋ค์ด ๋ณธ๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋๋ค. YAML frontmatter์๋ name๊ณผ description์ด ํ์๋ก ํฌํจ๋์ด์ผ ํ๋ค. name์ ์ต๋ 64์์ ์๋ฌธ์์ ์ซ์ ๊ทธ๋ฆฌ๊ณ ํ์ดํ์ผ๋ก๋ง ๊ตฌ์ฑ๋๋ฉฐ ํ์ดํ์ผ๋ก ์์ํ๊ฑฐ๋ ๋๋ ์ ์๋ค. description์ ์ต๋ 1024์๋ก ์ด Skill์ด ๋ฌด์์ ํ๋์ง ์ธ์ ์ฌ์ฉํด์ผ ํ๋์ง ์ค๋ช
ํ๋ค.
license, compatibility, metadata, allowed-tools๋ ์ ํ ํ๋๋ค. ๊ฐ ์ ํ ํ๋์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- license: ๋ผ์ด์ ์ค ์ด๋ฆ ๋๋ ๋ฒ๋ค๋ ๋ผ์ด์ ์ค ํ์ผ์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ช
์ํ๋ค.
- compatibility: ์ต๋ 500์. ํ๊ฒฝ ์๊ตฌ์ฌํญ์ ๋ช
์ํ๋ค. ์๋ํ ์ ํ, ํ์ํ ์์คํ
ํจํค์ง, ๋คํธ์ํฌ ์ ๊ทผ ํ์ ์ฌ๋ถ ๋ฑ์ ๊ธฐ์ ํ๋ค. ์๋ฅผ ๋ค์ด "Designed for Claude Code" ๋๋ "Requires git, docker, jq, and access to the internet" ๊ฐ์ ํํ๋ก ์์ฑํ๋ค. ๋๋ถ๋ถ์ Skill์ ์ด ํ๋๊ฐ ํ์ํ์ง ์๋ค.
- metadata: ์์์ ํค-๊ฐ ์์ ์ ์ฅํ๋ ๋งต์ด๋ค. author, version ๊ฐ์ ์ถ๊ฐ ์์ฑ์ ๋ด๋๋ค.
- allowed-tools: ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ์ฌ์ ์น์ธ ๋๊ตฌ ๋ชฉ๋ก์ด๋ค. ์คํ์ ๊ธฐ๋ฅ์ผ๋ก ์์ด์ ํธ ๊ตฌํ์ ๋ฐ๋ผ ์ง์ ์ฌ๋ถ๊ฐ ๋ค๋ฅผ ์ ์๋ค.
YAML frontmatter ์๋์ ๋งํฌ๋ค์ด ๋ณธ๋ฌธ์ด ์ค์ ์ง์๋ฌธ์ด ๋๋ค. ์ด ์ง์๋ฌธ์ Skill์ด ํ์ฑํ๋ ๋ ์ปจํ
์คํธ์ ์ฃผ์
๋์ด ์์ด์ ํธ์ ํ๋์ ์๋ดํ๋ค.
์ฒซ๋ฒ์งธ ๋จ๊ณ์์๋ frontmatter์ name๊ณผ description๋ง ์ฌ์ฉ๋๋ค. ์ด ์ ๋ณด๋ก ์์ด์ ํธ๋ ์ธ์ ์ด Skill์ ํ์ฑํํด์ผ ํ๋์ง ํ๋จํ๋ค. ๋๋ฒ์งธ ๋จ๊ณ์์ SKILL.md ์ ์ฒด๊ฐ ๋ก๋๋๊ณ ์ธ๋ฒ์งธ ๋จ๊ณ์์ ๋งํฌ๋ค์ด ๋ณธ๋ฌธ์ ์ง์๋ฌธ์ ๋ฐ๋ผ scripts/ ํด๋์ ์ฝ๋๋ฅผ ์คํํ๊ฑฐ๋ references/ ํด๋์ ์ถ๊ฐ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ค.
dev-browser๋ก ์ดํด๋ณด๋ ์ค์ Skill ๋์
์ด์ Skill์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์ค์ ์์๋ฅผ ํตํด ์ดํด๋ณด์. ์ด ์์๋ Use Claude Code with Chrome์ ์๋ ์ฌ์ฉ ์์๋ฅผ dev-browser Skill์ ์ฌ์ฉํด ํ
์คํธํ๊ณ ๋ถ์ํ ๊ฒ์ด๋ค.
์ฌ์ฉํ ํ๋กฌํํธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
Go to code.claude.com/docs, click on the search box,
type "hooks", and tell me what results appear
์ด ์์ฒญ์ tools ๋ฐฐ์ด๊ณผ ํจ๊ป ์ ์ก๋๋ฉฐ Skill๋ tools ๋ฐฐ์ด์ ํฌํจ๋์ด ์๋ค. Claude API ์์ฒญ ๊ตฌ์กฐ์ ๋ํด์๋ ์ด์ ๊ธ์ ์ฐธ๊ณ ํ๋ค.
{
"name": "Skill",
"description": "Execute a skill within the main conversation\n\n<skills_instructions>...",
"input_schema": {
"type": "object",
"properties": {
"skill": {
"type": "string",
"description": "The skill name. E.g., \"commit\", \"review-pr\", or \"pdf\""
},
"args": {
"type": "string",
"description": "Optional arguments for the skill"
}
},
"required": ["skill"]
}
}
Skill ๋๊ตฌ์ description์๋ <available_skills> ์น์
์ด ํฌํจ๋์ด ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ Skill์ ๋ชฉ๋ก๊ณผ ์ค๋ช
์ด ๋ค์ด์๋ค.
<available_skills>
<skill>
<n>dev-browser:dev-browser</n>
<description>
Browser automation with persistent page state. Use when users ask to
navigate websites, fill forms, take screenshots, extract web data,
test web apps, or automate browser workflows. Trigger phrases include
"go to [url]", "click on", "fill out the form", "take a screenshot"...
</description>
<location>plugin</location>
</skill>
</available_skills>
์ฌ์ฉ์์ ์์ฒญ "Go to code.claude.com/docs, click on the search box..."๊ฐ dev-browser์ description์ ์๋ ํธ๋ฆฌ๊ฑฐ ํ๋ ์ด์ฆ "go to [url]", "click on"๊ณผ ๋งค์นญ๋๋ค. ์์ด์ ํธ๋ ์ด ๋งค์นญ์ ๋ฐ๊ฒฌํ๊ณ Skill ๋๊ตฌ๋ฅผ ํธ์ถํ๋ค.
{
"type": "tool_use",
"id": "toolu_017StpNdwovc4Lm8tGfK9XnA",
"name": "Skill",
"input": {
"skill": "dev-browser:dev-browser",
"args": "Go to code.claude.com/docs, click on the search box, type \"hooks\", and tell me what results appear"
}
}
skill ํ๋์ plugin name์ ํฌํจํ qualified name(plugin-name:skill-name)์ด ์ฌ์ฉ๋๊ณ args์๋ ์ฌ์ฉ์์ ์๋ณธ ์์ฒญ์ด ๊ทธ๋๋ก ์ ๋ฌ๋์๋ค.
Skill ๋๊ตฌ์ tool_result๋ก SKILL.md ์ ์ฒด ๋ด์ฉ์ด ๋ฐํ๋๋ค.
Launching skill: dev-browser:dev-browser
Base directory for this skill: /Users/dev-test/.claude/plugins/cache/
dev-browser-marketplace/dev-browser/58c332a7c61a/skills/dev-browser
# Dev Browser Skill
Browser automation that maintains page state across script executions.
Write small, focused scripts to accomplish tasks incrementally...
## Setup
First, start the dev-browser server using the startup script:
```bash
./skills/dev-browser/server.sh &
```
## Writing Scripts
Execute scripts inline using heredocs:
```bash
cd skills/dev-browser && npx tsx <<'EOF'
import { connect } from "@/client.js";
const client = await connect();
const page = await client.page("homepage");
// Your automation code here
await client.disconnect();
EOF
```
ARGUMENTS: Go to code.claude.com/docs, click on the search box...
tool_result์๋ SKILL.md์ ์๋ ๋ชจ๋ ์ง์๋ฌธ์ด ํฌํจ๋์ด ์๋ค. ARGUMENTS์๋ ์๋ณธ ์ฌ์ฉ์ ์์ฒญ์ด ์ฒจ๋ถ๋์ด ์์ด ์์ด์ ํธ๊ฐ ์ฐธ์กฐํ ์ ์๋ค.
์ด์ ์์ด์ ํธ๋ SKILL.md์ ์ง์๋ฌธ์ ์ฝ๊ณ ์์๋๋ก ์์
์ ์ํํ๋ค. ๋จผ์ Setup ์น์
์ ๋ฐ๋ผ ์๋ฒ๋ฅผ ์์ํ๋ค.
{
"type": "tool_use",
"name": "Bash",
"input": {
"command": "cd /Users/dev-test/.claude/plugins/cache/dev-browser-marketplace/dev-browser/58c332a7c61a/skills/dev-browser && ./server.sh &",
"description": "Start dev-browser server"
}
}
์๋ฒ๊ฐ ์ค๋น๋๋ฉด SKILL.md์ ์ธ๋ผ์ธ ์ฝ๋ ํ
ํ๋ฆฟ์ ์ฐธ๊ณ ํ์ฌ ๋ธ๋ผ์ฐ์ ์๋ํ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ ์คํํ๋ค.
{
"type": "tool_use",
"name": "Bash",
"input": {
"command": "cd /Users/dev-test/.claude/plugins/cache/dev-browser-marketplace/dev-browser/58c332a7c61a/skills/dev-browser && npx tsx <<'EOF'\nimport { connect, waitForPageLoad } from \"@/client.js\";\n\nconst client = await connect();\nconst page = await client.page(\"claude-docs\");\nawait page.setViewportSize({ width: 1280, height: 800 });\n\nawait page.goto(\"https://docs.anthropic.com/en/docs/claude-code\");\nawait waitForPageLoad(page);\n\nconsole.log(\"Current URL:\", page.url());\nconst snapshot = await client.getAISnapshot(\"claude-docs\");\nconsole.log(snapshot);\n\nawait client.disconnect();\nEOF",
"description": "Navigate to Claude Code docs"
}
}
์์ด์ ํธ๋ SKILL.md์ ์ฝ๋ ํ
ํ๋ฆฟ์ ๊ทธ๋๋ก ๋ณต์ฌํ์ง ์๋๋ค. ํ
ํ๋ฆฟ ๊ตฌ์กฐ(import, connect, heredoc ํจํด)๋ฅผ ๋ฐ๋ฅด๋ ์์
์ ๋ง๊ฒ ์ฆ์์์ ์ฝ๋๋ฅผ ์์ฑํ๋ค. page.goto() URL์ด๋ selectSnapshotRef() ref ID ๋ฑ์ ๋์ ์ผ๋ก ๊ฒฐ์ ํ๋ค.
SKILL.md๊ฐ ๋ช
์ํ Workflow Loop ํจํด์ ๋ฐ๋ผ Write a script โ Run it โ Evaluate โ Decide โ Repeat ๊ณผ์ ์ด ๋ฐ๋ณต๋๋ค. ํ์ด์ง ํ์ ์คํฌ๋ฆฝํธ ์คํ โ ARIA ์ค๋
์ท ํ์ธ โ ๊ฒ์ ๋ฒํผ ํด๋ฆญ โ ๊ฒ์์ด ์
๋ ฅ โ ๊ฒฐ๊ณผ ํ์ธ ์์๋ก ์งํ๋๋ค.
์ ์ฒด ํ๋ฆ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
User: "Go to code.claude.com/docs... Use dev-browser"
โ
โผ
LLM: available_skills์์ ๋งค์นญ ๋ฐ๊ฒฌ
description์ "go to", "click on" ํธ๋ฆฌ๊ฑฐ ํฌํจ
โ
โผ
tool_use: Skill
skill: "dev-browser:dev-browser"
args: "Go to code.claude.com/docs..."
โ
โผ
tool_result: SKILL.md ์ ์ฒด + Base directory + ARGUMENTS
โ
โผ
LLM: SKILL.md ์ง์๋ฌธ ํด์
"First, start the dev-browser server"
โ
โผ
tool_use: Bash (./server.sh &) โโโบ tool_result: "Server ready"
โ
โผ
LLM: heredoc ํ
ํ๋ฆฟ ์ฐธ๊ณ ํ์ฌ ์คํฌ๋ฆฝํธ ์์ฑ
page.goto(), getAISnapshot() ํ์ฉ
โ
โผ
tool_use: Bash (npx tsx <<'EOF'...)
โ
โผ
tool_result: snapshot ์ถ๋ ฅ (ARIA ํธ๋ฆฌ)
โ
โผ
(๋ฐ๋ณต: ํด๋ฆญ, ์
๋ ฅ, ์คํฌ๋ฆฐ์ท ๋ฑ)
Skill ๋๊ตฌ์ ์ญํ ์ SKILL.md ํ์ผ ๊ฒฝ๋ก๋ฅผ ํด์ํ๊ณ ์ ์ฒด ๋ด์ฉ์ tool_result๋ก ๋ฐํํ๋ ๊ฒ๋ฟ์ด๋ค. ์ค์ ๋ฅ๋ ฅ์ ์์ด์ ํธ๊ฐ SKILL.md๋ฅผ ์ฝ๊ณ ์ง์๋ฌธ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋๊ตฌ๋ค์ ์ฌ์ฉํ๋ฉด์ ๋ฐํ๋๋ค.
Agent Skill๊ณผ Subagent
Subagent์ Agent Skill์ ์๋ก ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
Subagent๋ ์ปจํ
์คํธ ๋ถ๋ฆฌ๊ฐ ํ์ํ ๋ ์ฌ์ฉํ๋ค. ํ์์ด๋ ๋ถ์ ๊ณผ์ ์ด ๋ฉ์ธ ๋ํ๋ฅผ ์ค์ผ์ํค๋ฉด ์ ๋ ๋ ์ ํฉํ๋ค. ์๋ฅผ ๋ค์ด ์ฝ๋๋ฒ ์ด์ค ์ ์ฒด๋ฅผ ํ์ํด์ผ ํ๋๋ฐ ๊ทธ ๊ณผ์ ์ ๋ชจ๋ ํ์ผ ๋ด์ฉ์ด ๋ฉ์ธ ์ปจํ
์คํธ์ ์์ด๋ฉด ๊ธ๋ฐฉ ์ปจํ
์คํธ๊ฐ ์์ง๋๋ค. Subagent๋ ๋
๋ฆฝ์ ์ธ ์ปจํ
์คํธ ์๋์ฐ์์ ์์
ํ๊ณ ๊ฒฐ๊ณผ๋ง ๋ฐํํ๋ค. ๋ํ ๊ฐ๋ฒผ์ด ๋ชจ๋ธ(Haiku)๋ก ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ฑฐ๋ ๋ฌด๊ฑฐ์ด ๋ชจ๋ธ(Opus)๋ก ๊น์ด ๋ถ์ํ๋ ์ ํ์ด ๊ฐ๋ฅํ๋ค.
Agent Skill์ ์ ์ฐจ์ ์ง์์ด ํ์ํ ๋ ์ฌ์ฉํ๋ค. PDF ํผ ์ฑ์ฐ๊ธฐ๋ ๋ธ๋ผ์ฐ์ ์๋ํ์ฒ๋ผ "์ด๋ป๊ฒ ํด์ผ ํ๋์ง"์ ๋ํ ๋ฒ ์คํธ ํ๋ํฐ์ค๊ฐ ์๋ ์์
์ ์ ํฉํ๋ค. Skill์ ํ์ฌ ์ปจํ
์คํธ๋ฅผ ๊ณต์ ํ๋ฉด์ ์ง์๋ฌธ๋ง ์ถ๊ฐ๋ก ์ฃผ์
ํ๋ค. ๋ณ๋์ ๋ฉ์์ง ๋ฃจํ๋ฅผ ๋ง๋ค์ง ์๋๋ค.
Agent Skill๊ณผ MCP
MCP์ Agent Skill๋ ์ญํ ์ด ๋ค๋ฅด๋ค.
MCP๋ ์ธ๋ถ ์์คํ
๊ณผ์ ์ฐ๋์ด ํ์ํ ๋ ์ฌ์ฉํ๋ค. ๋ธ๋ผ์ฐ์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ธ๋ถ API์ฒ๋ผ ์์ด์ ํธ ๋ด๋ถ์์ ์ง์ ์คํํ๊ธฐ ์ด๋ ค์ด ๋๊ตฌ๊ฐ ํ์ํ ๋ ์ ํฉํ๋ค. MCP ์๋ฒ๋ ์ธ๋ถ ํ๋ก์ธ์ค์์ ์คํ๋๊ณ ํ๋กํ ์ฝ์ ํตํด ํต์ ํ๋ค. ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ๋ฌ ์์ด์ ํธ์์ ๊ณต์ ํ ์๋ ์๋ค.
Agent Skill์ ๋๊ตฌ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๊ฐ๋ฅด์น ๋ ์ฌ์ฉํ๋ค. MCP๊ฐ "์ด๋ค ๋๊ตฌ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ์ง"๋ฅผ ์๋ ค์ค๋ค๋ฉด Skill์ "๊ทธ ๋๊ตฌ๋ฅผ ์ด๋ป๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋์ง"๋ฅผ ๊ฐ๋ฅด์น๋ค. ์ค์ ๋ก mcp-builder๋ผ๋ Skill์ MCP ์๋ฒ๋ฅผ ๋ ์ ๋ง๋ค๊ธฐ ์ํ ์ง์์ ์ ๊ณตํ๋ค. Skill์ด MCP๋ฅผ ๋์ฒดํ๋ ๊ฒ์ด ์๋๋ผ ๋ณด์ํ๋ ๊ด๊ณ๋ค.
๋ง๋ฌด๋ฆฌ
์ง๊ธ๊น์ง Agent Skill์ด Tool Use ์์์ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์๋ณด์๋ค.
Skill ๋๊ตฌ๊ฐ tools ๋ฐฐ์ด์ ์ ์๋์ด ์๊ณ tool_use โ tool_result ์ฌ์ดํด์ ๊ฑฐ์น๋ค. ์ด๋ Subagent(Task ๋๊ตฌ)๋ MCP(mcp__xxx ๋๊ตฌ)์ ๋์ผํ ํจํด์ด๋ค.
tools ๋ฐฐ์ด
โโโ ๋ด์ฅ ๋๊ตฌ (Bash, Read, Glob...)
โ โโโ Host ๋ด๋ถ์์ ์ง์ ์คํ
โ
โโโ Task ๋๊ตฌ (Subagent)
โ โโโ ์ ๋ฉ์์ง ๋ฃจํ์์ LLM ์๋ต ๋ฐํ
โ
โโโ mcp__xxx ๋๊ตฌ (MCP)
โ โโโ ์ธ๋ถ ์๋ฒ์ ์คํ ๊ฒฐ๊ณผ ๋ฐํ
โ
โโโ Skill ๋๊ตฌ (Skills)
โโโ SKILL.md ๋ก๋ ํ ํ์ ๋๊ตฌ ์ฌ์ฉ ์๋ด
Agent Skill์ ๋ค๋ฅธ ๋๊ตฌ ์ฌ์ฉ์ ์๋ดํ๋ ๋ฉํ ๋๊ตฌ๋ค. tool_result๋ก ์ง์๋ฌธ์ ์ปจํ
์คํธ์ ์ฃผ์
ํ๊ณ ์ดํ Bash, Read ๊ฐ์ ๋ค๋ฅธ ๋๊ตฌ๋ค์ ์ฌ์ฉ์ ์๋ดํ๋ค. ๊ฒฐ๊ตญ Skill โ Bash โ Read... ํํ์ ๋๊ตฌ ์ฒด์ด๋์ด ๋ฐ์ํ๋ค.
Subagent์ MCP๊ฐ "๋ฌด์์ ํ ์ ์๋๊ฐ"๋ฅผ ํ์ฅํ๋ค๋ฉด Skills๋ "์ด๋ป๊ฒ ์ ํ ๊ฒ์ธ๊ฐ"๋ฅผ ํ์ฅํ๋ค.
Read more โ