github-pr-issue-automation · git:20260905.a73d7ea · 2026-09-05 · sha256 0b3df96765e072e0
github-pr-issue-automation git:20260905.a73d7eaA
Immutable. This exact content is served forever at /api/v1/blob/0b3df96765e072e0.
---
name: github-pr-issue-automation
description: >-
Standard operating procedures for automated PR/issue creation, auto-assignment, conventional label categorization,
and professional GitHub markdown standards for AI agents and human contributors.
---
# 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:
1. **Auto-Assignee**:
- Assigns the Pull Request or Issue to the author (or `@me`) immediately upon creation.
2. **Conventional Type Labeling**:
- Inspects the PR title prefix (`feat:`, `fix:`, `perf:`, `refactor:`, `docs:`, `db:`, `ci:`, `test:`, `ui:`) and automatically applies the matching color-coded `type/*` label.
3. **Subsystem / Area Labeling**:
- 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`
4. **Automated Diff Size Classification**:
- Computes total lines changed:
- `< 50 lines` -> `size/XS`
- `< 250 lines` -> `size/S`
- `< 500 lines` -> `size/M`
- `< 1000 lines` -> `size/L`
- `1000+ lines` -> `size/XL`
5. **Lifecycle Status**:
- 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:
```bash
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:
- **Executive Summary**: 2-3 concise sentences explaining the problem and resolution.
- **Conventional Type Checkbox**: Explicitly mark the type of change.
- **Subsystem Impact Table**: Markdown table displaying all affected services.
- **Quality Assurance Checklist**: Showing exact test commands executed (`make test`, `make pre-commit`).
- **Security Certification**: Affirming zero secrets or tokens committed.
---
## 3. Label Synchronization Engine
To synchronize or update the repository's color-coded labels, run:
```bash
# Preview labels without changes
./scripts/github-labels-sync.sh --dry-run
# Synchronize labels to GitHub
./scripts/github-labels-sync.sh
```
---
## 4. 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.