v3.1: Onboarding, upgrade system, and positioning overhaul

Reposition as "AI Accountability System" — not just another PKM starter kit.
README restructured to lead with the cascade as the hero feature.

New skills:
- /review — smart router that auto-detects daily/weekly/monthly context
- /upgrade — built-in update system with backup, diff review, safe merge
- /onboard enhanced — interactive first-run setup (name, review day, goal
  areas, work style) writes vault-config.json and personalizes CLAUDE.md

New infrastructure:
- FIRST_RUN marker + session-init welcome for new vaults
- Skill discovery hook (UserPromptSubmit) — lists available skills when
  user mentions "skill", "help", "command"
- CONTRIBUTING.md with architecture overview and good first issues

README:
- Cascade diagram and flow description as opening hero
- "Not another PKM starter kit" positioning
- Skills table with all 10 skills
- Zero dependencies highlighted as a feature
- v2.1→v3.1 and v1.x→v3.1 upgrade instructions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bill Allred
2026-02-15 20:07:22 +01:00
parent bb7a9960ce
commit b2151c075a
10 changed files with 692 additions and 206 deletions

View File

@@ -13,6 +13,25 @@ export CURRENT_WEEK=$(date +%Y-W%V)
# Daily note path
export DAILY_NOTE="$VAULT_PATH/Daily Notes/$TODAY.md"
# First-run detection
if [ -f "$VAULT_PATH/FIRST_RUN" ]; then
echo ""
echo "Welcome to the Obsidian + Claude Code AI Accountability System!"
echo ""
echo " The Cascade — your goals-to-tasks execution system:"
echo ""
echo " 3-Year Vision -> Yearly Goals -> Projects -> Monthly -> Weekly -> Daily"
echo " | | | | | |"
echo " /goal-tracking /goal-tracking /project /monthly /weekly /daily"
echo ""
echo " Run /onboard to personalize your vault (takes ~2 minutes)."
echo " This will ask your name, preferred review day, and goal areas."
echo ""
echo " After that, try /daily to start your first morning routine."
echo ""
exit 0
fi
# Verify vault structure
if [ ! -f "$VAULT_PATH/CLAUDE.md" ]; then
echo "Note: Not in a vault root directory (no CLAUDE.md found)"

View File

@@ -0,0 +1,35 @@
#!/bin/bash
# Skill discovery hook — triggered on UserPromptSubmit
# Lists available skills when user mentions "skill", "help", "command", or "what can"
# Non-blocking: always exits 0
# Read user prompt from stdin
PROMPT=$(cat)
# Case-insensitive check for trigger words
if echo "$PROMPT" | grep -iqE '\b(skills?|commands?|what can|help me|available|slash)\b'; then
echo ""
echo "Available skills (invoke with /skill-name):"
echo ""
SKILLS_DIR="$(pwd)/.claude/skills"
if [ -d "$SKILLS_DIR" ]; then
for skill_dir in "$SKILLS_DIR"/*/; do
if [ -f "$skill_dir/SKILL.md" ]; then
skill_name=$(basename "$skill_dir")
# Extract description from YAML frontmatter
desc=$(sed -n '/^---$/,/^---$/{ /^description:/{ s/^description: *//; p; q; } }' "$skill_dir/SKILL.md")
# Check if user-invocable
invocable=$(sed -n '/^---$/,/^---$/{ /^user-invocable:/{ s/^user-invocable: *//; p; q; } }' "$skill_dir/SKILL.md")
if [ "$invocable" = "true" ]; then
printf " /%s — %s\n" "$skill_name" "$desc"
else
printf " %s (auto) — %s\n" "$skill_name" "$desc"
fi
fi
done
fi
echo ""
fi
exit 0