Arh Pr Workflow
/install arh-pr-workflow
arh-pr-workflow Skill
Expert guidance for arh CLI — Uber's PR and feature branch management tool.
Create Claude task list using TaskCreate for all items below. Mark tasks complete via TaskUpdate as you go.
- Parse user request (which arh operation?)
- Detect environment (Uber production repo?)
- Execute requested operation
- Verify result
- Report outcome
Branch Naming & Commit Templates
See references/uber-commit-template.md for branch naming convention, commit template format, and PR metadata gathering.
Initial Setup
arh auth
Opens browser for GitHub authorization. Select all needed orgs (e.g., uber-code, uber-objectconfig). GitHub username must end with _UBER suffix.
Core Capabilities
1. Creating Feature Branches
Create a new feature branch from main:
arh feature \x3Cfeature-name>
Create a stacked feature (branch off current feature):
arh feature next \x3Cfeature-name>
Create feature with specific parent:
arh feature \x3Cfeature-name> --parent \x3Cparent-branch>
2. Publishing Pull Requests
Publish PR for current feature:
arh publish
Publish entire feature stack (root to leaf):
arh publish --full-stack
Publish without interactive prompts (auto-apply lint fixes):
arh publish --no-interactive
Publish as draft PR:
arh publish --changes-planned
Publish with auto-merge enabled:
arh publish --auto-merge
Publish with combined flags:
arh publish --no-interactive --apply-fixes
arh publish --full-stack --changes-planned
3. Viewing PR Status
View feature tree:
arh log -p
View feature tree with PR status:
arh log -s
# or
arh -s
View with commit history (ahead/behind status):
arh log -c
# or
arh -c
4. Merging Pull Requests
Merge current feature and all ancestors:
arh merge
How it works:
- If on branch A (main -> C -> B -> A), merges A, B, and C
- If on branch B, merges B and C
- Requires all checks to pass (Builds, Required Approvers)
- Merges ancestors first, then current branch
5. Navigating Features
Checkout existing feature:
arh checkout \x3Cfeature-name>
# or
arh co \x3Cfeature-name>
Checkout PR from URL (v0.0.38+):
arh checkout https://github.com/uber-code/go-code/pull/11960
# or
arh checkout uber-code/go-code/pull/11960
# or
arh checkout 11960
# or
arh checkout username/feature-name
This fetches the PR branch from remote and sets up upstream tracking.
Navigate feature stack:
arh checkout next # Next feature in tree
arh checkout prev # Previous feature in tree
arh checkout first # First feature in tree
arh checkout last # Last feature in tree
6. Rebasing Features
Rebase current feature tree to latest parent:
arh rebase
Pull and rebase from default branch:
arh pull -r
This pulls latest changes from origin main and rebases the entire feature stack.
Important for go-code monorepo: After any git pull or arh pull, always run:
git-bzl refresh
Rebase to new parent:
arh rebase --parent \x3Cnew-parent-branch>
Rebase specific feature:
arh rebase --feature \x3Cfeature-branch-name>
Rebase entire stack:
arh rebase --base \x3Cbase-branch>
Rebase subtree:
arh rebase --subtree \x3Csubtree-root>
Rebase all features:
arh rebase --all
7. Discarding Features
Discard a feature branch:
arh discard -f \x3Cfeature-name>
Important: This deletes both local and remote branches. Any PRs open from this branch will be closed.
Discard local only (keep remote):
arh discard --skip-remote -f \x3Cfeature-name>
Use --skip-remote when checking out someone else's PR branch that you want to discard locally.
8. Cleaning Up Merged Features
Clean up merged/closed feature branches:
arh tidy
Clean up without prompts:
arh tidy --no-interactive
How it works:
- Lists all closed/merged features
- Asks for confirmation to discard
- Updates upstream tracking for dependent branches
- Example: main -> A -> B -> C, if B is closed, tidy discards B and updates C's parent to A
9. Running Quality Checks
Run linters on changed files:
arh lint
Run tests on changed files:
arh test
10. Version Management
Check arh version:
arh version
# or
arh -v
Common Workflows
- New feature:
arh feature NAME-> commit ->arh publish - Stacked PRs:
arh feature NAME-> commit ->arh feature next NAME2-> commit ->arh publish --full-stack - Update after review: commit fixes ->
arh publish --no-interactive - Merge stack:
arh checkout last->arh merge->arh tidy - Rebase on main:
arh rebaseorarh rebase --all, thenarh publish --no-interactive
Troubleshooting
PR publish fails due to lint errors:
arh publish --apply-fixes # Auto-apply lint fixes
Skip pre-push coverage check (/opt/uber/etc/custom-hooks/coverage-check.sh):
arh publish --no-coverage # Skip coverage via wrapper (preferred)
SKIP_COVERAGE=1 arh publish # Skip coverage via env var
COVERAGE_THRESHOLD=70 arh publish # Lower threshold (default: 80%)
The --no-coverage flag is handled by an arh() shell wrapper in ~/.aliases that creates a marker file (/tmp/.skip-coverage-$(id -u)) consumed by the pre-push hook.
Aliases: arh-nc (no coverage), arh-lc (lower threshold) — also in ~/.aliases.
Feature tree is messy:
arh -s # Check status
arh tidy # Clean up merged features
arh rebase --all # Rebase everything
Cannot merge due to failing checks:
- Check build status:
arh -s - Ensure all required approvals are received
- Verify all builds are passing
- Fix issues and update PR:
arh publish
Tips
- Always create features with
arh featurefor proper parent tracking - Use
arh -sfrequently to monitor PR status - Use
--no-interactivein automated/CI contexts - Use
--changes-plannedfor WIP/draft PRs - Run
arh tidyregularly to keep feature tree clean - Use
--full-stackfor dependent changes - go-code monorepo: After
git pullorarh pull, MUST rungit-bzl refresh
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install arh-pr-workflow - 安装完成后,直接呼叫该 Skill 的名称或使用
/arh-pr-workflow触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Arh Pr Workflow 是什么?
Expert guidance for managing Pull Requests and feature branches using Uber's arh CLI tool. Use when creating features, publishing PRs, managing stacked PRs,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 144 次。
如何安装 Arh Pr Workflow?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install arh-pr-workflow」即可一键安装,无需额外配置。
Arh Pr Workflow 是免费的吗?
是的,Arh Pr Workflow 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Arh Pr Workflow 支持哪些平台?
Arh Pr Workflow 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Arh Pr Workflow?
由 Ajit Singh(@ajitsingh25)开发并维护,当前版本 v1.0.0。