v3.0: The Cascade — end-to-end goals-to-tasks flow

Add /project and /monthly skills to complete the cascade chain from
3-year vision through daily tasks. Add agent memory, model hints,
agent team workflows, and cascade context surfacing across all skills.

New skills:
- /project (new, status, archive) — bridge between goals and daily tasks
- /monthly — roll up weekly reviews, check quarterly milestones

Agent upgrades:
- memory: project on all 4 agents for cross-session learning
- Agent team workflow in /weekly for parallel reviews

Skill enhancements:
- /daily: cascade context surfacing (ONE Big Thing, project next-actions)
- /weekly: project progress table, agent team coordination
- /goal-tracking: project-aware progress, orphan goal detection
- /onboard: auto-discover and summarize active projects
- model: sonnet on goal-tracking, obsidian-vault-ops, push, onboard

Infrastructure:
- session-init.sh surfaces priorities, project count, review staleness
- settings.json adds cp/mv permissions for project archiving

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bill Allred
2026-02-15 19:32:34 +01:00
parent 31217feacb
commit bb7a9960ce
16 changed files with 652 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# Session initialization hook for Obsidian PKM vault
# Sets up environment variables for the Claude Code session
# Sets up environment variables and surfaces priorities for the Claude Code session
# Set vault path (defaults to current directory)
export VAULT_PATH="${VAULT_PATH:-$(pwd)}"
@@ -22,3 +22,43 @@ fi
echo "PKM Session initialized"
echo " Vault: $VAULT_PATH"
echo " Today: $TODAY"
# Surface today's ONE Big Thing from most recent weekly review
WEEKLY_REVIEW="$VAULT_PATH/Goals/3. Weekly Review.md"
if [ -f "$WEEKLY_REVIEW" ]; then
ONE_BIG_THING=$(grep -A 1 "ONE Big Thing" "$WEEKLY_REVIEW" | tail -1 | sed 's/^[> ]*//' | sed 's/^[[:space:]]*//')
if [ -n "$ONE_BIG_THING" ] && [ "$ONE_BIG_THING" != "" ]; then
echo " ONE Big Thing: $ONE_BIG_THING"
fi
# Days since last weekly review
LAST_REVIEW_DATE=$(grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}' "$WEEKLY_REVIEW" | tail -1)
if [ -n "$LAST_REVIEW_DATE" ]; then
if date -j -f "%Y-%m-%d" "$LAST_REVIEW_DATE" +%s >/dev/null 2>&1; then
# macOS
LAST_EPOCH=$(date -j -f "%Y-%m-%d" "$LAST_REVIEW_DATE" +%s 2>/dev/null)
NOW_EPOCH=$(date +%s)
else
# Linux
LAST_EPOCH=$(date -d "$LAST_REVIEW_DATE" +%s 2>/dev/null)
NOW_EPOCH=$(date +%s)
fi
if [ -n "$LAST_EPOCH" ] && [ -n "$NOW_EPOCH" ]; then
DAYS_SINCE=$(( (NOW_EPOCH - LAST_EPOCH) / 86400 ))
if [ "$DAYS_SINCE" -gt 7 ]; then
echo " Weekly review overdue! Last review: $DAYS_SINCE days ago"
else
echo " Last weekly review: $DAYS_SINCE days ago"
fi
fi
fi
fi
# Active project count
PROJECTS_DIR="$VAULT_PATH/Projects"
if [ -d "$PROJECTS_DIR" ]; then
PROJECT_COUNT=$(find "$PROJECTS_DIR" -maxdepth 2 -name "CLAUDE.md" 2>/dev/null | wc -l | tr -d ' ')
if [ "$PROJECT_COUNT" -gt 0 ]; then
echo " Active projects: $PROJECT_COUNT"
fi
fi