세 가지 모두 결국 마크다운 파일 한 장입니다. 위치와 frontmatter(상단 메타정보) 가 다를 뿐이에요. 디자이너가 직접 손댈 일은 거의 없지만, "AI에게 이렇게 만들어줘" 라고 부탁하려면 구조를 알아야 합니다.

1. Skill — 반복 작업을 명령어로

~/.claude/skills/카드뉴스-검수/SKILL.md 한 파일이면 끝. /카드뉴스-검수 로 호출됩니다.

---
name: 카드뉴스-검수
description: 카드뉴스 5장 초안의 카피 톤·길이·CTA 일관성을 점검합니다. "카드뉴스 검수해줘", "5장 톤 맞나 봐줘" 요청 시 사용.
---

# 카드뉴스 검수

다음 순서로 점검합니다.

1. 1번 카드(표지) — 한 문장에 핵심 후킹이 있는가
2. 2~4번 카드 — 한 카드 = 한 메시지인가
3. 5번 카드(CTA) — 행동 동사로 끝나는가 ("지금 신청" O / "더 보기" X)
4. 전체 톤이 brand.md 의 voice 와 일치하는가

각 항목마다 통과/수정 + 한 줄 이유.

핵심: description언제 발동되는지 를 자연어로 쓰는 것. AI 가 이 줄을 보고 "지금 이 skill 을 써야겠다" 판단합니다.

2. Agent (Subagent) — 도구를 들고 일하는 전문가

~/.claude/agents/notion-uploader.md. 특정 작업에만 호출되는 "전문 일꾼" 입니다.

---
name: notion-uploader
description: 완성된 카드뉴스 본문을 Notion 페이지에 섹션 단위로 업로드합니다. 한 번에 너무 많은 블록을 보내면 API 에러가 나므로 분할 업로드합니다.
tools: mcp__notion__API-patch-block-children, mcp__notion__API-retrieve-a-page, Read
model: sonnet
---

당신은 Notion 업로드 전문 에이전트입니다.

규칙:
- 한 번에 50 블록 초과 금지
- 이모지 절대 추가 금지 (icon 파라미터 사용 X)
- 업로드 전 retrieve-a-page 로 권한 확인
- 실패 시 어느 섹션에서 멈췄는지 보고

Skill 과 차이: tools무슨 도구를 쓸 수 있는지 제한, model 로 어느 모델로 돌릴지 지정. Skill 은 그냥 매뉴얼이고, Agent 는 권한·도구를 가진 실행자.

3. Plugin — Skill·Agent·MCP 를 묶어 배포

플러그인은 폴더 구조. ~/.claude/plugins/my-cardnews-kit/ 안에 여러 파일이 들어갑니다.

my-cardnews-kit/
├── plugin.json              # 플러그인 메타정보
├── skills/
│   ├── 카드뉴스-검수.md
│   └── 카피-짧게.md
├── agents/
│   └── notion-uploader.md
└── commands/
    └── publish.md           # /publish 슬래시 명령어
{
  "name": "my-cardnews-kit",
  "version": "0.1.0",
  "description": "카드뉴스 작업 전체 파이프라인 (검수 → Notion 업로드)",
  "skills": ["skills/카드뉴스-검수.md", "skills/카피-짧게.md"],
  "agents": ["agents/notion-uploader.md"],
  "commands": ["commands/publish.md"]
}

본인이 만든 Skill·Agent 가 3개 이상 쌓이면 Plugin 으로 묶어서 다른 컴퓨터·동료와 공유할 수 있습니다. 혼자 쓸 땐 그냥 ~/.claude/skills/ 에 흩어둬도 OK.

부탁할 때 쓰는 한 문장

만들고 싶은 것 Claude 에게 이렇게
Skill "방금 한 카드뉴스 검수 과정을 /카드뉴스-검수 skill 로 만들어줘"
Agent "Notion 업로드만 전담하는 subagent 만들어줘. tools 는 notion MCP 만."
Plugin "지금까지 만든 skill·agent 를 my-cardnews-kit plugin 으로 묶어줘"