githublisted
Install: claude install-skill joshmanders/dotfiles
# GitHub CLI Patterns
Generic patterns for GitHub operations using `gh` CLI.
---
## Issues
### Creating Issues
```bash
gh issue create \
--repo <org>/<repo> \
--title "Issue title" \
--body "## Summary
Description of what and why.
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2"
```
With project board:
```bash
gh issue create \
--repo <org>/<repo> \
--title "Issue title" \
--body "..." \
--project "<project-name>"
```
### Issue Operations
```bash
# List issues
gh issue list --repo <org>/<repo>
# View issue
gh issue view <number> --repo <org>/<repo>
# Edit issue
gh issue edit <number> --repo <org>/<repo>
# Add comment
gh issue comment <number> --repo <org>/<repo> --body "..."
# Search across org
gh search issues --owner <org> "search terms"
# Get issue node ID (for GraphQL)
gh issue view <number> --repo <org>/<repo> --json id --jq '.id'
```
---
## Project Boards (v2)
### Adding to Project
```bash
gh project item-add <project-number> --owner <org> \
--url https://github.com/<org>/<repo>/issues/<number>
# List project items
gh project item-list <project-number> --owner <org>
```
### Getting Project Item ID
Required for status updates:
```bash
gh api graphql -f query='
query($url: URI!) {
resource(url: $url) {
... on Issue {
projectItems(first: 1) {
nodes { id }
}
}
}
}' -f url="https://github.com/<org>/<repo>/issues/<num>" --jq '.data.resource.projectItems.nodes[0].id'
```
### Setting Status
```b