[LLM] Agent Skills
Agent Skills๋ ์คํธ๋กํฝ์์ ๊ณต๊ฐํ ์์ด์ ํธ ๊ฐ๋ฐ์ฉ ์์ฐ์ฑ ๊ฐํ ์๋จ์ด๋ค.
์ฝ๊ฒ ๋งํด์, ์์ด์ ํธ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ๊ฒ์ด๋ค.
ํ๋กฌํํธ๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์์ ํ์ํฌ์ธํธ๋ฅผ ๋ง๋ ๋ค๊ฑฐ๋ pdf๋ฅผ ์์ /์์ฑํ๋ค๊ฑฐ๋ ํ๋ ํ์ผ ๊ธฐ๋ฐ์ ํค๋นํ๊ฑฐ๋ ๋ณต์กํ ์ ์๋ ์์
๋ค์ ๋ชจ๋์ ํํ๋ก ์ ๊ณตํ๋ ๊ฒ์ด ํน์ง์ด๋ค.
๋ด์ธ์ฐ๋ ์ฃผ์ ์ฅ์ ์ ํ ํฐ ์ฌ์ฉ๋์ ์ค์ผ ์ ์๊ณ , ๊ท์น ๊ธฐ๋ฐ์ ์ ์ง์ ์ฒ๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํด์ค๋ค๋ ๊ฒ์ด๋ค.
์คํธ๋กํฝ์ ๊ตฌ๋ ํด์ผ๋ง ์ฌ์ฉํ ์ ์๊ณ , ํ ์์ ์์๋ ์์ ํ๊ฐ ๋์ง ์์ ๊ธฐ๋ฅ์ด๋ค. ์์ง ๋ฒ ํ ๋ฒ์ ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ํน์ดํ๊ฒ๋ Skill์ ๋ํ ์ฒ๋ฆฌ ์์ ์ ์ผ์ข ์ ๊ฐ์๋จธ์ ์์์ ์คํ๋๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์๋ค.
https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
ํ๋ฆฌ์ Skills ์ฌ์ฉํด๋ณด๊ธฐ (with Python)
LLM ํ๊ฒฝ๋ค์ด ์ผ๋ ๊ทธ๋ ๋ฏ์ด, ์ด๊ฒ๋ ํ๊ฒฝ์ด Python ์ชฝ์ ๋ชฐ๋นต๋์ด์๋ค.
uv๋ฅผ ์ด๋ค๊ณ ๊ฐ์ ํ๊ฒ ๋ค.
skills๋ฅผ ์ฐ๋ ค๋ฉด ๋ค์ ์ ์ฉ ๋ชจ๋์ด ํ์ํ๋ค.
uv add anthropic
์คํธ๋กํฝ ํด๋ผ์ด์ธํธ๋ฅผ ํตํด ์คํธ๋กํฝ์์ ์ง์ํ๋ skill ๋ชฉ๋ก์ ์กฐํํด๋ณด์.
import anthropic
api_key = "..."
client = anthropic.Anthropic(api_key=api_key)
# List Anthropic-managed Skills
skills = client.beta.skills.list(source="anthropic", betas=["skills-2025-10-02"])
for skill in skills.data:
print(f"{skill.id}: {skill.display_title}")
ํ ์์ ์์ ์ ๊ณต๋๋ ์คํฌ ํ๋ฆฌ์
์ ๋จ 4๊ฐ์ง ๋ฟ์ด๋ค.
์ skill.id(pdf ๋ฑ)์ ์ฌ์ฉํ๋ฉด ์ skill์ ์ฌ์ฉํ ์ ์๋ค.
๊ฐ๋จํ ํ๋กฌํํธ๋ฅผ ์ง์ด๋ฃ์ด์ pptx ํ์ผ์ ๋ง๋ค์ด๋ณด์.
# Create a message with the PowerPoint Skill
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=4096,
betas=["code-execution-2025-08-25", "skills-2025-10-02"],
container={
"skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
},
messages=[
{
"role": "user",
"content": "Create a presentation about renewable energy with 5 slides",
}
],
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
print(response.content)
์ด๋ฐ ์์ผ๋ก ์๋ฉด ๋๋ค.
๋ชจ๋ธ ์ ํ๊ณ , ํ ํฐ ์ ํ ๊ฑธ๊ณ , messages๋ก ์๊ตฌ์ฌํญ ํ๋กฌํํธ๋ฅผ ์ง์ ํด์ ์คํํ๋ฉด ๊ทธ๋ง์ด๋ค.
์คํ ์๊ฐ ์์ฒด๋ ๊ฝค ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ๋๋ ๊ธฐ๋ฅ๋ค์ ์๋๋ค.
๊ทธ๋ผ ์ด๋ฐ ์์ผ๋ก ์ถ๋ ฅ์ด ๋์ฌ ๊ฒ์ด๋ค.
์ด ๊ฒฝ์ฐ์๋ pptx๊ฐ ํ๊ทธ ๊ธฐ๋ฐ ํฌ๋งท์ด๋ผ ์ข ์ด์ง๋ฝ๊ธด ํ๋ฐ, ์ค์ ๋ก ์ ๋ง๋ค์ด์ง ๊ฒ์ ๋ง๋ค.
์ฌ์ฉ์ ์ ์ Skill
Skill์ ์ฌ์ ์ ๊ณตํ๋ ๊ฒ ์ด์ธ์๋ ์ง์ ๋ง๋ค์ด์ ์ธ ์๋ ์๋ค.
์ด๊ฒ ๋ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์ฌ๋ก์ผ ๊ฒ์ด๋ค.
๊ณต์ ์์ ๋ ์ฌ๊ธฐ์ ์๋ค.
https://github.com/anthropics/claude-cookbooks/tree/main/skills/custom_skills
๋จผ์ ์คํฌ์ ์ ์ํด์ผ ํ๋ค.
๊ฐ์๋๋ ํ๋ก์ ํธ ๊ตฌ์กฐ๊ฐ ์๋ค.
๊ฐ์ฅ ํ์์ ์ธ ๊ฒ์ SKILL.md๋ผ๋ ํต์ฌ ํ๋กฌํํธ ํ์ผ์ด๋ค.
์ ๊ธฐ ์๋จ์ ๋ฐํ์๋๊ฒ ์ต์ํ์ ์ ๋ณด๋ฅผ ๊ฐ์ง ๋ฉํ๋ฐ์ดํฐ ์น์
์ด๊ณ , ๊ทธ ์๋์ ์์ธํ ํ๋กฌํํธ๊ฐ ๋์ด๋๋ค.
ํ์ํ๋ค๋ฉด scripts ํด๋ ์์ ์ฌ์ฉํ ํจ์๋ฅผ ๊ตฌํํด์ ๋ฃ์ด๋ ๋๋ค.
๊ทธ๋ฆฌ๊ณ skill์ ์ฐ๋ ค๋ฉด ์คํธ๋กํฝ์ ์
๋ก๋๋ฅผ ํ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
ํด๋น skill ๊ฒฝ๋ก๋ฅผ ์์ถํ ๋ค์์ skill๋ก ๋ฑ๋กํ๊ณ , ๊ทธ skill์ ID๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค.

