Agent skill

df:reapply-patches

Reapply local modifications after a DevFlow update. Maintenance operation for merging user patches after updates.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/df-reapply-patches

SKILL.md

Step 1: Detect backed-up patches

Check for local patches directory:

bash
# Global install (path templated at install time)
PATCHES_DIR=~/.claude/df-local-patches
# Local install fallback
if [ ! -d "$PATCHES_DIR" ]; then
  PATCHES_DIR=./.claude/df-local-patches
fi

Read backup-meta.json from the patches directory.

If no patches found:

No local patches found. Nothing to reapply.

Local patches are automatically saved when you run /df:update
after modifying any DevFlow workflow, command, or agent files.

Exit.

Step 2: Show patch summary

## Local Patches to Reapply

**Backed up from:** v{from_version}
**Current version:** {read VERSION file}
**Files modified:** {count}

| # | File | Status |
|---|------|--------|
| 1 | {file_path} | Pending |
| 2 | {file_path} | Pending |

Step 3: Merge each file

For each file in backup-meta.json:

  1. Read the backed-up version (user's modified copy from df-local-patches/)

  2. Read the newly installed version (current file after update)

  3. Compare and merge:

    • If the new file is identical to the backed-up file: skip (modification was incorporated upstream)
    • If the new file differs: identify the user's modifications and apply them to the new version

    Merge strategy:

    • Read both versions fully
    • Identify sections the user added or modified (look for additions, not just differences from path replacement)
    • Apply user's additions/modifications to the new version
    • If a section the user modified was also changed upstream: flag as conflict, show both versions, ask user which to keep
  4. Write merged result to the installed location

  5. Report status:

    • Merged — user modifications applied cleanly
    • Skipped — modification already in upstream
    • Conflict — user chose resolution

Step 4: Update manifest

After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:

bash
# The manifest will be regenerated on next /df:update
# For now, just note which files were modified

Step 5: Cleanup option

Ask user:

  • "Keep patch backups for reference?" → preserve df-local-patches/
  • "Clean up patch backups?" → remove df-local-patches/ directory

Step 6: Report

## Patches Reapplied

| # | File | Status |
|---|------|--------|
| 1 | {file_path} | ✓ Merged |
| 2 | {file_path} | ○ Skipped (already upstream) |
| 3 | {file_path} | ⚠ Conflict resolved |

{count} file(s) updated. Your local modifications are active again.

<success_criteria>

  • All backed-up patches processed
  • User modifications merged into new version
  • Conflicts resolved with user input
  • Status reported for each file </success_criteria>

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results