issue-worker
Spawn a Claude worker to handle a GitHub issue. Fetches issue details, creates a feature branch, and works autonomously. Use when you want to delegate an issue to a worker.
When & Why to Use This Skill
This Claude skill automates the end-to-end process of resolving GitHub issues by spawning an autonomous worker. It streamlines software development workflows by fetching issue context, creating isolated worktrees, implementing code changes, and automatically generating pull requests with comprehensive summaries, significantly reducing manual developer overhead.
Use Cases
- Automated Bug Fixing: Quickly resolve reported bugs by delegating the investigation and fix implementation to an autonomous agent using just the issue number.
- Feature Development: Accelerate the delivery of new features by providing an issue description and letting the worker handle the initial implementation, testing, and PR creation.
- Technical Debt Reduction: Efficiently address refactoring tasks and minor improvements tracked in GitHub issues without manual context switching.
- Streamlined PR Management: Automatically generate descriptive pull requests that link to issues and enable auto-merge for faster CI/CD cycles.
| name | issue-worker |
|---|---|
| description | Spawn a Claude worker to handle a GitHub issue. Fetches issue details, creates a feature branch, and works autonomously. Use when you want to delegate an issue to a worker. |
| allowed-tools | Bash, Read, Write, Edit, Glob, Grep |
Issue Worker Skill
Spawn a Claude worker to handle a GitHub issue.
Usage
/issue-worker <issue-number>
Examples
/issue-worker 42
/issue-worker 123
Instructions
When the user invokes /issue-worker, follow these steps:
1. Fetch Issue Details
gh issue view <issue-number> --json number,title,body,labels,comments
2. Generate Branch Name
Create a descriptive branch name from the issue:
- Format:
feat/issue-<number>-<short-description> - Example: Issue #42 "Add retry logic" →
feat/issue-42-add-retry-logic
For bug issues, use fix/ prefix instead of feat/.
3. Create Worktree
BRANCH="feat/issue-<number>-<slug>"
WORKTREE_PATH="../artemis-issue-<number>"
git worktree add "$WORKTREE_PATH" -b "$BRANCH"
4. Build Task Prompt
Construct a comprehensive prompt for the worker:
You are working on GitHub Issue #<number>: <title>
## Issue Description
<body>
## Labels
<labels>
## Comments
<comments if any>
## Your Task
1. Understand the issue requirements
2. Implement the necessary changes
3. Write tests if applicable
4. Commit your changes with message referencing the issue (e.g., "feat: add retry logic (fixes #42)")
5. Push your branch and create a PR
## Guidelines
- Follow existing code patterns in the repository
- Keep changes focused on the issue scope
- Add comments only where logic isn't self-evident
5. Spawn Worker
cd "$WORKTREE_PATH" && claude --print --dangerously-skip-permissions "$PROMPT"
6. Push and Create PR
After the worker completes successfully and has made commits:
# Push the branch to origin
git push -u origin "$BRANCH"
# Create PR linking to the issue
gh pr create --title "<issue title>" --body "$(cat <<'EOF'
## Summary
<brief description of changes>
Closes #<issue-number>
## Changes
<list of key changes made>
---
🤖 Generated by Claude worker
EOF
)"
# Enable auto-merge (will merge automatically when CI passes)
gh pr merge --auto --squash
7. Report Results
After completion:
- Show worker output summary
- Show commits made:
git log $BRANCH --oneline -5 - Show files changed:
git diff main...$BRANCH --stat - Show the PR URL
- Offer next steps:
- Review the PR
- Continue working on it
- Clean up if failed
8. Track Worker
Add to .claude/workers.json:
{
"type": "issue",
"issue": 42,
"branch": "feat/issue-42-add-retry-logic",
"worktree": "../artemis-issue-42",
"created": "2024-01-15T10:30:00Z",
"status": "completed",
"pr": "<pr-url>"
}
Tip: Run karkinos watch in another terminal to monitor worker progress, or use karkinos watch --spawn to open it automatically.