Skip to content
Agentmart
Submit a tool

hermes-single-dir-pipeline

Operate Hermes after the single-directory runtime migration.

Skill by jleechanorg

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jleechanorg-hermes-single-dir-pipeline

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Operate Hermes after the single-directory runtime migration.

Use cases: data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/hermes-single-dir-pipeline

What's inside

Skill name
hermes-single-dir-pipeline
Description
Operate Hermes after the single-directory runtime migration.
License
MIT
Instructions
121 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Agent Skills spec issues

  • name: "hermes-single-dir-pipeline" does not match folder "staging-prod-pipeline"
  • files: referenced but missing: scripts/deploy.sh

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Hermes Single-Directory Pipeline

## Scope

`~/.smartclaw` is the single canonical Hermes root for source, production runtime
state, logs, sessions, credentials references, skills, cron, and launchd
templates.

Production:
- Label: `ai.smartclaw.prod`
- Port: `8643`
- Config: `~/.smartclaw/config.yaml`
- State dir: `~/.smartclaw`

Staging is an explicit variant, not a second source tree:
- Label: `ai.smartclaw.staging`
- Port: `8644`
- Config: `~/.smartclaw/config.staging.yaml` overlay
- State dir: `~/.smartclaw`

The retired prod directory name must not be used in commands, docs, plists, or
operator workflows. A compatibility symlink may exist for old tools, but it is
not a deploy target or source of truth.

## Operating Model

```text
~/.smartclaw
  config.yaml                  production config
  config.staging.yaml          staging overlay, only when staging is loaded
  scripts/deploy.sh            pull, restart prod, verify
  scripts/staging-canary.sh    health/canary checks for selected port
  launchd/                     committed plist templates
  logs/gateway.log             prod stdout
  logs/gateway.err.log         prod stderr
```

`scripts/deploy.sh` no longer promotes from one home directory into another.
It operates on the canonical repo, restarts `ai.smartclaw.prod`, and validates the
running service. Policy and skills drift checks are same-root checks in this
model.

## Required Checks

Before claiming Hermes is healthy:

```bash
launchctl print gui/$(id -u)/ai.smartclaw.prod
curl -fsS -m 8 http://127.0.0.1:8643/health
tail -80 ~/.smartclaw/logs/gateway.err.log
```

For Slack-specific incidents, HTTP health is insufficient. Check recent logs
for Socket Mode connection/auth lines and send or observe a real Slack message
round trip when possible.

## Installation And Repair

```bash
cd ~/.smartclaw
bash scripts/install-launchagents.sh
bash scripts/deploy.sh
```

Launchd templates must live in `~/.smartclaw/launchd/` and be committed with
`@HOME@` placeholders. Do not hand-create long-lived plists directly under
`~/Library/LaunchAgents` without a matching template in the repo.

## Staging

Staging exists to test the same code and same root with a different Slack app
and overlay config. It should be loaded only for intentional tests:

```bash
launchctl print gui/$(id -u)/ai.smartclaw.staging
curl -fsS -m 8 http://127.0.0.1:8644/health
```

If staging is not loaded, that is not a production outage. Production health is
always checked through `ai.smartclaw.prod` and port `8643`.

## Troubleshooting

Gateway not responding:

```bash
lsof -nP -iTCP:8643 -sTCP:LISTEN
launchctl print gui/$(id -u)/ai.smartclaw.prod
tail -80 ~/.smartclaw/logs/gateway.err.log
```

Session lock silent failure:

```bash
find ~/.smartclaw/agents/main/sessions/ -name "*.lock" | while read f; do
  raw=$(cat "$f" 2>/dev/null)
  pid=$(echo "$raw" | python3 -c "import sys,json; print(json.load(sys.stdin)['pid'])" 2>/dev/null || echo "$raw" | tr -d '[:space:]')
  [[ "$pid" =~ ^[0-9]+$ ]] && ! kill -0 "$pid" 2>/dev/null && rm -f "$f" && echo "removed: $f"
done
launchctl kickstart -k gui/$(id -u)/ai.smartclaw.prod
```

Native module check:

```bash
GATEWAY_NODE="$HOME/.nvm/versions/node/v22.22.0/bin/node"
"$GATEWAY_NODE" -e "require('$HOME/.smartclaw/extensions/hermes-mem0/node_modules/better-sqlite3')" && echo OK
```

Duplicate gateway check:

```bash
pgrep -af "hermes gateway|bin/hermes"
lsof -nP -iTCP:8643 -sTCP:LISTEN
lsof -nP -iTCP:8644 -sTCP:LISTEN
```

Expected steady state is one production listener on `8643`. A staging listener
on `8644` is acceptable only during explicit staging tests.

From jleechanorg/jleechanbrain, MIT.

More from jleechanorg/jleechanbrain

Signals

Stars
2
Forks
0
Open issues
1
Last commit (this folder)
Sep 19, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jleechanorg

Cite this page

hermes-single-dir-pipeline skill. Agent Mart. https://agentmart.dev/skills/jleechanorg-hermes-single-dir-pipeline (last updated 2026-10-24)