skills/FixIssue/SKILL.md
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
npx skillsauth add n4m3z/forge-dev FixIssueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
tools
Server-rendered web dashboards and apps in Rust using axum + htmx + Askama + rust-embed. USE WHEN building a web dashboard, adding a web UI to a CLI tool, server-rendered HTML, htmx partials, Askama templates, axum routes, embedded static assets, localhost webserver.
tools
Architecture for security and health-check programs: standalone-runnable checks, severity ladder with UNKNOWN, key:value output contract, orchestrator dispatch, exit-code semantics. Language-agnostic; reference implementations in Bash, applies to Python and other languages. USE WHEN writing health checks or audit tools, designing check-script contracts, adding checks to tools like check-mac, reviewing health-check architecture, or porting a check tool between languages.
testing
Scan a dotfiles tree for secrets via gitleaks, aggregate findings by top-level directory and rule, then surgically filter flagged lines from shell-history files before importing into atuin. USE WHEN auditing dotfiles before pushing to a public repo, scanning rsynced dotfiles-private contents, importing legacy zsh or bash history into atuin, filtering credential leaks out of a shell history file, deciding which dotfile subdirectories can be made public.
development
Test-driven development practices — Red-Green-Refactor cycle, test categories, coverage strategy, property-based testing. USE WHEN writing tests, designing testable APIs, or reviewing test coverage.