Git-aware undo by logical work unit (track, phase, or task)
Install with Tessl CLI
npx tessl i github:sickn33/antigravity-awesome-skills --skill conductor-revert66
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Revert changes by logical work unit with full git awareness. Supports reverting entire tracks, specific phases, or individual tasks.
resources/implementation-playbook.md.Verify Conductor is initialized:
conductor/tracks.md exists/conductor:setup firstVerify git repository:
Run git status to confirm git repo
Check for uncommitted changes
If uncommitted changes exist:
WARNING: Uncommitted changes detected
Files with changes:
{list of files}
Options:
1. Stash changes and continue
2. Commit changes first
3. Cancel revertVerify git is clean enough to revert:
Parse the argument format:
Full track: {trackId}
auth_20250115Specific phase: {trackId}:phase{N}
auth_20250115:phase2Specific task: {trackId}:task{X.Y}
auth_20250115:task2.3Display guided selection menu:
What would you like to revert?
Currently In Progress:
1. [~] Task 2.3 in dashboard_20250112 (most recent)
Recently Completed:
2. [x] Task 2.2 in dashboard_20250112 (1 hour ago)
3. [x] Phase 1 in dashboard_20250112 (3 hours ago)
4. [x] Full track: auth_20250115 (yesterday)
Options:
5. Enter specific reference (track:phase or track:task)
6. Cancel
Select option:Search git log for task-specific commits:
git log --oneline --grep="{trackId}" --grep="Task {X.Y}" --all-matchAlso find the plan.md update commit:
git log --oneline --grep="mark task {X.Y} complete" --grep="{trackId}" --all-matchCollect all matching commit SHAs
Determine task range for the phase by reading plan.md
Search for all task commits in that phase:
git log --oneline --grep="{trackId}" | grep -E "Task {N}\.[0-9]"Find phase verification commit if exists
Find all plan.md update commits for phase tasks
Collect all matching commit SHAs in chronological order
Find ALL commits mentioning the track:
git log --oneline --grep="{trackId}"Find track creation commits:
git log --oneline -- "conductor/tracks/{trackId}/"Collect all matching commit SHAs in chronological order
Before any revert operations, display full plan:
================================================================================
REVERT EXECUTION PLAN
================================================================================
Target: {description of what's being reverted}
Commits to revert (in reverse chronological order):
1. abc1234 - feat: add chart rendering (dashboard_20250112)
2. def5678 - chore: mark task 2.3 complete (dashboard_20250112)
3. ghi9012 - feat: add data hooks (dashboard_20250112)
4. jkl3456 - chore: mark task 2.2 complete (dashboard_20250112)
Files that will be affected:
- src/components/Dashboard.tsx (modified)
- src/hooks/useData.ts (will be deleted - was created in these commits)
- conductor/tracks/dashboard_20250112/plan.md (modified)
Plan updates:
- Task 2.2: [x] -> [ ]
- Task 2.3: [~] -> [ ]
================================================================================
!! WARNING !!
================================================================================
This operation will:
- Create {N} revert commits
- Modify {M} files
- Reset {P} tasks to pending status
This CANNOT be easily undone without manual intervention.
================================================================================
Type 'YES' to proceed, or anything else to cancel:CRITICAL: Require explicit 'YES' confirmation. Do not proceed on 'y', 'yes', or enter.
Execute reverts in reverse chronological order (newest first):
Executing revert plan...
[1/4] Reverting abc1234...
git revert --no-edit abc1234
✓ Success
[2/4] Reverting def5678...
git revert --no-edit def5678
✓ Success
[3/4] Reverting ghi9012...
git revert --no-edit ghi9012
✓ Success
[4/4] Reverting jkl3456...
git revert --no-edit jkl3456
✓ SuccessIf any revert produces a merge conflict:
================================================================================
MERGE CONFLICT DETECTED
================================================================================
Conflict occurred while reverting: {sha} - {message}
Conflicted files:
- src/components/Dashboard.tsx
Options:
1. Show conflict details
2. Abort revert sequence (keeps completed reverts)
3. Open manual resolution guide
IMPORTANT: Reverts 1-{N} have been completed. You may need to manually
resolve this conflict before continuing or fully undo the revert sequence.
Select option:HALT immediately on any conflict. Do not attempt automatic resolution.
After successful git reverts, update plan.md:
[x] -> [ ][~] -> [ ]tasks.completedstatus if neededupdated timestampDo NOT commit plan.md changes - they are part of the revert operation
[x] or [~] to [ ][~] if partially complete, [ ] if fully revertedAfter revert completion:
================================================================================
REVERT COMPLETE
================================================================================
Summary:
- Reverted {N} commits
- Reset {P} tasks to pending
- {M} files affected
Git log now shows:
{recent commit history}
Plan.md status:
- Task 2.2: [ ] Pending
- Task 2.3: [ ] Pending
================================================================================
Verify the revert was successful:
1. Run tests: {test command}
2. Check application: {relevant check}
If issues are found, you may need to:
- Fix conflicts manually
- Re-implement the reverted tasks
- Use 'git revert HEAD~{N}..HEAD' to undo the reverts
================================================================================git reset --hard - Only use git revertgit push --force - Only safe push operationsNo commits found for track: {trackId}
The track exists but has no associated commits. This may mean:
- Implementation never started
- Commits used different format
Options:
1. Delete track directory only
2. CancelSome commits appear to already be reverted:
- abc1234 was reverted by xyz9876
Options:
1. Skip already-reverted commits
2. Cancel and investigateWARNING: Some commits have been pushed to remote
Commits on remote:
- abc1234 (origin/main)
- def5678 (origin/main)
Reverting will create new revert commits that you'll need to push.
This is the safe approach (no force push required).
Continue with revert? (YES/no):If user needs to undo the revert itself:
To undo this revert operation:
git revert HEAD~{N}..HEAD
This will create new commits that restore the reverted changes.
Alternatively, if not yet pushed:
git reset --soft HEAD~{N}
git checkout -- .
(Use with caution - this discards the revert commits)068b4b5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.