oss-pr
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
More from iofficeai/aionui
pptx
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
108docx
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
102xiaohongshu-recruiter
用于在小红书上发布高质量的 AI 相关岗位招聘帖子。包含自动生成极客风格的招聘封面图和详情图,并提供自动化发布脚本。当用户需要发布招聘信息、寻找 Agent 设计师或其他 AI 领域人才时使用。
68xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
67i18n
|
64openclaw-setup
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant. Can diagnose issues, create bots, execute automated tasks, etc. Use when users need to install OpenClaw, configure Gateway, set up Channels, create Agents, troubleshoot issues, or perform OpenClaw-related operations.
63