Agent skill
oss-pr
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
Install this agent skill to your Project
npx add-skill https://github.com/iOfficeAI/AionUi/tree/main/.claude/skills/oss-pr
SKILL.md
OSS PR
Smart commit + PR workflow: branch management → quality checks → tests → commit → push → PR.
Announce at start: "Using oss-pr skill to commit and open a pull request."
Workflow
Step 0: Gather Info
git branch --show-current
git diff --name-only HEAD
git status --short
git config user.name
Branch rules:
- If already on a feature branch: proceed directly
- If on
mainormaster: auto-generate a branch name, create and switch immediately — no confirmation needed
Auto-generating a branch name:
Analyze the changed files from git diff --name-only HEAD to infer:
- type — pick one:
feat/fix/refactor/chorefeat: new user-facing functionalityfix: bug fixrefactor: restructuring without behavior changechore: config, scripts, skills, docs, deps
- slug — 2–3 lowercase words derived from the most relevant changed paths, joined by hyphens. Keep it short and specific.
Create branch {username}/{type}/{slug} directly and announce the name chosen.
Branch naming reference:
| Type | Example |
|---|---|
| feat | {prefix}/feat/dark-mode |
| fix | {prefix}/fix/crash-on-open |
| refactor | {prefix}/refactor/settings |
| chore | {prefix}/chore/update-deps |
Step 1: Quality Checks
| Command | Scope | Skip when |
|---|---|---|
bun run format |
.ts/.tsx/.css/.json/.md |
Never — always run |
bun run lint |
.ts/.tsx only |
No .ts/.tsx files changed |
bunx tsc --noEmit |
.ts/.tsx only |
No .ts/.tsx files changed |
Run in this order: format → lint → tsc.
- format → Auto-fixes silently (must run even for non-code files like
.md). - lint fails → Stop, report errors. Do not proceed.
- tsc fails → Stop, report errors. Do not proceed.
- All pass → Proceed to i18n check below.
i18n check (run if any src/renderer/, locales/, or src/common/config/i18n files are modified):
bun run i18n:types
node scripts/check-i18n.js
- i18n:types fails → Stop, report errors. Do not proceed.
- check-i18n exits 1 (errors) → Stop, report errors. Do not proceed.
- check-i18n exits 0 (warnings only) → Continue silently.
- No i18n-sensitive files changed → Skip both commands.
Step 2: Run Tests
bunx vitest run
- Fails → Stop, report failing tests. Do not proceed.
- Passes → Proceed silently.
Step 3: Commit
git status
git diff
Stage all modified files — including any files auto-fixed by format in Step 1:
git add -u
Generate commit message in English using conventional commits format: <type>(<scope>): <subject>.
NEVER include Co-authored-by or any AI attribution.
Step 4: Push Branch
git push -u origin <branch-name>
If push fails due to remote rejection, inform user. NEVER force-push without explicit approval.
Step 5: Create Pull Request
Run git log main..HEAD --oneline and git diff main...HEAD to understand all changes, then:
gh pr create --title "<pr-title>" --body "$(cat <<'EOF'
## Summary
<1-3 bullet points>
## Test plan
- [ ] <verification steps>
EOF
)"
PR title: under 70 characters, <type>(<scope>): <description> format. Reuse commit message if single commit.
NEVER add AI-generated signatures, Generated with, or Co-Authored-By lines.
Step 6: Post-PR
Output the PR URL when done.
Quick Reference
0. Check branch (create if on main)
1. bun run format (ALWAYS) && bun run lint && bunx tsc --noEmit (skip lint/tsc if no .ts/.tsx)
(if i18n files changed: bun run i18n:types && node scripts/check-i18n.js)
2. bunx vitest run
3. Commit (conventional commits, no AI attribution)
4. git push -u origin <branch>
5. gh pr create
6. Output PR URL
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
i18n
Internationalization (i18n) workflow and standards for managing translations. Use when: (1) Adding new user-facing text, (2) Creating new components with user-facing text, (3) Reviewing code for i18n compliance, (4) Adding a new translation module.
pr-automation
PR Automation Orchestrator: poll open PRs, check CI, run review, fix, and merge eligible PRs. Use when: (1) Invoked by daemon via scripts/pr-automation.sh, (2) User says "/pr-automation".
architecture
Project architecture and file structure conventions for all process types. Use when: (1) Creating new files or modules, (2) Deciding where code should go, (3) Converting single-file components to directories, (4) Reviewing code for structure compliance, (5) Adding new bridges, services, agents, or workers.
testing
Testing workflow and quality standards for writing and running tests. Use when: (1) Writing new tests, (2) Adding a new feature that needs tests, (3) Modifying logic that has existing tests, (4) Before claiming a task is complete.
pr-review
PR Code Review (Local): perform a thorough local code review with full project context. Use when: (1) User asks to review a PR, (2) User says "/pr-review", (3) User wants to review code changes before merging.
bump-version
Didn't find tool you were looking for?