From claude-reliability
Guides on working with GitHub issues: read descriptions/comments/related PRs, define acceptance criteria with verifiable behaviors, and commit with proper references.
npx claudepluginhub drmaciver/claude-reliability --plugin claude-reliabilityThis skill uses the workspace's default tool permissions.
**The most common mistake when working on issues is not fully understanding the problem.**
Resolves GitHub issues via 8-phase workflow: fetch details, analyze requirements, implement solutions, verify correctness, code review, commit changes, create PRs. Activates on resolve, implement, fix requests or issue references.
Manages GitHub issues using gh CLI: create, list, view, update, close, assign. Useful for bug tracking, project management, and issue workflows in repositories.
Fixes GitHub issues end-to-end with GitHub CLI: views issue, researches context, plans fix, creates branch, implements/tests changes, submits PR.
Share bugs, ideas, or general feedback.
The most common mistake when working on issues is not fully understanding the problem.
Before writing any code:
Don't just skim the title. Read the entire issue body, including:
This is critical. Issue comments often contain:
The comments might completely change your understanding of what needs to be done. An issue titled "Feature X doesn't work" might have comments explaining that it's actually working as designed, or that the real fix is something different than what the title suggests.
# View an issue with all comments
gh issue view 123 --comments
# Or for detailed JSON output
gh api repos/{owner}/{repo}/issues/123/comments
Look for:
# Search for related issues
gh issue list --search "related keywords"
# Check if there are linked PRs
gh pr list --search "fixes #123"
Before writing code, write down what "fixed" means.
An issue is NOT fixed just because you made changes. It's fixed when specific, verifiable conditions are met.
For each issue, define:
What behavior should change?
How will you verify the fix?
What should NOT change?
Bad: "Fix the login bug"
Good:
Before implementing, write down your understanding of:
If anything is unclear, ask for clarification in the issue comments or ask the user before proceeding.
gh CLI# List open issues
gh issue list
# View a specific issue (includes body and comments)
gh issue view 123 --comments
# View issue in browser
gh issue view 123 --web
# Filter issues by label
gh issue list --label "bug"
# Search issues
gh issue list --search "keyword in:title,body"
# Create an issue interactively
gh issue create
# Create with title and body
gh issue create --title "Bug: X doesn't work" --body "Description here"
# Create from a file
gh issue create --title "Title" --body-file issue-body.md
# Add a comment
gh issue comment 123 --body "Your comment here"
# Add a comment from a file
gh issue comment 123 --body-file comment.md
# Close an issue
gh issue close 123
# Close with a comment
gh issue close 123 --comment "Fixed in commit abc123"
Every commit related to an issue should reference it:
git commit -m "Fix login redirect when credentials valid
Resolves #123"
GitHub recognizes these keywords to automatically close issues when the commit is merged:
Closes #123Fixes #123Resolves #123Use them in your commit message when the commit fully addresses the issue:
git commit -m "Handle edge case in date parsing
Fixes #456"
If your commit is related but doesn't fully fix the issue, just reference it:
git commit -m "Add validation for empty input
Related to #789 - this addresses part of the issue"
Each issue should have its own commits that:
If working on multiple issues, make separate commits for each:
# Good - separate commits for separate issues
git commit -m "Fix null pointer in user lookup
Fixes #101"
git commit -m "Add retry logic for API calls
Fixes #102"
# Bad - mixing multiple issues in one commit
git commit -m "Fix various bugs" # Which bugs? What issues?
Problem: You fix what the title says, but the comments clarified that something else was needed.
Solution: Read all comments. If there's any ambiguity, clarify before implementing.
Problem: The issue asks for a behavior change, but you document the existing behavior as "expected."
Solution: Your acceptance criteria should describe the NEW behavior. If the current behavior is actually correct, the issue should be closed as "not a bug" or "working as intended" - not fixed by documentation.
Problem: You fix the main case but miss edge cases mentioned in comments.
Solution: Your acceptance criteria should cover all cases mentioned in the issue and comments. Write tests for each.
Problem: Your fix for issue #123 breaks functionality that was working.
Solution: Run the full test suite. Your acceptance criteria should include "existing tests still pass."
Problem: You made changes and assumed they work.
Solution: Actually test your changes against your acceptance criteria. Run the specific scenario from the issue.
For bug fixes, follow this workflow:
Reproduce the bug first — Before making any changes, run the exact reproduction steps from the issue. If you can't reproduce it, you can't verify you've fixed it. If the reproduction requires setup, do the setup. Write a temporary script if needed.
Apply your fix — Make the code changes.
Verify the reproduction now succeeds — Run the exact same reproduction steps. The bug should be gone. If it's not, iterate until it is.
Write a test — If the bug was reproducible, that reproduction should become a test case.
Never ask "please check if this worked" when you can verify it yourself. Run the actual command, exercise the actual workflow, reproduce the actual bug. Self-validate before asking humans.
Before marking an issue as fixed:
Fixes #123 or Closes #123 in the description# View issue with comments
gh issue view NUMBER --comments
# List all open issues
gh issue list
# Search issues
gh issue list --search "search terms"
# Comment on an issue
gh issue comment NUMBER --body "comment"
# Close an issue
gh issue close NUMBER --comment "reason"
# Commit referencing an issue
git commit -m "Description
Fixes #NUMBER"