
hermes-agent-guide
Comprehensive Chinese guide for Hermes Agent framework covering installation, architecture, memory systems, skills, tools, multi-agent orchestration, and monetization strategies
- Installs
- 149
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/reason-machines/hermes-skills --skill hermes-agent-guide- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads hermes-agent-guide automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Hermes Agent Guide
Skill by ara.so — Hermes Skills collection.
This skill provides comprehensive knowledge of the Hermes Agent framework based on the most extensive Chinese guide available. Hermes Agent is a powerful open-source AI Agent framework that inherits from OpenClaw with significant upgrades in architecture, memory systems, skill ecosystem, and automation capabilities.
What is Hermes Agent
Hermes Agent is an advanced AI Agent framework developed by Nous Research that enables:
- Autonomous Task Execution: Agents can plan, execute, and learn from complex multi-step tasks
- Three-Layer Memory System: Session memory, persistent memory, and skill-level memory
- Rich Skill Ecosystem: 47+ built-in tools across 7 categories, plus Skills Hub integration
- MCP Protocol Support: Access to 6000+ Model Context Protocol services
- Multi-Platform Integration: Connect to Discord, Slack, WeChat, Feishu, and 15+ platforms
- Multi-Agent Orchestration: Coordinate multiple agents for complex workflows
Installation
Local Installation (Recommended for Development)
# Clone the repository
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy environment template
cp .env.example .env
# Edit .env with your configuration
# Required: OPENAI_API_KEY or other LLM provider keys
Docker Installation (Recommended for Production)
# Pull the official image
docker pull nousresearch/hermes-agent:latest
# Create docker-compose.yml
cat > docker-compose.yml << EOF
version: '3.8'
services:
hermes:
image: nousresearch/hermes-agent:latest
environment:
- OPENAI_API_KEY=\${OPENAI_API_KEY}
- HERMES_MEMORY_TYPE=persistent
volumes:
- ./data:/app/data
- ./skills:/app/skills
ports:
- "8080:8080"
restart: unless-stopped
EOF
# Start the service
docker-compose up -d
VPS Deployment
# On Ubuntu/Debian
sudo apt update && sudo apt install -y python3.11 python3-pip git
# Clone and setup
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
pip3 install -r requirements.txt
# Setup systemd service
sudo tee /etc/systemd/system/hermes-agent.service << EOF
[Unit]
Description=Hermes Agent Service
After=network.target
[Service]
Type=simple
User=$USER
WorkingDirectory=$(pwd)
Environment="OPENAI_API_KEY=${OPENAI_API_KEY}"
ExecStart=$(which python3) main.py
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable hermes-agent
sudo systemctl start hermes-agent
Core Architecture
Hermes Agent uses a five-layer architecture:
1. Interface Layer
Handles user interactions across multiple platforms:
from hermes.interface import DiscordInterface, SlackInterface, CLIInterface
# CLI interface
cli = CLIInterface()
cli.start()
# Discord bot
discord = DiscordInterface(
token=os.getenv("DISCORD_BOT_TOKEN"),
intents=["messages", "guilds"]
)
discord.run()
# Slack app
slack = SlackInterface(
token=os.getenv("SLACK_BOT_TOKEN"),
signing_secret=os.getenv("SLACK_SIGNING_SECRET")
)
slack.start()
2. Orchestration Layer
Manages agent lifecycle and task coordination:
from hermes.orchestrator import AgentOrchestrator
from hermes.agent import HermesAgent
orchestrator = AgentOrchestrator()
# Create and register agents
research_agent = HermesAgent(
name="research_assistant",
model="gpt-4",
skills=["web_search", "summarization"]
)
code_agent = HermesAgent(
name="code_assistant",
model="claude-3-opus",
skills=["code_generation", "code_review"]
)
orchestrator.register_agent(research_agent)
orchestrator.register_agent(code_agent)
# Execute coordinated task
result = await orchestrator.execute_task(
"Research the latest AI frameworks and generate a comparison report",
agents=["research_assistant", "code_assistant"]
)
3. Agent Core Layer
The brain of each agent:
from hermes.agent import HermesAgent
from hermes.memory import MemoryConfig
from hermes.skills import SkillRegistry
agent = HermesAgent(
name="my_assistant",
model="gpt-4-turbo",
temperature=0.7,
memory_config=MemoryConfig(
session_memory=True,
persistent_memory=True,
vector_store="chromadb"
),
skill_registry=SkillRegistry.load_default(),
system_prompt="""You are a helpful AI assistant with access to
various tools and a persistent memory system."""
)
# Agent automatically plans and executes
response = await agent.chat("Analyze my project's GitHub issues and create a priority matrix")
4. Tool Layer
47+ built-in tools organized in 7 categories:
from hermes.tools import (
WebSearchTool, FileSystemTool, GitHubTool,
DatabaseTool, CodeExecutionTool, APIRequestTool
)
# Configure tools
tools = [
WebSearchTool(api_key=os.getenv("SERPER_API_KEY")),
GitHubTool(token=os.getenv("GITHUB_TOKEN")),
FileSystemTool(allowed_paths=["/workspace"]),
CodeExecutionTool(sandbox_mode=True),
DatabaseTool(connection_string=os.getenv("DATABASE_URL"))
]
# Attach to agent
agent.add_tools(tools)
5. Integration Layer
Connects to external services via MCP:
from hermes.mcp import MCPClient
mcp = MCPClient()
# Add MCP servers
mcp.add_server("filesystem", "npx -y @modelcontextprotocol/server-filesystem /workspace")
mcp.add_server("github", "npx -y @modelcontextprotocol/server-github")
mcp.add_server("postgres", "npx -y @modelcontextprotocol/server-postgres")
# Use in agent
agent.connect_mcp(mcp)
Memory System
Session Memory
Temporary conversation context:
from hermes.memory import SessionMemory
session = SessionMemory(
max_tokens=4096,
summarization_threshold=3000
)
# Automatically managed during conversation
agent.memory.session = session
Persistent Memory
Long-term knowledge storage:
from hermes.memory import PersistentMemory
persistent = PersistentMemory(
backend="chromadb",
collection_name="hermes_memory",
embedding_model="text-embedding-3-small"
)
# Store important information
await persistent.store(
content="User prefers Python for backend development",
metadata={"type": "preference", "category": "development"}
)
# Query relevant memories
memories = await persistent.query(
"What are the user's coding preferences?",
top_k=5
)
Skill-Level Memory
Memory specific to each skill:
from hermes.skills import Skill
class ProjectManagementSkill(Skill):
def __init__(self):
super().__init__(name="project_management")
self.memory = self.get_skill_memory()
async def track_project(self, project_name: str, status: str):
await self.memory.store({
"project": project_name,
"status": status,
"timestamp": datetime.now()
})
async def get_active_projects(self):
return await self.memory.query(
"status:active",
filter_type="metadata"
)
Skills System
Using Built-in Skills
from hermes.skills import SkillRegistry
registry = SkillRegistry()
# Load specific skills
web_skill = registry.get("web_automation")
data_skill = registry.get("data_analysis")
# Load all skills from category
dev_skills = registry.get_category("development")
# Attach to agent
agent.add_skills([web_skill, data_skill])
Creating Custom Skills
from hermes.skills import Skill, skill_action
class CustomResearchSkill(Skill):
"""Advanced research skill with citation tracking"""
name = "advanced_research"
description = "Perform deep research with source tracking"
def __init__(self):
super().__init__()
self.sources = []
@skill_action(
description="Search and summarize academic papers",
parameters={
"query": {"type": "string", "required": True},
"max_results": {"type": "integer", "default": 10}
}
)
async def search_papers(self, query: str, max_results: int = 10):
# Implementation
results = await self.tools.web_search(
f"{query} site:arxiv.org OR site:scholar.google.com",
max_results=max_results
)
# Track sources
for result in results:
self.sources.append({
"title": result.title,
"url": result.url,
"timestamp": datetime.now()
})
summary = await self.summarize(results)
return {
"summary": summary,
"sources": self.sources
}
@skill_action(description="Generate bibliography from tracked sources")
async def generate_bibliography(self):
return "\n".join([
f"- {s['title']}: {s['url']}"
for s in self.sources
])
# Register and use
registry.register(CustomResearchSkill())
Skills Hub Integration
from hermes.skills import SkillsHub
hub = SkillsHub(api_key=os.getenv("SKILLS_HUB_API_KEY"))
# Search for skills
results = hub.search("data visualization")
# Install skill
skill = hub.install("community/advanced-charts")
# Add to agent
agent.add_skill(skill)
Tool Categories
1. Web & Network Tools
from hermes.tools import WebSearchTool, WebScrapingTool, APIRequestTool
# Web search
search = WebSearchTool(provider="serper", api_key=os.getenv("SERPER_API_KEY"))
results = await search.search("latest AI news")
# Web scraping
scraper = WebScrapingTool(user_agent="Hermes-Agent/1.0")
content = await scraper.scrape("https://example.com")
# API requests
api = APIRequestTool()
response = await api.request(
method="POST",
url="https://api.example.com/data",
headers={"Authorization": f"Bearer {os.getenv('API_TOKEN')}"},
json={"query": "data"}
)
2. File System Tools
from hermes.tools import FileSystemTool
fs = FileSystemTool(
base_path="/workspace",
allowed_operations=["read", "write", "list"]
)
# Read file
content = await fs.read_file("project/README.md")
# Write file
await fs.write_file("output/report.txt", "Report content")
# List directory
files = await fs.list_directory("project/src")
3. Code Execution Tools
from hermes.tools import CodeExecutionTool
executor = CodeExecutionTool(
sandbox_mode=True,
timeout=30,
allowed_imports=["requests", "pandas", "numpy"]
)
# Execute Python code
result = await executor.execute_python("""
import pandas as pd
data = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
print(data.describe())
""")
print(result.stdout)
print(result.return_value)
4. Database Tools
from hermes.tools import DatabaseTool
db = DatabaseTool(
connection_string=os.getenv("DATABASE_URL"),
read_only=False
)
# Query
results = await db.query("SELECT * FROM users WHERE active = true")
# Execute with parameters
await db.execute(
"INSERT INTO logs (message, level) VALUES ($1, $2)",
["Operation completed", "INFO"]
)
5. Version Control Tools
from hermes.tools import GitHubTool
github = GitHubTool(token=os.getenv("GITHUB_TOKEN"))
# Create issue
issue = await github.create_issue(
repo="owner/repo",
title="Bug: Memory leak in agent loop",
body="Detailed description...",
labels=["bug", "priority-high"]
)
# Create pull request
pr = await github.create_pull_request(
repo="owner/repo",
title="Fix memory leak",
head="feature-branch",
base="main",
body="This PR fixes the memory leak issue"
)
6. Communication Tools
from hermes.tools import EmailTool, SlackTool
# Send email
email = EmailTool(
smtp_host=os.getenv("SMTP_HOST"),
smtp_port=587,
username=os.getenv("SMTP_USER"),
password=os.getenv("SMTP_PASS")
)
await email.send(
to=["user@example.com"],
subject="Daily Report",
body="Here is your daily report...",
attachments=["/reports/daily.pdf"]
)
# Slack notification
slack = SlackTool(token=os.getenv("SLACK_BOT_TOKEN"))
await slack.send_message(
channel="#general",
text="Task completed successfully!"
)
7. Data Processing Tools
from hermes.tools import DataAnalysisTool, ImageProcessingTool
# Data analysis
analyzer = DataAnalysisTool()
stats = await analyzer.analyze_csv("/data/sales.csv")
# Image processing
image_tool = ImageProcessingTool()
await image_tool.resize("/images/photo.jpg", width=800, height=600)
await image_tool.convert("/images/photo.jpg", format="webp")
Multi-Platform Integration
Discord Bot
from hermes.platforms import DiscordPlatform
discord = DiscordPlatform(
token=os.getenv("DISCORD_BOT_TOKEN"),
command_prefix="!hermes"
)
# Register agent
discord.register_agent(agent)
# Custom command
@discord.command(name="analyze")
async def analyze_command(ctx, *, query: str):
result = await agent.chat(query)
await ctx.send(result)
discord.run()
Slack App
from hermes.platforms import SlackPlatform
slack = SlackPlatform(
token=os.getenv("SLACK_BOT_TOKEN"),
signing_secret=os.getenv("SLACK_SIGNING_SECRET")
)
slack.register_agent(agent)
# Event handler
@slack.event("app_mention")
async def handle_mention(event):
response = await agent.chat(event["text"])
await slack.post_message(event["channel"], response)
slack.start()
WeChat Integration
from hermes.platforms import WeChatPlatform
wechat = WeChatPlatform(
app_id=os.getenv("WECHAT_APP_ID"),
app_secret=os.getenv("WECHAT_APP_SECRET")
)
wechat.register_agent(agent)
@wechat.message_handler()
async def handle_message(message):
response = await agent.chat(message.content)
return response
wechat.run()
MCP Protocol Integration
Connecting MCP Servers
from hermes.mcp import MCPClient, MCPServer
# Initialize client
mcp = MCPClient()
# Add filesystem server
mcp.add_server(
name="filesystem",
command="npx -y @modelcontextprotocol/server-filesystem",
args=["/workspace"]
)
# Add PostgreSQL server
mcp.add_server(
name="postgres",
command="npx -y @modelcontextprotocol/server-postgres",
env={"DATABASE_URL": os.getenv("DATABASE_URL")}
)
# Add GitHub server
mcp.add_server(
name="github",
command="npx -y @modelcontextprotocol/server-github",
env={"GITHUB_TOKEN": os.getenv("GITHUB_TOKEN")}
)
# Connect to agent
agent.connect_mcp(mcp)
# Agent can now use all MCP tools
response = await agent.chat(
"Read my database schema and create documentation in the workspace"
)
Custom MCP Server
from hermes.mcp import MCPServer, mcp_tool
class CustomMCPServer(MCPServer):
name = "custom_analytics"
@mcp_tool(
name="analyze_metrics",
description="Analyze custom business metrics"
)
async def analyze_metrics(self, metric_type: str, date_range: str):
# Your implementation
data = await self.fetch_metrics(metric_type, date_range)
analysis = self.perform_analysis(data)
return analysis
@mcp_tool(name="generate_report")
async def generate_report(self, template: str):
# Implementation
pass
# Register and use
mcp.register_server(CustomMCPServer())
Automation & Scheduling
Cron Jobs
from hermes.automation import CronScheduler
scheduler = CronScheduler(agent)
# Daily report at 9 AM
@scheduler.cron("0 9 * * *")
async def daily_report():
report = await agent.chat(
"Generate a summary of yesterday's activities and pending tasks"
)
await send_report(report)
# Hourly monitoring
@scheduler.cron("0 * * * *")
async def monitor_system():
status = await agent.chat("Check all system metrics and alert if anomalies")
if "ALERT" in status:
await notify_admin(status)
scheduler.start()
Event-Driven Automation
from hermes.automation import EventTrigger
triggers = EventTrigger(agent)
# On file change
@triggers.on_file_change("/workspace/config.yaml")
async def config_changed(filepath):
await agent.chat(f"Configuration file {filepath} was modified. Validate and reload.")
# On webhook
@triggers.on_webhook("/hooks/deployment")
async def deployment_hook(payload):
await agent.chat(f"New deployment detected: {payload['version']}. Run tests and notify team.")
# On database change
@triggers.on_database_event("users", event_type="insert")
async def new_user(record):
await agent.chat(f"New user registered: {record['email']}. Send welcome sequence.")
triggers.start()
Multi-Agent Orchestration
Sequential Workflow
from hermes.orchestrator import SequentialWorkflow
workflow = SequentialWorkflow()
# Define agents
researcher = HermesAgent(name="researcher", skills=["web_search", "summarization"])
writer = HermesAgent(name="writer", skills=["content_generation"])
reviewer = HermesAgent(name="reviewer", skills=["quality_check"])
# Build workflow
workflow.add_step(researcher, "Research the topic thoroughly")
workflow.add_step(writer, "Write a comprehensive article based on research")
workflow.add_step(reviewer, "Review and improve the article")
# Execute
result = await workflow.execute("Write an article about quantum computing")
Parallel Processing
from hermes.orchestrator import ParallelWorkflow
workflow = ParallelWorkflow()
# Create specialized agents
agent1 = HermesAgent(name="analyzer1", skills=["data_analysis"])
agent2 = HermesAgent(name="analyzer2", skills=["data_analysis"])
agent3 = HermesAgent(name="analyzer3", skills=["data_analysis"])
# Run in parallel
workflow.add_parallel_tasks([
(agent1, "Analyze sales data for Q1"),
(agent2, "Analyze sales data for Q2"),
(agent3, "Analyze sales data for Q3")
])
# Aggregate results
results = await workflow.execute_parallel()
summary = await aggregator_agent.chat(f"Summarize these quarterly analyses: {results}")
Hierarchical Organization
from hermes.orchestrator import HierarchicalOrchestrator
# Manager agent
manager = HermesAgent(
name="manager",
model="gpt-4",
role="coordinator"
)
# Worker agents
workers = [
HermesAgent(name="dev1", skills=["code_generation"]),
HermesAgent(name="dev2", skills=["testing"]),
HermesAgent(name="dev3", skills=["documentation"])
]
orchestrator = HierarchicalOrchestrator(
manager=manager,
workers=workers
)
# Manager delegates tasks
result = await orchestrator.execute(
"Build a REST API for user management with tests and documentation"
)
Configuration
Environment Variables
# Core configuration
HERMES_MODEL=gpt-4-turbo
HERMES_TEMPERATURE=0.7
HERMES_MAX_TOKENS=4096
# LLM Provider keys
OPENAI_API_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
# Memory configuration
HERMES_MEMORY_TYPE=persistent
HERMES_VECTOR_STORE=chromadb
CHROMADB_PATH=./data/chromadb
# Tools & Services
SERPER_API_KEY=your_serper_key
GITHUB_TOKEN=your_github_token
DATABASE_URL=postgresql://user:pass@localhost/db
# Platform tokens
DISCORD_BOT_TOKEN=your_discord_token
SLACK_BOT_TOKEN=your_slack_token
WECHAT_APP_ID=your_wechat_id
WECHAT_APP_SECRET=your_wechat_secret
# MCP configuration
MCP_ENABLED=true
MCP_SERVERS_PATH=./mcp_servers
# Security
HERMES_SANDBOX_MODE=true
HERMES_ALLOWED_PATHS=/workspace,/data
HERMES_MAX_EXECUTION_TIME=30
Configuration File
# config.yaml
agent:
name: my_hermes_agent
model: gpt-4-turbo
temperature: 0.7
max_iterations: 10
memory:
type: persistent
backend: chromadb
collection_name: hermes_memory
embedding_model: text-embedding-3-small
skills:
auto_load: true
categories:
- development
- research
- communication
custom_path: ./custom_skills
tools:
web_search:
provider: serper
max_results: 10
code_execution:
sandbox: true
timeout: 30
database:
read_only: false
platforms:
- type: discord
enabled: true
- type: slack
enabled: true
mcp:
enabled: true
servers:
- name: filesystem
command: npx -y @modelcontextprotocol/server-filesystem
args: ["/workspace"]
- name: github
command: npx -y @modelcontextprotocol/server-github
# Load configuration
from hermes.config import load_config
config = load_config("config.yaml")
agent = HermesAgent.from_config(config)
Common Patterns
Error Handling & Retries
from hermes.utils import retry_with_backoff
@retry_with_backoff(max_retries=3, backoff_factor=2)
async def execute_task_with_retry(agent, task):
try:
result = await agent.chat(task)
return result
except Exception as e:
agent.logger.error(f"Task failed: {e}")
raise
# With custom error handling
async def safe_execution(agent, task):
try:
result = await execute_task_with_retry(agent, task)
await agent.memory.store({"task": task, "status": "success"})
return result
except Exception as e:
await agent.memory.store({"task": task, "status": "failed", "error": str(e)})
await notify_admin(f"Task failed: {task}")
return None
Streaming Responses
async def stream_agent_response(agent, query):
async for chunk in agent.chat_stream(query):
print(chunk, end="", flush=True)
# Or send to UI
await websocket.send(chunk)
Context Management
from hermes.context import ContextManager
async def task_with_context(agent, user_id):
context = ContextManager(agent)
# Load user context
await context.load_user_context(user_id)
# Add temporary context
with context.temporary({
"project": "current_project",
"mode": "development"
}):
result = await agent.chat("Review the latest code changes")
# Context automatically cleaned up
return result
Monitoring & Logging
from hermes.monitoring import AgentMonitor
monitor = AgentMonitor(agent)
# Track metrics
monitor.track_token_usage()
monitor.track_response_time()
monitor.track_success_rate()
# Export metrics
metrics = monitor.get_metrics()
print(f"Total tokens: {metrics['total_tokens']}")
print(f"Avg response time: {metrics['avg_response_time']}s")
print(f"Success rate: {metrics['success_rate']}%")
# Log to file
monitor.export_logs("agent_metrics.json")
Troubleshooting
Common Issues
1. Agent not responding
# Check agent status
print(agent.is_active)
print(agent.get_status())
# Reset agent state
await agent.reset()
# Check logs
agent.logger.set_level("DEBUG")
2. Memory issues
# Clear session memory
await agent.memory.clear_session()
# Rebuild vector store
await agent.memory.persistent.rebuild_index()
# Check memory usage
stats = await agent.memory.get_stats()
print(f"Session tokens: {stats['session_tokens']}")
print(f"Persistent entries: {stats['persistent_entries']}")
3. Tool execution failures
# Validate tool configuration
for tool in agent.tools:
print(f"{tool.name}: {tool.is_configured()}")
# Test tool individually
tool = agent.get_tool("web_search")
result = await tool.test_connection()
print(result)
# Enable sandbox mode
agent.config.sandbox_mode = True
4. MCP connection issues
# Check MCP servers
print(agent.mcp.list_servers())
# Test MCP server
server_status = await agent.mcp.test_server("filesystem")
print(server_status)
# Restart MCP client
await agent.mcp.restart()
5. High token usage
# Optimize memory settings
agent.memory.session.max_tokens = 2000
agent.memory.session.enable_summarization = True
# Use cheaper model for simple tasks
agent.set_model("gpt-3.5-turbo")
# Limit context window
agent.config.max_context_tokens = 3000
Migration from OpenClaw
Key Differences
- Architecture: Five layers vs. three layers
- Memory: Three-tier system vs. two-tier
- Skills: Skills Hub vs. basic plugin system
- MCP: Native support vs. plugin-based
- Multi-agent: Built-in orchestration vs. manual coordination
Migration Steps
# OpenClaw code
from openclaw import Agent
openclaw_agent = Agent(
model="gpt-4",
plugins=["web_search", "file_ops"]
)
# Equivalent Hermes code
from hermes import HermesAgent
hermes_agent = HermesAgent(
model="gpt-4",
skills=["web_search", "file_operations"]
)
# Memory migration
# OpenClaw memory export
openclaw_memory = openclaw_agent.export_memory()
# Import to Hermes
await hermes_agent.memory.import_from_openclaw(openclaw_memory)
# Plugin to Skill mapping
skill_mapping = {
"web_search": "web_automation",
"file_ops": "file_system",
"code_runner": "code_execution"
}
for openclaw_plugin, hermes_skill in skill_mapping.items():
if openclaw_plugin in openclaw_agent.plugins:
hermes_agent.add_skill(hermes_skill)
Best Practices
- Always use environment variables for secrets
- Enable sandbox mode for code execution in production
- Implement proper error handling and retries
- Monitor token usage and costs
- Use persistent memory for important user data
- Regularly backup memory stores
- Test agents in isolation before orchestration
- Use appropriate models for task complexity
- Implement rate limiting for external API calls
- Log all agent actions for debugging
Resources
- Official Repository: https://github.com/NousResearch/hermes-agent
- Skills Hub: https://skills.hermes.ai
- Documentation: https://docs.hermes.ai
- Community Discord: https://discord.gg/hermes
- This Guide: https://github.com/jwangkun/hermes-agent-guide (16 chapters, 300,000+ words in Chinese)
Quick Reference
# Basic agent setup
from hermes import HermesAgent
agent = HermesAgent(
model="gpt-4-turbo",
temperature=0.7,
skills=["web_search", "code_execution"],
memory_type="persistent"
)
# Simple chat
response =
FAQ
What does the hermes-agent-guide skill do?
Comprehensive Chinese guide for Hermes Agent framework covering installation, architecture, memory systems, skills, tools, multi-agent orchestration, and monetization strategies
How do I install hermes-agent-guide?
Run npx skills add https://github.com/reason-machines/hermes-skills --skill hermes-agent-guide in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/hermes-agent-guide/ (personal) or .claude/skills/hermes-agent-guide/ (project).
Which AI agents can use hermes-agent-guide?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is hermes-agent-guide safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains hermes-agent-guide?
It is published by reason-machines in reason-machines/hermes-skills. It has 149 recorded installs.
More from reason-machines/hermes-skills
hermes-agent-self-evolution
reason-machines/hermes-skills
Evolutionary self-improvement for Hermes Agent using DSPy + GEPA to optimize skills, prompts, and code
hermes-webui-agent
reason-machines/hermes-skills
Expert in deploying, configuring, and using Hermes WebUI—a web interface for Hermes Agent with persistent memory, scheduled jobs, and multi-platform messaging.
awesome-hermes-agent-ecosystem
reason-machines/hermes-skills
Open the skill to read its SKILL.md instructions.
hermes-agent-framework
reason-machines/hermes-skills
Hermes Agent framework by Nous Research - self-improving AI agent with built-in learning loop, three-layer memory, and automatic skill evolution
hermes-workspace-ai-agent-ui
reason-machines/hermes-skills
Open the skill to read its SKILL.md instructions.
hermes-desktop-companion
reason-machines/hermes-skills
Desktop GUI companion for Hermes Agent - install, configure, chat with AI assistant featuring tool use, memory, skills, and multi-platform messaging
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available