How to install fusion-issue-solving
npx skills add https://github.com/equinor/fusion-skills --skill fusion-issue-solvingFull 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-authoring
Classify issue type, activate the matching agent mode for type-specific drafting, and enforce shared safety gates before GitHub mutation.
fusion-github-review-resolution
Resolves unresolved GitHub PR review threads end-to-end: evaluates whether each review comment is correct, applies a targeted fix when valid, replies with rationale when not, commits, and resolves the thread. USE FOR: unresolved review threads, PR review feedback, changes requested PRs, PR review URLs (#pullrequestreview-...), fix the review comments, close the open threads, address PR feedback. DO NOT USE FOR: summarizing feedback without code changes, creating new PRs, or read-only branches.
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-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-issue-task-planning
Plan and break down user-story issues into ordered, traceable task issue drafts with explicit publish gates.
fusion-dependency-review
Review dependency PRs with structured research, existing-PR-discussion capture, multi-lens analysis (security, code quality, impact), and a repeatable verdict template. USE FOR: dependency update PRs, Renovate/Dependabot PRs, library upgrade reviews, "review this dependency PR", "should we merge this update". DO NOT USE FOR: feature PRs, application code reviews, dependency automation/bot configuration, or unattended merge without confirmation.