From forge-dev
Fix issues end-to-end — triage, diagnose, branch, fix, PR/MR, close. Supports GitHub (gh) and GitLab (glab) with cross-repo fixes and submodule bumps. USE WHEN fix issue, github issue, gitlab issue, bug report, fix bug, resolve issue, triage issue, gh issue, fix
How this skill is triggered — by the user, by Claude, or both
Slash command
/forge-dev:FixIssueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fix an issue from triage to close. Platform-agnostic workflow with platform-specific CLI companions.
Fix an issue from triage to close. Platform-agnostic workflow with platform-specific CLI companions.
| Platform | CLI | Companion | Detect by |
|---|---|---|---|
| GitHub | gh | @GitHub.md | github.com in URL or gh origin |
| GitLab | glab | @GitLab.md | gitlab.com in URL or glab origin |
Auto-detect from the issue URL or remote origin. If ambiguous, ask the user.
| Format | Example |
|---|---|
owner/repo#N | N4M3Z/forge-council#8 |
| Issue URL (GitHub) | https://github.com/N4M3Z/forge-council/issues/8 |
| Issue URL (GitLab) | https://gitlab.com/group/project/-/issues/42 |
#N (current repo) | #8 |
When fixing issues in multi-repo or submodule projects, the fix often lives in a different repo than the issue.
| Symptom location | Typical fix location | Pattern |
|---|---|---|
| Consumer module | Shared library | Fix in lib, bump submodule in consumer |
| Module install/verify fails | Same module | Makefile, config, or stale submodule pointer |
| Skill broken across providers | Same module | SKILL.md content or SKILL.yaml metadata |
| Standalone plugin | Corresponding source module | Fix in source, then sync to standalone |
| Type | Branch name |
|---|---|
| Bug fix | fix/<slug> |
| Feature request | feat/<slug> |
| Documentation | docs/<slug> |
Slug: lowercase, hyphenated, derived from issue title. Keep under 50 characters.
Read the issue using the platform CLI. Extract:
See the platform companion for exact commands.
Before starting, check for open PRs/MRs that reference this issue and whether someone is assigned. If work exists, report to the user and ask whether to proceed, contribute, or stop.
Determine:
Use the Cross-Repo Topology table. For submodule-related failures, check the submodule pointer:
git -C REPO_PATH submodule status lib
Use the platform CLI to create a branch linked to the issue. See the platform companion for commands.
If the fix is cross-repo, create the branch in the fix repo, not the issue repo.
Fallback (any platform):
git checkout -b fix/<slug>
Read the relevant code. Identify the root cause. Implement the fix.
If cross-repo fix:
Testing checklist:
cargo test / make test / project-specific runnercargo clippy / make lintmake install && make verifyUse the platform CLI to create a PR (GitHub) or MR (GitLab) with:
fix:, feat:, docs:)See the platform companion for exact templates and auto-close keywords.
Submodule bump (after fix PR/MR merges in dependency):
git -C path/to/submodule checkout main && git -C path/to/submodule pull
git add path/to/submodule
git commit -m "chore: bump <submodule> for fix #N"
Same-repo: auto-closes via keywords in the PR/MR body.
Cross-repo: auto-close does NOT work. Manually close with a comment linking to the fix. See the platform companion for the close command.
Summarize:
Before posting any public-facing message via the platform CLI, use AskUserQuestion to show the draft message and get user approval. This applies to:
gh issue close -c, glab issue close -c)gh pr create --body, glab mr create --description)gh issue comment, glab issue note)Present the message as a preview option so the user can approve, edit, or reject it. Never post public messages without confirmation.
@ErrorResolver.md
npx claudepluginhub n4m3z/forge-devProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.