$npx -y skills add Borda/AI-Rig --skill resolveOSS maintainer fast-close workflow for GitHub PRs. Three phases: (1) PR intelligence — reads full thread, linked issues, PR body to synthesize contribution motivation and classify every comment into action items; (2) conflict resolution — checks out PR branch (fork-aware via gh p
| 1 | <objective> |
| 2 | |
| 3 | OSS maintainer fast-close workflow. PR number → three phases fire automatically: |
| 4 | |
| 5 | 1. **PR intelligence** — synthesize motivation from PR body, linked issues, thread; classify comments into action items |
| 6 | 2. **Conflict resolution** — checkout PR branch (fork-aware), merge `BASE_REF`, resolve conflicts with contributor intent as priority lens |
| 7 | 3. **Action item implementation** — implement each item as separate commit attributed to review comment, push to contributor's fork |
| 8 | |
| 9 | Result: conflict-free PR branch pushed to fork, ready to merge — no GitHub UI. |
| 10 | |
| 11 | **Core invariant — transparent, reversible**: every action = visible named git object. Use `git merge` (new commit, two parents), never `git rebase` (rewrites SHA, kills revert/cherry-pick). Each action item = own commit — granular revert always possible. |
| 12 | |
| 13 | Bare comment text → skip to Codex dispatch (Step 12). |
| 14 | |
| 15 | </objective> |
| 16 | |
| 17 | <inputs> |
| 18 | |
| 19 | - **$ARGUMENTS**: one of: |
| 20 | - Omitted → **review-handoff mode**: auto-detect PR from most recent `.reports/review/*/review-report.md` |
| 21 | - PR number (e.g. `42` or `#42`) or GitHub PR URL → **pr mode** |
| 22 | - `report` (bare word) → **report mode**: latest review findings as action items; no GitHub re-fetch |
| 23 | - `42 report` or `<URL> report` → **pr + report mode**: aggregate live GitHub comments + review report, deduplicated in one pass |
| 24 | - Bare review comment text → **comment dispatch mode** (jumps to Step 12) |
| 25 | - **`--no-challenge`**: optional — skip challenge gate per item; all selected items treated as `VALID` |
| 26 | - **`--no-codemap`**: optional — disable codemap structural context (on by default when codemap installed + index present) |
| 27 | - **`--codemap`**: optional — strict mode: stop and report if codemap not installed or index missing |
| 28 | - **`--agent <name>`**: optional — use `<name>` agent for implementation instead of Codex; must be an implementation agent; bare name auto-prefixed with `foundry:` if no plugin prefix detected (e.g. `--agent sw-engineer` → `foundry:sw-engineer`; `--agent linting-expert` → `foundry:linting-expert`; `--agent doc-scribe` → `foundry:doc-scribe`); explicit prefix also accepted (`--agent foundry:sw-engineer`); see routing table in `action-item-dispatch.md`. **`--agent` also applies to `INTEL_AGENT` (Step 3b thread intelligence)** — explicit `--agent` overrides label/title routing for the thread-intelligence subagent as well, so a docs-focused PR routed via `--agent foundry:doc-scribe` uses doc-scribe for both classification and implementation. |
| 29 | |
| 30 | NOT-for additions (scope guards): |
| 31 | |
| 32 | - **NOT for non-Python source PRs** (TypeScript, Go, Rust, Java) unless action items are limited to documentation or CI/CD changes — Step 9's lint-qa gate runs Python-specific tools (`ruff`/`mypy`); non-Python PRs will receive partial or no static-analysis review. For non-Python repos, run `/oss:resolve` in `report` mode with manually-curated findings. |
| 33 | - **NOT for branches with uncommitted local edits** — the `report`-mode no-PR# path operates on the current branch as-is; uncommitted changes will be committed alongside the action items. Stash (`git stash`) or commit local edits before invoking; the workflow does not auto-stash. |
| 34 | |
| 35 | </inputs> |
| 36 | |
| 37 | <constants> |
| 38 | CHALLENGE_TIMEOUT_S=300 # tightened from CLAUDE.md §6 default 900s |
| 39 | CHALLENGE_POLL_S=90 # tightened from CLAUDE.md §6 default 300s |
| 40 | > Bash timeout convention — `# timeout: N` annotations in bash blocks are honored by the Claude Code |
| 41 | > Bash tool (sets tool-level timeou |