Orchestrateur de triage RTK. Fusionne issue-triage + pr-triage et produit une analyse croisée.
RTK分类处理协调器。整合issue-triage与pr-triage并生成交叉分析报告。
- Hebdomadaire ou avant chaque sprint
- Quand le backlog PR/issues grossit rapidement
- Pour identifier les doublons avant de reviewer
- 每周执行或每个sprint前
- PR/issue待办列表快速增长时
- 评审前识别重复内容时
Workflow en 4 phases
四阶段工作流程
Phase 0 — Préconditions
阶段0 — 前置条件
bash
git rev-parse --is-inside-work-tree
gh auth status
Vérifier que la date actuelle est connue (utiliser
).
bash
git rev-parse --is-inside-work-tree
gh auth status
Phase 1 — Data gathering (parallèle)
阶段1 — 数据收集(并行)
Lancer les deux collectes simultanément :
Issues :
bash
gh repo view --json nameWithOwner -q .nameWithOwner
gh issue list --state open --limit 150 \
--json number,title,author,createdAt,updatedAt,labels,assignees,body
gh issue list --state closed --limit 20 \
--json number,title,labels,closedAt
gh api "repos/{owner}/{repo}/collaborators" --jq '.[].login'
PRs :
同时启动两项数据收集任务:
Issues :
bash
gh repo view --json nameWithOwner -q .nameWithOwner
gh issue list --state open --limit 150 \
--json number,title,author,createdAt,updatedAt,labels,assignees,body
gh issue list --state closed --limit 20 \
--json number,title,labels,closedAt
gh api "repos/{owner}/{repo}/collaborators" --jq '.[].login'
PRs :
Fetcher toutes les PRs ouvertes — paginer si nécessaire (gh limite à 200 par appel)
获取所有开放状态的PR — 必要时分页(gh单次调用限制为200条)
gh pr list --state open --limit 200
--json number,title,author,createdAt,updatedAt,additions,deletions,changedFiles,isDraft,mergeable,reviewDecision,statusCheckRollup,body
gh pr list --state open --limit 200
--json number,title,author,createdAt,updatedAt,additions,deletions,changedFiles,isDraft,mergeable,reviewDecision,statusCheckRollup,body
Si le repo a >200 PRs ouvertes, relancer avec --search pour paginer :
如果仓库开放PR数量>200,使用--search参数重新启动以分页:
gh pr list --state open --limit 200 --search "is:pr is:open sort:updated-desc" ...
gh pr list --state open --limit 200 --search "is:pr is:open sort:updated-desc" ...
Pour chaque PR, récupérer les fichiers modifiés (nécessaire pour overlap detection)
为每个PR获取修改的文件(用于重复覆盖检测)
Prioriser les PRs candidates (même domaine, même auteur)
优先处理候选PR(相同领域、同一作者)
gh pr view {num} --json files --jq '[.files[].path] | join(",")'
gh pr view {num} --json files --jq '[.files[].path] | join(",")'
Phase 2 — Triage individuel
阶段2 — 单独分类处理
Exécuter les analyses de
et
séparément (même logique que les skills individuels) pour produire :
Issues :
- Catégorisation (Bug/Feature/Enhancement/Question/Duplicate)
- Risque (Rouge/Jaune/Vert)
- Staleness (>30j)
- Map
issue_number → [PR numbers]
via scan , ,
PRs :
- Taille (XS/S/M/L/XL)
- CI status (clean/dirty)
- Nos PRs vs externes
- Overlaps (>50% fichiers communs entre 2 PRs)
- Clusters (auteur avec 3+ PRs)
Afficher les tableaux standards de chaque skill (voir SKILL.md de issue-triage et pr-triage pour le format exact).
分别执行
与
的分析逻辑(与单独技能逻辑一致),生成以下结果:
Issues :
- 分类(Bug/Feature/Enhancement/Question/Duplicate)
- 风险等级(红/黄/绿)
- 停滞状态(超过30天)
- 通过扫描、、映射
issue_number → [PR numbers]
PRs :
- 规模(XS/S/M/L/XL)
- CI状态(clean/dirty)
- 内部PR vs 外部PR
- 重复覆盖(两个PR间文件重叠>50%)
- 集群(同一作者拥有3个及以上PR)
显示各技能对应的标准表格(详见issue-triage与pr-triage的SKILL.md获取精确格式)。
Phase 3 — Analyse croisée (cœur de ce skill)
阶段3 — 交叉分析(本技能核心价值)
C'est ici que ce skill apporte de la valeur au-delà des deux skills individuels.
3.1 Double couverture — 2 PRs pour 1 issue
3.1 重复覆盖 — 1个Issue对应2个PR
Pour chaque issue liée à ≥2 PRs (via scan des bodies + overlap fichiers) :
| Issue | PR1 (infos) | PR2 (infos) | Verdict recommandé |
|---|
| #N (titre) | PR#X — auteur, taille, CI | PR#Y — auteur, taille, CI | Garder la plus ciblée. Fermer/coordonner l'autre |
Règle de verdict :
- Préférer la plus petite (XS < S < M) si même scope
- Préférer CI clean sur CI dirty
- Préférer "nos PRs" si l'une est interne
- Si overlap de fichiers >80% → conflit quasi-certain, signaler
针对每个关联≥2个PR的Issue(通过扫描内容+文件重叠):
| Issue | PR1(信息) | PR2(信息) | 推荐结论 |
|---|
| #N(标题) | PR#X — 作者、规模、CI状态 | PR#Y — 作者、规模、CI状态 | 保留针对性更强的PR,关闭/协调另一个 |
结论规则:
- 若范围相同,优先选择规模更小的PR(XS < S < M)
- 优先选择CI状态为clean的PR
- 若其中一个是内部PR,优先选择内部PR
- 若文件重叠>80% → 几乎必然存在冲突,需标记
3.2 Trous de couverture sécurité
3.2 安全覆盖漏洞
Pour chaque issue rouge (#640-type security review) :
- Lister les sous-findings mentionnés dans le body
- Croiser avec les PRs existantes (mots-clés dans titre/body)
- Identifier les findings sans PR
Format :
针对每个红色等级的Issue(#640类型安全评审):
- 列出内容中提及的子发现项
- 与现有PR交叉比对(标题/内容中的关键词)
- 识别无对应PR的发现项
格式:
Issue #N — security review (finding par finding)
Issue #N — 安全评审(按发现项逐一列出)
| Finding | PR associée | Status |
|---|
| Description finding 1 | PR#X | En review |
| Description finding critique | AUCUNE | ⚠️ Trou |
| 发现项 | 关联PR | 状态 |
|---|
| 发现项1描述 | PR#X | 评审中 |
| 关键发现项描述 | 无 | ⚠️ 漏洞 |
3.3 P0/P1 bugs sans PR
3.3 无PR的P0/P1级Bug
Issues labelisées P0 ou P1 (ou mots-clés : "crash", "truncat", "cap", "hardcoded") sans aucune PR liée.
Format :
标记为P0或P0级的Issue(或包含关键词:"crash"、"truncat"、"cap"、"hardcoded")且无任何关联PR。
格式:
Bugs critiques sans PR
无PR的关键Bug
| Issue | Titre | Pattern commun | Effort estimé |
|---|
Chercher un pattern commun (ex: "cap hardcodé", "exit code perdu") — si 3+ bugs partagent un pattern, suggérer un sprint groupé.
查找共性模式(例如:"硬编码cap"、"丢失退出码")—— 若3个及以上Bug存在相同模式,建议集中安排sprint处理。
3.4 Nos PRs dirty — causes probables
3.4 内部脏PR — 可能原因
Pour chaque PR interne avec CI dirty ou CONFLICTING :
- Vérifier si un autre PR touche les mêmes fichiers
- Vérifier si un merge récent sur develop peut expliquer le conflit
- Recommander : rebase, fermeture, ou attente
Format :
针对每个CI状态为dirty或CONFLICTING的内部PR:
- 检查是否有其他PR修改相同文件
- 检查develop分支近期的合并是否导致冲突
- 建议操作:rebase、关闭或等待
格式:
| PR | Issue(s) | Cause probable | Action |
|---|
3.5 PRs sans issue trackée
3.5 无追踪Issue的PR
PRs internes sans
dans le body — signaler pour traçabilité.
Phase 4 — Output final
阶段4 — 最终输出
Afficher l'analyse croisée complète (sections 3.1 → 3.5)
显示完整交叉分析报告(3.1 → 3.5章节)
Puis afficher le résumé chiffré :
Résumé chiffré — YYYY-MM-DD
数据摘要 — YYYY-MM-DD
| Catégorie | Count |
|---|
| PRs prêtes à merger (nos) | N |
| Quick wins externes | N |
| Double couverture (conflicts) | N paires |
| P0/P1 bugs sans PR | N |
| Security findings sans PR | N |
| Nos PRs dirty à rebaser | N |
| PRs à fermer (recommandé) | N |
| 分类 | 数量 |
|---|
| 可合并的内部PR | N |
| 外部快速处理项 | N |
| 重复覆盖(冲突) | N 组 |
| 无PR的P0/P1级Bug | N |
| 无PR的安全发现项 | N |
| 需要rebase的内部脏PR | N |
| 建议关闭的PR | N |
Sauvegarder dans claudedocs
保存至claudedocs
bash
date +%Y-%m-%d # Pour construire le nom de fichier
Sauvegarder dans
claudedocs/RTK-YYYY-MM-DD.md
avec :
- Les tableaux de triage issues + PRs (Phase 2)
- L'analyse croisée complète (Phase 3)
- Le résumé chiffré
Confirmer :
Sauvegardé dans claudedocs/RTK-YYYY-MM-DD.md
bash
date +%Y-%m-%d # 用于生成文件名
将以下内容保存至
claudedocs/RTK-YYYY-MM-DD.md
:
- Issue与PR分类处理表格(阶段2)
- 完整交叉分析报告(阶段3)
- 数据摘要
确认提示:
已保存至claudedocs/RTK-YYYY-MM-DD.md
Format du fichier sauvegardé
保存文件格式
RTK Triage — YYYY-MM-DD
RTK Triage — YYYY-MM-DD
Croisement issues × PRs. {N} PRs ouvertes, {N} issues ouvertes.
Issue × PR交叉分析。{N} 个开放PR,{N} 个开放Issue。
1. Double couverture
1. 重复覆盖
3. P0/P1 sans PR
3. 无PR的P0/P1级问题
5. Nos PRs prêtes à merger
5. 可合并的内部PR
6. Quick wins externes
6. 外部快速处理项
7. Actions prioritaires
7. 优先操作项
(liste ordonnée par impact/urgence)
- Langue : argument /. Défaut : . Les commentaires GitHub restent toujours en anglais.
- Ne jamais poster de commentaires GitHub sans validation utilisateur (AskUserQuestion).
- Si >200 issues ou >200 PRs : prévenir l'utilisateur et paginer (relancer avec ou avec pagination).
- L'analyse croisée (Phase 3) est toujours exécutée — c'est la valeur ajoutée de ce skill.
- Le fichier claudedocs est sauvegardé automatiquement sauf si l'utilisateur dit "no save".
- 语言:参数/,默认:。GitHub评论始终使用英文。
- 未经用户确认,不得发布任何GitHub评论(需调用AskUserQuestion)。
- 若开放Issue>200或开放PR>200:告知用户并分页(使用或带分页的重新启动)。
- 交叉分析(阶段3)始终执行 — 这是本技能的核心价值。
- 除非用户明确表示"no save",否则自动保存至claudedocs文件。