2026년 초 Nous Research가 출시한 Hermes Agent는 두 달 만에 GitHub Star 16만을 돌파했으며, "the agent that grows with you"라는 철학 아래 사용할수록 더 정교해지는 Agent를 지향합니다. 이를 뒷받침하는 핵심은 Skills(스킬) 시스템입니다. 표준화·자기진화·세션 간 지속이 가능한 절차적 메모리입니다. Hermes 설치가 완료된 상태(사이트 설치·배포 가이드 참조)라면, 본문에서 SKILL.md 형식, Progressive Disclosure Token 제어, Skill Bundles 원클릭 워크플로, 조건 활성화, Tap 커뮤니티 배포, GEPA+DSPy 자기진화 및 Tap 가능한 오픈소스 스킬 저장소까지 고급 관점에서 정리합니다.
일회성 Prompt와 달리 Hermes Skills는 agentskills.io 개방 표준을 따르며 Hermes, Claude Code, Cursor 간 크로스 플랫폼 이식이 가능합니다. 기억 구조를 한 줄로 정리하면 다음과 같습니다. Prompt = 포스트잇(해당 대화에만 유효), Memory = 메모장(영구 기록, 매 세션 자동 주입), Skill = SOP 매뉴얼(단계별 절차, 필요할 때만 열람).
| 차원 | 일반 Prompt | Memory(기억) | Skills(스킬) |
|---|---|---|---|
| 지속성 | 현재 대화 | 세션 간 영구 | 세션 간 영구 |
| 로드 시점 | 매번 컨텍스트에 포함 | 매 세션 자동 주입 | 온디맨드 로드(핵심 차이) |
| Token 비용 | 매번 소비 | 소량·안정적 | 활성화 전 제로 소비 |
| 콘텐츠 유형 | 임의 의도 설명 | 사용자 선호·사실 | 절차적 단계(방법론) |
| 공유 가능성 | 불편 | 비공개 | 커뮤니티 Tap으로 배포 가능 |
페인 포인트: Skill을 Prompt처럼 전문을 컨텍스트에 넣으면 스킬 수에 비례해 Token 비용이 선형 폭증합니다.
페인 포인트: 연관 스킬마다 /skill-name을 개별 호출해야 하여 복잡 워크플로가 끊깁니다.
페인 포인트: 무료 DuckDuckGo와 유료 web_search가 동시에 노출되면 프롬프트가 중복되어 Token이 낭비됩니다.
페인 포인트: 팀원마다 동일 스킬을 반복 제작하고, 원클릭 구독·공유가 불가능합니다.
페인 포인트: 스킬이 진화하지 않아 동일 오류가 세션마다 반복됩니다.
본문 제공: SKILL.md 표준부터 GEPA 자기진화까지 전체 고급 로드맵과 핵심 메커니즘을 모두 다룹니다.
모든 Hermes Skills는 agentskills.io 표준을 준수합니다. 권장 디렉터리 구조는 ~/.hermes/skills/my-category/my-skill/ 아래 SKILL.md(핵심 단계, 500행 이하 권장), references/(API 참조, 온디맨드), templates/(재사용 템플릿), scripts/(Agent가 직접 실행 가능한 스크립트)입니다.
---
name: my-skill # 필수: 소문자+하이픈, 64자 이하
description: | # 필수: 1024자 이하, "Use when..."으로 시작 권장
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 / Procedure / Common Pitfalls / Verification Checklist
| 로드 계층 | 내용 | 트리거 시점 | Token 비용 |
|---|---|---|---|
| Level 0 | name + description | 매 세션 시작, 전체 스킬 | 전체 스킬 합계 약 3K |
| Level 1 | SKILL.md 본문 전체 | 사용자 /skill-name 또는 LLM 판단 | 파일 길이에 따라 결정 |
| Level 2 | references/, scripts/ | LLM 실행 시 필요 판단 | 온디맨드, 파일 단위 |
작성 팁: description은 Level 0의 유일한 정보이며, LLM이 전체 스킬 로드 여부를 결정합니다. 「무엇인지」보다 「언제 쓰는지」를 명확히 쓰는 것이 중요합니다. 스킬이 1000행을 넘으면 references/로 분리하고, 15KB를 초과하면 GEPA 진화 제한에 걸리므로 반드시 분할해야 합니다.
Bundle은 경량 YAML 파일로 여러 관련 스킬을 하나의 슬래시 명령에 묶습니다. /bundle-name 실행 시 나열된 스킬이 동시에 로드됩니다. 경로: ~/.hermes/skill-bundles/<slug>.yaml. Bundle과 단일 Skill이 동명일 때 Bundle이 우선하며, 미설치 스킬은 오류 없이 건너뜁니다. Bundle은 시스템 프롬프트를 수정하지 않아 Token 친화적입니다.
name: backend-dev description: Full backend feature workflow — code review, TDD, and PR management. skills: - github-code-review - test-driven-development - github-pr-workflow instruction: | Always write failing tests first before implementation. Never push directly to main. # CLI 빠른 생성: # hermes bundles create backend-dev \ # --skills github-code-review,test-driven-development,github-pr-workflow
스킬은 현재 세션의 도구 가용성에 따라 자동으로 표시·숨김 처리됩니다. metadata.hermes 아래 네 가지 규칙을 설정합니다.
| 필드 | 동작 로직 |
|---|---|
requires_toolsets | 나열한 도구셋이 없으면 이 스킬 숨김 |
requires_tools | 나열한 도구가 없으면 이 스킬 숨김 |
fallback_for_toolsets | 나열한 도구셋이 있으면 숨김(대체안 역할) |
fallback_for_tools | 나열한 도구가 있으면 숨김(대체안 역할) |
대표 시나리오: FIRECRAWL_KEY / BRAVE_SEARCH_KEY 설정 후 유료 web_search가 활성화되면, DuckDuckGo 스킬은 fallback_for_tools: [web_search]로 프롬프트에서 자동 제거되어 Token을 절약합니다. API 불가 시 대체안이 자동으로 나타납니다. 플랫폼 인지 스킬은 requires_toolsets: [messaging] + platforms: [telegram, discord]로 설정하고, hermes skills TUI에서 플랫폼별 독립 토글이 가능합니다.
hermes skills install official/research/arxiv hermes skills install github:openai/skills/k8s hermes skills tap add github:my-org/my-skills hermes skills tap update && hermes skills tap list
| 저장소 | 하이라이트 | Stars |
|---|---|---|
| ChuckSRQ/awesome-hermes-skills | 프로덕션급 큐레이션, Deep Research·MLOps·Apple 통합 포함 | 67 |
| amanning3390/hermeshub | 커뮤니티 스킬 레지스트리, 프롬프트 인젝션 검사 통과 | 166 |
| kevinnft/ai-agent-skills | 191개 스킬, 28개 카테고리, Hermes/Claude/Cursor 크로스 | 10 |
| NousResearch/hermes-agent | 공식 권위 소스, 모든 내장 Skills 포함 | — |
GitHub 저장소를 Tap으로 만들어 팀이 원클릭 구독합니다: hermes skills tap add github:your-org/your-skills-tap. 프라이빗 저장소는 --token $GH_TOKEN을 추가합니다. 선택적으로 skills.sh.json으로 Hub 카테고리 표시를 제어합니다. ~/.hermes/skills/를 Git 버전 관리에 포함하면 기기 간 동기화가 가능합니다.
GEPA(Genetic-Pareto Prompt Evolution)는 모델 가중치를 미세조정하지 않고, 실행 궤적 분석·변형 생성·다목적 파레토 최적화로 SKILL.md 텍스트 자체를 개선합니다. 최적화 1회당 약 $2–10(순수 API 호출, GPU 불필요)입니다. 5단계 흐름: ① 실행 궤적 수집(SQLite) → ② 반성적 실패 분석 → ③ 타깃 변이(10–20개 변형) → ④ 다목적 파레토 평가(성공률 × Token 효율 × 속도) → ⑤ 수동 PR 검토.
git clone https://github.com/NousResearch/hermes-agent-self-evolution
cd hermes-agent-self-evolution && pip install -r requirements.txt
export HERMES_AGENT_PATH=~/.hermes
# 합성 데이터 입문
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source synthetic
# 실제 세션 데이터(효과 더 좋음)
python -m evolution.skills.evolve_skill \
--skill github-code-review --iterations 10 --eval-source sessiondb
# Claude/Gemini 궤적 병합(실험적)
python -m evolution.skills.evolve_skill \
--skill github-code-review --eval-source mixed \
--trace-dirs ~/.claude/traces,~/.hermes/sessions
4대 안전 가드레일: ① 전체 테스트 스위트 100% 통과; ② Skills ≤15KB, 도구 설명 ≤500자; ③ Prompt Cache 호환성 유지; ④ 의미 보존 검사로 원래 목적 이탈 방지. 공식 진화 로드맵: Phase 1 Skill 파일(완료) → Phase 2 도구 설명 → Phase 3 시스템 프롬프트 → Phase 4 도구 구현 코드 → Phase 5 완전 자동 지속 개선.
플러그인 스킬은 plugin:skill 네임스페이스로 로드됩니다(예: skill_view("superpowers:writing-plans")). 기본 목록에 나타나지 않으며 Opt-in으로만 활성화됩니다. Agent는 skill_manage(action='patch'|'create', ...)로 스킬을 동적 유지보수할 수 있으며, config.yaml에서 skills.agent_writes_require_approval: true로 수동 승인 게이트를 설정합니다.
agentskills.io frontmatter 작성: name(소문자 하이픈 64자 이하), description은 "Use when..."으로 시작(1024자 이하), 트리거 조건과 제외 시나리오를 명시합니다.
모듈형 디렉터리 구성: 본문 500행 이하, 상세 API는 references/, 실행 스크립트는 scripts/, skills-ref validate ./my-skill로 형식을 검증합니다.
Skill Bundle 생성: ~/.hermes/skill-bundles/에 YAML을 작성하거나 hermes bundles create CLI로 관련 워크플로 스킬을 묶습니다.
조건 활성화 설정: metadata.hermes에 requires_toolsets / fallback_for_tools를 구성해 무료·유료 도구를 지능적으로 전환합니다.
Tap 저장소 배포: GitHub에 카테고리 디렉터리 + 선택적 skills.sh.json을 만들고, 팀이 hermes skills tap add github:your-org/tap을 실행합니다.
버전 관리 동기화: cd ~/.hermes/skills && git init 후 기기 간 git pull && hermes skills reset으로 동기화합니다.
GEPA 진화 실행: hermes-agent-self-evolution을 클론하고 evolve_skill로 실패 궤적을 기반으로 SKILL.md를 최적화한 뒤, PR을 수동 검토·병합합니다.
승인 게이트 활성화: 프로덕션에서 agent_writes_require_approval: true를 설정하고, Pitfalls 섹션에 구체적 실패 패턴과 수정 절차를 기록합니다(스킬 품질의 분수령).
name: blog-workflow description: Full tech blog writing workflow. skills: - seo-keyword-research - outline-generator - code-example-validator - bilingual-checker - publish-to-platform instruction: | Always research SEO keywords before writing. Ensure all code examples are tested and runnable.
~/.claude/skills/에 복사하거나 kevinnft/ai-agent-skills로 멀티 엔드포인트 설치가 가능합니다.
Skills는 절차적 지식, MCP는 도구 인터페이스입니다. 둘은 상호 보완합니다. Skill 수정 후 현재 세션에는 반영되지 않으므로 /reset 또는 --now로 새로고침해야 합니다. description은 영어(또는 영한 병기)를 권장하며, 기본 LLM은 영어 description 매칭이 더 정확합니다.
노트북 뚜껑 닫기, 저사양 VPS의 macOS 경로 부재, 가정용 Wi-Fi 단절은 Gateway와 GEPA 진화 작업이 결정적 순간에 끊기게 합니다. Hermes Skills 복리 효과를 7×24 안정적으로 돌리고 macOS 네이티브 launchd 데몬을 유지해야 하는 프로덕션 환경에서는, NodeMini Mac Mini M4 클라우드 임대가 「임시 노트북 + 수동 재시작」보다 일반적으로 더 안정적입니다. 기종별 요금은 임대 가격 안내를 참고하십시오.
Skills는 Agent에게 절차적 지식 문서(방법론)를 제공하고, MCP는 도구 인터페이스(추가 도구 호출 능력)를 제공합니다. 둘은 상호 보완합니다. MCP가 DB 접근을 제공하면, Skill은 DB 마이그레이션을 올바르게 실행하는 방법을 가르칩니다.
현재 세션이 이전 버전을 캐시하고 있습니다. /reset으로 새 세션을 시작하거나, 설치 시 --now로 강제 새로고침하십시오(Prompt Cache가 무효화되어 더 많은 Token을 소비합니다).
4대 가드레일(전체 테스트, 크기 제한, 의미 보존, 수동 PR 검토)로 제약하며, 의미 드리프트 검사로 원래 목적 이탈을 방지합니다. 각 PR diff는 여전히 수동 review를 권장합니다.