with one click
github-operations
// Handles GitHub issues, pull requests, repositories, Actions, releases, and API tasks using MCP-first workflows with gh CLI fallback for advanced operations.
// Handles GitHub issues, pull requests, repositories, Actions, releases, and API tasks using MCP-first workflows with gh CLI fallback for advanced operations.
Defines canonical artifact templates, H2 structures, and documentation styling rules for agent outputs (Steps 1-7); use for artifact generation, formatting, and template compliance.
Azure architecture diagram generation skill for high-quality, non-Mermaid outputs. Produces deterministic Python `diagrams` + Graphviz artifacts (`.py` + `.png`/`.svg`) for design and as-built documentation. Use for Step 3 and Step 7 architecture visuals, dependency visuals, and topology diagrams with enforced layout and naming conventions.
Maintains repository documentation accuracy and freshness; use for doc updates, staleness checks, changelog entries, and repo explanation requests.
Creates conventional commits with diff-aware message generation and intelligent staging; use when users ask to commit changes or invoke /commit.
| name | github-operations |
| description | Handles GitHub issues, pull requests, repositories, Actions, releases, and API tasks using MCP-first workflows with gh CLI fallback for advanced operations. |
| license | MIT |
Manage all GitHub operations using MCP tools (preferred) and GitHub CLI (fallback).
MCP-first: Use MCP tools for issues and PRs — no extra auth, works everywhere. CLI fallback: Use
ghCLI for Actions, releases, repos, secrets, and API calls.
Follow this protocol for every GitHub task:
gh CLI only when no equivalent MCP write tool is availablegh auth login or gh auth status in devcontainer workflows
unless the user explicitly asks for CLI auth troubleshooting.| Tool | Purpose |
|---|---|
mcp_github_list_issues | List repository issues |
mcp_github_issue_read | Fetch issue details |
mcp_github_issue_write | Create/update issues |
mcp_github_search_issues | Search issues |
mcp_github_add_issue_comment | Add comments |
Required: owner, repo, title, body
Optional: labels, assignees, milestone
Title guidelines:
[Bug], [Feature], [Docs]Body templates by type:
| User says | Template sections |
|---|---|
| Bug, error, broken | Description, Steps to Reproduce, Expected/Actual, Environment |
| Feature, enhancement | Summary, Motivation, Proposed Solution, Acceptance Criteria |
| Task, chore, refactor | Description, Tasks checklist, Acceptance Criteria |
| Label | Use For |
|---|---|
bug | Something isn't working |
enhancement | New feature or improvement |
documentation | Documentation updates |
high-priority | Urgent issues |
| Tool | Purpose |
|---|---|
mcp_github_create_pull_request | Create new PRs |
mcp_github_merge_pull_request | Merge PRs |
mcp_github_update_pull_request | Update PR details |
mcp_github_pull_request_review_write | Create/submit reviews |
mcp_github_request_copilot_review | Copilot code review |
mcp_github_search_pull_requests | Search PRs |
mcp_github_list_pull_requests | List PRs |
Required: owner, repo, title, head (source branch), base (target branch)
Optional: body, draft
Title guidelines (conventional commit):
feat:, fix:, docs:, refactor:Body sections: Summary, Changes, Testing, Checklist
Before creating: Search for PR templates in
.github/PULL_REQUEST_TEMPLATE/orpull_request_template.mdand use if found.
Required: owner, repo, pullNumber
Optional: merge_method (squash | merge | rebase), commit_title
Default: Use squash unless user specifies otherwise.
Use mcp_github_pull_request_review_write with method: "create":
| Event | Use When |
|---|---|
APPROVE | Changes ready to merge |
REQUEST_CHANGES | Issues must be fixed |
COMMENT | Feedback without blocking |
Complex review workflow:
create (pending review)add_comment_to_pending_review (line comments)submit_pending (finalize)# Create
gh repo create my-project --public --clone --gitignore node --license mit
# Clone / Fork
gh repo clone owner/repo
gh repo fork owner/repo --clone
# View / Edit
gh repo view owner/repo --json name,description
gh repo edit --default-branch main --delete-branch-on-merge
# Sync fork
gh repo sync
# Set default repo (avoid --repo flag)
gh repo set-default owner/repo
gh workflow list
gh workflow run ci.yml --ref main
gh workflow enable ci.yml
gh workflow disable ci.yml
gh run list --workflow ci.yml --limit 5
gh run watch <run-id>
gh run view <run-id> --log
gh run rerun <run-id>
gh run rerun <run-id> --failed # Only failed jobs
gh run download <run-id> --dir ./artifacts
gh run cancel <run-id>
gh workflow run ci.yml --ref main
RUN_ID=$(gh run list --workflow ci.yml --limit 1 --json databaseId --jq '.[0].databaseId')
gh run watch "$RUN_ID"
gh run download "$RUN_ID" --dir ./artifacts
# Create
gh release create v1.0.0 --title "v1.0.0" --notes "Release notes"
gh release create v1.0.0 --generate-notes # Auto-generate notes
gh release create v1.0.0 ./dist/*.tar.gz # With assets
# List / View / Download
gh release list
gh release view v1.0.0
gh release download v1.0.0 --dir ./download
# Delete
gh release delete v1.0.0 --yes
# Secrets
gh secret set MY_SECRET --body "secret_value"
gh secret list
gh secret delete MY_SECRET
# Variables
gh variable set MY_VAR --body "value"
gh variable list
gh variable get MY_VAR
# GET
gh api /user
gh api /repos/owner/repo --jq '.stargazers_count'
# POST
gh api --method POST /repos/owner/repo/issues \
--field title="Issue title" \
--field body="Issue body"
# Pagination
gh api /user/repos --paginate
# GraphQL
gh api graphql -f query='{
viewer { login repositories(first: 5) { nodes { name } } }
}'
IMPORTANT:
gh api -fdoes not support object values. Use multiple-fflags with hierarchical keys and string values instead.
# Auth
gh auth login
gh auth status
gh auth token
# Labels
gh label create bug --color "d73a4a" --description "Bug report"
gh label list
# Search
gh search repos "azure static web apps" --language javascript
gh search code "TableClient" --repo owner/repo
gh search issues "label:bug is:open" --repo owner/repo
| Flag | Description |
|---|---|
--repo OWNER/REPO | Target specific repository |
--json FIELDS | Output JSON with fields |
--jq EXPRESSION | Filter JSON output |
--web | Open in browser |
--paginate | Fetch all pages |
gh CLI for Actions, releases, repos, secrets, APIgh CLI for issues/PRs when MCP tools are availablegh auth flows in devcontainers unless explicitly requestedThe Conductor invokes this skill for issue and PR management between workflow steps and for CI status checks. Trigger keywords:
create issue — create a GitHub issue for a taskcreate pr — create a pull request for completed workcheck ci — check CI/CD workflow statusWhen invoked by the Conductor, this skill handles GitHub operations such as creating issues for discovered tasks (Step 1), opening PRs for code changes (Step 4), checking CI status after deployment (Step 6), and managing labels and milestones throughout the workflow.