TrendShift 딥다이브 · 2026-07-15 · Daily #9

coreyhaines31/marketingskills 딥다이브
SKILL.md 47개로 배우는 "AI 에이전트 스킬 설계·배포·운영법"

marketingskills전환율 최적화(CRO)·카피라이팅·SEO·유료 광고·그로스 같은 마케팅 노하우를, Claude Code·Codex·Cursor 같은 AI 코딩 에이전트가 바로 불러 쓸 수 있는 47개의 "스킬(Skill)"로 묶은 오픈소스 팩이다. 만든 사람은 실리콘밸리 마케터 Corey Haines. 앱이 아니라 마크다운 문서(SKILL.md)의 모음이라, 빌드도 설치 프로그램도 없다. 그런데 이 저장소의 진짜 가치는 "마케팅 지식"보다 "AI 에이전트용 Skill을 어떻게 설계하고, 어떻게 배포하며, 어떻게 팀으로 운영하는가"의 살아 있는 교과서라는 데 있다. name/description만으로 에이전트가 스킬을 고르게 하는 발견성 설계, 토큰을 아끼는 3계층 점진적 공개(Progressive Disclosure), 스킬끼리 서로 넘겨주는 오케스트레이션, 품질을 지키는 평가(evals), 그리고 CI 자동 동기화까지 — 마케팅을 소재로 "잘 만든 스킬 저장소"의 정석을 통째로 보여 준다. (저장소: coreyhaines31/marketingskills · MIT · 마크다운 296 + zero-dep Node.js CLI 64 · SKILL.md 47개 · v2.8.10 · TrendShift Daily #9)
목차
  1. 프로젝트 한 줄 요약
  2. 왜 지금 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 · 파일 구조 해부
  6. 학습 포인트
  7. 시스템 · 실행 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한 줄 요약

이름부터 뜯어보기 — "marketing(마케팅) + skills(스킬)" = 에이전트에게 붙이는 마케팅 전문 능력 47종

marketingskills"AI 코딩 에이전트를 마케팅 전문가로 변신시키는 능력 팩"이다. Claude Code나 Cursor에 이 저장소를 설치하면, 평소엔 코드만 짜던 에이전트가 "이 랜딩페이지 전환율을 올려 줘", "콜드 이메일 시퀀스 써 줘", "이 사이트 SEO 감사해 줘" 같은 요청에 전문가 수준의 절차와 프레임워크를 따라 답하게 된다. 그 능력 하나하나가 스킬(Skill)이고, 이 저장소엔 마케팅 스킬이 47개 들어 있다.

각 스킬의 정체는 놀랄 만큼 단순하다 — SKILL.md라는 마크다운 파일 한 장이다. 맨 위에 "이 스킬이 무엇이고 언제 쓰는지"를 적은 YAML 머리말이 있고, 그 아래에 에이전트가 따라야 할 지시(프레임워크·체크리스트)가 이어진다. 코드가 아니라 잘 쓴 설명서가 곧 능력이 되는 것 — 이게 2026년 AI 에이전트 생태계를 관통하는 "Agent Skills" 표준의 핵심이다.

핵심 용어
Agent Skill (에이전트 스킬) · SKILL.md
스킬은 AI 에이전트에게 "특정 작업을 이렇게 하라"고 알려 주는 재사용 가능한 지시 묶음이다. 폴더 하나에 SKILL.md 파일을 넣으면 스킬 하나가 된다. 앱을 설치하듯 .claude/skills/(또는 범용 .agents/skills/)에 폴더를 넣어 두면, 에이전트가 대화 중 필요할 때 스스로 그 스킬을 "펼쳐" 읽는다. Anthropic이 제시하고 Codex·Cursor 등이 함께 채택한 Agent Skills 스펙(agentskills.io)을 따른다.
핵심 용어
CRO · 카피라이팅 · SEO · 그로스
이 저장소가 다루는 마케팅 4대 영역이다. CRO(Conversion Rate Optimization, 전환율 최적화)=방문자를 구매·가입으로 바꾸는 페이지·폼 개선. 카피라이팅=팔리는 문구 쓰기. SEO(Search Engine Optimization)=검색·AI 답변에 노출되게 만들기. 그로스(growth)=추천·루프·무료도구로 성장을 설계하는 것. 스킬 이름이 곧 이 영역들이다(cro, copywriting, seo-audit, referrals …).
한 문장 비유

"신입 에이전트 옆에 붙여 주는, 47권짜리 '실무 마케팅 사수 매뉴얼' — 필요할 때 해당 챕터만 펼쳐 읽는다"

갓 입사한 만능 직원(AI 에이전트)이 있다고 하자. 똑똑하지만 우리 회사의 마케팅 실무 절차는 모른다. marketingskills는 그 옆에 꽂아 두는 47권짜리 사수(師守) 매뉴얼이다. "랜딩페이지가 전환이 안 돼요"라고 하면 직원은 스스로 cro 챕터를 펼쳐 그 절차대로 진단한다.

중요한 건 47권을 한꺼번에 외우지 않는다는 것이다. 각 권의 표지(머리말)만 늘 눈에 두고, 실제 일이 생기면 그 한 권만 꺼내 읽는다. 게다가 "이건 내 담당이 아니라 옆 부서(signup) 일이니 그쪽 매뉴얼을 보라"고 서로 넘겨주기까지 한다. 이 "필요한 만큼만 펼쳐 읽고, 서로 위임하는" 구조가 이 저장소의 진짜 배울 점이다(§4).

2왜 지금 주목받는가

TrendShift Daily #9 · "Claude Code Skills 붐 + 실무자가 만든 진짜 노하우 + 크로스 에이전트 표준"

2026년 TrendShift 상위권은 온통 "skills"다 — 이 리스트만 봐도 hallmark, mattpocock/skills, marketingskills, andrej-karpathy-skills 등 스킬 저장소가 줄줄이 올라 있다. AI 코딩 에이전트를 "프롬프트 하나"가 아니라 "설치형 능력 팩"으로 확장하는 흐름이 대세가 됐다는 신호다. (TrendShift의 굵은 숫자는 별 수가 아니라 사회적 언급 모멘텀이다.) marketingskills가 그중에서도 눈에 띄는 이유를 넷으로 본다.

주목 포인트 1 — "코딩 말고 마케팅"이라는 빈칸을 정확히 메웠다

대부분의 인기 스킬 팩은 엔지니어를 위한 것(테스트·리팩터링·디버깅)이다. marketingskills는 AI 에이전트를 "1인 창업자·마케터의 실무 도구"로 돌려세운다. 코드는 못 짜도 랜딩페이지·이메일·광고 카피·SEO가 급한 사람이 훨씬 많다. "개발자용 스킬"의 홍수 속에서 비개발 실무자라는 거대한 수요층을 겨눈 몇 안 되는 팩이다.

주목 포인트 2 — 이론이 아니라 "실무자가 직접 쓴" 노하우

저자 Corey Haines는 SaaS 마케팅으로 이름난 실무자(Swipe Files·Conversion Factory 운영)다. 스킬 안에 담긴 건 교과서 요약이 아니라 현장에서 검증된 프레임워크다 — 예컨대 ai-seo 스킬은 "AI가 인용해도 정작 경쟁사를 추천하더라"는 최신 연구 데이터(한 B2B 조사에서 자기 홍보성 글이 얻은 AI 인용의 69%가 경쟁사를 추천하는 답변에 딸려 왔다)까지 인용한다. 실무 감각이 문장마다 배어 있다.

주목 포인트 3 — 한 벌로 Claude·Codex·Cursor 다 된다 (크로스 에이전트)

이 저장소는 특정 도구에 묶이지 않는다. 공용 표준 Agent Skills 스펙(agentskills.io)을 따르고, 흥미롭게도 CLAUDE.md가 실제 파일이 아니라 AGENTS.md를 가리키는 심볼릭 링크다. "에이전트 공용 문서 한 장을 Claude Code도 그대로 읽게" 만든 것 — 덕분에 npx skills add 한 줄이면 Claude Code엔 .claude/skills/로, 범용 에이전트엔 .agents/skills/로 알아서 설치된다.

주목 포인트 4 — "지식"에 "실행 도구"까지 붙였다

스킬(무엇을·언제)만 있으면 에이전트는 조언만 한다. marketingskills는 여기에 실제 API를 호출하는 도구 64개(tools/clis/)를 딸려 보낸다 — GA4·Mixpanel·Ahrefs·Stripe·Klaviyo 같은 마케팅 툴을 의존성 0짜리 Node.js CLI로 감쌌다. "전환율을 분석해 줘"가 조언에서 끝나지 않고 실제 분석 데이터를 끌어오는 데까지 이어질 수 있다.

비슷한 선택지와의 비교

선택지성격 · marketingskills와의 차이
그냥 프롬프트로 물어보기매번 "너는 CRO 전문가야…"를 길게 붙여야 하고, 절차가 들쭉날쭉. marketingskills는 검증된 절차를 스킬로 고정해 매번 같은 품질을 낸다.
단일 CLAUDE.md 규칙 파일
(예: karpathy-skills)
에이전트 전반 행동을 한 파일로 살짝 조정. 강력하지만 도메인 깊이는 얕다. marketingskills는 영역별로 47개 스킬 + 144개 참고문서로 깊이를 준다.
개발자용 스킬 팩
(mattpocock/skills 등)
대상이 엔지니어. marketingskills는 같은 스펙·같은 배포 방식이되 대상이 마케터·창업자. 스킬 저장소를 "도메인 지식 팩"으로 쓰는 좋은 예.
SaaS 마케팅 도구
(Jasper·Copy.ai 등)
웹앱·구독형·폐쇄형. marketingskills는 오픈소스(MIT)이고 내 에이전트 안에서 돌며, 내 제품 컨텍스트(product-marketing)를 먼저 읽고 답한다.
중요 · 오해 방지
"버튼 누르면 마케팅이 완성"되는 게 아니라, "에이전트가 따를 절차서"를 제공하는 것

marketingskills를 깔아도 저절로 광고가 돌거나 매출이 오르진 않는다. 이건 에이전트가 마케팅 작업을 할 때 참고하는 전문가 절차서이지, 자동 실행 로봇이 아니다. 결과 품질은 여전히 당신이 준 제품·타깃 정보와 에이전트 모델의 역량에 달렸다. 또한 담긴 지식은 저자의 관점·특정 시점(대부분 미국 B2B SaaS 맥락)을 반영하므로, 한국 시장·규제·업종에 맞는 검증은 사용자의 몫이다.

3기술 스택 전체 지도

"코드 프로젝트"가 아니라 "마크다운 지식 팩 + 배포 매니페스트 + 실행 CLI + CI 자동화"의 4층 구조

가장 먼저 뒤집어야 할 통념 — 이건 빌드가 없는 저장소다. 총 418개 파일 중 296개가 마크다운(.md)이고, 컴파일할 소스도, node_modules도 없다. README도 "Skills are content-only, no build step"이라고 못 박는다. 그럼에도 배울 "기술"은 많다 — 스킬을 발견·배포·실행·유지시키는 네 개의 층이 겹겹이 쌓여 있기 때문이다.

파일 유형개수 · 역할
.md (마크다운)296개. 스킬 본문(SKILL.md 47) + 온디맨드 참고문서(references/ 144) + 툴 통합 가이드(integrations/ 93) + 최상위 문서들. 지식 그 자체.
.js (Node.js)65개. tools/clis/의 실행 CLI 64 + CI용 sync-skills.js 1. 전부 외부 의존성 0(Node 18+ 내장 fetch만 사용).
.json47개. 스킬별 평가 evals.json 45 + 배포 매니페스트 plugin.json·marketplace.json 2.
.yml / .sh / .html / .csvGitHub Actions 워크플로 2 + 이슈·펀딩 템플릿 3, 검증 스크립트 2, ad-creative용 템플릿 1, 데이터 1.

계층 1 — 지식 포맷: Agent Skills 스펙 (SKILL.md + YAML 머리말)

모든 스킬은 SKILL.md 하나로 정의된다. 파일 맨 위 --- 사이에 든 YAML 머리말(frontmatter)이 스킬의 신분증이다. 필수 필드는 딱 둘 — namedescription. 아래는 skills/cro/SKILL.md의 실제 머리말이다.

# skills/cro/SKILL.md — 실제 머리말 (요약 인용)
---
name: cro
description: "When the user wants to optimize, improve, or increase
  conversions on any marketing page or form ... Also use when the user
  says 'CRO,' 'conversion rate optimization,' 'this page isn't
  converting,' ... For signup/registration flows, see signup.
  For post-signup activation, see onboarding."
metadata:
  version: 2.0.0
---

# Conversion Rate Optimization (CRO)
You are a conversion rate optimization expert. Your goal is to
analyze marketing pages and provide actionable recommendations ...
핵심 용어
YAML frontmatter (머리말) · name · description
마크다운 파일 맨 위 ---로 감싼 메타데이터 블록이다. name은 1~64자, 소문자·숫자·하이픈만 쓰며 폴더명과 정확히 일치해야 한다(skills/cro/name: cro). description은 1~1024자로, 여기서 스킬의 운명이 갈린다 — 에이전트는 이 한 문장을 읽고 "지금 이 스킬을 쓸지" 판단하기 때문이다(§4-2). license·metadata는 선택.

계층 2 — 실행 도구: 의존성 0짜리 Node.js CLI 64개

지식만으론 부족할 때를 위한 손발이다. tools/clis/에 GA4·Mixpanel·Ahrefs·Semrush·Klaviyo·Stripe·Apollo·Clay 등 마케팅 SaaS를 감싼 CLI 64개가 있다. 공통 규칙이 인상적이다 — 외부 패키지를 하나도 안 쓰고(Node 18+ 내장 fetch만), 인증은 환경변수로, 그리고 --dry-run으로 "실제로 호출하기 전에 어떤 요청이 나갈지" 미리 볼 수 있다.

# tools/clis/ga4.js — 헤드 (패턴 인용)
const ACCESS_TOKEN = process.env.GA4_ACCESS_TOKEN
if (!ACCESS_TOKEN) {
  console.error(JSON.stringify({ error: 'GA4_ACCESS_TOKEN required' }))
  process.exit(1)
}
async function api(method, baseUrl, path, body) {
  if (args['dry-run'])           # 실제 호출 대신 요청 미리보기만 반환
    return { _dry_run: true, method, url: `${baseUrl}${path}` }
  ...                              # 내장 fetch로 실제 API 호출
}

더 무거운 OAuth 툴(HubSpot·Salesforce·Meta/LinkedIn 광고 등)은 tools/composio/가 단일 MCP 서버로 접근을 대신한다. 툴 전체 지도는 tools/REGISTRY.md"툴 × API/MCP/CLI/SDK 지원 여부" 매트릭스로 정리한다.

핵심 용어
zero-dependency (의존성 0) · MCP
의존성 0npm install 없이 파일만 있으면 바로 실행된다는 뜻이다. 공급망 공격 위험·설치 시간·버전 충돌이 사라진다. MCP(Model Context Protocol)는 에이전트가 외부 서비스에 연결되는 표준 규격으로, OAuth처럼 복잡한 인증이 필요한 툴을 composio가 MCP로 묶어 에이전트에 하나의 창구로 노출한다.

계층 3 — 배포 매니페스트: plugin.json + marketplace.json

이 스킬 뭉치를 Claude Code 플러그인으로도 설치할 수 있게 하는 두 파일이 .claude-plugin/에 있다. plugin.json은 "이 플러그인의 이름·버전·스킬 폴더 위치"를, marketplace.json은 "마켓플레이스에 어떻게 노출할지"를 선언한다.

# .claude-plugin/plugin.json (전문)
{
  "name": "marketing-skills",
  "description": "Marketing skills for AI agents ...",
  "version": "2.8.10",
  "author": { "name": "Corey Haines" },
  "license": "MIT",
  "skills": "./skills"          # 스킬 폴더를 가리키기만 함
}

계층 4 — 유지·운영: GitHub Actions + 검증 스크립트

47개 스킬을 사람이 손으로 관리하면 곧 어긋난다. 그래서 CI가 자동 정리한다. sync-skills.ymlskills/가 바뀌면 sync-skills.js를 돌려 marketplace.json·plugin.json·README의 스킬 표를 자동으로 다시 써서 커밋한다(README 안 <!-- SKILLS:START/END --> 구간이 생성물이다). validate-skill.ymlvalidate-skills.sh는 머리말 유효성·"이름=폴더명" 일치·500줄 제한 등을 검사한다.

한눈 요약 — "빌드는 없지만, 규율은 있다"

marketingskills = 마크다운(지식) + Node CLI(실행) + plugin/marketplace.json(배포) + GitHub Actions(자동 동기화·검증). 컴파일러는 없어도, 스펙·검증·CI로 47개를 일관되게 유지하는 "문서 엔지니어링"의 표본이다. 코드가 없다고 배울 게 없는 게 아니라, 오히려 "지식을 소프트웨어처럼 관리하는 법"을 배우게 된다.

4아키텍처 심화 분석

스킬 하나가 어떻게 "발견 → 펼침 → 위임 → 실행 → 검증"되는가, 그리고 왜 그렇게 설계했나

이 저장소의 진짜 교재적 가치는 여기 있다. "스킬을 어떻게 조직하면 토큰은 아끼면서, 필요한 순간 정확히 펼쳐지고, 서로 안 밟게 할까?" 4개의 설계 원리로 나눠 본다.

4-1. Progressive Disclosure — "3계층 점진적 공개"

가장 중요한 원리. 에이전트의 컨텍스트 창(한 번에 읽을 수 있는 분량)은 비싸고 유한하다. 47개 스킬 본문을 전부 항상 로드하면 파산이다. 그래서 정보를 세 겹으로 나눠, 필요한 만큼만 아래로 내려가며 펼친다.

┌──────────────────────────────────────────────────────────────┐ │ Progressive Disclosure — 3계층 점진적 공개 │ │ │ │ [1층] 머리말 (name + description) │ │ · 47개 전부 "항상" 로드 (아주 짧음) │ │ · 역할 = 라우팅: "이 요청에 이 스킬 쓸까?" 판단 │ │ │ 스킬이 선택되면 ↓ │ │ [2층] SKILL.md 본문 (500줄 미만 강제!) │ │ · 그 스킬 하나만 로드 │ │ · 핵심 워크플로/프레임워크 (H2·H3, 표, 불릿) │ │ │ 더 깊은 세부가 필요하면 ↓ │ │ [3층] references/*.md (총 144개, 온디맨드) │ │ · 본문이 링크로만 가리킴 → 필요할 때만 열림 │ │ · "실험 아이디어 전체는 references/experiments.md 참고" │ └──────────────────────────────────────────────────────────────┘

"500줄 미만" 규칙은 실제로 지켜진다 — 가장 큰 seo-audit/SKILL.md도 497줄이다. 세부는 전부 references/로 밀어냈기 때문. 본문에서 참고문서를 부르는 방식은 이렇게 링크일 뿐이다.

# ai-seo/SKILL.md 본문 안 — references를 "링크로만" 호출
For a deep dive on how each platform selects sources,
see [references/platform-ranking-factors.md](...).
...see [references/citations-vs-recommendations.md] for the
visibility ladder (retrieved → cited → mentioned → recommended).
핵심 용어 · 배울 점
Progressive Disclosure (점진적 공개)
필요한 정보를 단계적으로만 드러내 인지 부담(그리고 여기선 토큰)을 줄이는 설계 원칙이다. UX에서 온 개념인데, 에이전트 스킬에선 토큰 경제학으로 직결된다: 머리말(수십 자)만 상시 켜 두고, 본문(수백 줄)은 발동 시, 참고문서(수천 줄)는 진짜 필요할 때만 로드. "한 파일에 다 넣기"의 유혹을 이기는 게 좋은 스킬의 핵심이다.

4-2. description = "발견성 라우터" — 스킬의 운명을 가르는 한 문장

2층으로 내려갈지 말지는 순전히 1층 description이 결정한다. 그래서 이 저장소는 description을 세 요소로 정교하게 쓴다: ①무엇을 하는지 ②언제 쓰는지(사용자가 실제로 뱉을 법한 말) ③범위 경계(다른 스킬로 위임). cro의 description을 다시 뜯어보면:

요소cro description 속 실제 문장
① 무엇"optimize, improve, or increase conversions on any marketing page or form"
② 트리거 문구따옴표로 감싼 실제 발화들: "'this page isn't converting,' 'my landing page sucks,' 'form abandonment,' 'nobody's converting'" — 에이전트가 사용자 말과 매칭하기 쉽게.
③ 경계·위임"For signup flows, see signup. For post-signup activation, see onboarding." — 남의 영역이면 넘긴다.
비유 — "안내 데스크의 분류 매뉴얼"

description은 병원 안내 데스크의 "이런 증상이면 이 과로 보내세요" 매뉴얼과 같다. 잘 쓰면 환자(요청)가 정확한 과(스킬)로 가고, 못 쓰면 엉뚱한 곳을 헤맨다. marketingskills가 트리거 문구를 잔뜩 넣고 "이건 옆 과 일"이라고 명시하는 이유가 이것 — 스킬의 성능은 본문보다 description에서 먼저 결정된다.

4-3. 오케스트레이션 — product-marketing 루트 + 상호 참조

47개가 제각각 놀면 답이 어긋난다. 그래서 product-marketing 스킬이 뿌리 역할을 한다 — "모든 스킬이 작업 전에 먼저 읽는" 스킬로, 제품·타깃·포지셔닝 컨텍스트(.agents/product-marketing.md)를 파악한다. 그 위에서 클러스터끼리 서로를 참조한다.

┌─────────────────────────────────────────┐ │ product-marketing (루트 컨텍스트) │ │ "모든 스킬이 작업 전 먼저 읽는다" │ │ → 제품/타깃/포지셔닝을 먼저 파악 │ └────────────────────┬────────────────────┘ │ (모든 스킬이 상속) ┌───────────┬───────────┼───────────┬───────────┐ ▼ ▼ ▼ ▼ ▼ customer- copywriting seo-audit revops ads / research → ↕ cro ↕ → ↕ schema ↕ ↕ sales- ↕ analytics │ ab-testing ai-seo enablement ab-testing └──> 리서치 결과가 copywriting·cro·competitors로 흘러감 (↕ = 서로 cross-reference / 위임: "그건 저 스킬 소관")

예: customer-research가 뽑은 고객 언어는 copywriting·cro·competitors로 흘러가고, copywriting은 이메일이면 emails, 팝업이면 popups, 오퍼면 offers로 넘긴다. "한 스킬이 다 하려 들지 않고 명시적으로 핸드오프"하는 게 오케스트레이션의 핵심이다.

4-4. 품질 게이트 — evals.json (라우팅까지 테스트한다)

스킬이 제대로 작동하는지 어떻게 보장할까? 47개 중 45개에 evals/evals.json이 있다. 각 케이스는 프롬프트 → 기대 동작 → 어설션(검증 항목) 배열 구조다. 놀라운 건 "이 스킬이 다른 스킬로 제대로 위임하는지"까지 테스트한다는 점이다.

# skills/cro/evals/evals.json — 케이스 하나 (실제 인용)
{
  "id": 6,
  "prompt": "Our signup form has too many fields and people
             keep abandoning it halfway through. Can you help?",
  "expected_output": "Should recognize this is about signup form
             optimization ... defer to or cross-reference the signup skill",
  "assertions": [
    "Recognizes this as signup flow optimization",
    "References or defers to signup skill",
    "Does not attempt full cro analysis on a form"   # ← 월권 금지!
  ]
}

즉 이 저장소는 "cro가 signup 요청을 가로채면 실패"로 본다. 스킬의 경계 준수(월권 방지)를 자동 테스트로 지키는 것 — 다중 스킬 시스템을 건강하게 유지하는 정석이다.

소스 정독으로 발견한 함정 · 문서 ≠ 실제
문서의 숫자가 실제와 어긋나는 곳들 (수치는 클론한 최신 소스 기준)

AGENTS.md는 툴이 "51개"라고 적었지만 tools/clis/엔 실제 64개가 있다. ② marketing-ideas는 본문 "139"·README "140"으로 다르다. ③ LICENSE 연도는 2025인데 최신 커밋·스킬 갱신은 2026-07. ④ 스펙엔 스킬 내부 scripts/ 폴더가 있으나 이 저장소 스킬엔 0개(실행 코드는 전부 최상위 tools/에 모음). "문서에 적혔다"고 "그렇게 동작한다"가 아니다 — 스킬 저장소도 소스(폴더 실물)를 봐야 한다는 교훈.

5디렉토리 · 파일 구조 해부

"스킬(지식) · 툴(실행) · 매니페스트(배포) · CI(운영)"가 폴더로 깔끔히 갈린다

폴더 구조 자체가 이 저장소의 설계 철학을 보여 준다 — 지식은 skills/, 실행은 tools/, 배포는 .claude-plugin/, 운영은 .github/로 관심사가 분리돼 있다.

marketingskills/ ├── .claude-plugin/ ★ 배포 (Claude Code 플러그인) │ ├── marketplace.json 마켓플레이스 노출 정의 │ └── plugin.json 플러그인 정의 (name·version·skills 경로) │ ├── skills/ ★★ 핵심 — 47개 스킬 (지식) │ └── <스킬명>/ (예: cro, copywriting, seo-audit …) │ ├── SKILL.md ★ 필수 — 머리말 + 본문 (500줄 미만) │ ├── evals/evals.json 품질 평가 (47개 중 45개 존재) │ └── references/*.md 온디맨드 상세 문서 (전체 144개) │ ├── tools/ ★ 실행 레이어 (에이전트의 손발) │ ├── REGISTRY.md 툴 인덱스 (API/MCP/CLI/SDK 지원 매트릭스) │ ├── clis/ zero-dep Node.js CLI 64개 (ga4·stripe·ahrefs…) │ ├── integrations/ 툴별 API 통합 가이드 93개 (.md) │ └── composio/ OAuth 무거운 툴용 MCP 통합 레이어 │ ├── .github/ 운영 자동화 │ ├── workflows/ sync-skills.yml · validate-skill.yml (CI) │ ├── scripts/sync-skills.js 스킬 변경 시 매니페스트·README 자동 동기화 │ └── ISSUE_TEMPLATE/ · PULL_REQUEST_TEMPLATE/ · FUNDING.yml │ ├── AGENTS.md ★ 에이전트/기여자용 규칙서 (가장 교육적) ├── CLAUDE.md → AGENTS.md (심볼릭 링크! 크로스 에이전트 호환) ├── VERSIONS.md 52KB 체인지로그 + 버전표 (self-update 소스) ├── README.md · CONTRIBUTING.md · LICENSE(MIT) └── validate-skills.sh · validate-skills-official.sh 스펙 검증
경로역할
skills/<name>/스킬 한 개 = 폴더 한 개. 폴더명이 곧 name. 안에 SKILL.md(필수)·evals/·references/.
tools/clis/ (64)스킬을 실제 API 호출로 잇는 zero-dep CLI. 지식(무엇)과 실행(어떻게)의 분리를 물리적으로 구현.
.claude-plugin/같은 스킬 뭉치를 Claude Code 플러그인으로도 배포하는 매니페스트 2종.
AGENTS.md (=CLAUDE.md)네이밍·버저닝·스타일·PR 체크리스트가 담긴 운영 헌법. 심볼릭 링크로 Claude Code도 같은 파일을 읽음.
VERSIONS.md전 스킬 버전·날짜 표. 에이전트가 세션당 1회 이걸 받아 로컬 버전과 비교 → 업데이트 알림(self-update)의 소스.
.github/scripts/sync-skills.js스킬이 바뀌면 marketplace.json·plugin.json·README 표를 자동으로 다시 쓰는 동기화 봇.
핵심 관찰 · 배울 점
CLAUDE.md → AGENTS.md 심볼릭 링크
이 저장소엔 CLAUDE.md진짜 파일이 아니라 AGENTS.md를 가리키는 바로가기(심볼릭 링크)다. 왜? Claude Code는 CLAUDE.md를, 다른 에이전트는 AGENTS.md를 관례적으로 읽는데, 같은 내용을 두 벌 관리하면 반드시 어긋난다. 링크 하나로 "단일 원본, 두 이름"을 만든 것 — 크로스 에이전트 저장소를 유지하는 영리한 디테일이다.

6학습 포인트

이 저장소에서 "마케팅"이 아니라 "AI 에이전트 스킬 엔지니어링"으로 가져갈 것들

배울 것 1 — 스킬 설계: 발견성부터 시작한다

스킬을 만들 때 초보는 본문부터 쓴다. 이 저장소는 description부터 쓴다. "사용자가 어떤 말로 이 스킬을 부를까"를 트리거 문구로 나열하고, "내가 안 할 일은 어느 스킬로 넘길까"를 명시한다. 스킬은 펼쳐지지 않으면 아무 소용이 없으므로, 발견성(description)이 1순위 설계 대상이다.

배울 것 2 — 토큰 예산: Progressive Disclosure를 몸에 익힌다

"500줄 미만 본문 + references/ 분리"는 단순한 스타일이 아니라 컨텍스트 비용을 통제하는 아키텍처다. 긴 지식은 무조건 참고문서로 빼고, 본문엔 "언제 그 문서를 열지"만 남긴다. 자기 프롬프트·스킬·문서를 쓸 때 그대로 적용할 수 있는 습관이다.

배울 것 3 — 다중 에이전트/스킬 오케스트레이션

product-marketing 루트 컨텍스트 + 클러스터 간 명시적 위임은, 여러 스킬(또는 서브에이전트)을 다룰 때의 역할 계약 패턴이다. "각자 자기 일만, 남의 일은 넘긴다"를 evals로 강제하는 것까지 세트로 배운다.

배울 것 4 — 지식과 실행의 분리 (skills ↔ tools)

skills/(무엇을·언제)와 tools/clis/(실제 API 호출)를 분리한 구조는 "판단은 지식이, 부작용은 도구가"라는 좋은 경계다. zero-dependency CLI + --dry-run + 환경변수 인증은 그 자체로 "안전한 에이전트 툴 만들기"의 모범 사례다.

배울 것 5 — 지식을 소프트웨어처럼 운영하기

2계층 버저닝(저장소 릴리스 vs 스킬별 metadata.version), CI 자동 동기화, VERSIONS.md 기반 self-update, 검증 스크립트 — 마크다운 더미도 CI·스펙·테스트로 관리하면 소프트웨어가 된다는 걸 보여 준다.

한 줄 정리 · 이 저장소의 재사용 가능한 교훈
"내 도메인 지식을 에이전트 스킬 팩으로 만드는 법"의 완성형 템플릿

당신이 법률·회계·의료·제조 무엇을 하든, 이 저장소의 뼈대(skills/<name>/SKILL.md + references/ + evals/ + plugin.json + CI)를 그대로 복제해 "내 분야 전문가 에이전트"를 만들 수 있다. 마케팅은 예시일 뿐, 진짜 상품은 이 구조다.

7시스템 · 실행 요구사항

"스킬을 쓰는 쪽"과 "툴을 돌리는 쪽" 요구사항이 다르다
구분요구사항
스킬 사용 (핵심)Agent Skills를 지원하는 에이전트 하나 — Claude Code, OpenAI Codex, Cursor, Windsurf 등. 스킬은 마크다운이라 OS·하드웨어 제약이 없다.
설치 CLInpx skills add ...를 쓰려면 Node.jsnpx. (또는 그냥 git clone 후 폴더 복사)
tools/clis 실행Node.js 18+(내장 fetch 사용). 외부 패키지 설치 불필요. 각 툴의 API 키를 환경변수로 제공(GA4_ACCESS_TOKEN 등).
composio 툴OAuth 기반 툴(HubSpot·Salesforce 등)은 Composio 계정/연결이 필요.
기여·검증validate-skills.sh 실행에 bash. 스킬은 머리말 규격 + 500줄 제한 + 이름=폴더명을 통과해야 함.
설치 요약
가장 간단한 설치 두 가지
① 범용 CLI(권장): npx skills add coreyhaines31/marketingskills — Claude Code면 .claude/skills/, 그 외엔 .agents/skills/로 알아서 설치. ② Claude Code 플러그인: /plugin marketplace add coreyhaines31/marketingskills/plugin install marketing-skills. 이후 "이 랜딩페이지 전환율 올려 줘"처럼 자연어로 부르거나 /cro·/seo-audit로 직접 호출한다.

8직접 해볼 수 있는 실습 과제

읽기만 하지 말고 — "스킬을 만들고 고쳐 보며" 구조를 체득하는 난이도별 5선
난이도 ★☆☆ · 입문

1. SKILL.md 한 개를 열어 "3계층"을 눈으로 확인

skills/cro/SKILL.md를 열어 ①머리말(name·description) ②본문 프레임워크 ③본문 속 references/... 링크를 각각 짚어 본다. 그다음 references/ 폴더를 열어 "본문에서 빠진 세부가 여기 있구나"를 확인한다. 한 스킬이 왜 500줄을 안 넘는지 몸으로 이해하는 과제.

난이도 ★☆☆ · 입문

2. 좋은 description vs 나쁜 description 비교

cro·ai-seo·copywriting 세 스킬의 description만 뽑아 표로 만들고, 각각에서 ①무엇 ②트리거 문구 ③위임 경계 세 요소를 형광펜으로 표시해 본다. 그 뒤 일부러 "이 스킬은 마케팅을 도와줍니다"처럼 나쁜 description을 써 보고, 왜 에이전트가 못 고를지 설명해 본다.

난이도 ★★☆ · 중급

3. 나만의 스킬 한 개 만들기 (폴더+SKILL.md)

skills/my-skill/SKILL.md를 만들어 머리말(name: my-skill + 트리거가 풍부한 description)과 짧은 본문을 쓴다. Claude Code의 .claude/skills/에 넣고 실제로 발동되는지 시험한다. validate-skills.sh이름=폴더명·머리말 규격·500줄 검증을 통과시켜 본다.

난이도 ★★☆ · 중급

4. evals.json으로 "월권 방지" 테스트 설계

과제 3의 스킬에 evals/evals.json을 붙인다. cro의 케이스 6(폼 질문을 signup으로 넘기는지)을 본떠, "내 스킬이 넘겨야 할 요청"을 만들고 assertions"~하지 않는다(월권 금지)" 항목을 넣어 본다. 스킬 경계를 테스트로 고정하는 감각을 익힌다.

난이도 ★★★ · 심화

5. "내 도메인" 스킬 팩으로 통째로 리브랜딩

이 저장소를 포크해, 마케팅 대신 당신의 전문 분야(예: 계약서 검토, 재무 분석) 스킬 3~5개로 갈아끼운다. plugin.json·marketplace.json을 수정하고, product-marketing 자리에 "내 도메인 루트 컨텍스트" 스킬을 만들어 다른 스킬이 먼저 읽게 한다. §6 "진짜 상품은 구조"를 직접 재현하는 캡스톤 과제.

9관련 기술 심화 학습 로드맵

"스킬 사용자 → 스킬 저자 → 에이전트 시스템 설계자"까지, 4주 코스
주차목표 · 학습 내용
1주차
Agent Skills 스펙
SKILL.md 구조, YAML 머리말(name·description·metadata), 폴더=스킬 규칙, .claude/skills/ vs .agents/skills/. agentskills.io 스펙 정독. → 과제 1·3.
2주차
발견성 & 토큰 경제
description을 라우터로 쓰는 법(트리거 문구·위임 경계), Progressive Disclosure(본문 500줄 + references/ 분리), 컨텍스트 창 비용 개념. → 과제 2.
3주차
오케스트레이션 & 평가
루트 컨텍스트(product-marketing) 패턴, 스킬 간 위임, evals.json 어설션(월권 방지 포함), 다중 스킬 시스템의 역할 계약. → 과제 4.
4주차
배포·운영·실행 연결
플러그인 매니페스트(plugin.json·marketplace.json), CI 자동 동기화(sync-skills.js), 2계층 버저닝·self-update, zero-dep CLI + MCP로 실행 잇기. → 과제 5.
학습 순서 팁

이 저장소는 "쓰기는 한 줄, 이해는 여러 겹"이다. 47개 스킬을 다 읽으려 하지 말고, cro 하나만 골라 "머리말 → 본문 → references → evals → (필요하면) tools/clis"까지 한 세로줄을 끝까지 따라가 보라. 그 한 스킬의 생애주기를 이해하면 나머지 46개가 전부 같은 틀임을 알게 된다. 그다음 AGENTS.md·CI로 "저장소를 어떻게 운영하는가"로 시야를 넓히는 게 정석이다.

10핵심 키워드 사전

이 문서에 나온 용어를 한 번에 — AI 에이전트 스킬 생태계에서 계속 마주칠 단어들
용어
marketingskillsCorey Haines가 만든 마케팅 Agent Skill 47개 팩. CRO·카피·SEO·광고·그로스. MIT, v2.8.10.
Agent SkillAI 에이전트에게 특정 작업 절차를 알려 주는 재사용 지시 묶음. 폴더 + SKILL.md가 기본 단위.
SKILL.md스킬의 정의 파일. YAML 머리말(무엇·언제) + 마크다운 본문(어떻게).
frontmatter파일 맨 위 ---로 감싼 메타데이터. 필수 필드는 name·description.
description스킬 발견성의 핵심. 무엇+트리거 문구+위임 경계를 담아 에이전트가 "쓸지" 판단.
Progressive Disclosure정보를 3계층(머리말→본문 500줄→references)으로 필요할 때만 펼치는 토큰 절약 설계.
references/본문이 링크로만 가리키는 온디맨드 상세 문서(전체 144개).
evals.json스킬 품질 테스트(프롬프트→기대→어설션). 월권/위임까지 검증.
오케스트레이션여러 스킬을 조율. product-marketing 루트 + 상호 참조·위임.
plugin.json / marketplace.jsonClaude Code 플러그인 배포 매니페스트(이름·버전·스킬 경로).
AGENTS.md / CLAUDE.md에이전트·기여자용 규칙서. 여기선 CLAUDE.mdAGENTS.md 심볼릭 링크.
zero-dependency외부 패키지 없이 실행. tools/clis/의 Node 18+ CLI 64개가 이 방식.
MCPModel Context Protocol. 에이전트를 외부 서비스에 잇는 표준. composio가 OAuth 툴을 MCP로 묶음.
--dry-run실제 호출 전 "어떤 요청이 나갈지"만 미리 보는 안전 모드.
self-update에이전트가 VERSIONS.md를 받아 로컬 버전과 비교해 업데이트를 알리는 메커니즘.
MIT 라이선스가장 자유로운 오픈소스 라이선스 중 하나. 자유롭게 사용·수정·배포(저작권 표시만).

11참고 링크

공식 소스부터 스펙·학습 자료까지
구분링크
GitHubgithub.com/coreyhaines31/marketingskills — 이 저장소(스킬·툴·매니페스트·문서)
저자corey.co — Corey Haines (Swipe Files · Conversion Factory)
Agent Skills 스펙agentskills.io — SKILL.md·머리말·설치 규격 표준
Anthropic 스킬 문서docs.claude.com — Claude Code Skills / 플러그인 / 마켓플레이스 가이드
설치 CLInpx skills add coreyhaines31/marketingskills — 범용 설치(권장)
플러그인 설치/plugin marketplace add coreyhaines31/marketingskills/plugin install marketing-skills
MCPmodelcontextprotocol.io — 에이전트-외부서비스 연결 표준(composio가 활용)