upgrade
The upgrade skill updates your vault's system files (skills, agents, hooks, rules, and templates) to the latest version of obsidian-claude-pkm while preserving all personal content, daily notes, and custom configurations. Use it when a new version is available to apply improvements and new features through an interactive process that includes backup creation, change preview, and selective file updates.
git clone --depth 1 https://github.com/ballred/obsidian-claude-pkm /tmp/upgrade && cp -r /tmp/upgrade/vault-template/.claude/skills/upgrade ~/.claude/skills/upgradeSKILL.md
# Upgrade Skill Updates your vault's system files to the latest version while preserving all your personal content. ## Usage ``` /upgrade # Interactive upgrade with backup and diff review /upgrade check # Preview what's changed without making modifications ``` ## What Gets Updated (System Files) - `.claude/skills/*/SKILL.md` — Skill definitions - `.claude/agents/*.md` — Agent configurations - `.claude/hooks/*.sh` — Automation scripts - `.claude/rules/*.md` — Convention rules - `.claude/output-styles/*.md` — Output style definitions - `.claude/settings.json` — Permissions and hook config - `CLAUDE.md` — Root context file (merged carefully) - `Templates/*.md` — Note templates ## What Never Gets Touched (Your Content) - `Daily Notes/**` — Your daily journal entries - `Goals/**` — Your goal files and reviews - `Projects/**` — Your project folders and CLAUDE.md files - `Archives/**` — Your archived content - `Inbox/**` — Your captured items - `CLAUDE.local.md` — Your personal overrides - `vault-config.json` — Your preferences ## Upgrade Process ### Step 1: Check for Updates Read the current version from `CLAUDE.md` (look for "System Version:" line). Compare with the upstream repo. If using git: ```bash git fetch origin git log HEAD..origin/main --oneline ``` If not a git repo or no remote, inform user they need to download the latest `vault-template/` manually. ### Step 2: Create Backup Before any changes, create a timestamped backup: ```bash BACKUP_DIR=".backup/upgrade-$(date +%Y%m%d-%H%M%S)" mkdir -p "$BACKUP_DIR" cp -r .claude "$BACKUP_DIR/" cp CLAUDE.md "$BACKUP_DIR/" cp -r Templates "$BACKUP_DIR/" 2>/dev/null ``` Tell the user: "Backup created at $BACKUP_DIR" ### Step 3: Diff Review For each system file that differs from upstream: 1. Show a summary of what changed (additions, removals, modifications) 2. Ask user to confirm: "Apply this update? (yes/skip/stop)" 3. If yes: apply the change 4. If skip: leave this file unchanged 5. If stop: halt the upgrade (backup remains, partial changes preserved) ### Step 4: Apply Changes For each confirmed file: - Copy the new version from upstream - For `CLAUDE.md`: merge carefully — preserve user customizations (Personal Mission, Current Focus sections) while updating system sections (Skills table, version number) - For `settings.json`: merge — add new permissions/hooks, preserve existing customizations ### Step 5: Post-Upgrade 1. Make hook scripts executable: `chmod +x .claude/hooks/*.sh` 2. Show summary of changes applied 3. Update version in CLAUDE.md 4. Suggest running `/onboard` to reload context ## Check Mode (`/upgrade check`) When invoked with "check": 1. Compare system files against upstream 2. List files that would be updated with brief change description 3. Show version numbers (current → available) 4. Do NOT make any changes 5. Suggest running `/upgrade` to apply ## Output Format ```markdown ## Upgrade Check **Current version:** 3.0 (The Cascade) **Available version:** 3.1 ### Files to Update | File | Change Summary | |------|---------------| | `.claude/skills/daily/SKILL.md` | Added cascade context surfacing | | `.claude/agents/goal-aligner.md` | Added memory: project | | `.claude/hooks/session-init.sh` | Added priority surfacing | ### New Files - `.claude/skills/review/SKILL.md` — Smart review router - `.claude/hooks/skill-discovery.sh` — Auto-list skills ### No Changes Needed - `.claude/rules/` — Already up to date Run `/upgrade` to apply these updates (backup will be created first). ``` ## Safety Features - Complete backup before any modification - File-by-file confirmation - Can be stopped at any point - User content folders are never touched - `CLAUDE.local.md` personal overrides preserved - Backup includes restoration instructions ## Error Handling - If no git remote: guide user to download latest vault-template manually - If backup fails: abort entire upgrade - If a file copy fails: report error, continue with next file - Always leave vault in a usable state ## Integration Works with: - `/onboard` — Reload context after upgrade - Session init hook — Will reflect updated priorities
Analyze alignment between daily activities and long-term goals. Identify gaps, over/under-investment, and suggest rebalancing. Use for goal audits and priority checks.
Process inbox items using GTD principles. Categorize, clarify, and organize captured notes into actionable items. Use for inbox zero and capture processing.
Organize and restructure vault notes. Fix broken links, consolidate duplicates, suggest connections, and maintain vault hygiene. Use when managing vault organization or cleaning up notes.
Facilitate comprehensive weekly review process. Analyze past week's daily notes, calculate goal progress, and help plan next week. Use for Sunday/Monday weekly reviews.
Scaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
Find broken wiki-links in the vault. Read-only analysis — scans for [[links]] and verifies target files exist. No writes, no dependencies.
Create daily notes and manage morning, midday, and evening routines. Structure daily planning, task review, and end-of-day reflection. Use for daily productivity routines or when asked to create today's note.
Track progress toward 3-year, yearly, monthly, and weekly goals. Calculate completion percentages, surface stalled goals, connect daily tasks to objectives. Use for goal reviews and progress tracking.