Hermes를 설치했지만 새 세션마다 워크플로를 잊는다면, 긴 시스템 프롬프트가 아니라 Skills가 답입니다. Skills는 세션을 넘는 절차적 기억으로, 활성화 전 토큰 비용은 0입니다. 본 글은 Hermes(또는 Cursor / Claude Code에서 SKILL.md 사용) 개발자를 위한 프로덕션 패턴입니다. ① Skills / Memory / Prompts 구분, ② agentskills.io 형식과 3단계 Progressive Disclosure, ③ Bundles·조건부 활성화·팀 Tap, ④ 실제 트레이스에 대한 GEPA 진화, ⑤ NUKCLOUD 클라우드 Mac Skills 랩. 호스트가 없다면 Hermes 설치와 Cursor Agent Skills 가이드부터 시작하세요.
00Skills 시스템을 깊이 다룰 이유
2026년 초 Nous Research가 Hermes Agent를 공개했고, 2개월 만에 GitHub Star 16만——AI Agent 분야 최고 속도 성장 중 하나입니다. 철학은 「the agent that grows with you」. 그 성장의 엔진이 Skills입니다.
일회성 Prompt와 달리 Hermes Skills는 표준화·진화 가능·세션 간 지속되는 절차적 기억입니다. 설치 입문은 생략하고 Progressive Disclosure로 토큰을 제어하고, Conditional Activation으로 환경을 감지하며, Skill Bundles로 복잡 워크플로를 한 번에, DSPy + GEPA로 스킬을 자동 개선하고, Tap 가능한 OSS 스킬 저장소까지 다룹니다.
痛点Skills를 긴 Prompt처럼 쓰면 생기는 문제
- 토큰 누수: 매 세션 SOP 전문을 컨텍스트에 넣어 작업 선택 전에 비용을 태웁니다. Skills는 온디맨드 설계——상시 Prompt처럼 쓰면 설계 의도에 어긋납니다.
- description 모호: 「코드 도와줘」만 쓰면 무관한 상황에서도 로드됩니다.
description은 Level 0의 유일한 필터입니다. - 워크플로 미포장: 세션마다 code review / TDD / PR / 디버깅 / 배포 슬래시 명령 5개——Bundle 한 번이면 충분합니다.
- 수정 미반영: 세션 중
SKILL.md변경은/reset또는--now전까지 적용되지 않습니다(--now는 Prompt Cache 무효화로 비용 증가). - Skills와 MCP 혼동: MCP는 도구, Skills는 사용법 매뉴얼. MCP만 있으면 DB 마이그레이션 playbook이 없습니다.
01Skills / Memory / Prompts 개념 맵
비슷해 보이는 세 층, 동작은 다릅니다. 첫 SKILL.md 전에 표를 확인하세요.
| 축 | Prompt | Memory | Skill |
|---|---|---|---|
| 지속성 | 현재 대화 | 세션 간·영구 | 세션 간·영구 |
| 로드 시점 | 항상 컨텍스트 | 매 세션 주입 | 온디맨드 |
| 토큰 비용 | 매 턴 | 작고 안정 | 활성화 전 0 |
| 내용 | 임의 의도 | 사용자 선호·사실 | 절차 단계 |
| 유지 | 사용자 수동 | Agent 자동 | 사용자 + Agent |
| 공유 | 불편 | 비공개 | Tap으로 게시 |
암기: Prompt = 포스트잇(이번만), Memory = 노트(항상 옆), Skill = SOP 매뉴얼(필요할 때 펼침).
02SKILL.md 형식과 Progressive Disclosure
Hermes Skills는 agentskills.io 준수——Hermes / Claude Code / Cursor 간 이식 가능. 게시 전 skills-ref validate ./my-skill 실행.
---
name: my-skill
description: |
Use when the user needs to [...].
version: 1.0.0
metadata:
hermes:
tags: [devops, automation]
requires_toolsets: [terminal]
fallback_for_toolsets: [web]
---
# My Skill Title
## Overview
목적과 존재 이유.
## When to Use
- Use for: [구체 시나리오]
- Don't use for: [제외]
## Procedure
1. 단계(정확한 명령 포함)
## Common Pitfalls
1. 실패 패턴 + 수정
## Verification Checklist
- [ ] 체크포인트
├── SKILL.md # 코어(≤500줄 권장)
├── references/
│ └── api-docs.md
├── templates/
└── scripts/
└── setup.sh
Progressive Disclosure——토큰 제어 핵심:
| 레벨 | 내용 | 트리거 | 비용 |
|---|---|---|---|
| Level 0 | name + description | 매 세션 시작 | 카탈로그 합계 약 3K |
| Level 1 | SKILL.md 전문 | /skill-name 또는 LLM 판단 | 파일 길이 의존 |
| Level 2 | references/, scripts/ | 실행 중 LLM 판단 | 파일 단위 |
description이 Level 0의 전부입니다. 「무엇」보다 「언제 쓸지」를 명확히——LLM이 풀 로드를 결정합니다.
03Skill Bundles: 한 명령으로 전체 워크플로
2026년 추가 Bundles는 아직 과소평가됩니다. 경량 YAML이 여러 Skill을 하나의 슬래시 명령으로 묶습니다. /bundle-name 실행 시 나열된 Skill이 동시 로드됩니다.
경로: ~/.hermes/skill-bundles/<slug>.yaml
name: backend-dev
description: Full backend feature workflow.
skills:
- github-code-review
- test-driven-development
- github-pr-workflow
instruction: |
Always write failing tests first before implementation.
Never push directly to main.
우선 규칙: 동명 Skill보다 Bundle 우선. 미설치 Skill은 경고 후 스킵. Bundle은 시스템 프롬프트를 바꾸지 않아 Prompt Cache 유효.
hermes bundles create backend-dev \
--skills github-code-review,test-driven-development,github-pr-workflow \
--instruction "Always write failing tests first"
04Conditional Activation: 맥락 인식 Skills
세션 내 도구 가용성에 따라 Skill이 자동 표시/숨김. metadata.hermes에서 설정:
metadata:
hermes:
requires_toolsets: [web]
requires_tools: [web_search]
fallback_for_tools: [web_search]
| 필드 | 동작 |
|---|---|
requires_toolsets | 나열 toolset 없으면 숨김 |
requires_tools | 나열 tool 없으면 숨김 |
fallback_for_toolsets | 나열 toolset 있으면 숨김(폴백) |
fallback_for_tools | 나열 tool 있으면 숨김 |
무료/유료 검색 전환: DuckDuckGo Skill에 fallback_for_tools: [web_search]. FIRECRAWL_KEY 등으로 유료 web_search 활성 시 DuckDuckGo는 프롬프트에서 사라져 토큰 절약. API 불가 시 폴백 자동 등장.
05Skills Hub와 OSS 생태계
hermes skills install official/research/arxiv
hermes skills install github:openai/skills/k8s
hermes skills tap add github:my-org/my-skills
| 저장소 | 초점 | Stars | 하이라이트 |
|---|---|---|---|
| awesome-hermes-skills | 프로덕션 큐레이션 | 67 | Deep Research, MLOps |
| hermeshub | 커뮤니티 레지스트리 | 166 | 프롬프트 주입 검사 |
| ai-agent-skills | 191 Skills, 28 카테고리 | 10 | 크로스 Agent 설치 |
| hermes-agent | 공식 | — | 내장 Skills |
인용 데이터 1: 2026년 초 2개월 만에 Hermes Agent GitHub Star 160,000 돌파.
인용 데이터 2: Level 0 카탈로그 합계 약 3K 토큰.
인용 데이터 3: GEPA 1회 최적화 비용 약 $2–10(API만, GPU 불필요).
06Skill Tap 게시: 팀과 커뮤니티
hermes skills tap add github:your-org/your-skills-tap
hermes skills tap add github:your-org/private-skills --token $GH_TOKEN
hermes skills tap update
hermes skills tap list
~/.hermes/skills/를 Git으로 관리해 기기 간 동기화. git pull 후 hermes skills reset으로 내장 Skill 재구성.
07GEPA + DSPy: Skills 자기 진화
GEPA(Genetic-Pareto Prompt Evolution)는 ICLR 2026 Oral. hermes-agent-self-evolution에 통합. 모델 가중치가 아닌 Skill 텍스트를 실행 트레이스·변종 생성·다목적 파레토 최적화로 개선합니다.
- Stage 1 트레이스 수집: SQLite에서 추론 트레이스 읽기.
- Stage 2 반성적 실패 분석: 왜 실패했는지 LLM이 구조화.
- Stage 3 표적 변이: 10–20개 SKILL.md 변종 생성.
- Stage 4 다목적 파레토 평가: 성공률 × 토큰 효율 × 속도.
- Stage 5 사람 검토 PR: 승인 후 배포.
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source sessiondb
4가지 가드레일: pytest 100% 통과, Skills ≤ 15KB, Prompt Cache 호환, 의미 보존.
08플러그인 Skills
플러그인은 plugin:skill 네임스페이스로 Skills를 묶습니다. 기본 skills_list에 노출되지 않고, 명시 호출 시에만 활성화(Opt-in), 동일 플러그인 내 Skills는 상호 인식합니다.
09고급 Skill 작성 팁
description 정밀도가 활성화 정확도를 결정합니다. Pitfalls 절은 구체적 실패·근인·수정 단계를 담아야 합니다. 500줄 초과는 references/로 분리, 15KB 초과는 GEPA 한도로 반드시 분할.
config.yaml에서 skills.agent_writes_require_approval: true로 Agent 쓰기 승인 게이트 권장.
10사례: 기술 블로그 워크플로 Skills
name: blog-workflow
skills:
- seo-keyword-research
- outline-generator
- code-example-validator
- bilingual-checker
instruction: |
Always research SEO keywords before writing.
세션 시작 시 /blog-workflow로 키워드 조사·개요·코드 검증·다국어 제목을 본문 작성 전에 완료합니다.
116단계 Runbook: 클라우드 Mac Skills 랩
-
01
Hermes와 기본 Skills: 설치 가이드 따르기.
hermes skills tap add github:ChuckSRQ/awesome-hermes-skills. Level 0 약 3K 토큰 확인. -
02
전용 클라우드 Mac: NUKCLOUD 콘솔에서 16 GB+(GEPA 병행 시 32 GB). 가격 페이지 시간 과금으로 파일럿.
-
03
SKILL.md 작성·검증:
skills-ref validate ./my-skill. 500줄 초과는references/분리. -
04
Bundles와 조건부 활성화: YAML Bundle 추가.
fallback_for_tools로 무료/유료 전환./bundle-name스모크 테스트. -
05
Tap 게시와 GEPA: GitHub Tap push.
--eval-source sessiondb로 1 Skill 진화(예산 $2–10/회). PR diff 사람 검토. - 06
노트북에서는 덮개 닫힘으로 Telegram 세션 끊김, 공유 VPS 대역폭 지터, 세션 중 Skill 수정으로 Prompt Cache 무효화가 흔합니다. GEPA와 야간 Agent에는 항상 깨어 있는 안정 네트워크가 필요합니다. 프로덕션 Skills 랩에는 NUKCLOUD 다지역 베어메탈 Mac / 클라우드 Mac의 테넌트 격리와 스펙 탄력성이 적합——가격 페이지 시간 과금 후 카탈로그 안정 시 월간으로 전환.
12자주 묻는 질문
/reset으로 새 세션, 또는 --now 강제 갱신(Prompt Cache 무효화·비용 증가).description은 영어(또는 영한 병기) 권장——Level 0 LLM 매칭 정밀도 향상. 본문은 임의 언어 가능.