AgentSkillsCN

issue-fix-flow

利用 gh CLI、本地代码变更、构建与测试,以及 git push,实现端到端的 GitHub 问题修复流程。当被要求提供问题编号、实施修复、运行构建与测试、以包含关闭信息的提交消息进行提交,并推送时,可选用此流程。

SKILL.md
--- frontmatter
name: issue-fix-flow
description: End-to-end GitHub issue fix workflow using gh CLI, local code changes, builds/tests, and git push. Use when asked to take an issue number, implement a fix, run builds/tests, commit with a closing message, and push.

GitHub Issue Fix Flow

Overview

Resolve a GitHub issue from intake through fix, validation, and push using gh CLI, local edits, and git.

Workflow

1) Intake and Issue Context

Get full issue context:

bash
gh issue view <id> --comments

If repo is unclear:

bash
gh repo view --json nameWithOwner

Capture from the issue:

  • Reproduction steps
  • Expected behavior
  • Maintainer notes or labels
  • Related issues or PRs

2) Locate the Code Path

Search for relevant code:

bash
# Find files related to the issue
rg -n "keyword from issue"

# Find function definitions
rg -n "func relevantFunction"

# Find type definitions
rg -n "struct|class|enum RelevantType"

Read relevant code paths and understand:

  • Entry points
  • Data flow
  • Existing patterns and conventions

3) Implement the Fix

Guidelines:

  • Edit the minimal set of files
  • Keep changes aligned with existing architecture and style
  • Add tests when behavior changes and coverage is practical
  • Follow repo-specific conventions (check CONTRIBUTING.md, AGENTS.md, CLAUDE.md)

4) Build and Test

For Swift/Xcode projects:

bash
# Build
swift build
# or
xcodebuild -scheme MyApp -destination 'platform=macOS' build

# Test
swift test
# or
xcodebuild -scheme MyAppTests -destination 'platform=macOS' test

For other projects, use appropriate build/test commands.

Report warnings or failures - do not hide them.

5) Commit and Push

Check for unrelated changes:

bash
git status --short
git diff

Stage only the fix:

bash
git add <specific files>

Commit with closing message:

bash
git commit -m "Fix: <description>

Closes #<issue number>"

Push:

bash
git push

6) Report Back

Provide summary:

  • What changed and where
  • Test results (including any failures)
  • Follow-ups or blocked items

Quick Reference

TaskCommand
View issuegh issue view <id> --comments
List issuesgh issue list
View repogh repo view --json nameWithOwner
Create branchgit checkout -b fix/issue-<id>
Stage filesgit add <files>
Commitgit commit -m "Fix: ... Closes #<id>"
Pushgit push -u origin HEAD
Create PRgh pr create --fill

Commit Message Format

code
Fix: Brief description of the fix

More detailed explanation if needed.
- What was the problem
- How it was fixed
- Any notable changes

Closes #123

Branch Naming

bash
# Feature
git checkout -b feature/issue-123-add-feature

# Bug fix
git checkout -b fix/issue-123-fix-bug

# Refactor
git checkout -b refactor/issue-123-cleanup

PR Workflow (Optional)

If working on a branch for PR:

bash
# Create branch
git checkout -b fix/issue-<id>

# Make changes, commit
git add .
git commit -m "Fix: description (closes #<id>)"

# Push and create PR
git push -u origin HEAD
gh pr create --fill

Checklist

  • Issue context captured (repro steps, expected behavior)
  • Code path located and understood
  • Fix implemented with minimal changes
  • Tests added/updated if applicable
  • Build passes
  • Tests pass
  • Only relevant files staged
  • Commit message includes Closes #<id>
  • Changes pushed
  • Summary provided