How this skill is triggered — by the user, by Claude, or both
Slash command
/happytrails:happytrails-stopThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. Read `<CWD>/.happytrails/.active` to get the log file path.
Read <CWD>/.happytrails/.active to get the log file path.
If the file does not exist, tell the user there is no active HappyTrails session.
Derive the session directory as the parent of the log file path
(e.g., if .active contains /project/.happytrails/12345/log.jsonl,
the session directory is /project/.happytrails/12345).
Read <SESSION_DIR>/.server.pid to get the server process ID.
If the file does not exist, or the PID is not running (kill -0 <PID> fails),
tell the user the server is already stopped and remove the stale .active file:
rm -f <CWD>/.happytrails/.active
Send SIGTERM to stop the server (it handles cleanup automatically):
kill <PID>
Do NOT remove the hook — it is managed by the plugin and reused across sessions.
Confirm to the user that capture has stopped.
npx claudepluginhub sds-mode/happytrails --plugin happytrailsCancels active Claude Code loops by checking/removing .loophaus/state.json or legacy .claude/ralph-loop.local.md files and reporting stopped iteration.
Stops the PowerMem server that was started by the Claude Code plugin, using the tracked PID in the plugin data directory.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.