Worker Skill
Spawn a Claude worker in an isolated git worktree.
Usage
code
/worker <branch-name> <task description>
Examples
code
/worker feat/add-logging Add structured logging to the supervisor module /worker fix/auth-bug Fix the authentication bypass in the API /worker refactor/cleanup Refactor the instance manager for clarity
Instructions
When the user invokes /worker, follow these steps:
1. Parse Arguments
Extract the branch name (first argument) and task description (remaining text).
2. Create Worktree
bash
# Get project name for worktree prefix
PROJECT=$(basename $(git rev-parse --show-toplevel))
WORKTREE_PATH="../${PROJECT}-$(echo $BRANCH | tr '/' '-')"
# Create the worktree with a new branch
git worktree add "$WORKTREE_PATH" -b "$BRANCH"
3. Spawn Worker Claude
Run a Claude instance in the worktree with full autonomy:
bash
cd "$WORKTREE_PATH" && claude --print --dangerously-skip-permissions "$TASK_DESCRIPTION"
4. Push and Create PR
After the worker completes successfully and has made commits:
bash
# Push the branch to origin git push -u origin "$BRANCH" # Create PR with auto-generated summary gh pr create --title "<commit message or task summary>" --body "$(cat <<'EOF' ## Summary <brief description of changes> ## 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
5. Report Results
After the worker completes:
- •Show the worker's output
- •Show any commits made:
git log $BRANCH --oneline -5 - •Show the PR URL if created
- •Offer next steps:
- •Review the PR
- •Continue working (spawn another worker command)
- •Clean up the worktree
Important Notes
- •Workers have full autonomy (
--dangerously-skip-permissions) - •Each worker gets its own branch - no conflicts with main work
- •Workers push their branch and create PRs when done
- •Use
git worktree listto see active workers - •Use
git worktree remove <path>to clean up
Tip: Run karkinos watch in another terminal to monitor worker progress in real-time, or use karkinos watch --spawn to open it automatically.