# Connecting private `hermes-soul` to Layered Soul `hermes-soul` and `layered-soul` have different jobs. | Repo | Visibility | Purpose | | -------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- | | `hermes-soul` | private | Hermes-native runtime backup from Debby Linux: sessions, sanitized config, scripts, cron, memories, skills. | | `layered-soul` | public/template or curated instance | Harness-agnostic identity and reviewed context with no secrets or raw sessions. | Do not mirror `hermes-soul` into `layered-soul`. Use a review/export workflow. ## Recommended workflow 1. Back up Hermes normally into the private `hermes-soul` repo. 2. Run the planner from this repo: ```sh python3 scripts/layered_soul.py plan-private-source \ examples/private-sources/hermes-soul.example.json \ --source-root ~/hermes-soul ``` 3. Review the candidate memory and skill files locally. 4. Write sanitized summaries into this repo: ```text USER.md memories/curated/hermes-memory-summary.md skills//SKILL.md ``` 5. Validate before committing: ```sh python3 scripts/layered_soul.py validate . ``` ## What may move across - Reviewed user context from `memories/USER.md`. - Reviewed memory summaries from `memories/MEMORY.md`. - Selected `skills/**/*.md` that are safe and useful across harnesses. - Converted cron/task ideas after they are rewritten as explicit Ops manifests. ## What must stay private - Raw `sessions/` chat logs. - `config.yaml` and platform runtime config. - `channel_directory.json`. - Tokens, API keys, auth files, browser profiles, lock files, caches, bytecode. ## Example source config See: ```text examples/private-sources/hermes-soul.example.json ``` The config is safe to publish because it describes the boundary, not the private content.