一键导入
issue-triage
Scan overlay repositories for GitHub issues, categorize them, flag stale items, and cross-reference with workspace tracking.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scan overlay repositories for GitHub issues, categorize them, flag stale items, and cross-reference with workspace tracking.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Host orchestrator that drives an issue through the full per-issue lifecycle — dispatches each phase (review-issue → plan-task → review-plan → implement → review-code → triage-reviews → address-findings) as a fresh-context sub-agent, reads each phase's progress.md entry to choose the next action, and pauses at user checkpoints. Local-first: the PR is created at the end, never auto-pushes or auto-merges without confirmation.
Evaluate a GitHub issue against workspace principles and ADRs before work begins. Records findings in progress.md and best-effort posts them as a comment on the issue.
Independent evaluation of a committed work plan before implementation begins. Checks scope, approach, principle alignment, consequences, and ROS conventions.
Activate deployment mode for a live field deployment. Discovers the project's deployment config, detects dev/field side via field_mode.sh, and either creates a new deployment, first-activates an existing one (worktree/main-tree + per-host log + issue-sync push), or resumes an ongoing one. Loads the urgency contract (sterile-cockpit / mitigate-before-diagnose / time-box) into the current agent session.
Close out a field deployment. Verifies dev-side access, finds the open deployment issue, collects field logs, interviews the operator for corrections, consolidates the dev log, reconciles field code via SHA-preserving merge and /import-field-changes, opens the wrap-up PR (Closes
Lead reviewer that orchestrates specialist sub-reviews (static analysis, governance, plan drift, adversarial) to evaluate a PR or pre-push diff. Scales review depth to change risk. Produces a unified structured report and persists findings to progress.md.
基于 SOC 职业分类
| name | issue-triage |
| description | Scan overlay repositories for GitHub issues, categorize them, flag stale items, and cross-reference with workspace tracking. |
/issue-triage [--repo <repo-name>] [--stale-days <N>]
Without --repo, scans all overlay repositories. Default stale threshold is
90 days.
Lifecycle position: Utility/periodic — run to get a cross-repo view of open issues, identify stale items, and ensure nothing is falling through the cracks.
Scans overlay repositories for open GitHub issues using gh CLI, categorizes
them by type and priority, flags stale issues, and cross-references with
workspace-level tracking.
python3 .agent/scripts/list_overlay_repos.py
This outputs a JSON list of {name, url, version, source_file} for all overlay repos.
Parse the owner/repo from each URL.
If --repo was specified, filter to just that repository.
For each repository:
gh issue list --repo <owner/repo> --state open --json number,title,labels,createdAt,updatedAt,url,assignees --limit 100
Collect all results into a unified list with the repo name attached.
Classify each issue by type based on labels and title keywords:
| Category | Indicators |
|---|---|
| Bug | bug label, "fix", "crash", "error" in title |
| Enhancement | enhancement label, "add", "improve", "support" in title |
| Documentation | documentation label, "doc", "readme" in title |
| Test | test label, "test", "coverage" in title |
| Infrastructure | ci, build, infra labels |
| Uncategorized | No matching indicators |
An issue is stale if:
updatedAt is more than <stale-days> days ago (default: 90)The updatedAt field already reflects all activity (comments, label changes,
assignments), so no separate comment check is needed.
Check whether issues are being tracked in the workspace:
# Check for existing worktrees or branches referencing the issue
git branch --list "feature/issue-<N>" "feature/ISSUE-<N>-*" 2>/dev/null
Also check if the issue number appears in any open PRs:
ISSUE_NUM=<N>
gh pr list --repo <workspace-repo> --state open --json title,url --jq ".[] | select(.title | test(\"\\b${ISSUE_NUM}\\b\"))"
## Issue Triage Report
**Scanned**: <N> repositories
**Total open issues**: <N>
**Stale issues**: <N> (> <stale-days> days without update)
### By Repository
#### <repo-name>
| # | Title | Category | Age | Stale | Tracked |
|---|-------|----------|-----|-------|---------|
| <N> | <title> | Bug/Enhancement/... | <days> days | Yes/No | Yes/No |
### Summary by Category
| Category | Count |
|----------|-------|
| Bug | <N> |
| Enhancement | <N> |
| ... | ... |
### Stale Issues (Action Needed)
| Repo | # | Title | Last Updated | Suggestion |
|------|---|-------|--------------|------------|
| <repo> | <N> | <title> | <date> | Close / Assign / Update |
### Untracked Issues
Issues not referenced in any workspace branch or PR:
| Repo | # | Title | Category |
|------|---|-------|----------|
| <repo> | <N> | <title> | <category> |
gh CLI — all GitHub queries go through gh, not the API directly.--repo flag helps focus on one repo at a time.