Files
oikos/hermes/skills/homelab-ops/SKILL.md
dtoro 3823a82417 phase 4: hermes agent — MCP tools, activity logging, 'all' role, wiring fixes
- mcp/server.go: 7 new tools (get_signal_history, get_patterns, get_skills,
  request_execution, get_trend, get_event_timeline, get_agent_activity),
  agent_activity logging middleware on every tool call.
- phase3.go: QueryAgentActivity REST handler implemented (was stub).
  Fixed scan count mismatch in ListSkills/PatchSkill/ListSkillVersions
  (13 cols → 12 targets). Fixed AgentActivity cursor pagination
  (lexicographic → integer comparison). Fixed s.Slug → s.Name in log.
- cmd/oikos/main.go: 'all' role now runs api + scheduler + notifier in
  one process. Replaced nil SchedulerRunner/NotifierRunner with direct
  scheduler.RunnerForMain() / notifier.RunnerForMain() imports.
  Added runWithPool helper for standalone scheduler/notifier roles.
- internal/config/config.go: added HermesAgentID env var.
- internal/httpapi/server.go: pass HermesAgentID to MCP handler.
- docker-compose.yml: added scheduler and notifier services (dev profile).
- hermes/: config.yaml, SOUL.md, skills/homelab-ops/SKILL.md.
- Cleaned up: scheduler/init.go dead code, mcp/server.go pgx import guard.
2026-07-07 16:07:08 +02:00

1.4 KiB

Homelab Operations Skill

Risk class: Depends on action (see OIKOS.md policy) Required scope: agent Verification: get_health_summary after action

Overview

Standard operating procedures for the Hermes agent managing the hubris homelab. All mutations route through request_execution → Oikos policy gating → actuator (SSH).

Procedures

Health check triage

  1. get_health_summary — check fleet health
  2. For degraded/down entities, get_entity for detail
  3. get_signal_history on the target to check for repeats
  4. get_blast_radius to assess downstream impact
  5. get_trend for metric context before deciding

Signal response

  • reversible_low with validated pattern → request_execution (auto-restart)
  • config_mutation or destructive → escalate to operator
  • Repeated flapping → escalate with flap count

Execution tracking

  1. request_execution returns a correlation_id
  2. Poll get_event_timeline filtering by correlation_id
  3. Once complete, get_health_summary to verify recovery
  4. Record outcome via internal reasoning

Pattern learning

  • After 5 identical successful executions on the same (type, action), the learning engine promotes the pattern to validated
  • Check get_patterns(status=validated) to know what's trusted

Changelog

2026-07-07 — initial Phase 4 skill

Baseline homelab operations skill for Hermes container.