From squad
Opt-in setup for auto-journaling capture plumbing. Copies bundled PostToolUse hook scripts into .squad/hooks/ and prints the .claude/settings.json snippet to wire them up. Capture-only — squad behaviour does NOT change until a follow-up release adds distillation + retrieval. Triggers: "enable journaling", "turn on auto-journaling", "set up the work-trail hook", "capture tool calls", "opt in to journal", "/squad:enable-journaling". One-shot setup — no args, no flags.
How this skill is triggered — by the user, by Claude, or both
Slash command
/squad:enable-journalingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help the user opt in to **auto-journaling capture plumbing** (PR1 / Fase 1a).
Help the user opt in to auto-journaling capture plumbing (PR1 / Fase 1a).
This installs an opt-in Claude Code PostToolUse hook that records work-trail
metadata — a timestamp, the tool name, and the edited file path — into a
local staging file (.squad/pending-journal.jsonl). It captures NO file
contents.
This skill does two things and nothing else:
hooks/post-tool-use.mjs and
hooks/journal-event.mjs) into the user's .squad/hooks/, chmod 0o700..claude/settings.json PostToolUse snippet for the user
to paste themselves.It is capture-only. The squad's behaviour does not change as a result of enabling journaling — the captured breadcrumbs are not yet read by anything.
.claude/settings.json. The skill PRINTS the snippet
and the user pastes it. Claude Code settings are the user's to edit — the
skill never modifies them, not even with confirmation..squad/hooks/, confirm with the user in plain language what will be
written and where. No silent file creation.git commit, no git push. Read-only git is fine for context. The
user owns the commit./squad:enable-journaling
No flags. The skill is interactive — it asks for consent before writing.
Tell the user, in plain language:
.squad/pending-journal.jsonl. It
never records file contents..squad/hooks/..claude/settings.json — the skill prints a
snippet for the user to paste themselves.Then ask: "Copy the journaling hook scripts into .squad/hooks/?" Proceed
only on an explicit yes.
On consent:
.squad/hooks/ if absent (chmod 0o700 — user-only).hooks/post-tool-use.mjs from the plugin package into
.squad/hooks/post-tool-use.mjs.hooks/journal-event.mjs from the plugin package into
.squad/hooks/journal-event.mjs (the adapter imports it as a sibling).chmod 0o700 both copied files.Confirm to the user which files were written.
Print the exact .claude/settings.json PostToolUse hook snippet for the user
to paste. Do NOT write it for them:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "node .squad/hooks/post-tool-use.mjs"
}
]
}
]
}
}
Tell the user: paste this into .claude/settings.json, merging with any
existing hooks block rather than overwriting it.
Print both:
Verify the hook is wired:
.claude/settings.json and confirm the PostToolUse entry above is
present with "matcher": "Edit|Write"..squad/pending-journal.jsonl exists and has grown a JSONL line.Disable journaling:
PostToolUse entry from .claude/settings.json..squad/hooks/ directory.journaling: off in .squad.yaml (this is also the default — the field
exists so the choice is explicit and repo-versioned)..claude/settings.json — it only prints the snippet..squad/hooks/.npx claudepluginhub ggemba/squad-mcp --plugin squadGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.