cmd-fix-internal-requests
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese/fix-internal-requests
/fix-internal-requests
Agent skill wrapper for the Claude command .
/fix-internal-requestsWhen the original command text references , , or named arguments, map them from the user's current request.
{{INPUT}}$1Claude命令的Agent skill封装。
/fix-internal-requests当原始命令文本引用、或命名参数时,从用户当前请求中映射这些参数。
{{INPUT}}$1Command Instructions
命令说明
Fix Internal Request Issues
修复内部请求问题
Fix all open GitHub issues labeled in isolated worktrees, then open PRs.
internal request在独立工作树中修复所有标记为的GitHub未解决问题,然后提交PR。
internal requestSetup (once)
初始化设置(仅需一次)
bash
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
REPO_ROOT=$(git rev-parse --show-toplevel)
BASE_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
mkdir -p .trees
gh label create "internal request fixed" --color "0e8a16" --force 2>/dev/null
gh label create "unable to resolve" --color "e4e669" --force 2>/dev/nullbash
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
REPO_ROOT=$(git rev-parse --show-toplevel)
BASE_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
mkdir -p .trees
gh label create "internal request fixed" --color "0e8a16" --force 2>/dev/null
gh label create "unable to resolve" --color "e4e669" --force 2>/dev/null1. List Issues
1. 列出问题
Fetch open issues labeled via GitHub MCP using . Post-fetch, exclude any with label or that already have an open PR targeting .
internal request$REPOunable to resolvefix/issue-{number}If none remain, report "No open internal request issues" and stop.
Print summary table: number, title, labels.
通过GitHub MCP使用获取标记为的未解决问题。获取后,排除带有标签或已有针对的开放PR的问题。
$REPOinternal requestunable to resolvefix/issue-{number}如果没有剩余问题,报告"无开放的内部请求问题"并停止。
打印汇总表格:编号、标题、标签。
2. Per-Issue Loop
2. 逐个处理问题
For each issue, sequentially:
针对每个问题,依次执行以下步骤:
Branch & Worktree
创建分支与工作树
bash
git worktree remove .trees/issue-{number} 2>/dev/null; git branch -D fix/issue-{number} 2>/dev/null
git worktree add .trees/issue-{number} -b fix/issue-{number} "$BASE_BRANCH"bash
git worktree remove .trees/issue-{number} 2>/dev/null; git branch -D fix/issue-{number} 2>/dev/null
git worktree add .trees/issue-{number} -b fix/issue-{number} "$BASE_BRANCH"Fix
修复问题
Work only inside :
.trees/issue-{number}/- Read the issue body — identify affected files, expected behavior, repro steps
- Implement minimum viable fix (add tests if warranted)
- Verify the fix builds and tests pass
仅在目录内操作:
.trees/issue-{number}/- 阅读问题内容——确定受影响的文件、预期行为、复现步骤
- 实现最小可行修复(如有必要添加测试)
- 验证修复可构建且测试通过
Commit & PR
提交代码并创建PR
bash
cd .trees/issue-{number}
git add -A && git commit -m "fix: {description} (fixes #{number})"
git push -u origin fix/issue-{number}
gh pr create --base "$BASE_BRANCH" --head fix/issue-{number} \
--title "fix: {description}" \
--label "internal request fixed" \
--body $'## Summary\n- {bullets}\n\nFixes #{number}'bash
cd .trees/issue-{number}
git add -A && git commit -m "fix: {description} (fixes #{number})"
git push -u origin fix/issue-{number}
gh pr create --base "$BASE_BRANCH" --head fix/issue-{number} \
--title "fix: {description}" \
--label "internal request fixed" \
--body $'## Summary\n- {bullets}\n\nFixes #{number}'Cleanup
清理工作
bash
cd "$REPO_ROOT"
git worktree remove .trees/issue-{number}bash
cd "$REPO_ROOT"
git worktree remove .trees/issue-{number}On Failure
处理失败情况
If the issue can't be fixed (ambiguous scope, missing info, design decisions needed):
gh issue edit {number} --add-label "unable to resolve"gh issue comment {number} --body "Automated fix not possible: {reason}"- Clean up worktree/branch, mark as skipped
如果问题无法修复(范围模糊、信息缺失、需要设计决策):
gh issue edit {number} --add-label "unable to resolve"gh issue comment {number} --body "Automated fix not possible: {reason}"- 清理工作树/分支,标记为已跳过
3. Summary
3. 汇总报告
Repo: $REPO
Internal Request Issues Processed:
#{n} — {title} → PR #{pr} (fix/issue-{n})
#{m} — {title} → Skipped: {reason}
Created: X | Skipped: Y | Failed: ZRepo: $REPO
Internal Request Issues Processed:
#{n} — {title} → PR #{pr} (fix/issue-{n})
#{m} — {title} → Skipped: {reason}
Created: X | Skipped: Y | Failed: ZConstraints
约束条件
- Never modify main working directory — worktrees only
- Never push code that fails build or tests
- Use in commit message for auto-close on merge
fixes #{number} - Build/test commands are repo-specific — read from project config or CLAUDE.md
- 绝不修改主工作目录——仅使用工作树
- 绝不推送构建或测试失败的代码
- 在提交信息中使用以便合并时自动关闭问题
fixes #{number} - 构建/测试命令因仓库而异——从项目配置或CLAUDE.md中读取