with one click
fxa-pr-status
// Lists open FXA PRs matching a search term with a rich status table — file/line counts, draft state, review activity, and approval status. Defaults to all open PRs needing review.
// Lists open FXA PRs matching a search term with a rich status table — file/line counts, draft state, review activity, and approval status. Defaults to all open PRs needing review.
Approves the on-hold "Approve Functional Tests (PR)" CircleCI job for the current PR branch, kicking off the gated Playwright functional tests. Requires CIRCLECI_TOKEN in the environment.
Reviews changed React/TSX code for component design, hooks misuse, performance, accessibility, and state management issues. Reports findings with severity and concrete fix recommendations. Operates on files changed vs main.
Fast single-pass FXA-specific commit review covering security, conventions, logic/bugs, tests, and migrations. No subagents — runs directly in the main context.
Thorough FXA-specific commit review using parallel specialist agents. Covers security, TypeScript, logic/bugs, test quality, and architecture. Agents explore call sites, git history, and monorepo conventions.
Drafts Jest tests for changed code. Defaults to staged/unstaged changes or the most recent commit. Output is a starting point for review, not final.
Validates that Jest tests in a given file pass both as a full suite and individually in isolation, catching hidden order dependencies and shared mutable state.
| name | fxa-pr-status |
| description | Lists open FXA PRs matching a search term with a rich status table — file/line counts, draft state, review activity, and approval status. Defaults to all open PRs needing review. |
| allowed-tools | Bash |
| argument-hint | ["search term","e.g. \"passkey\""] |
| user-invocable | true |
| context | fork |
Show a status table for open FXA PRs matching $ARGUMENTS (or all open PRs if no argument given).
SEARCH="${ARGUMENTS:-}"
gh pr list \
--repo mozilla/fxa \
--state open \
--search "$SEARCH" \
--json number,title,author,createdAt,isDraft,reviewDecision \
--limit 30
For each PR number returned in Step 1, run these two commands in parallel (batch all PRs together — one gh pr view call per PR, all firing at the same time):
# For each PR number N:
gh pr view N --repo mozilla/fxa --json additions,deletions,changedFiles
gh pr view N --repo mozilla/fxa --json isDraft,reviewDecision,reviews
For each PR, compute a human-readable age from createdAt relative to today's date:
From the reviews array for each PR:
state == "APPROVED" from a member of the mozilla/fxa-devs team (exclude mozilla/fxa-l10n, bots and Copilot reviewers); otherwise no.copilot-pull-request-reviewer and bots) whose state is APPROVED, CHANGES_REQUESTED, or COMMENTED, joined by comma. If only Copilot has reviewed, write "Copilot only". If no reviews at all, write "—".Render a markdown table with these columns:
| # | Title | Author | Age | Files | +/- | Draft | Reviews | Approved |
|---|
[#N](url))login — append " (you)" if login matches the current git userchangedFiles+additions / -deletionsisDraft, otherwise "No"APPROVED review from a non-bot human; otherwise "No"After the table, call out any actionable items in a short bulleted list:
CHANGES_REQUESTED that haven't been updated since the review