From aai-pm-github
Syncs GitHub issue status with development progress using labels, gh CLI commands for transitions, progress updates, blocking, and PR linking.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aai-pm-github:issue-status-syncThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill provides patterns for keeping GitHub issues synchronized with actual development progress.
This skill provides patterns for keeping GitHub issues synchronized with actual development progress.
Unlike Jira, GitHub issues have simple states:
Status is conveyed through:
Workflow:
needs-triage - Needs initial reviewneeds-info - Waiting for reporterin progress - Being worked onblocked - Cannot proceedready for review - PR readyready for merge - Approved, waiting mergeType:
bugenhancementdocumentationchorePriority:
priority: criticalpriority: highpriority: mediumpriority: low# Starting work
gh issue edit {number} --add-label "in progress" --remove-label "needs-triage"
# Blocked
gh issue edit {number} --add-label "blocked"
# Ready for review
gh issue edit {number} --add-label "ready for review" --remove-label "in progress"
# Complete
gh issue close {number} --comment "Completed in PR #456"
gh issue edit {number} --add-assignee @me --add-label "in progress"
gh issue comment {number} --body "$(cat <<'EOF'
Starting work on this issue.
**Approach:**
- [Brief description]
**Branch:** `feature/{number}-description`
**ETA:** [Rough estimate]
EOF
)"
gh issue comment {number} --body "$(cat <<'EOF'
**Progress Update**
**Completed:**
- [What's done]
**In Progress:**
- [Current work]
**Next:**
- [What's planned]
**Blockers:** None / [Description]
EOF
)"
gh issue edit {number} --add-label "blocked"
gh issue comment {number} --body "$(cat <<'EOF'
**Blocked**
**Reason:** [Clear explanation]
**Blocked by:** #123 / [External factor]
**Action needed:** [What would unblock]
**Impact:** [What can't proceed]
EOF
)"
gh issue edit {number} --remove-label "blocked"
gh issue comment {number} --body "$(cat <<'EOF'
**Unblocked**
**Resolution:** [How it was resolved]
**Next steps:** [Resuming work]
EOF
)"
gh issue comment {number} --body "$(cat <<'EOF'
**Completed**
**PR:** #456
**Changes:**
- [Summary of changes]
**Testing:**
- [How it was tested]
Ready for review.
EOF
)"
gh issue edit {number} --add-label "ready for review" --remove-label "in progress"
Fixes #123
or
Closes #123
or
Resolves #123
This auto-closes the issue when PR merges.
Related to #123
Part of #123
See #123
git commit -m "feat(auth): add password reset (#123)"
If using GitHub Projects:
# List project columns
gh api repos/{owner}/{repo}/projects/{project_id}/columns
# Move issue card
gh api projects/columns/cards/{card_id}/moves \
-f position=top \
-f column_id={column_id}
Configure in project settings:
gh issue edit {number} --milestone "v1.0"
gh issue list --milestone "v1.0" --json number,title,state
# .github/workflows/issue-management.yml
name: Issue Management
on:
issues:
types: [opened, closed]
pull_request:
types: [opened, merged]
jobs:
manage:
runs-on: ubuntu-latest
steps:
- name: Add triage label to new issues
if: github.event_name == 'issues' && github.event.action == 'opened'
run: gh issue edit ${{ github.event.issue.number }} --add-label "needs-triage"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
gh issue list --assignee @me --label "in progress"
gh issue list --label "blocked"
gh issue list --state open --search "no:assignee"
gh issue list --state open --search "updated:<2024-01-01"
| Event | Label Changes | Comment |
|---|---|---|
| Starting | +in progress, -needs-triage | Approach + branch |
| Blocked | +blocked | Reason + action needed |
| Unblocked | -blocked | Resolution |
| PR Ready | +ready for review, -in progress | PR link |
| Complete | Close issue | Summary of changes |
npx claudepluginhub bradtaylorsf/alphaagent-teamGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.