GitHub PR & Issue Visual Automation Skill
This skill defines the official standards for authoring structured, professional, and automated Pull Requests and Issues on GitHub, and operating the automated triage and label synchronization system.
1. Automated GitHub Actions Triage Pipeline
When any PR or issue is opened, the GitHub Actions triage automation executes automatically:
- Assigns the Pull Request or Issue to the author (or @me) immediately upon creation.
- Inspects the PR title prefix (feat:, fix:, perf:, refactor:, docs:, db:, ci:, test:, ui:) and automatically applies the matching color-coded type/* label.
- Inspects modified files in the pull request:
- frontend/**, web/**, src/** -> area/frontend
- backend/**, api/**, pkg/** -> area/backend
- agent/**, ai-service/** -> area/ai-agent
- worker/**, cmd/** -> area/worker
- .github/**, scripts/**, Makefile -> area/ci-cd
- docs/**, .agents/skills/** -> area/documentation
- Computes total lines changed:
- < 50 lines -> size/XS
- < 250 lines -> size/S
- < 500 lines -> size/M
- < 1000 lines -> size/L
- 1000+ lines -> size/XL
- Non-draft PRs receive status/ready-for-review; drafts receive status/in-progress.
2. CLI Standards for Agents: Opening Pull Requests
When instructed to open a Pull Request, agents must use gh pr create with explicit parameters:
gh pr create \
--base main \
--head <github-username>/<parent-branch>/<feature> \
--title "<type>(<scope>): <concise imperative summary>" \
--assignee "@me" \
--label "type/<type>,area/<subsystem>,status/ready-for-review" \
--body "..."Visual Formatting Checklist for PR Bodies
Every PR description generated by agents MUST include:
make test, make pre-commit).3. Label Synchronization Engine
To synchronize or update the repository's color-coded labels, run:
# Preview labels without changes
./scripts/github-labels-sync.sh --dry-run
# Synchronize labels to GitHub
./scripts/github-labels-sync.sh4. Modern Issue Forms
Issues are created through standardized YAML issue forms in .github/ISSUE_TEMPLATE/:
bug_report.yml: Structured bug reproduction steps, environment, logs.feature_request.yml: Problem statement, target subsystem, architecture proposal.task.yml: Engineering task, acceptance criteria, test commands.5. Required GitHub Actions Workflows in Every Repository
.github/workflows/. These are not optional — they are the automated operational backbone of the repository. When setting up a new repository or onboarding an existing one, verify all three exist before any other work.Canonical Workflow Checklist
| File | Purpose | Trigger |
|---|---|---|
pr-branch-cleanup.yml | Auto-deletes remote feature branch when a PR is closed (merged or abandoned). Prevents stale branch buildup. | pull_request: [closed] |
jules-pr-review.yml | Assigns @google-labs-jules[bot] as a reviewer on every non-draft PR into any base branch (stacked PRs included). It never reviews or labels by itself. | pull_request: [opened, reopened, ready_for_review] |
ci.yml | Runs the path-filtered test and build pipeline (gofmt, go mod tidy, go test -race, go build, image smoke tests) plus one aggregate status job as the enforced quality gate. | push (any branch), pull_request (→ main, forks only) |
Verification Command
To confirm all three workflows exist in a repository:
ls .github/workflows/
# Expected output includes:
# ci.yml
# jules-pr-review.yml
# pr-branch-cleanup.ymlCanonical References
.agents/skills/git-post-merge-cleanup/SKILL.md Section 4 for full YAML and safety details..agents/skills/jules-ai-engineering-workflow/SKILL.md Section 5 for full YAML, Jules app installation, and draft PR behavior..agents/skills/ci-cd-workflow/SKILL.md Section 4 for DSA-specific CI job structure and local mirrors.