Agent skill
dex-rollback
Undo the last Dex update if something went wrong
Install this agent skill to your Project
npx add-skill https://github.com/davekilleen/Dex/tree/main/.claude/skills/dex-rollback
SKILL.md
What This Command Does
Restores Dex to the version before your last update. Use this if something broke after updating.
When to use:
- Feature you relied on stopped working
- Data looks wrong after update
- System feels unstable
- Want to go back for any reason
Safe to use: Your notes, tasks, and projects are never at risk.
Process
Step 1: Check if Rollback is Possible
A. Verify Git repository
Run: git --version
If Git not found:
â Git not detected
Rollback requires Git. Your data is safe, but automated rollback isn't available.
**To manually restore:**
1. If you have a backup folder, copy your data back
2. Or re-download Dex and copy your folders (00-07, System/)
[Show manual restore guide]
B. Check for backup tag
Run: git tag | grep backup-before
If no backup found:
â No backup found
Looks like you haven't updated recently, or the backup wasn't created.
Your current version: v1.3.0
Options:
[Download previous version manually]
[Cancel]
C. Identify what version to restore to
Run: git tag | grep backup-before | tail -1
Example: backup-before-v1.3.0 means restore to before v1.3.0 update.
Step 2: Confirm Rollback
đ Rollback Dex Update
You're about to restore Dex to the version before your last update.
Current version: v1.3.0
Will restore to: v1.2.0 (last backup)
**What happens:**
â Dex features restored to v1.2.0
â Your notes, tasks, projects stay as they are
â Any new skills from v1.3.0 will be removed
**This is safe:**
âĸ Your data folders (00-07) are not affected
âĸ Your configuration (user-profile, pillars) stays
âĸ You can update again later if you want
[Confirm rollback]
[Cancel]
Step 3: Save Current State
Before rolling back, save any uncommitted changes:
đž Saving current state...
Run:
git add .
git commit -m "Auto-save before rollback to v1.2.0" || true
Create a "before rollback" tag in case they want to undo the rollback:
git tag before-rollback-$(date +%Y%m%d-%H%M%S)
â Current state saved
Step 4: Perform Rollback
đ Rolling back to v1.2.0...
Run:
git reset --hard backup-before-v1.3.0
This restores all Dex files to the state before update.
Note: User data folders (00-07) remain untouched because:
- They're gitignored (not tracked)
git resetonly affects tracked files
Step 5: Cleanup
A. Remove files added by the newer version (manifest-based)
If System/.installed-files.manifest exists for the current (newer) version,
use it to detect files that were added by the update and should be removed:
# Save manifests before reset
cp System/.installed-files.manifest /tmp/dex-new-manifest.txt 2>/dev/null || true
After git reset --hard in Step 4, compare:
if [ -f /tmp/dex-new-manifest.txt ] && [ -f System/.installed-files.manifest ]; then
# Files in new manifest but NOT in restored manifest = added by update
comm -23 \
<(awk '{print $NF}' /tmp/dex-new-manifest.txt | sort) \
<(awk '{print $NF}' System/.installed-files.manifest | sort) \
| while read -r f; do
[ -f "$f" ] && rm "$f" && echo " Removed: $f"
done
echo "â Cleaned up files added by the update"
else
echo "âšī¸ No manifest found â skipping file cleanup (safe to ignore)"
fi
rm -f /tmp/dex-new-manifest.txt
B. Reinstall dependencies for the restored version
đĻ Cleaning up...
Run:
npm install
pip3 install -r core/mcp/requirements.txt
This ensures dependencies match the older version.
C. Regenerate manifest for the restored version
bash scripts/generate-manifest.sh
D. Remove migration markers (if exist)
rm -f .migration-v*-complete
rm -f .migration-version
Step 6: Verification
â Rollback complete! Now testing...
Quick checks:
-
Verify version in package.json:
bashcat package.json | grep version -
Check key files:
03-Tasks/Tasks.mdSystem/user-profile.yaml.claude/skills/daily-plan/SKILL.md
-
Test user profile loads:
Read System/user-profile.yaml
If all pass:
â
Rollback successful!
If issues:
â ī¸ Rollback completed but found an issue
[Details]
Your data is safe. You may want to:
[Report this issue]
[Try rolling back again]
[Continue anyway]
Step 7: Summary
ââââââââââââââââââââââââââââââââââââââ
â
Rolled Back: v1.3.0 â v1.2.0
ââââââââââââââââââââââââââââââââââââââ
Dex restored to: v1.2.0
Your data: All preserved (notes, tasks, projects)
You're back to the version from before your last update.
**What now?**
âĸ Everything should work as before
âĸ You can try updating again later with /dex-update
âĸ If issues persist, try /setup to verify configuration
**Want to report what went wrong?**
[Open issue on GitHub] â Help improve future updates
Undo Rollback (Advanced)
If user rolled back by mistake and wants to go forward again:
Did you roll back by mistake?
We saved your state before rollback. You can restore it:
[Restore to v1.3.0] â Undo this rollback
[Stay on v1.2.0] â Keep rollback
If user chooses restore:
RESTORE_TAG=$(git tag | grep before-rollback | tail -1)
git reset --hard $RESTORE_TAG
Manual Rollback (No Git)
If Git not available or no backup tags:
đĨ Manual Rollback Method
To restore an older version without Git:
1. **Download your desired version:**
For v1.2.0:
https://github.com/davekilleen/dex/releases/tag/v1.2.0
Click "Source code (zip)"
2. **Copy your data:**
From CURRENT Dex, copy to DOWNLOADED Dex:
â System/user-profile.yaml
â System/pillars.yaml
â 00-Inbox/
â 01-Quarter_Goals/
â 02-Week_Priorities/
â 03-Tasks/
â 04-Projects/
â 05-Areas/
â 07-Archives/
â .env (if exists)
3. **Replace folders:**
âĸ Move current Dex folder to trash (or rename to dex-old)
âĸ Rename downloaded folder to 'dex'
âĸ Open in Cursor
4. **Verify:**
Run /setup to check everything works
[See version history] â All Dex releases
[Copy instructions]
Rollback Limitations
What rollback restores:
- â Dex skills
- â MCP servers
- â Core features
- â Documentation
What rollback preserves (doesn't touch):
- â Your notes (00-Inbox, 04-Projects, 05-Areas)
- â Your tasks (03-Tasks/)
- â Your configuration (user-profile, pillars)
- â Your API keys (.env)
What you might lose:
- â ī¸ New features added since v1.2.0
- â ī¸ Bug fixes introduced in v1.3.0
- â ī¸ New skills that came with update
Troubleshooting
"Rollback completed but /daily-plan doesn't work"
Likely MCP servers need restart:
- Close Cursor completely
- Reopen your Dex folder
- Try /daily-plan again
"My tasks look different after rollback"
Your task data is unchanged. What might look different:
- Task display format (if update changed rendering)
- Task sorting (if update changed logic)
Your actual tasks are safe. Check 03-Tasks/Tasks.md directly - everything is there.
"Can I rollback multiple versions?"
Yes, if backups exist:
git tag | grep backup-before
Shows all available backups:
backup-before-v1.1.0
backup-before-v1.2.0
backup-before-v1.3.0
To rollback to specific version:
git reset --hard backup-before-v1.1.0
But easier: tell /dex-rollback which version you want, and it handles it.
Prevention Better Than Cure
To avoid needing rollback:
-
Read release notes before updating
- Run
/dex-whats-newfirst - Check for breaking changes warning
- Understand what's changing
- Run
-
Update during low-stakes time
- Not right before important meeting
- Not during crunch deadline
- Give yourself time to test
-
Test after updating
- Run
/daily-plan - Open a person page
- Check key workflows
- Run
-
Keep regular backups
- Use Time Machine (Mac) or File History (Windows)
- Or manually copy Dex folder weekly
Related Commands
/dex-update- Update to latest version/dex-whats-new- Check what's available/setup- Verify Dex configuration
Philosophy
Rollback should be:
- One command away
- Always available
- Completely safe
- No data loss ever
User confidence: "I can try updates knowing I can undo them instantly"
No shame in rolling back: Updates should improve things. If they don't for you, rolling back is the right choice. Help us by reporting what went wrong.
Track Usage (Silent)
Update System/usage_log.md to mark Dex rollback as used.
Analytics (Silent):
Call track_event with event_name dex_rollback_completed and properties:
restored_version
This only fires if the user has opted into analytics. No action needed if it returns "analytics_disabled".
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
getting-started
Interactive post-onboarding tour with adaptive pathways based on available data
industry-truths
Define time-horizoned assumptions about your industry/domain that ground strategic thinking and prevent building on quicksand
process-meetings
Process synced Granola meetings to update person pages, extract tasks, and organize meeting notes
pi-tools
View and manage Pi-built extensions synced to Dex. Shows available tools, commands, and sync status.
pi
Route tasks to Pi for comparison testing. Toggle Pi mode or run specific commands through Pi.
commitment-extractor
Extract and track commitments from meeting notes - who promised what to whom, with deadlines and status tracking.
Didn't find tool you were looking for?