一键导入
hermes-infra
Operate, debug, and extend the Hermes Agent infrastructure — skill authoring, s6 container supervision, TUI slash commands, and gateway configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Operate, debug, and extend the Hermes Agent infrastructure — skill authoring, s6 container supervision, TUI slash commands, and gateway configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run automated WCAG 2.1 AA accessibility audits against local dev servers using Lighthouse CLI and axe-core. Parse JSON reports, identify contrast/label/semantic violations, and output structured remediation with exact code fixes.
Generate images, video, and audio with ComfyUI — install, launch, manage nodes/models, run workflows with parameter injection. Uses the official comfy-cli for lifecycle and direct REST/WebSocket API for execution.
Hermes Kanban multi-agent orchestration — task lifecycle, decomposition playbook, worker pitfalls, Codex lane isolation, and board operations.
Firecrawl gives AI agents and apps fast, reliable web context with strong search, scraping, and interaction tools. One install command sets up three skill segments: live CLI tools, app-integration build skills, and outcome-focused workflow skills. Route the reader to the right usage path after install.
Guide for evaluating AABB collision logic on a live development server using browser tools.
Workflow for building 2D Canvas game components using class-based architecture and Test-Driven Development (TDD).
| name | hermes-infra |
| description | Operate, debug, and extend the Hermes Agent infrastructure — skill authoring, s6 container supervision, TUI slash commands, and gateway configuration. |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| metadata | {"hermes":{"tags":["hermes-agent","infrastructure","skills","docker","s6","tui","gateway"],"related_skills":["hermes-agent","systematic-debugging"]}} |
This skill covers the operational infrastructure of Hermes Agent itself: authoring and maintaining skills, debugging TUI slash commands, and managing the s6-overlay Docker container supervision tree. Load this skill when working on Hermes internals rather than using Hermis as a tool.
| Location | Path | Created via |
|---|---|---|
| User-local | ~/.hermes/skills/<category>/<name>/SKILL.md | skill_manage(action='create') |
| In-repo | skills/<category>/<name>/SKILL.md | write_file + git add |
---
name: my-skill-name
description: Use when <trigger>. <one-line behavior>.
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
hermes:
tags: [short, descriptive, tags]
related_skills: [other-skill, another-skill]
---
Hard requirements: name and description fields, --- at byte 0, description ≤ 1024 chars, total ≤ 100k chars. Peer skills sit at 8-14k chars.
# Title → ## Overview → ## When to Use → body → ## Common Pitfalls → ## Verification Checklist
ls skills/<category>/write_file to skills/<category>/<name>/SKILL.mdgit add + git commitskill_manage(action='create') writes to ~/.hermes/skills/, NOT the repo — use write_file for in-repo--- fails validationrelated_skills should reference in-repo skills only (user-local refs break for other clones)/init (PID 1, s6-overlay v3.2.3.0)
├── cont-init.d/ ← oneshot setup (UID remap, seed, reconcile)
├── s6-rc.d/ ← static services (main-hermes, dashboard)
└── /run/service/ ← runtime per-profile gateways (tmpfs)
Architecture B (CMD as main program) is used because cont-init.d can't receive CMD args and s6 halt doesn't propagate exit codes. The container CMD is /opt/hermes/docker/main-wrapper.sh.
| Path | Role |
|---|---|
docker/stage2-hook.sh | UID remap, chown, seed, skills sync |
docker/main-wrapper.sh | Container CMD, routes user args |
hermes_cli/service_manager.py | S6ServiceManager: register/start/stop gateways |
hermes_cli/container_boot.py | reconcile_profile_gateways() on boot |
# Verify s6 is PID 1
docker exec <c> sh -c 'cat /proc/1/comm'
# Inspect a gateway service
docker exec <c> /command/s6-svstat /run/service/gateway-<name>
# Watch reconciler log
docker exec <c> tail -n 50 /opt/data/logs/container-boot.log
# Add a new static service: create docker/s6-rc.d/<name>/type + run + dependencies
/command/s6-svstat (absolute path) — /command/ not on PATH for docker execPython backend (hermes_cli/commands.py) → COMMAND_REGISTRY (source of truth)
↓
TUI gateway (tui_gateway/server.py) → slash.exec / command.dispatch
↓
TUI frontend (ui-tui/src/app/slash/) → local handlers + fallthrough
search_files --pattern "/commandname" --file_glob "*.ts" --path ui-tui/search_files --pattern "CommandDef" --path hermes_cli/commands.pysearch_files --pattern "complete.slash|slash.exec" --path tui_gateway/| Symptom | Cause | Fix |
|---|---|---|
| Command in TUI but not autocomplete | Missing from COMMAND_REGISTRY | Add CommandDef entry |
| In autocomplete but doesn't work | Missing handler in gateway or frontend | Add handler in tui_gateway/server.py or app.tsx |
| CLI/TUI behavior differs | Different implementations in cli.py vs local handler | Check both paths |
| Config persists but no live update | nanostore state not patched | Also call patchUiState(...) |
CommandDef("name", "Description", "Category",
cli_only=True, aliases=("alias",),
args_hint="[arg1|arg2]", subcommands=("arg1", "arg2"))
npm --prefix ui-tui run buildcli_only=True commands won't work in gateway/messaging platformsStreamingAssistant/ToolTrail AND MessageLine render pathsscripts/run_tests.sh tests/docker/ passes (19 tests)hermes --tui, autocomplete verified