원클릭으로
kf-revert
Git-aware undo by logical work unit (track, phase, or task)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Git-aware undo by logical work unit (track, phase, or task)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Kiloforge CLI tools reference and shared documentation hub. Lists available tools, provides runtime environment info, and hosts reference docs used by other kf-* skills.
Receive a track ID, validate it is an active unclaimed track, then implement it following the kiloforge workflow.
Product strategy advisor: research the codebase and competitive landscape to provide product design, branding, feature prioritization, and competitive analysis advice. Produces actionable reports to .agent/kf/_reports/product-advisor/ designed for handoff to /kf-architect.
Project architect: research the codebase and distill feature requests into well-scoped kiloforge tracks with specs and implementation plans. Splits large work into multiple tracks (including BE/FE splits). Merges track artifacts to the primary branch so developer workers can claim them.
Resolve git merge conflicts during push or pull sync operations. Fetches remote changes, merges, resolves conflicts (or escalates), and completes the sync.
Interactive project bootstrapper with platform-aware defaults. Guides users through project creation decisions, generates a blueprint, scaffolds the project, and invokes kf-setup with pre-populated answers.
| name | kf-revert |
| description | Git-aware undo by logical work unit (track, phase, or task) |
| metadata | {"argument-hint":"[track-id | track-id:phase | track-id:task]"} |
Revert changes by logical work unit with full git awareness. Supports reverting entire tracks, specific phases, or individual tasks.
resources/implementation-playbook.md.Run pre-flight check:
eval "$(~/.kf/bin/kf-preflight.py)"
This verifies all required metadata files exist on the primary branch and sets PRIMARY_BRANCH. If it fails, it prints an error suggesting /kf-setup — HALT.
Verify 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 revert
Verify git is clean enough to revert:
Parse the argument format:
Full track: {trackId}
auth_20250115100000ZSpecific phase: {trackId}:phase{N}
auth_20250115100000Z:phase2Specific task: {trackId}:task{X.Y}
auth_20250115100000Z:task2.3Display guided selection menu:
What would you like to revert?
Currently In Progress:
1. in-progress Task 2.3 in dashboard_20250112140000Z (most recent)
Recently Completed:
2. completed Task 2.2 in dashboard_20250112140000Z (1 hour ago)
3. completed Phase 1 in dashboard_20250112140000Z (3 hours ago)
4. completed Full track: auth_20250115100000Z (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-match
Also find the track.yaml update commit:
git log --oneline --grep="mark task {X.Y} complete" --grep="{trackId}" --all-match
Collect all matching commit SHAs
Determine task range for the phase by reading track.yaml
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 track.yaml 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 -- ".agent/kf/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_20250112140000Z)
2. def5678 - chore: mark task 2.3 complete (dashboard_20250112140000Z)
3. ghi9012 - feat: add data hooks (dashboard_20250112140000Z)
4. jkl3456 - chore: mark task 2.2 complete (dashboard_20250112140000Z)
Files that will be affected:
- src/components/Dashboard.tsx (modified)
- src/hooks/useData.ts (will be deleted - was created in these commits)
- .agent/kf/tracks/dashboard_20250112140000Z/track.yaml (modified)
Plan updates:
- Task 2.2: completed -> pending
- Task 2.3: in-progress -> pending
================================================================================
!! 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
✓ Success
If 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 track.yaml:
~/.kf/bin/kf-track-content.py task {trackId} X.Y --undo
~/.kf/bin/kf-track.py update {trackId} --status pending
Do NOT commit track.yaml changes - they are part of the revert operation
~/.kf/bin/kf-track.py update {trackId} --status pending~/.kf/bin/kf-track.py update {trackId} --status pending (or in-progress if partially complete)After revert completion:
================================================================================
REVERT COMPLETE
================================================================================
Summary:
- Reverted {N} commits
- Reset {P} tasks to pending
- {M} files affected
Git log now shows:
{recent commit history}
Track 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. Cancel
Some commits appear to already be reverted:
- abc1234 was reverted by xyz9876
Options:
1. Skip already-reverted commits
2. Cancel and investigate
WARNING: 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)