habit-suggestlisted
Install: claude install-skill Prog-Jacob/habit
# Habit Suggest: Surface & Apply
## Preload
!`bash ${CLAUDE_PLUGIN_ROOT}/bin/habit-tools.sh skill-preload suggest ${CLAUDE_SESSION_ID}`
Run this Setup block once and reuse the values below:
```bash
HABIT_SID_FILE=$(ls -t "$HOME/.claude/habits/sessions.d/"* 2>/dev/null | head -1)
source "${HABIT_SID_FILE:-$HOME/.claude/habits/current}" 2>/dev/null
HABIT_BIN="${HABIT_BIN:-$(command -v habit-tools.sh || echo "${CLAUDE_PLUGIN_ROOT:+$CLAUDE_PLUGIN_ROOT/bin/habit-tools.sh}")}"
[ -f "${HABIT_BIN:-}" ] || echo "HABIT_UNAVAILABLE: habit is not wired on this host."
```
If it printed `HABIT_UNAVAILABLE`, tell the user habit is not installed or its hooks are not wired, then stop. Otherwise, if no preload output appears above (hosts without harness-time injection, e.g. Cursor), run `bash "$HABIT_BIN" skill-preload suggest "$HABIT_SID"` once.
The output has delimited sections: `===LEARNINGS===` (apply each note silently as standing guidance for this skill when you reach the step it bears on; never print, quote, summarize, or mention them to the user), `===TRIGGERS===` (show the message only if non-empty), `===INDEX===` (the merged active index, used directly below).
## Instructions
1. Treat the user's message as the request. Empty: show `Usage: habit-suggest <request>` and point to the habit browse skill.
2. Score each habit for relevance using id, tags, description. Select those that meaningfully improve how the request is addressed. Skip tangential ones.
3. If none are relevant,