fusion-issue-solving
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseIssue Solving Workflow
GitHub Issue解决工作流
When to use
适用场景
Use this skill when the user wants to solve or continue a GitHub issue end-to-end, including short current-repo prompts like , direct GitHub issue URLs, or requests like .
solve #123lets work on https://github.com/owner/repo/issues/123Typical triggers:
- "lets solve #123"
- "solve #123"
- "work on #123"
- "lets work on https://github.com/owner/repo/issues/123"
- "https://github.com/owner/repo/issues/123"
- "continue work on issue #123"
- "implement issue #123 end-to-end"
- "work on this ticket: [issue URL]"
- "research, implement, and prepare a PR for this issue"
Treat GitHub issue URLs as interchangeable with references for verbs like , , , , , or . A direct GitHub issue URL can also serve as the main request payload for this workflow when no competing intent is stated.
#123solvefiximplementcontinuefinishwork on当用户希望端到端解决或继续处理某个GitHub issue时,可使用此技能,支持的请求包括当前仓库内的简短指令(如)、GitHub issue的直接URL,或类似「lets work on https://github.com/owner/repo/issues/123」的请求。
solve #123典型触发指令:
- "lets solve #123"
- "solve #123"
- "work on #123"
- "lets work on https://github.com/owner/repo/issues/123"
- "https://github.com/owner/repo/issues/123"
- "continue work on issue #123"
- "implement issue #123 end-to-end"
- "work on this ticket: [issue URL]"
- "research, implement, and prepare a PR for this issue"
对于「fix」「implement」「continue」「finish」「work on」等动词,GitHub issue URL与引用格式可互换使用。当没有其他冲突意图时,直接的GitHub issue URL也可作为此工作流的主要请求内容。
solve#123When not to use
不适用场景
Do not use this skill when:
- the request is only issue drafting/authoring,
- no implementation changes are expected,
- repository write operations are disallowed.
请勿在以下场景使用此技能:
- 仅需起草/撰写issue,
- 无需进行任何代码实现变更,
- 仓库禁止写入操作。
Required inputs
必要输入项
Collect before execution:
- issue URL or ,
owner/repo#number - repository and branch/worktree decision,
- acceptance criteria and out-of-scope constraints,
- required validation commands for the target repository.
Optional inputs:
- related issues/PRs,
- risk areas to prioritize,
- requested commit/PR granularity.
执行前需收集:
- issue URL或格式的标识,
owner/repo#number - 仓库及分支/工作树的选择,
- 验收标准与范围外约束条件,
- 目标仓库要求的验证命令。
可选输入项:
- 相关issue/PR,
- 需要优先关注的风险点,
- 要求的提交/PR粒度。
Instructions
操作步骤
-
Ask whether to use a dedicated git worktree
- Ask this before any other workflow questions.
- If yes, use/create the worktree and continue there.
-
Confirm issue context and success criteria
- Read the issue body, labels, and linked discussions once, then reuse that context instead of refetching.
- Restate the implementable scope and explicitly list out-of-scope items.
-
Confirm assignee intent for issue closure work
- Check whether the current user is assigned to the primary issue.
- If the current user is not assigned, ask whether they want to assign themselves before continuing.
- For each sub-issue that will be resolved or closed by this workflow, check assignee status once and reuse the result for closure decisions.
- If the current user is not assigned on a sub-issue, ask whether they want to assign themselves before resolving/closing it.
-
Apply low-token GitHub strategy
- Prefer MCP-backed tools over ad hoc or GraphQL calls when equivalent tools exist.
gh api - Avoid duplicate lookups for labels, issue types, and duplicate detection.
- Cache per-run context (issue metadata, duplicate matches, issue-type support, label sets, assignee candidates) and reuse it — do not re-fetch data that was already retrieved in this session.
- When delegating to or its subordinate skills, the orchestrator's session-cache rules apply: labels and assignee candidates are fetched once per repository, issue types once per organization.
fusion-issue-authoring - Use GraphQL fallback only when MCP coverage is unavailable and do not loop retries.
- GraphQL mutations cost 5 secondary-limit points each (vs 1 for queries); batch fields into single calls and pause at least 1 second between mutation calls.
- Budget awareness: a typical implementation session (read issue + duplicate check + 1–2 mutations + sub-issue links) should stay under ~20 MCP read calls and ~5 mutations. If the running total approaches 30+ calls, pause optional enrichment and proceed with local work.
- Respect and
retry-afterheaders; do not retry before the indicated wait.x-ratelimit-reset - If rate limits are hit, stop non-essential operations and continue with local implementation/PR preparation when possible.
- Prefer MCP-backed tools over ad hoc
-
Build and track a concrete plan
- Create actionable todos ordered by dependencies.
- Keep exactly one step in progress and update status as work completes.
-
Research before edits
- Inspect relevant files, tests, and adjacent usage.
- Prefer root-cause fixes over surface patches.
-
Implement in small scoped changes
- Keep each change aligned to issue acceptance criteria.
- Avoid unrelated refactors and generated release artifacts.
-
Validate incrementally
- Run targeted checks first, then required project checks.
- If checks fail, fix relevant issues and re-run before proceeding.
-
Prepare PR-ready output
- Summarize what changed and why.
- Include validation evidence and known follow-ups.
- Draft the PR body in a file with an issue/context-specific name (for example,
.tmp/), not a shared.tmp/pr-body-issue-123-scope-summary.md..tmp/pr-body.md - Base the draft on and keep it updated as implementation evolves.
.github/pull_request_template.md - Ask which base branch to target and propose a likely default (typically , or the branch the current branch was cut from).
main - Ask whether the PR should be opened as draft or ready for review.
- Ask whether the PR should be assigned to the user and whether related issues should be linked.
-
Optional GitHub mutation steps
- Before any GitHub mutation (create/edit/comment/close), ask for explicit user confirmation.
- If requested, update issue status/comments with objective progress.
- Prefer MCP tool mutations over ad hoc API calls when equivalent operations exist.
- If GitHub API rate limits block mutation, report the failure clearly, stop retry loops, and propose a safe retry sequence.
- If requested, create or update the PR using the repository PR template and the PR body draft file, using the confirmed base branch, draft/ready state, assignee choice, and related issue links.
.tmp/
-
询问是否使用专用的git worktree
- 此问题需在其他工作流问题之前提出。
- 若用户同意,使用/创建该worktree并在其中继续后续操作。
-
确认issue上下文与成功标准
- 读取一次issue正文、标签及关联讨论内容,之后复用该上下文信息,无需重复获取。
- 重述可实施的范围,并明确列出不属于实施范围的内容。
-
确认用户对issue关闭工作的分配意向
- 检查当前用户是否已被分配为主要issue的负责人。
- 若当前用户未被分配,询问其是否希望在继续操作前将自己设为负责人。
- 对于本工作流将解决或关闭的每个子issue,仅检查一次负责人状态,并将结果复用至关闭决策中。
- 若当前用户未被分配为子issue的负责人,询问其是否希望在解决/关闭该子issue前将自己设为负责人。
-
应用低令牌消耗的GitHub策略
- 当存在等效工具时,优先使用基于MCP的工具,而非临时的或GraphQL调用。
gh api - 避免重复查询标签、issue类型及重复项检测信息。
- 缓存单次运行的上下文信息(如issue元数据、重复匹配项、支持的issue类型、标签集、负责人候选)并复用——无需重新获取本次会话中已检索到的数据。
- 当委托给或其下属技能时,需遵循编排器的会话缓存规则:标签和负责人候选按仓库单次获取,issue类型按组织单次获取。
fusion-issue-authoring - 仅当MCP未覆盖相关功能时,才使用GraphQL作为备选方案,且不要循环重试。
- 每次GraphQL变更操作会消耗5个次级限制点数(查询操作仅消耗1个);将字段批量整合到单次调用中,且变更调用之间至少暂停1秒。
- 预算意识:一次典型的实施会话(读取issue + 重复项检查 + 1-2次变更 + 子issue关联)的MCP读取调用应控制在约20次以内,变更调用控制在5次以内。若累计调用量接近30次及以上,暂停可选的信息补充操作,继续进行本地实施工作。
- 遵守和
retry-after响应头;在指示的等待时间之前不要重试。x-ratelimit-reset - 若触发速率限制,停止非必要操作,尽可能继续进行本地实施/PR准备工作。
- 当存在等效工具时,优先使用基于MCP的工具,而非临时的
-
制定并跟踪具体计划
- 创建按依赖关系排序的可执行待办事项。
- 同时仅推进一个步骤,完成后更新状态。
-
编辑前开展调研
- 检查相关文件、测试用例及周边代码的使用方式。
- 优先修复问题根源,而非仅做表面补丁。
-
以小范围变更的方式实施
- 确保每次变更都符合issue的验收标准。
- 避免进行无关的重构操作及生成发布工件。
-
逐步验证
- 先运行针对性检查,再执行项目要求的检查。
- 若检查失败,修复相关问题后重新运行,再继续后续操作。
-
准备可提交PR的输出内容
- 总结变更内容及变更原因。
- 包含验证证据及已知的后续工作。
- 在目录下创建一个与issue/上下文相关的命名文件(例如
.tmp/)来起草PR正文,而非使用共享的.tmp/pr-body-issue-123-scope-summary.md文件。.tmp/pr-body.md - 基于起草PR正文,并随着实施进展不断更新。
.github/pull_request_template.md - 询问目标基准分支,并建议一个合理的默认选项(通常为,或当前分支的源分支)。
main - 询问PR应设为草稿状态还是可审核状态。
- 询问是否将PR分配给当前用户,以及是否关联相关issue。
-
可选的GitHub变更步骤
- 在执行任何GitHub变更操作(创建/编辑/评论/关闭)前,需获得用户的明确确认。
- 若用户要求,更新issue状态/评论以客观反映进展。
- 当存在等效操作时,优先使用MCP工具执行变更,而非临时API调用。
- 若GitHub API速率限制阻止了变更操作,清晰报告失败情况,停止重试循环,并提出安全的重试方案。
- 若用户要求,使用仓库的PR模板和目录下的PR正文草稿文件创建或更新PR,同时使用已确认的基准分支、草稿/可审核状态、负责人选择及相关issue关联。
.tmp/
Expected output
预期输出
Return a concise delivery report with:
- implemented scope vs original issue criteria,
- files changed,
- validation commands and outcomes,
- assignment decisions for primary issue and affected sub-issues,
- API usage strategy used (MCP-first/cache reuse/fallbacks),
- open risks/blockers,
- PR body summary (or draft file path when created).
.tmp/
返回一份简洁的交付报告,包含:
- 已实施范围与原始issue标准的对比,
- 已变更的文件,
- 验证命令及结果,
- 主issue及受影响子issue的负责人分配决策,
- 使用的API策略(优先MCP/缓存复用/备选方案),
- 未解决的风险/阻塞点,
- PR正文摘要(或已创建的草稿文件路径)。
.tmp/
Assets
相关资源
- assets/issue-solving-checklist.md
- assets/issue-solving-checklist.md
Safety & constraints
安全与约束
- Never request or expose secrets/credentials.
- Never run destructive commands without explicit confirmation.
- Keep changes minimal and scoped to the issue.
- Do not claim checks passed without running them.
- Follow repository instructions and contribution rules.
- 绝不请求或泄露密钥/凭证。
- 未经明确确认,绝不执行破坏性命令。
- 保持变更最小化,且严格限定在issue范围内。
- 未实际运行检查的情况下,不得声称检查通过。
- 遵循仓库的操作指南及贡献规则。