跳到正文
cccskills
免费在 GitHub 公开

gsd-reapply-patches

Reapply local modifications after a GSD update

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain星标 119(GitHub 119 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md5.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<codex_skill_adapter>

A. Skill Invocation

  • This skill is invoked by mentioning $gsd-reapply-patches.
  • Treat all user text after $gsd-reapply-patches as {{GSD_ARGS}}.
  • If no arguments are present, treat {{GSD_ARGS}} as empty.

B. AskUserQuestion → request_user_input Mapping

GSD workflows use AskUserQuestion (Claude Code syntax). Translate to Codex request_user_input:

Parameter mapping:

  • header → header
  • question → question
  • Options formatted as "Label" — description → {label: "Label", description: "description"}
  • Generate id from header: lowercase, replace spaces with underscores

Batched calls:

  • AskUserQuestion([q1, q2]) → single request_user_input with multiple entries in questions[]

Multi-select workaround:

  • Codex has no multiSelect. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.

Execute mode fallback:

  • When request_user_input is rejected (Execute mode), present a plain-text numbered list and pick a reasonable default.

C. Task() → spawn_agent Mapping

GSD workflows use Task(...) (Claude Code syntax). Translate to Codex collaboration tools:

Direct mapping:

  • Task(subagent_type="X", prompt="Y") → spawn_agent(agent_type="X", message="Y")
  • Task(model="...") → omit (Codex uses per-role config, not inline model selection)
  • fork_context: false by default — GSD agents load their own context via <files_to_read> blocks

Parallel fan-out:

  • Spawn multiple agents → collect agent IDs → wait(ids) for all to complete

Result parsing:

  • Look for structured markers in agent output: CHECKPOINT, PLAN COMPLETE, SUMMARY, etc.
  • close_agent(id) after collecting results from each agent </codex_skill_adapter>
<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 — detect runtime config directory
if [ -d "$HOME/.config/opencode/gsd-local-patches" ]; then
  PATCHES_DIR="$HOME/.config/opencode/gsd-local-patches"
elif [ -d "$HOME/.opencode/gsd-local-patches" ]; then
  PATCHES_DIR="$HOME/.opencode/gsd-local-patches"
elif [ -d "$HOME/.gemini/gsd-local-patches" ]; then
  PATCHES_DIR="$HOME/.gemini/gsd-local-patches"
else
  PATCHES_DIR="/Users/richardhightower/clients/spillwave/src/agent-brain/.codex/gsd-local-patches"
fi
# Local install fallback — check all runtime directories
if [ ! -d "$PATCHES_DIR" ]; then
  for dir in .config/opencode .opencode .gemini .claude; do
    if [ -d "./$dir/gsd-local-patches" ]; then
      PATCHES_DIR="./$dir/gsd-local-patches"
      break
    fi
  done
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 $gsd-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:

  1. Read the backed-up version (user's modified copy from gsd-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:

# The manifest will be regenerated on next $gsd-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>

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Installation and configuration skill for Agent Brain document search system. Use when asked to "install agent brain", "setup agent brain", "configure agent brain", "setting up document search", "installing agent-brain packages", "configuring API keys", "initializing project for search", "troubleshooting agent brain", "pip install agent-brain", "agent brain not working", "agent brain setup error", "configure embeddings provider", "setup ollama for agent brain", "agent brain environment variables", "install agent brain mcp", "configure mcp server", or "connect agent brain to claude desktop". Covers package installation (server, CLI, MCP), provider configuration, project initialization, and server management.

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain1192026年9月20日 更新

Add an idea to the backlog parking lot (999.x numbering)

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain1192026年9月20日 更新

Add phase to end of current milestone in roadmap

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain1192026年9月20日 更新

Generate tests for a completed phase based on UAT criteria and implementation

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain1192026年9月20日 更新

Capture idea or task as todo from current conversation context

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain1192026年9月20日 更新

Audit milestone completion against original intent before archiving

中文简介正在准备中。当前显示原文说明。

SpillwaveSolutions/agent-brain1192026年9月20日 更新

查看 SpillwaveSolutions 的全部技能

报告此技能的问题