copilot-review
Request, wait for, and resolve GitHub Copilot's automated PR review. Use after creating or marking a PR ready. Copilot reviews EVERY PR automatically — this skill handles the full lifecycle: request review, poll until received, then resolve all feedback. MUST be used before merging any PR.
What this skill does
# Copilot Review
Request, wait for, and resolve GitHub Copilot's automated PR review on a pull request.
## ⛔ Copilot Is Automatic and Mandatory
**Copilot reviews EVERY pull request automatically. It does NOT need to be "configured" or "enabled" — it is ALWAYS active on every repo.**
- Copilot review is **completely independent of CI**. They are separate systems. CI passing has NOTHING to do with Copilot.
- You MUST NOT merge ANY PR until Copilot has reviewed it and all feedback is resolved.
- No exceptions — not for "first PRs", not for "small PRs", not because "CI isn't set up yet", not because "nothing is configured yet".
- **NEVER use raw `gh api repos/.../reviews` commands to check Copilot status.** Use the script provided by this skill.
## When to Use
- After creating a PR (SDLC Step 6.3)
- Before merging any PR (team coordinator merge gate)
- When user says "check copilot", "wait for copilot", "copilot review"
## Parallel With Other Reviewers
This skill can run **in parallel** with `fx-dev:coderabbit-review` and any future automated-reviewer skills.
**Pick the execution mode based on your context (see `fx-dev:dev` Step 6.3 for the full table):**
- **Root session / standalone caller** → spawn one sub-agent per reviewer in a single message via the Agent tool (mode A). Best wall-clock latency.
- **`fx-dev:team` coordinator OR a sub-agent yourself** → sub-agents CANNOT spawn sub-agents. Run each reviewer's lifecycle sequentially yourself, optionally with the slow waiter (CodeRabbit) launched as a background `Bash` process while you handle Copilot in the foreground (mode B).
Don't serialize reviewers when you don't have to — Copilot is fast (≈30–90 s) and CodeRabbit is slow (2–10+ min and re-runs on every push). But never spawn sub-agents from a sub-agent context.
## Arguments
This skill expects a PR number. Pass it as args: `skill='fx-dev:copilot-review', args='<PR_NUMBER>'`
## Workflow
### Step 1: Request Copilot Review
```bash
# Get repo info
REPO_NWO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
# Request Copilot review using JSON body format (most reliable)
gh api --method POST "/repos/${REPO_NWO}/pulls/<PR_NUMBER>/requested_reviewers" \
--input - <<'EOF'
{"reviewers":["copilot-pull-request-reviewer[bot]"]}
EOF
```
If the request fails with a 422 (already reviewed or already requested), that's fine — proceed to Step 2.
### Step 2: Wait for Review
Run the bundled script **in the FOREGROUND** with `timeout: 660000` (11 minutes) on the Bash tool call:
```bash
bash [SKILL_BASE_DIR]/skills/copilot-review/scripts/wait-for-copilot-review.sh <PR_NUMBER>
```
**⚠️ CRITICAL: Run in FOREGROUND — do NOT use `run_in_background`.** The output must be directly available to determine the result.
Script exit codes:
- **Exit 0**: Review received → proceed to Step 3
- **Exit 1**: Timeout after 15 minutes → STOP. Report to user: "Copilot review timed out on PR #N. Cannot merge without it."
- **Exit 2**: Review not requested → go back to Step 1 to request, then re-run this script
- **Exit 3**: Invalid arguments or gh error → report error to user
### Step 3: Resolve Feedback
After the review is received, invoke the resolve-pr-feedback skill to process all automated review threads (Copilot, CodeRabbit, Codecov):
```
Skill tool: skill="fx-dev:resolve-pr-feedback", args="<PR_NUMBER>"
```
This skill will:
1. Find all unresolved Copilot threads
2. Categorize each (nitpick, valid, incorrect, outdated, deferred)
3. Fix valid concerns, reply to and resolve all threads
4. Report a summary table of actions taken
### Step 4: Confirm Resolution
After resolve-pr-feedback completes, verify zero unresolved threads remain:
```bash
OWNER="${REPO_NWO%%/*}"
REPO="${REPO_NWO##*/}"
gh api graphql -f query="
query {
repository(owner: \"$OWNER\", name: \"$REPO\") {
pullRequest(number: <PR_NUMBER>) {
reviewThreads(first: 100) {
nodes {
isResolved
comments(first: 1) {
nodes { author { login } }
}
}
}
}
}
}" --jq '[.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved == false)] | length'
```
If the count is 0, Copilot gate is PASSED. If > 0, re-invoke resolve-pr-feedback.
## Success Criteria
This skill is complete when ALL of:
- ✅ Copilot review has been received (script exited 0)
- ✅ All Copilot threads resolved (0 unresolved)
- ✅ Any valid code concerns have been fixed and pushed
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.