‹ 首页

ru-multi-repo-workflow

@boshu2 · 收录于 1 周前

Use when using ru for multi-repo commits, sync, GitHub review, or maintenance automation.

适合你,如果同时维护多个Git仓库并需要统一管理提交与同步。

/ 下载安装
ru-multi-repo-workflow.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add boshu2/agentops/ru-multi-repo-workflow
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- boshu2/agentops/ru-multi-repo-workflow
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify boshu2/agentops/ru-multi-repo-workflow
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
407GitHub stars
待重算上下文体积
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · Apache-2.0 · bd3f0f7

ru Multi-Repo Workflow

Core Insight: ru automates the mechanical. Your job is judgment: substantive merge conflicts, scope creep decisions, canonical version selection. If it doesn't require human judgment, it should just happen.
Quick Start
# Health check
ru doctor && gh auth status

# Phase 1: Commit dirty repos
ru status --json | jq '[.repos[] | select(.dirty)]'  # Find dirty
cd /data/projects/REPO && cat AGENTS.md README.md     # Understand
git add FILES && git commit -m "MSG" && git push      # Commit

# Phase 2: Sync all repos
ru sync -j4                                           # Parallel sync
git log --oneline HEAD...origin/main                  # See divergence

# Phase 3: Review issues/PRs
ru review --dry-run                                   # See open items
gh issue view NUMBER -R owner/repo                    # Investigate

