pull-requests
Query PR records from the task store — filter by repo, PR number, state, reviewState, or staged flag, and display results as a readable table.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query PR records from the task store — filter by repo, PR number, state, reviewState, or staged flag, and display results as a readable table.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Query and manage Shipwright agents via the admin API — cron jobs, env vars, tool permissions, API tokens, and plugins. Use to configure the running agent, manage its schedules, inspect another agent's config, or provision a new agent.
Orchestrates the full test-readiness pipeline (phases 1–5), once per qualifying repo under repos/, each in its own worktree + branch. Runs test-inventory → test-design → test-migration → test-roadmap → test-fix in sequence per repo, starting from the first stale artifact. Invoked by the `shipwright-test-readiness` cron on a daily schedule; exits early for a repo when all of its phase artifacts are fresh.
Scan Sentry for new/regressed unresolved issues, dynamically map them to repos. Report only — no code changes.
Cross-cutting contract for the test-readiness pipeline. Specifies the GitHub repository configuration that makes "tests pass" structurally meaningful instead of advisory — branch protection requiring CI to pass, required secrets, environments, deploy hooks, and PR templates. Referenced by `test-design` (Phase 2 emits the repo-config plan) and `test-roadmap` (Phase 4 auto-pairs workflow tasks with branch-protection tasks). Without these, the verification commands in each task body are honor-system; with them, the workflow is the gate.
Phase 4 of the test-readiness pipeline. Synthesizes the three prior artifacts (inventory, system design, migration) into a single executable roadmap `test-readiness-plan.md` with five sequenced milestones and an agent-executable task list. Includes mandatory sections on where we are now, where we want to be, the gap, the speed delta, and open risks. Output is suitable for handoff to an engineer or to `shipwright /dev-task`. Invoke when the `/test-roadmap` command runs.
Query and update the Shipwright task store — pick the next ready task, mark status transitions, and append new tasks. Use whenever you need to read from or write to the task queue. Calls the task store HTTP API directly via curl.
| name | pull-requests |
| description | Query PR records from the task store — filter by repo, PR number, state, reviewState, or staged flag, and display results as a readable table. |
Use this skill to query PR records tracked by the Shipwright task store.
Results are fetched from GET /prs and displayed as a table.
Verify required environment variables before querying:
echo "URL: ${SHIPWRIGHT_TASK_STORE_URL:-(missing)}"
echo "Token: ${SHIPWRIGHT_TASK_STORE_TOKEN:+(set)}"
Both are provisioned automatically by the agent harness. See the task-store skill for token creation instructions if either is missing.
All filters are optional and can be combined. Pass them as query parameters.
| Filter | Type | Description |
|---|---|---|
repo | org/repo | Exact match on repository (e.g. app-vitals/shipwright) |
prNumber | integer | Specific PR number |
state | string | PR state: open, merged, closed |
reviewState | string | Review state: pending, in_progress, posted, approved |
staged | boolean | true or false — filter by staging flag |
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs" | jq .
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?repo=app-vitals%2Fshipwright" | jq .
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?state=open" | jq .
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?reviewState=pending" | jq .
# Staged PRs only
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?staged=true" | jq .
# Unstaged PRs only
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?staged=false" | jq .
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?prNumber=42" | jq .
# Open PRs with pending review in a specific repo
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?repo=app-vitals%2Fshipwright&state=open&reviewState=pending" | jq .
# Staged PRs awaiting review posting
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs?staged=true&reviewState=in_progress" | jq .
After fetching, render results as a readable table. Extract and format each record using jq:
curl -sf \
-H "Authorization: Bearer $SHIPWRIGHT_TASK_STORE_TOKEN" \
"$SHIPWRIGHT_TASK_STORE_URL/prs" \
| jq -r '
["id","repo","PR#","reviewState","staged","reviewCycles","patchCycles","commitSha","claimedBy","reviewedAt"],
(.prs[] | [
.id,
.repo,
(.prNumber | tostring),
.reviewState,
(.staged | tostring),
(.reviewCycles | tostring),
(.patchCycles | tostring),
(if .commitSha then .commitSha[0:8] else "-" end),
(.claimedBy // "-"),
(.reviewedAt // "-")
])
| @tsv
' | column -t -s $'\t'
| Column | Source field | Notes |
|---|---|---|
| id | .id | Record identifier |
| repo | .repo | org/repo format |
| PR# | .prNumber | GitHub PR number |
| reviewState | .reviewState | pending / in_progress / posted / approved |
| staged | .staged | true / false |
| reviewCycles | .reviewCycles | Number of completed review cycles |
| patchCycles | .patchCycles | Number of patch iterations |
| commitSha | .commitSha | First 8 characters of the commit SHA |
| claimedBy | .claimedBy | Agent ID that currently holds the claim |
| reviewedAt | .reviewedAt | ISO timestamp of last review completion |
{
"prs": [ /* array of PR records */ ],
"total": 12,
"limit": 50,
"offset": 0
}
Use ?limit=N&offset=M for pagination.