Gsd Reapply Patches
Reapply local modifications after a GSD update
by shoootyou · MIT
The skill
Reapply local modifications after a GSD update
<purpose> After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed. </purpose>
<process>
Step 1: Detect backed-up patches
Check for local patches directory:
# Global install (path templated at install time)
PATCHES_DIR={{PLATFORM_ROOT}}/gsd-local-patches
# Local install fallback
if [ ! -d "$PATCHES_DIR" ]; then
PATCHES_DIR={{PLATFORM_ROOT}}/gsd-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 {{COMMAND_PREFIX}}update
after modifying any GSD 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:
-
Read the backed-up version (user's modified copy from
gsd-local-patches/) -
Read the newly installed version (current file after update)
-
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
-
Write merged result to the installed location
-
Report status:
Merged— user modifications applied cleanlySkipped— modification already in upstreamConflict— user chose resolution
Step 4: Update manifest
After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:
# The manifest will be regenerated on next {{COMMAND_PREFIX}}update
# For now, just note which files were modified
Step 5: Cleanup option
Ask user:
- "Keep patch backups for reference?" → preserve
gsd-local-patches/ - "Clean up patch backups?" → remove
gsd-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.
</process>
<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>
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: shoootyou/gsd-reapply-patches-50897257796.
Details
- Publisher
- shoootyou
- Category
- AI & Agents › Skill & prompt authoring
- License
- MIT
- Updated
- 2026-03-20
References
More from shoootyou
- Get Shit Done Structured spec-driven workflow for planning and executing software projects with Claude Code.
- Get Shit Done Structured spec-driven workflow for planning and executing software projects with Codex CLI.
- Get Shit Done Structured spec-driven workflow for planning and executing software projects with GitHub Copilot…
- Gsd Add Phase Add phase to end of current milestone in roadmap