# Phase 4: Release & Monitor (for repos with GH Actions)
ls .github/workflows/*.yml 2>/dev/null && echo "Has CI"  # Detect
gh run list --limit 5                                     # Recent runs
gh run watch                                              # Monitor live

The 4 Phases

| Phase | Summary | Key Command | |-------|---------|-------------| | 1. Smart Commits | Dirty repos → understand → commit logical groups → push | ru status | | 2. Smart Sync | Pull all → resolve conflicts (CAREFUL!) → canonical version → push | ru sync -j4 | | 3. Issue/PR Review | Discover 2025+ → verify independently → respond via gh | ru review | | 4. Release & Monitor | Detect CI repos → watch runs → iterate on failures until green | gh run list |

Always run in order. Can't release if not committed. Can't review if not synced.


What to Surface vs Just Handle

| Surface (needs judgment) | Just Handle (mechanical) | |--------------------------|--------------------------| | Substantive merge conflicts | Clean fast-forwards | | Complex feature requests | Stale issues (pre-2025) | | PR ideas worth considering | Issues already fixed | | Ambiguous canonical version | Obvious bugs, clear fixes | | Security-related anything | Simple fitting features |


Phase 1: Smart Commits

The only rule: Understand before committing. 2 minutes reading AGENTS.md saves 20 minutes of confusion.

ru status --json 2>/dev/null | jq -r '.repos[] | select(.dirty) | .name'
cd /data/projects/REPO && cat AGENTS.md README.md
git add path/to/related/files && git commit -m "$(cat <<'EOF'
Why this change exists (not what changed)

- Specific detail 1
- Specific detail 2

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
git push

Deep dive: [PHASE1-COMMITS.md](references/PHASE1-COMMITS.md) | Prompt: [PROMPTS.md](references/PROMPTS.md#phase-1-smart-commits)


Phase 2: Smart Sync

Key insight: "Canonical" ≠ "Latest". Manual diff required—this cannot be mechanically determined.

| Situation | Usually Canonical | But Check | |-----------|-------------------|-----------| | Local ahead | Local | Unless local is experiments | | Remote ahead | Remote | Unless remote lost work | | Diverged, different files | Merge both | Straightforward | | Diverged, same files | SURFACE | Judgment required |

ru sync -j4
git log --oneline HEAD...origin/main  # See divergence
git diff HEAD origin/main             # See actual changes
SURFACE FORMAT: Conflicts
🚨 CONFLICT REQUIRING JUDGMENT: repo_name

Local (abc123): Refactored auth to use JWT
Remote (def456): Refactored auth to use sessions

Options:
1. Keep local (JWT approach)
2. Keep remote (session approach)
3. Manual merge

Which aligns with project direction?

Deep dive: [PHASE2-SYNC.md](references/PHASE2-SYNC.md) | Prompt: [PROMPTS.md](references/PROMPTS.md#phase-2-smart-sync)


Phase 3: Issue/PR Review

Key insight: Never trust user reports blindly. Independent verification required.

| Type | Verified? | Action | |------|-----------|--------| | Bug, confirmed, unfixed | ✓ | Fix it, close: gh issue close N -c "Fixed in SHA" | | Bug, already fixed | ✓ | Close: gh issue close N -c "Fixed in SHA" | | Bug, can't reproduce | ? | Ask: gh issue comment N -b "Need: steps, OS, error" | | Bug, pre-2025 | ✗ | Close: gh issue close N -c "Closing as stale" | | Feature, simple, fits | ✓ | Implement, close | | Feature, complex | ? | SURFACE | | Feature, scope creep | ✗ | Decline politely | | PR, any | — | NEVER MERGE, mine for ideas, close with explanation |

ru review --dry-run --json 2>/dev/null | jq '[.items[] | select(.created_at >= "2025-01-01")]'
gh issue view NUMBER -R owner/repo
gh pr diff NUMBER -R owner/repo  # THE INTEL
SURFACE FORMAT: Scope Decisions
🤔 FEATURE REQUEST: owner/repo#42 — "Add support for X"

User's problem: [What they're trying to do]

Analysis:
+ Would help users doing Y
- Maintenance burden
- Could lead to scope creep

Options:
1. Implement as requested
2. Implement simpler version
3. Decline

My recommendation: [X] because [reason]

Deep dive: [PHASE3-REVIEW.md](references/PHASE3-REVIEW.md) | Prompt: [PROMPTS.md](references/PROMPTS.md#phase-3-issuepr-review)


Phase 4: Release & Monitor

Key insight: Push triggers CI. Watch until green. Iterate on failures—don't leave broken.

Detection: Which Repos Have CI?
# Check for workflows
ls .github/workflows/*.yml 2>/dev/null

# Check for release workflow specifically
grep -l "release\|tag" .github/workflows/*.yml 2>/dev/null
The Monitor Loop
# 1. See recent runs
gh run list --limit 5

# 2. Watch active run (blocks until complete)
gh run watch

# 3. If failed: get logs, diagnose, fix, push, repeat
gh run view RUN_ID --log-failed
# ... fix the issue ...
git add . && git commit -m "fix: CI issue" && git push
gh run watch  # Monitor the fix
What NOT to Commit (Ephemeral Filter)

| Skip These | Why | |------------|-----| | *.log, *.tmp, *~ | Transient | | target/, node_modules/, dist/ | Build artifacts | | .env, *.key, credentials.* | SECRETS | | .DS_Store, Thumbs.db | OS junk | | .idea/, .vscode/ | IDE config |

SURFACE FORMAT: Persistent CI Failure
🔴 CI FAILING: owner/repo — Run #12345

Failure: [test name or step]
Error: [key error message]

Attempted fixes:
1. [What you tried]
2. [What you tried]

This may require judgment:
- [ ] Is this a flaky test?
- [ ] Is this a real regression?
- [ ] Is this environment-specific?

Logs: gh run view 12345 --log-failed

Deep dive: [PHASE4-RELEASE.md](references/PHASE4-RELEASE.md) | Prompt: [PROMPTS.md](references/PROMPTS.md#phase-4-release--monitor)


References

| Topic | Resource | |-------|----------| | All Prompts | [PROMPTS.md](references/PROMPTS.md) | | Phase 1 deep dive | [PHASE1-COMMITS.md](references/PHASE1-COMMITS.md) | | Phase 2 deep dive | [PHASE2-SYNC.md](references/PHASE2-SYNC.md) | | Phase 3 deep dive | [PHASE3-REVIEW.md](references/PHASE3-REVIEW.md) | | Phase 4 deep dive | [PHASE4-RELEASE.md](references/PHASE4-RELEASE.md) | | gh command reference | [GH-COMMANDS.md](references/GH-COMMANDS.md) | | Troubleshooting | [PITFALLS.md](references/PITFALLS.md) |

Scripts

| Script | Purpose | |--------|---------| | scripts/validate.sh | Health check (ru, gh, jq, API connectivity) | | scripts/review-sweep.sh owner/repo | Full review workflow for one repo |


Validation
./scripts/validate.sh  # Full health check
按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。