OpenLoomi Hooks Sub-skill
The plugin ships a hook bundle in hooks/hooks.json but never installs it
automatically. Users must explicitly run one of:
/openloomi:hooks install— merge the bundle into~/.claude/settings.json/openloomi:hooks uninstall— strip only the plugin's block (other plugins' hooks are preserved)/openloomi:hooks status— report whether the bundle is currently active
Under the hood this calls:
node ${CLAUDE_PLUGIN_ROOT}/scripts/loomi-bridge.mjs install-hooks
node ${CLAUDE_PLUGIN_ROOT}/scripts/loomi-bridge.mjs uninstall-hooks
node ${CLAUDE_PLUGIN_ROOT}/scripts/loomi-bridge.mjs hooks-status
Safety guarantees
install-hooksis merge-no-overwrite: only adds the plugin's block underhooks.__openloomi_claude_plugin_hooks__. Existing hooks for other plugins are not touched.uninstall-hooksremoves only the plugin-marked block; rerunning it after the first time reportsremoved: false, never deletes anything else's hooks.- The merge is atomic (
writeFileto a temp file, thenrename). - The Stop hook always exits 0 — archive failures are reported as
JSON
{continue: true, _openloomi: {archive: "skipped", reason: ...}}so they can never block Claude Code's response stream.
Suggested user prompt
This plugin can mirror Claude Code's lifecycle onto your Loomi Pet. To enable this, run
/openloomi:hooks install. To disable, run/openloomi:hooks uninstall. The plugin never modifies your~/.claude/settings.jsonwithout explicit consent.