gsd-reapply-patches

Reapply local modifications to restored GSD files via three-way merge.

Updated Apr 9, 2026
One-click install
npx skills add https://github.com/dobrinz123/claude-skills-share --skill gsd-reapply-patches-dobrinz123
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gsd-reapply-patches
Source: https://github.com/dobrinz123/claude-skills-share/tree/main/skills/gsd-reapply-patches
Command: npx skills add https://github.com/dobrinz123/claude-skills-share --skill gsd-reapply-patches-dobrinz123

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

After a GSD update wipes and reinstalls files, users can lose their local modifications; this Skill merges previously saved backups back into the newly installed version to restore custom behavior and configuration without trusting the installer to detect intent correctly.

Core Features & Use Cases

  • Backup detection: Searches common config locations and environment overrides for gsd-local-patches and reads backup-meta.json to enumerate modified files.
  • Baseline determination: Extracts pristine baselines from git history or gsd-pristine snapshots when available, and falls back to strengthened two-way heuristics when necessary.
  • Robust merging and reporting: Performs three-way merges when possible, applies heuristics for mechanical drift vs user customization, surfaces conflicts for user resolution, and summarizes preserved changes and cleanup options.
  • Use Cases: Restore developer edits to workflow commands after a forced update, reapply agent or config tweaks across versions, and maintain custom CLI behaviors while adopting upstream fixes.

Quick Start

Reapply my saved local patches from gsd-local-patches into the updated GSD installation and prompt me to resolve any conflicts.

Frequently Asked Questions about gsd-reapply-patches

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I restore local configuration changes after a software update overwrites them?

To restore local configuration changes after an update, you can perform a three-way merge between the pristine baseline, your user backup, and the newly installed version. This safely reapplies your custom modifications while adopting upstream fixes and surfacing any conflicts for manual resolution.

What is a three-way merge for reapplying local patches?

A three-way merge for local patches compares the pristine baseline, your saved user backup, and the new installed version to accurately distinguish mechanical drift from your customizations. This mechanism ensures your modifications are preserved without blindly overwriting the updated files.

How do I reapply saved local patches from a backup directory to updated workflow files?

You can reapply saved patches by detecting backup metadata in the gsd-local-patches directory and executing a merge into the updated installation. The process reads backup-meta.json to enumerate modified files and automatically prompts you to resolve any detected conflicts.

Does the local patch merge process work if my config directory is a git repository?

Yes, the local patch merge process fully supports config directories that are git repositories. It extracts the pristine baseline directly from git history or gsd-pristine snapshots, and falls back to enhanced two-way merge heuristics when baseline data is unavailable.

What happens when conflict resolution is required during a local patch reapply?

When conflict resolution is required during a local patch reapply, the merge process explicitly surfaces the conflicts for your direct user-visible resolution. It avoids trusting the installer to guess your intent, ensuring you maintain full control over custom CLI behaviors.

What are the limitations of using two-way merge heuristics for restoring local modifications?

The limitation of using two-way merge heuristics is that they are a fallback when pristine baselines cannot be extracted from git or snapshots. This approach is less robust than a three-way merge at distinguishing upstream mechanical drift from your actual user customizations.