2026년 초 Nous Research가 Hermes Agent를 공개한 뒤 2개월 만에 GitHub Star가 16만을 넘었습니다. 핵심 메시지는 "the agent that grows with you"로, 사용할수록 Agent가 사용자에 맞게 성장합니다. 그 기반은 Skills(스킬) 시스템입니다. 표준화되고 진화 가능하며 세션을 넘어 지속되는 절차적 메모리이며, 일회성 Prompt가 아닙니다. 본문은 Hermes 입문 개발자를 대상으로 SKILL.md 형식, Skill Bundles, 조건부 활성화, Tap 배포, GEPA+DSPy 자기 진화, Plugin 스킬과 오픈소스 생태계를 체계적으로 다룹니다. 규격 필드는 Hermes 및 agentskills.io 공식 문서를 정본으로 삼습니다. 대여 요금은 가격 페이지에서 확인하십시오.
[ SECTION_01 ] // PAIN_MAP Hermes Agent 스킬 시스템을 따로 깊이 연구할 가치가 있는가?
- Token 폭주: SOP 전체를 시스템 Prompt에 넣으면 매 턴 Token을 소모합니다. Skills의 점진적 로드는 활성화 전 본문 비용이 0입니다.
- 세션 간 망각: 일반 Prompt는 해당 대화에만 유효합니다. Skills와 Memory는 영구하지만, Skills는 「무엇을 기억할지」가 아니라 「어떻게 실행할지」를 가르칩니다.
- 워크플로 분산: PR 리뷰, TDD, 배포 점검이 여러 대화에 흩어집니다. Skill Bundles는 슬래시 명령 하나로 전체 스킬을 동시에 로드합니다.
- 환경 인식 부재: 유료
web_search가 있는데 DuckDuckGo 대체 스킬까지 올리면 컨텍스트를 낭비합니다. 조건부 활성화로 도구 가용성에 따라 표시를 전환할 수 있습니다. - 스킬 품질 정체: SKILL.md 작성 후 업데이트하지 않는 경우가 많습니다. GEPA는 실행 트레이스로 스킬 본문을 자동 진화시키며 모델 가중치는 건드리지 않습니다.
- 팀 공유 어려움: 스킬이 개인 디렉터리에 흩어집니다. Tap 저장소와
hermes skills tap add로 팀 전원이 동일 소스를 구독합니다. - MCP 혼동: Skills는 절차 지식 문서, MCP는 도구 API입니다. 전자는 흐름을, 후자는 능력을 제공하며 상호 보완합니다.
심화를 위한 다섯 가지 질문: 점진적 로드로 Token을 어떻게 제어하는가? 조건부 활성화는 어떻게 설정하는가? Bundles를 한 번에 실행하려면? GEPA로 스킬을 어떻게 개선하는가? 커뮤니티 Tap은 무엇을 구독해야 하는가? 아래에서 순서대로 설명합니다.
[ SECTION_02 ] // MATRIX Hermes Skills와 Memory, 일반 Prompt의 차이는 무엇인가?
| 차원 | 일반 Prompt | Memory(기억) | Skills(스킬) |
|---|---|---|---|
| 영속성 | 현재 대화만 | 세션 간, 영구 | 세션 간, 영구 |
| 로드 시점 | 매번 컨텍스트 내 | 세션 시작 시 자동 주입 | 필요 시에만 |
| Token 비용 | 매번 소모 | 작고 안정적 | 활성화 전 본문 0 |
| 내용 유형 | 임의 의도 | 사용자 선호·사실 | 절차적 단계 |
| 유지 주체 | 사용자 수동 | Agent 자동 | 사용자 + Agent 모두 |
| 공유 가능성 | 불편 | 비공개 | 커뮤니티 Tap으로 배포 가능 |
기억법: Prompt = 포스트잇(해당 대화만), Memory = 노트(영구 메모, 항상 손에), Skill = SOP 매뉴얼(단계화 흐름, 필요할 때 펼침).
[ SECTION_03 ] // STRUCTURE SKILL.md 형식 상세와 Progressive Disclosure 3단계 로드
모든 Hermes Skills는 agentskills.io 오픈 표준을 따르며 Hermes, Claude Code, Cursor 간 이식이 가능합니다. 권장 디렉터리 구조는 다음과 같습니다.
SKILL.md 메인 파일, 500행 이내 권장
references/ API 문서, 예시(필요 시 로드)
templates/ 재사용 템플릿
scripts/ Agent가 직접 실행하는 스크립트
---
name: my-skill
description: |
Use when the user needs to [...].
Handles [...] and [...].
version: 1.0.0
license: MIT
compatibility: Requires git, docker
allowed-tools: Bash(git:*) Read
metadata:
hermes:
tags: [devops, automation]
category: software-development
related_skills: [github-pr-workflow]
requires_toolsets: [terminal]
fallback_for_toolsets: [web]
---
Progressive Disclosure 3단계 로드가 Token 제어의 핵심입니다.
| 계층 | 내용 | 트리거 | Token 비용 |
|---|---|---|---|
| Level 0 | name + description |
세션 시작, 전체 스킬 스캔 | 전체 스킬 합계 약 3K |
| Level 1 | SKILL.md 본문 전체 | /skill-name 또는 LLM 판단 |
파일 길이에 따름 |
| Level 2 | references/, scripts/ |
실행 시 LLM 판단 | 파일 단위 필요 시 |
본문에는 Overview, When to Use, Procedure, Common Pitfalls, Verification Checklist를 포함해야 합니다. 작성 핵심은 description이 Level 0의 유일한 라우팅 정보라는 점입니다. 「무엇인지」보다 「언제 쓰는지」를 명확히 쓰고, Use when...으로 시작하며 1024자 이내로 유지합니다. name은 소문자와 하이픈만, 64자 이내입니다.
[ SECTION_04 ] // WORKFLOW Skill Bundles와 조건부 활성화: 한 명령으로 완전 워크플로
Skill Bundles(2026 신규)는 여러 스킬을 슬래시 명령으로 묶으며, /bundle-name 실행 시 나열된 스킬을동시에 로드합니다. 파일은 ~/.hermes/skill-bundles/<slug>.yaml에 둡니다.
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.
심화 사례: research-session은 arxiv, deep-research, plan, excalidraw를 묶고, mlops-deploy는 vllm, llama-cpp, github-pr-workflow, systematic-debugging를 묶습니다. Bundle 규칙: 단일 Skill과 동명이면 Bundle 우선, 미설치 스킬은 건너뛰고 알림, 시스템 Prompt를 변경하지 않아 Prompt Cache에 유리합니다. CLI 빠른 생성:
hermes bundles create backend-dev \
--skills github-code-review,test-driven-development,github-pr-workflow \
--instruction "Always write failing tests first"
조건부 활성화(Conditional Activation)는 metadata.hermes 아래에서 설정하며 도구 가용성에 따라 스킬을 자동 표시·숨김합니다.
- requires_toolsets / requires_tools: 나열 도구가없으면 스킬을 숨깁니다.
- fallback_for_toolsets / fallback_for_tools: 나열 도구가있으면 스킬을 숨깁니다(대체용).
전형적 시나리오: FIRECRAWL_KEY 또는 BRAVE_SEARCH_KEY 설정 후 유료 web_search가 활성화되면 duckduckgo-search 스킬은 fallback_for_tools: [web_search]로 자동 사라집니다. API 불가 시 대체가 나타납니다. 플랫폼 인식에는 requires_toolsets: [messaging]과 platforms: [telegram, discord]를 쓰고, hermes skills TUI에서 CLI, Telegram, Discord별로 개별 토글할 수 있습니다.
[ SECTION_05 ] // ECOSYSTEM Skills Hub, 오픈소스 생태계, Skill Tap 배포
hermes skills install official/research/arxiv
hermes skills install https://example.com/SKILL.md --name my-skill
hermes skills install github:openai/skills/k8s
hermes skills tap add github:my-org/my-skills
| 저장소 | 하이라이트 |
|---|---|
| ChuckSRQ/awesome-hermes-skills | 프로덕션급 모음, Deep Research, MLOps, Apple 연동. 23개 스킬 GitHub Copilot 지원 |
| amanning3390/hermeshub | 커뮤니티 등록 센터, 보안 스캔 인증, API와 마켓 |
| kevinnft/ai-agent-skills | 191개 스킬, 28개 분류, Hermes / Claude Code / Cursor 공통 |
| NousResearch/hermes-agent | 공식 정본, 전체 내장 Skills와 작성 규약 |
Skill Tap 배포: GitHub 저장소를 스킬 소스로 두고 팀원이 hermes skills tap add github:your-org/your-skills-tap으로 구독합니다. 비공개 저장소는 --token $GH_TOKEN을 붙이고, hermes skills tap update로 업데이트를 가져옵니다. 선택적으로 skills.sh.json으로 Hub 카테고리 표시를 제어합니다. ~/.hermes/skills/를 Git으로 관리해 기기 간 동기화하고, 동기화 후 hermes skills reset으로 내장 스킬을 재구성합니다. agentskills.io 표준으로 벤더 종속을 피하고, skills-ref validate ./my-skill로 형식을 검증할 수 있습니다.
아래는 규격과 생태계 진입점입니다. 상류 업데이트 후 링크를 다시 열어 확인하십시오.
hermes-agent-self-evolution(GEPA 도구 저장소)
[ SECTION_06 ] // EVOLUTION GEPA + DSPy: 모델 가중치 없이 Skills 자동 진화
GEPA(Genetic-Pareto Prompt Evolution)는 2026 ICLR Oral 성과로 hermes-agent-self-evolution에 통합되었습니다. 실행 트레이스 분석, 변이 생성, 다목적 파레토 최적화를 거쳐 SKILL.md 본문 자체를 개선하며, 모델 가중치는 변경하지 않습니다. 1회 최적화는 약 $2–10(순수 API, GPU 불필요)입니다.
5단계 흐름: ① 실행 트레이스 수집(SQLite 전체 추론 트레이스) → ② 반성형 실패 분석(실행 가능한 부가 정보 생성) → ③ 표적 변이(실패 지점 대상 10–20개 SKILL.md 변이) → ④ 다목적 파레토 평가(성공률 × Token 효율 × 속도) → ⑤ 수동 PR 리뷰(최적 변이를 프로덕션 반영).
export HERMES_AGENT_PATH=~/.hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source sessiondb
4대 안전 가드레일: 전체 테스트 100% 통과, Skills ≤15KB·도구 설명 ≤500자, Prompt Cache 비파괴, 의미 보존 검사로 원래 목적 이탈 방지. 공식 로드맵: Phase 1 Skill 파일(구현 완료) → Phase 2 도구 설명 → Phase 3 시스템 Prompt → Phase 4 도구 구현 코드 → Phase 5 완전 자동 루프. agentskills.io 준수로 Claude Code나 Gemini CLI 트레이스를 혼합 입력할 수 있습니다: --eval-source mixed --trace-dirs ~/.claude/traces,~/.hermes/sessions.
[ SECTION_07 ] // ADVANCED Plugin 스킬, 심화 작성, 블로그 워크플로 실전
Plugin-Bundled Skills는 plugin:skill 네임스페이스로 로드되며 기본 skills_list에 나타나지 않고 사용자 명시 호출 시에만 활성화됩니다. 동일 Plugin 내 스킬은 상호 인식 가능합니다. Plugin plugin.yaml에서 skills 경로를 선언합니다.
엔지니어 관점 심화 요점:
- description이 활성화 정확도를 결정: 「Helps with code」 대신 「Use when reviewing a pull request...Do NOT use for writing new code」로 작성합니다.
- Pitfalls가 품질 분수령: 구체적 실패 패턴, 근본 원인, 실행 가능한 수정(CSS selector 취약성, GitHub API rate limit, 대형 diff Token 초과 등)을 포함합니다.
- 스크립트화: Procedure에서
scripts/extract_schema.py를 참조하고, 실패 시references/manual-extract.md를 로드합니다. - 크기 제어: 500행 미만은 SKILL.md에 집중, 500–1000행은 references로, 15KB 초과는 분할 필수(GEPA 제한).
- skill_manage: Agent는
action='patch'|'create'로 동적 유지 가능.config.yaml의agent_writes_require_approval: true로 수동 승인 게이트를 켭니다.
블로그 워크플로 사례: blog-workflow Bundle을 만들어 seo-keyword-research, outline-generator, code-example-validator, bilingual-checker, publish-to-platform을 묶습니다. instruction에서는 SEO 조사 선행, 코드 실행 확인, 한영 이중 언어 제목 생성을 요구합니다. Skill 변경 후 해당 세션에는 반영되지 않으므로 /reset 또는 설치 시 --now(Prompt Cache 무효화)가 필요합니다.
FAQ 발췌: Skills는 흐름을, MCP는 도구 API를 담당합니다. GEPA 변이는 4가지 가드레일과 수동 PR review를 거쳐도 diff를 순차 검토하는 것을 권장합니다. SKILL.md를 ~/.claude/skills/에 복사하거나 kevinnft/ai-agent-skills로 일괄 설치하면 다중 플랫폼에서 사용할 수 있습니다. description은 LLM 매칭 정확도를 위해 영어 또는 한영 병기를 권장합니다.
[ SECTION_08 ] // RUNBOOK Hermes Skills 심화 8단계 체크리스트와 인용 가능 파라미터
- Hermes와 공식 스킬 설치:
hermes skills install official/research/arxiv등을 실행하고~/.hermes/skills/구조를 확인합니다. - 첫 SKILL.md 작성:
name,description(Use when...) 필수, 본문에 Procedure와 Pitfalls.skills-ref validate로 검증합니다. - Skill Bundle 생성:
~/.hermes/skill-bundles/에 YAML을 쓰거나hermes bundles create를 사용하고/bundle-name동시 로드를 테스트합니다. - 조건부 활성화 설정: metadata.hermes에 requires / fallback 규칙을 추가하고 API Key 전환으로 표시 로직을 검증합니다.
- 커뮤니티 Tap 구독:
hermes skills tap add github:ChuckSRQ/awesome-hermes-skills,tap update로 동기화합니다. - 팀 Tap 배포: GitHub 저장소 + skills.sh.json을 준비하고 멤버가
tap add. 비공개 저장소는 Token을 설정합니다. - GEPA 진화 실행: hermes-agent-self-evolution을 clone하고
evolve_skill --eval-source sessiondb를 실행한 뒤 생성 PR을 리뷰합니다. - 원격 Mac 7×24 상시:
~/.hermes/를 전용 Apple Silicon 노드에 배포하고 Gateway와 스킬 디렉터리를 Git 동기화. 노트북 절전으로 트레이스 수집이 끊기는 것을 방지합니다.
- Level 0 메타데이터 오버헤드: 전체 스킬
name+description합계 약 3K token(Hermes 문서 기준, 현행 버전에서 재확인). - GEPA 1회 비용: 약 $2–10 순수 API, GPU 불필요(NousResearch self-evolution 프로젝트 설명).
- GEPA 크기 가드레일: Skill 파일 ≤15KB, 도구 설명 ≤500자.
- frontmatter 제한:
name≤64자,description≤1024자, SKILL.md 본문 500행 이내 권장. - 크로스 플랫폼 표준: agentskills.io 스킬은 Hermes, Claude Code, Cursor, OpenCode에서 재사용 가능.
Hermes Skills와 GEPA 진화에는 장기 온라인, 트레이스 지속 기록, macOS 네이티브 툴체인이 필요합니다. 대안의 한계: 개인 MacBook은 덮개를 닫으면 sessiondb 수집이 중단됩니다. Linux VPS는 Xcode / Metal 관련 스킬 스크립트를 실행할 수 없습니다. 공유 가상 Mac은 멀티테넌트 경합으로 진화 평가가 불안정합니다. iOS CI/CD, Telegram Gateway, AI Agent 자기 진화 프로덕션에서는 NOVAKVM Mac Mini M4 / M4 Pro 클라우드 베어메탈이 전용 Apple Silicon, 6개 지역 노드, 일 / 주 / 월 탄력 대여를 제공합니다. Skill이 「어떻게 할지」를 정의하고, 원격 노드가 「항상 실행 가능」을 보장합니다. 자세한 내용은 가격 페이지와 고객 센터를 확인하십시오.