# Hermes / OpenClaw -> ECC Migration This document is the public migration guide for moving a Hermes or OpenClaw-style operator setup into the current ECC model. The goal is not to reproduce a private operator workspace byte-for-byte. The goal is to preserve the useful workflow surface: - reusable skills - stable automation entrypoints - cross-harness portability - schedulers / reminders / dispatch - durable context and operator memory while removing the parts that should stay private: - secrets - personal datasets - account tokens - local-only business artifacts ## Migration Thesis Treat Hermes and OpenClaw as source systems, not as the final runtime. ECC is the durable public system: - skills - agents - commands - hooks - install surfaces - session adapters - ECC 2.0 control-plane work Hermes and OpenClaw are useful inputs because they contain repeated operator workflows that can be distilled into ECC-native surfaces. That means the shortest safe path is: 1. extract the reusable behavior 2. translate it into ECC-native skills, hooks, docs, or adapter work 3. keep secrets and personal data outside the repo ## Current Workspace Model Use the current workspace split consistently: - live code work happens in cloned repos under `~/GitHub` - repo-specific active execution context lives in repo-level `WORKING-CONTEXT.md` - broader non-code context can live in KB/archive layers - durable cross-machine truth should prefer GitHub, Linear, and the knowledge base Do not rebuild a shadow private workspace inside the public repo. ## Translation Map ### 1. Scheduler / cron layer Source examples: - `cron/scheduler.py` - `jobs.py` - recurring readiness or accountability loops Translate into: - Claude-native scheduling where available - ECC hook / command automation for local repeatability - ECC 2.0 scheduler work under issue `#1050` Today, the repo already has the right public framing: - hooks for low-latency repo-local automation - commands for explicit operator actions - ECC 2.0 as the future long-lived scheduling/control plane ### 2. Gateway / dispatch layer Source examples: - Hermes gateway - mobile dispatch / remote nudges - operator routing between active sessions Translate into: - ECC session adapter and control-plane work - orchestration/session inspection commands - ECC 2.0 control-plane backlog under: - `#1045` - `#1046` - `#1047` - `#1048` The public repo should describe the adapter boundary and control-plane model, not pretend the remote operator shell is already fully GA. ### 3. Memory layer Source examples: - `memory_tool.py` - local operator memory - business / ops context stores Translate into: - `knowledge-ops` - repo `WORKING-CONTEXT.md` - GitHub / Linear / KB-backed durable context - future deep memory work under `#1049` The important distinction is: - repo execution context belongs near the repo - broader non-code memory belongs in KB/archive systems - the public repo should document the boundary, not store private memory dumps ### 4. Skill layer Source examples: - Hermes skills - OpenClaw skills - generated operator playbooks Translate into: - ECC-native top-level skills when the workflow is reusable - docs/examples when the content is only a template - hooks or commands when the behavior is procedural rather than knowledge-shaped Recent examples already salvaged this way: - `knowledge-ops` - `github-ops` - `hookify-rules` - `automation-audit-ops` - `email-ops` - `finance-billing-ops` - `messages-ops` - `research-ops` - `terminal-ops` - `ecc-tools-cost-audit` ### 5. Tool / service layer Source examples: - custom service wrappers - API-key-backed local tools - browser automation glue Translate into: - MCP-backed surfaces when a connector exists - ECC-native operator skills when the workflow logic is the real asset - adapter/control-plane work when the missing piece is session/runtime coordination Do not import opaque third-party runtimes into ECC just because a private workflow depended on them. If a workflow is valuable: 1. understand the behavior 2. rebuild the minimum ECC-native version 3. document the auth/connectors required locally ## What Already Exists Publicly The current repo already covers meaningful parts of the migration: - ECC 2.0 adapter/control-plane discovery docs - orchestration/session inspection substrate - operator workflow skills - cost / billing / workflow audit skills - cross-harness install surfaces - AgentShield for config and agent-surface scanning This means the migration problem is no longer "start from zero." It is mostly: - distilling missing private workflows - clarifying public docs - continuing the ECC 2.0 operator/control-plane buildout ## What Still Belongs In Backlog The remaining large migration themes are already tracked: - `#1051` Hermes/OpenClaw migration - `#1049` deep memory layer - `#1050` autonomous scheduling - `#1048` universal harness compatibility layer - `#1046` agent orchestrator - `#1045` multi-session TUI manager - `#1047` visual worktree manager That is the right place for the unresolved control-plane work. Do not pretend the migration is "done" just because the public docs exist. ## Recommended Bring-Up Order 1. Keep the public ECC repo as the canonical reusable layer. 2. Port reusable Hermes/OpenClaw workflows into ECC-native skills one lane at a time. 3. Keep private auth and personal context outside the repo. 4. Use GitHub / Linear / KB systems as durable truth. 5. Treat ECC 2.0 as the path to a native operator shell, not as a finished product. ## Decision Rule When reviewing a Hermes or OpenClaw artifact, ask: 1. Is this reusable across operators or only personal? 2. Is the asset mainly knowledge, procedure, or runtime behavior? 3. Should it become: - a skill - a command - a hook - a doc/example - a control-plane issue 4. Does shipping it publicly leak secrets, private datasets, or personal operating state? Only ship the reusable surface.