GitHub-native project management. Syncs agent context with GitHub Issues and Projects. AUTO-INVOKE on session start when a branch is linked to an issue. Also invoke when user says: - "what's the plan", "project status", "update the issue" - "sync with github", "check the roadmap" - "what am I working on", "show my tasks" - "close the issue", "mark as done"
Bridge between Claude Code sessions and GitHub Issues/Projects. Issues are the plan — agents read them for context and update them with progress.
GitHub Issues replace local PLAN.md files. Each issue contains:
This means project context is shared, versioned, and visible to every team member and their agents — not locked in local handoff files.
Detect the current branch and find its linked issue:
# Get current branch
BRANCH=$(git branch --show-current)
# Extract issue number from branch name (e.g., feat/123-description, fix/42-title)
ISSUE_NUM=$(echo "$BRANCH" | grep -oE '[0-9]+' | head -1)
# Read the issue for context
if [[ -n "$ISSUE_NUM" ]]; then
gh issue view "$ISSUE_NUM" --comments
fi
If an issue is found, present a brief summary:
After completing work or at session end:
# Add a progress comment
gh issue comment ISSUE_NUM --body "## Progress Update
### Completed
- [x] Task description
- [x] Another task
### Files Modified
- \`path/to/file.ts\` — description of change
### Notes
Any decisions made or context for next session.
### Next Steps
- [ ] Remaining work"
When tasks from the issue body are completed:
# View current issue body, update checkboxes, edit
gh issue edit ISSUE_NUM --body "$(updated body with checked items)"
# List issues assigned to you
gh issue list --assignee @me --state open
# List issues in a milestone
gh issue list --milestone "v2.0"
# List project items
gh project item-list PROJECT_NUM --owner ORG --format json
When the user describes a feature or task:
gh issue create --title "feat: description" --body "$(cat <<'EOF'
## Goal
What we're building and why.
## Tasks
- [ ] Task 1
- [ ] Task 2
- [ ] Task 3
## Decisions
- Decision 1: rationale
- Decision 2: rationale
## Constraints
- Any known constraints or requirements
EOF
)"
When committing, reference the issue:
git commit -m "feat: description
Refs #ISSUE_NUM"
For auto-detection, use branches that include the issue number:
feat/123-add-coupon-validation
fix/42-login-redirect-loop
chore/88-upgrade-dependencies
The skill extracts the first number from the branch name and looks up that issue.
If the branch doesn't match an issue:
gh issue list --assignee @meThis skill complements the existing handoff system:
Both get updated. The issue is the source of truth for project progress. The handoff captures session-specific context (open files, debug state, personal notes).