fix-issue

SkillDev tools

Lets your agent take a GitHub issue from investigation to a fix on a feature branch, ready for a pull request.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the fix-issue skill

About this capability

End-to-end flow for resolving a GitHub issue — fetch and understand the issue, create a feature branch off `beta`, implement and verify the fix, then hand off to the open-pr skill. Use when the user says "fix issue <n>", "work on issue <n>", or wants to take an issue from investigation through to a

What this skill tells your AI

The instructions your AI receives, as published by analogjs/analog in .agents/skills/fix-issue/SKILL.md and read by ahel’s review.

Drive a GitHub issue from investigation to a ready-to-review fix on a feature branch. This skill owns understanding, branching, and implementing. It hands the commit/push/PR step off to the open-pr skill.

Take the issue number/URL from the user. If none is given, ask for it.

1. Understand the issue

  • gh issue view <n> --json title,body,state,labels,comments,author,createdAt to read it. (Plain gh issue view <n> may fail on Projects-classic GraphQL — prefer the --json form.)
  • Read any linked reproduction repo, error output, and referenced files. Identify the affected package/area.
  • Trace the root cause in the codebase before writing anything — read the relevant source, not just the symptom. Delegate broad searches to the Explore agent when the cause could live in several places.
  • Restate the root cause and intended fix to the user, and confirm the approach before large or behavior-changing edits. Surface trade-offs and regression risks.

2. Create a feature branch off beta

  • Branch from the base branch (beta by default; honor a different base if the user names one). First sync the base with its remote so the new branch starts from the latest tip: git checkout <base> && git pull --ff-only && git checkout -b <type>/<n>-<short-slug> <base> — pick <type> from the change (fix, feat, chore, docs, refactor, test) and a short kebab slug referencing the issue, e.g. fix/2348-dts-in-source.
  • If git pull --ff-only fails (local diverged from remote), stop and surface it to the user — don't force or rebase silently.
  • If the user already created/named a branch, use that instead. Never implement on the base branch.

3. Implement the fix

  • Make the minimal, well-scoped change that addresses the root cause. Match the surrounding code's style and idioms.
  • Add or update tests when the repo's conventions call for them — but respect explicit user direction (e.g. "no snapshot test").
  • Verify as far as the environment allows: run the affected package's tests/typecheck if dependencies are installed; if they aren't, say so plainly rather than claiming success. Consider the verify or code-review skills for behavior changes.
  • Reason explicitly about regressions: who else hits this code path, and does the change alter their behavior?

4. Hand off to open-pr

  • Once the fix is on the feature branch and verified, invoke the open-pr skill to format, commit (with Closes #<n>), push, and open the PR against beta.
  • Don't duplicate open-pr's logic here — it owns commit message conventions, the PR template, scope mapping, and the outward-facing confirmation.

Notes

  • Keep investigation findings concise but show the evidence (file:line) for the root cause.
  • If the issue turns out to be invalid, already fixed, or a usage question rather than a bug, report that instead of forcing a fix.

Signals

GitHub stars
3k
Forks
333
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
fix-issue
Source
github.com/analogjs/analog