chore(claude): add SessionStart compact context injector
inject-sprint-context.sh fires on SessionStart with matcher=compact and emits branch, last 10 commits, and the top of BACKLOG.md so Claude resumes with sprint context after auto-compaction. Output capped at ~600 tokens.
This commit is contained in:
29
.claude/hooks/inject-sprint-context.sh
Executable file
29
.claude/hooks/inject-sprint-context.sh
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
cd "$CLAUDE_PROJECT_DIR" 2>/dev/null || exit 0
|
||||||
|
|
||||||
|
branch="$(git branch --show-current 2>/dev/null || echo unknown)"
|
||||||
|
recent="$(git log --oneline -10 2>/dev/null || echo '(git log unavailable)')"
|
||||||
|
|
||||||
|
backlog_excerpt="(BACKLOG.md not found)"
|
||||||
|
if [ -f dev-docs/BACKLOG.md ]; then
|
||||||
|
# First 40 lines, capped at ~3500 chars to stay well under 600 tokens for the whole output.
|
||||||
|
backlog_excerpt="$(head -n 40 dev-docs/BACKLOG.md | head -c 3500)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
## Sprint context (re-injected after compaction)
|
||||||
|
|
||||||
|
**Branch:** $branch
|
||||||
|
|
||||||
|
**Last 10 commits:**
|
||||||
|
$recent
|
||||||
|
|
||||||
|
**Top of BACKLOG.md:**
|
||||||
|
$backlog_excerpt
|
||||||
|
|
||||||
|
Reminder: re-read /CLAUDE.md if any zero-compromise principle is unclear. /dev-docs/SCHEMA.md is authoritative for table structure.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user