issue-fix
Use when asked to pick up a GitHub issue. Most common invocation is `/issue-fix <N>` or `/issue-fix
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when asked to pick up a GitHub issue. Most common invocation is `/issue-fix <N>` or `/issue-fix
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when starting work on a Jira story — loads the ticket's context (summary, description, acceptance criteria, comments, attachments) into the conversation and downloads attachments by default. --delegate also writes a self-contained context doc for agent handoff. Trigger phrases: "bootstrap PROJ-123", "load jira ticket PROJ-123", "start work on PROJ-123", "jira-bootstrap PROJ-123".
Use when the user wants a structured, multi-session learning experience on a technical topic with persistent notes and progress tracking. Triggers include "let's learn X", "teach me X", "I want to study X", "I want to study/prepare for an interview on X", explicit /socratic-learning, "resume the learning session", or when CWD already contains an INDEX.md learning corpus and the user asks "what's next" or "continue".
Stricter variant of `/ensure-code-quality`: review every quality violation in the changes you introduced this session and fix them, with two extra teeth — the automated Python guard-clause checker runs in rule 8, and rule 6 (no in-function / mid-module imports) applies to `tests/` too, not just source. **Default scope:** only the lines you added — the `+` lines from `git diff` (staged and unstaged), plus the full contents of any untracked files you created. Pre-existing lines stay out of scope.
Use when about to claim a code change is complete or ready to commit in the current session, when wrapping up a coding task with edits to Python (or other) source files, or when the user explicitly invokes `/ensure-code-quality` (optional `extend` argument broadens scope to full touched files instead of just the lines Claude added).
Use when the user asks to create a git commit, commit current work, or prepare a commit from staged changes. Inspects the relevant diff, writes one commit message matching the repository convention, and runs git commit.
Use when bootstrapping a new project's documentation scaffolding, when running `/init` in a fresh repo that lacks `docs/roadmap/` or `docs/architecture/`, or when the user asks to "scaffold the project docs", "set up the roadmap structure", "init the doc folders". Creates `docs/roadmap/{README.md, phases.md}` and `docs/architecture/README.md` with self-documenting starter templates, then adds a thin pointer block to the project's `CLAUDE.md` (creating it if absent).
| name | issue-fix |
| description | Use when asked to pick up a GitHub issue. Most common invocation is `/issue-fix <N>` or `/issue-fix |
When handed an issue number, the failure mode is jumping straight to a fix that's already shipped, or fixing the wrong half. Before touching code:
The sibling skill for creating an issue is issue-file.
/issue-fix <N> or /issue-fix #<N> — the canonical invocation. Any extra
context after the number is optional (hints about scope or approach).#N with implied "do this".gh issue view <N> --json number,title,state,body,labels,comments
Always read the comments — not optional, even on fresh-looking issues.
Humans and other contributors extend issues via the GitHub UI with comments,
and issue-file deliberately adds new info as comments rather than editing
the body. Skipping them means missing scope reductions, blockers, deferrals,
"I started this in branch foo", or a found root cause.
Run these checks before planning any code change:
## (a) Commit messages referencing the issue. Project commit styles vary —
## try several patterns. The most common in repos that follow a strict
## convention is `Iss #<N>:` as a prefix.
git log --all --oneline --grep="#<N>\|Iss <N>\|Fixes #<N>\|Closes #<N>"
## (b) If the issue lists specific paths/symbols, grep them in current code.
## If the code matches the issue's "after" / "fix" shape, it shipped.
## (c) Look for files the issue says to create (e.g. new migration script,
## new endpoint, new module). If present → likely shipped.
Outcomes:
superpowers:brainstorming first; for multi-step
implementation, use superpowers:writing-plans.git log --oneline -20 for the prevailing style. Common patterns:
Iss #<N>: <subject> (most informative; works with the grep above)Fix #<N>: <subject> / Fixes #<N> in body (auto-closes on merge to
default branch — be deliberate about that)Iss #<N> part K: <subject> per commit.Before claiming done, walk the acceptance list literally. If any criterion is
"tests pass" / "lint clean", run them — don't assume. (See
superpowers:verification-before-completion.)
After the resolving commit(s) are merged, post a close comment with concrete evidence, not just a sha. The closed issue is the historical record — make it self-explanatory months later.
Resolved by <sha> ("<commit title>"):
- `path/to/file.py:42` — what this commit added/changed
- `path/to/other.py:101` — second piece
- Acceptance criteria walked: [✓] tests pass, [✓] cascade verified, [✓] …
For multi-commit fixes:
Resolved by:
- <sha1> — part 1: <subject>
- <sha2> — part 2: <subject>
- <sha3> — part 3: <subject>
Evidence:
- `path:line` — …
For "found-already-done" closes:
Resolved — implementation landed in <sha> ("<title>"):
- <bullet of what shipped, with file:line>
- <…>
Acceptance criteria all met; closing.
Auto-mode classifiers may block bulk closes when the instruction is generic. If asked to "close them" against a list, either:
| Mistake | Fix |
|---|---|
| Jumping to implementation without checking if it's done | Step 2 first. Grep commits + code for the issue's named symbols. |
| Ignoring issue comments | Comments hold scope changes, blockers, deferrals. Read them. |
| Closing partial work | If only some acceptance criteria are met, comment with what's done vs what remains. Keep open. |
| One-line close comments ("done") | Use the structured shape above — file:line + sha. The closed page is the record. |
| Wrong commit-message convention | Check git log --oneline -20 for the project's style. |
| Fixing against the issue body when the code has moved | If named files/symbols don't exist, ask whether to rescope before implementing. |
| Trying to bulk-close without explicit authorization | Quote each issue back or get blanket pre-auth first. |
| Re-deriving what "done" means | Use the issue's Acceptance criteria checklist literally. |