with one click
fix-issue
// Fix a GitHub issue by fetching content, creating a branch, planning the fix, and implementing it. Use when the user asks to fix a specific issue number or work on a GitHub issue.
// Fix a GitHub issue by fetching content, creating a branch, planning the fix, and implementing it. Use when the user asks to fix a specific issue number or work on a GitHub issue.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | fix-issue |
| description | Fix a GitHub issue by fetching content, creating a branch, planning the fix, and implementing it. Use when the user asks to fix a specific issue number or work on a GitHub issue. |
| argument-hint | ["issue-number"] |
Fetch GitHub issue, create branch, plan, and implement the fix.
Create tasks to track progress through this workflow:
testing skill)git-commit skill)github-pr skill)gh auth status
If not authenticated, prompt user:
gh CLI is not authenticated. Please run: gh auth login
ā ļø Stop here if not authenticated - user must login first.
gh issue view ISSUE_NUMBER --json number,title,body,state,labels,assignees
gh issue view ISSUE_NUMBER --comments
Parse: Issue number, title, description, state (open/closed), labels, assignees, and all comments.
Comments often contain clarifications, reproduction steps, or design decisions that are critical for understanding the full context of the issue.
If issue is closed: Ask user if they still want to work on it.
Check for existing ownership before proceeding:
Check if anyone is already assigned (assignees field)
Query the project board status:
gh api graphql -f query='{ repository(owner:"hw-native-sys",name:"pypto") {
issue(number:ISSUE_NUMBER) { projectItems(first:5) { nodes { id project { number }
fieldValues(first:10) { nodes {
... on ProjectV2ItemFieldSingleSelectValue { field { ... on ProjectV2SingleSelectField { name } } name }
} } } } } } }'
If the project item is not found, skip the board status check (the issue may not be linked to the project yet) and continue.
If assigned to someone or Status in project #3 is "In Progress": warn the user with AskUserQuestion ā show who is assigned and/or the current status, and ask whether to proceed anyway or stop.
Branch naming: issue-{number}-{short-description}
git checkout main && git pull upstream main
ISSUE_NUM=123
BRANCH_NAME="issue-${ISSUE_NUM}-fix-tensor-validation"
git checkout -b "$BRANCH_NAME"
Use EnterPlanMode to design the fix.
Plan should cover:
Do this IMMEDIATELY after plan approval, before writing any code.
# Self-assign
gh issue edit ISSUE_NUMBER --add-assignee @me
Update the project board status using the same GraphQL pattern as create-issue Step 7:
organization.projectV2.fields)updateProjectV2ItemFieldValue mutationIf the project item or Status field is not found, skip the board update and notify the user that manual update is needed. Do not block the fix workflow.
After plan approval, follow PyPTO conventions:
.claude/rules/ conventions/testing
Fix any failures before committing.
/git-commit
Commit message format:
fix(scope): Brief description
Fixes #ISSUE_NUMBER
Detailed explanation of the fix.
/github-pr
PR must reference issue: "Fixes #ISSUE_NUMBER"
| Type | Approach |
|---|---|
| Bug fix | Reproduce, root cause, fix, add regression test |
| Feature request | Plan API design, implement, add tests and docs |
| Refactoring | Plan changes, ensure tests pass, maintain API |
| Documentation | Fix/improve docs, verify examples work |
Reference the issue number in commit messages and PR description using "Fixes #ISSUE_NUMBER" for auto-linking.