๊ทธ๋ผ ์ด๋ฐ ์์ผ๋ก ID๊ฐ ๋ฐ๊ธ๋๋ค.
์ skill ID๋ฅผ ๋ฃ๊ณ ํ๋กฌํํธ๋ฅผ ์ฌ์ด์ ๋์ผํ๊ฒ ๋ฉ์ธ์ง๋ฅผ ์๋ฉด ๋๋ค.

๊ทธ๋ ๋ค.
๊ฐ์
๊ฐ๋ ์ ์ฉํ ๊ฒฝ์ฐ๊ฐ ์์ ๊ฒ ๊ฐ๊ธด ํ๋ฐ, ๊ธ์... ์ง๊ธ์ผ๋ก์๋ ์ข ๊ณ๋ฅต ๊ฐ์ ๊ธฐ๋ฅ ๊ฐ๊ธฐ๋ ํ๋ค.
MCP, tools, ํน์ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ๋๊ณ ์ ์ด๊ฑธ ์จ์ผํ๋์ง์ ๋ํ ๋น์์ฑ์ด ์ถฉ๋ถํ์ง ์๋ค. ๊ฒ๋ค๊ฐ ์คํธ๋กํฝ ํ๊ฒฝ์ ์ง๋์น๊ฒ ์ข
์๋๋ค.
์ด๋ฐ ์ ๋งคํ ์ง์ ๋ค ๋๋ฌธ์ธ์ง, ์ค์ ๋ก MCP์ ๋นํด์๋ ๊ด์ฌ์ ํฌ๊ฒ ๋ฐ์ง ๋ชปํ๋ ์ํฉ์ด๋ค.
์ฐธ์กฐ
https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
https://platform.claude.com/docs/en/agents-and-tools/agent-skills/quickstart
https://github.com/anthropics/claude-cookbooks/tree/main/skills
https://simonwillison.net/2025/Oct/16/claude-skills/
https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices