用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/gittower/git-flow-next --skill scan-repo命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | scan-repo |
| description | Weekly repo activity scan — new discussions, issues, and PRs, ordered by effort into an action list |
| argument-hint | ["since","e.g. 14d or 2026-07-01"] |
| allowed-tools | Bash, Read, Write, Glob, mcp__github__list_issues, mcp__github__search_issues, mcp__github__list_pull_requests, mcp__github__get_pull_request_reviews |
Scan all activity on gittower/git-flow-next since the last scan and produce a prioritized action list: what came in (discussions, issues, PRs), what needs a reaction from us, and in which order to tackle it — quick wins first, deeper work later, each item with the command that handles it.
Read-only: the scan never posts, labels, or replies. It only reports. Meant to be run manually about once per week.
/scan-repo [since]
since — optional lookback: a duration (7d, 14d) or a date
(2026-07-01). Default: the date of the most recent scan report in
.ai/scans/, or 7 days if none exists.ls .ai/scans/scan-*.md 2>/dev/null | sort | tail -1
Use the date in the newest filename as SINCE unless an argument was
given. Fall back to 7 days ago. Get today's date with date +%Y-%m-%d.
Collect in parallel where possible:
Discussions (GraphQL):
gh api graphql -f query='query { repository(owner: "gittower", name: "git-flow-next") {
discussions(first: 30, orderBy: {field: UPDATED_AT, direction: DESC}) {
nodes { number title category { name } isAnswered updatedAt createdAt
author { login } comments(last: 3) { nodes { author { login } createdAt } } } } } }'
Flag: new discussions since SINCE; unanswered questions; threads where
the last comment is not ours.
Issues:
gh issue list --state open --search "created:>SINCE" --json number,title,labels,author,createdAtgh issue list --state open --search "updated:>SINCE" --json number,title,labels,comments,updatedAt — for each, check whether the last comment is from an external user (awaiting our reply) or from us (awaiting theirs; no action)needs info-type situations where the reporter has now respondedPull requests:
/check-prs does (read
.claude/skills/check-prs/SKILL.md, steps 1–2) — status vs the review
response window, days waiting, whose move it isSINCE as newHousekeeping signals (cheap checks, include only if noteworthy):
gh run list --branch main --limit 5 --json conclusion,namelabel:spec) with no linked PR — accepted work nobody
startedTreat comments by repo collaborators and bots as "ours"; everyone else is external.
Sort every actionable item into one of three buckets:
Quick wins — minutes each, mostly judgment-free:
One command — the autonomous pipelines do the heavy lifting; our cost is reviewing their output at the gates:
/triage/handle-pr/takeover-pr/resolve-issueNeeds thinking — human design or policy judgment up front:
Within each bucket, order by age (oldest first) — external people are waiting.
Write .ai/scans/scan-<today>.md:
# Repo Scan <today> (since <SINCE>)
## Summary
<2-3 sentences: volume, anything urgent, overall state>
## Action List
### Quick wins
| # | Item | Waiting | Why quick | Command |
|---|------|---------|-----------|---------|
| 1 | discussion #12 — <title> | 6d | answer is in docs/gitflow-config.5.md | reply directly |
| 2 | issue #101 — <title> | 3d | duplicate of #87 | /triage 101 |
### One command
| # | Item | Waiting | Pipeline | Command |
|---|------|---------|----------|---------|
| 3 | issue #103 — <title> | 2d | bug triage | /triage 103 |
| 4 | PR #99 — <title> | 4d | review | /handle-pr 99 |
### Needs thinking
| # | Item | Waiting | What to think about |
|---|------|---------|---------------------|
| 5 | issue #104 — <title> | 5d | proposes new branch type semantics — design call needed |
## No Action Needed
<Items with recent activity that are waiting on the other side, in-window
PRs, answered discussions — one line each so nothing looks >
Show the summary and the full action list in the conversation, in tackle order. End with the single most valuable next command (usually action #1).