feat(install): first-run nudge to /onboard projects after bundle install
After install the user got no guidance to set up project agents — the summary only mentioned /new-agent (single), never /onboard (scan all projects → create a specialist per project). The installer is bash and can't launch a skill, so: - New SessionStart hook first-run-onboard.sh: on the FIRST Claude Code session after install, injects context nudging the user/Claude to run `/onboard ~/Projects/*` (scan stack + create per-project agent, delegates to /new-agent). Fires once (marker ~/.claude/.kei-firstrun-shown), then silent. Reset: rm the marker. - settings-snippet.json: wire the hook under SessionStart (matcher "*"). - lib-summary.sh next-steps: lead with `/onboard ~/Projects/*`, then /new-agent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d89ddf0c74
commit
582b51155f
3 changed files with 49 additions and 2 deletions
31
hooks/first-run-onboard.sh
Executable file
31
hooks/first-run-onboard.sh
Executable file
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# first-run-onboard — on the FIRST Claude Code session after a KeiSeiKit install,
|
||||||
|
# nudge the user to scaffold a project-specialist agent for each of their
|
||||||
|
# projects. Event: SessionStart (stdout is injected into the session context, so
|
||||||
|
# Claude reads this and proactively offers /onboard). Fires ONCE: a marker is
|
||||||
|
# written after the first display, then the hook is silent forever.
|
||||||
|
# Bypass / reset: rm ~/.claude/.kei-firstrun-shown (re-show on next session).
|
||||||
|
|
||||||
|
MARKER="$HOME/.claude/.kei-firstrun-shown"
|
||||||
|
[ -f "$MARKER" ] && exit 0
|
||||||
|
# Only nudge when the agent fleet actually landed (a real install, not a stub).
|
||||||
|
[ -d "$HOME/.claude/agents" ] || exit 0
|
||||||
|
|
||||||
|
PROJ="$HOME/Projects"
|
||||||
|
[ -d "$PROJ" ] || PROJ="$HOME/projects"
|
||||||
|
[ -d "$PROJ" ] || PROJ="$HOME/Projects" # fall back to the canonical name in the text
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
[KeiSeiKit first-run] The agent substrate is installed. Proactively offer the
|
||||||
|
user a one-step project setup before anything else:
|
||||||
|
|
||||||
|
• Run /onboard $PROJ/* — scans every project, detects its stack, and
|
||||||
|
creates a tailored project-specialist agent for each (delegates to
|
||||||
|
/new-agent per project).
|
||||||
|
• Or /new-agent — create a single project-specialist agent.
|
||||||
|
|
||||||
|
Suggest /onboard now unless the user declines.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
: > "$MARKER"
|
||||||
|
exit 0
|
||||||
|
|
@ -66,7 +66,9 @@ print_summary() {
|
||||||
$AGENTS_DIR/_assembler/target/release/assemble --validate
|
$AGENTS_DIR/_assembler/target/release/assemble --validate
|
||||||
./install.sh --list # show installed primitives
|
./install.sh --list # show installed primitives
|
||||||
|
|
||||||
To create a new project-specialist agent:
|
To set up agents for ALL your projects (scan stack + create one per project):
|
||||||
|
/onboard ~/Projects/*
|
||||||
|
Or create a single project-specialist agent:
|
||||||
/new-agent
|
/new-agent
|
||||||
|
|
||||||
==========================================================================
|
==========================================================================
|
||||||
|
|
@ -93,7 +95,9 @@ EOF
|
||||||
$AGENTS_DIR/_assembler/target/release/assemble --validate
|
$AGENTS_DIR/_assembler/target/release/assemble --validate
|
||||||
./install.sh --list # show installed primitives
|
./install.sh --list # show installed primitives
|
||||||
|
|
||||||
To create a new project-specialist agent:
|
To set up agents for ALL your projects (scan stack + create one per project):
|
||||||
|
/onboard ~/Projects/*
|
||||||
|
Or create a single project-specialist agent:
|
||||||
/new-agent
|
/new-agent
|
||||||
|
|
||||||
==========================================================================
|
==========================================================================
|
||||||
|
|
|
||||||
|
|
@ -279,6 +279,18 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"SessionStart": [
|
||||||
|
{
|
||||||
|
"matcher": "*",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "~/.claude/hooks/first-run-onboard.sh",
|
||||||
|
"statusMessage": "KeiSeiKit first-run onboard nudge..."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue