fusion-issue-solving
equinor/fusion-skills
End-to-end GitHub issue resolution from prompt to PR-ready implementation.
What is fusion-issue-solving?
Handles complete GitHub issue workflows triggered by prompts like "solve #123" or direct issue URLs. Manages scope confirmation, implementation, validation, and PR preparation with low-token GitHub strategy and explicit user confirmations for mutations.
- Accepts issue references (#123, URLs, or direct GitHub links) and confirms implementable scope
- Manages git worktree setup and branch decisions before implementation
- Tracks concrete action plans with dependency ordering and incremental validation
- Implements scoped changes aligned to acceptance criteria with root-cause research
- Validates changes with targeted checks and required project validations
- Prepares PR-ready output with draft body, base branch selection, and related issue linking
How to install fusion-issue-solving
npx skills add https://github.com/equinor/fusion-skills --skill fusion-issue-solving- GitHub repository with write access (for mutations)
- MCP tools for GitHub integration (suggested: github, mcp_fusion)
- Repository-specific validation commands and PR template (.github/pull_request_template.md)
How to use fusion-issue-solving
- 1.Trigger with 'solve #123', 'work on #123', or paste a GitHub issue URL
- 2.Confirm whether to use a dedicated git worktree for isolation
- 3.Review and restate the issue scope, acceptance criteria, and out-of-scope items
- 4.Confirm assignee status and self-assign if needed before proceeding
- 5.Execute the implementation plan with incremental validation after each change
- 6.Review the PR draft in .tmp/ and confirm base branch, draft/ready state, and related links
- 7.Authorize any GitHub mutations (comments, status updates, PR creation) before execution
Use cases
- Solve a specific issue end-to-end: 'solve #123' or paste a GitHub issue URL
- Continue work on an assigned issue with scope confirmation and validation
- Implement an issue across multiple files with incremental testing and PR preparation
- Research, implement, and prepare a PR for a complex issue in a single workflow
- Resolve sub-issues and manage assignee status for closure decisions
- Developers implementing assigned or self-assigned GitHub issues
- Teams automating issue-to-PR workflows with explicit confirmation gates
- Contributors managing scope, validation, and PR preparation in one session
fusion-issue-solving FAQ
Use this skill when you need end-to-end implementation, validation, and PR preparation. Do not use it for issue drafting only, PR review only, or non-implementation research.
The skill will ask whether you want to assign yourself before continuing. You must confirm assignee intent for each issue and sub-issue that will be resolved.
It uses MCP-backed tools first, caches per-run context (labels, assignees, metadata), and avoids duplicate lookups. It respects rate-limit headers and stops non-essential operations if limits are approached.
Yes. The skill prepares a PR draft in .tmp/ and asks for explicit confirmation before opening the PR. You can review and refine the draft before authorizing the mutation.
The skill will fix relevant issues and re-run checks before proceeding. It does not claim checks passed without running them and reports failures clearly.
Full instructions (SKILL.md)
Source of truth, from equinor/fusion-skills.
name: fusion-issue-solving description: 'Handles GitHub issue resolution end-to-end for prompts like "solve #123", "lets solve #123", "work on #123", "work on https://github.com/owner/repo/issues/123", or by pasting a direct GitHub issue URL as the request. USE FOR: solve #123, continue work on issue #123, work on https://github.com/owner/repo/issues/123, paste a GitHub issue URL for implementation work. DO NOT USE FOR: issue drafting only, PR review only, or non-implementation research.' license: MIT metadata: version: "0.1.7" status: experimental owner: "@equinor/fusion-core" tags: - github - github-issue - issue-solving - issue-workflow - implementation - workflow - continue mcp: suggested: - github - mcp_fusion
Issue Solving Workflow
When to use
Use when the user wants to solve or continue a GitHub issue end-to-end, including short current-repo prompts like solve #123, direct GitHub issue URLs, or requests like lets work on https://github.com/owner/repo/issues/123.
Typical 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 #123 references for verbs like solve, fix, implement, continue, finish, or work on. A direct GitHub issue URL can serve as the main request payload when no competing intent is stated.
When not to use
- Request is only issue drafting/authoring
- No implementation changes expected
- Repository write operations are disallowed
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:
- related issues/PRs
- risk areas to prioritize
- requested commit/PR granularity
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
gh apior GraphQL calls when equivalent tools exist. - 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
fusion-issue-authoringor its subordinate skills, the orchestrator's session-cache rules apply: labels and assignee candidates are fetched once per repository, issue types once per organization. - 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
retry-afterandx-ratelimit-resetheaders; do not retry before the indicated wait. - 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
.tmp/file with an issue/context-specific name (for example,.tmp/pr-body-issue-123-scope-summary.md), not a shared.tmp/pr-body.md. - Base the draft on
.github/pull_request_template.mdand keep it updated as implementation evolves. - Ask which base branch to target and propose a likely default (typically
main, or the branch the current branch was cut from). - 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
.tmp/PR body draft file, using the confirmed base branch, draft/ready state, assignee choice, and related issue links.
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
.tmp/draft file path when created).
Assets
Safety & constraints
- This skill is mutation-capable. Repository-local workflow instructions take precedence over inline guidance when they conflict.
- 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.
Related skills
More from equinor/fusion-skills and the wider catalog.

fusion-issue-task-planning
Plan and break down user-story issues into ordered, traceable task issue drafts with explicit publish gates.

fusion-mcp
Explain what Fusion MCP is and guide users through setting it up when they need Fusion-aware MCP capabilities in Copilot workflows.

fusion-research
Source-backed research orchestrator for the Fusion ecosystem. Routes to the correct research agent based on question type. Returns source-backed evidence only; will not invent Framework behavior, component APIs, skill catalog relationships, platform guidance, or backend implementation details. USE FOR: any research question needing source-backed evidence about Fusion Framework APIs, EDS components, the Fusion skill catalog, Fusion platform documentation, or backend service implementation. DO NOT USE FOR: implementing code changes, installing or editing skills, MCP setup or troubleshooting, or inventing Fusion behavior without evidence.

fusion-rules
Entrypoint for AI coding assistant rule authoring across GitHub Copilot, Cursor, and Claude Code. USE FOR: setting up rules, reviewing existing rules, scaffolding instruction files, or asking which editor format to use. DO NOT USE FOR: authoring skills (SKILL.md), agent definitions (.agent.md), or CI enforcement of rule files.

fusion-skill-authoring
Creates or modernizes repository skills with clear activation cues, purposeful support files, and practical review loops. USE FOR: creating a new skill, tightening an existing skill, improving discovery wording, and structuring references/assets/optional helper agents when they genuinely add value. DO NOT USE FOR: product-code changes, routine copy edits outside skills/, or documentation that should not become an installable skill.

fusion-skills
Entrypoint for all Fusion skill lifecycle operations. USE FOR: finding, installing, updating, syncing, or greenkeeping skills; setting up skill automation; creating or authoring a new skill; reporting a bug with a skill. DO NOT USE FOR: resolving GitHub issues, reviewing PRs, planning task breakdowns, or authoring GitHub issues — those are handled by other Fusion skills.