rtk-triage

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/rtk-triage

/rtk-triage

Orchestrateur de triage RTK. Fusionne issue-triage + pr-triage et produit une analyse croisée.

RTK分类处理协调器。整合issue-triage与pr-triage并生成交叉分析报告。

Quand utiliser

适用场景

  • 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
date +%Y-%m-%d
).

bash
git rev-parse --is-inside-work-tree
gh auth status
确认当前日期已知(使用
date +%Y-%m-%d
)。

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 :
bash
undefined
同时启动两项数据收集任务:
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 :
bash
undefined

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
/issue-triage
et
/pr-triage
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
    fixes #N
    ,
    closes #N
    ,
    resolves #N
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).

分别执行
/issue-triage
/pr-triage
的分析逻辑(与单独技能逻辑一致),生成以下结果:
Issues :
  • 分类(Bug/Feature/Enhancement/Question/Duplicate)
  • 风险等级(红/黄/绿)
  • 停滞状态(超过30天)
  • 通过扫描
    fixes #N
    closes #N
    resolves #N
    映射
    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) :
IssuePR1 (infos)PR2 (infos)Verdict recommandé
#N (titre)PR#X — auteur, taille, CIPR#Y — auteur, taille, CIGarder 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(通过扫描内容+文件重叠):
IssuePR1(信息)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 :
undefined
针对每个红色等级的Issue(#640类型安全评审):
  • 列出内容中提及的子发现项
  • 与现有PR交叉比对(标题/内容中的关键词)
  • 识别无对应PR的发现项
格式:
undefined

Issue #N — security review (finding par finding)

Issue #N — 安全评审(按发现项逐一列出)

FindingPR associéeStatus
Description finding 1PR#XEn review
Description finding critiqueAUCUNE⚠️ Trou
undefined
发现项关联PR状态
发现项1描述PR#X评审中
关键发现项描述⚠️ 漏洞
undefined

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 :
undefined
标记为P0或P0级的Issue(或包含关键词:"crash"、"truncat"、"cap"、"hardcoded")且无任何关联PR。
格式:
undefined

Bugs critiques sans PR

无PR的关键Bug

IssueTitrePattern communEffort estimé

Chercher un pattern commun (ex: "cap hardcodé", "exit code perdu") — si 3+ bugs partagent un pattern, suggérer un sprint groupé.
Issue标题共性模式预估工作量

查找共性模式(例如:"硬编码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 :
undefined
针对每个CI状态为dirty或CONFLICTING的内部PR:
  • 检查是否有其他PR修改相同文件
  • 检查develop分支近期的合并是否导致冲突
  • 建议操作:rebase、关闭或等待
格式:
undefined

Nos PRs dirty

内部脏PR

PRIssue(s)Cause probableAction
undefined
PR关联Issue(s)可能原因操作建议
undefined

3.5 PRs sans issue trackée

3.5 无追踪Issue的PR

PRs internes sans
fixes #N
dans le body — signaler pour traçabilité.

内容中无
fixes #N
标记的内部PR — 标记以确保可追溯性。

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é :
undefined
随后显示数据摘要:
undefined

Résumé chiffré — YYYY-MM-DD

数据摘要 — YYYY-MM-DD

CatégorieCount
PRs prêtes à merger (nos)N
Quick wins externesN
Double couverture (conflicts)N paires
P0/P1 bugs sans PRN
Security findings sans PRN
Nos PRs dirty à rebaserN
PRs à fermer (recommandé)N
undefined
分类数量
可合并的内部PRN
外部快速处理项N
重复覆盖(冲突)N 组
无PR的P0/P1级BugN
无PR的安全发现项N
需要rebase的内部脏PRN
建议关闭的PRN
undefined

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é

保存文件格式

markdown
undefined
markdown
undefined

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. 重复覆盖

...
...

2. Trous sécurité

2. 安全漏洞

...
...

3. P0/P1 sans PR

3. 无PR的P0/P1级问题

...
...

4. Nos PRs dirty

4. 内部脏PR

...
...

5. Nos PRs prêtes à merger

5. 可合并的内部PR

...
...

6. Quick wins externes

6. 外部快速处理项

...
...

7. Actions prioritaires

7. 优先操作项

(liste ordonnée par impact/urgence)

(按影响/紧急程度排序)

Résumé chiffré

数据摘要

...

---
...

---

Règles

规则

  • Langue : argument
    en
    /
    fr
    . Défaut :
    fr
    . 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
    --search
    ou
    gh api
    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".
  • 语言:参数
    en
    /
    fr
    ,默认:
    fr
    。GitHub评论始终使用英文。
  • 未经用户确认,不得发布任何GitHub评论(需调用AskUserQuestion)。
  • 若开放Issue>200或开放PR>200:告知用户并分页(使用
    --search
    或带分页的
    gh api
    重新启动)。
  • 交叉分析(阶段3)始终执行 — 这是本技能的核心价值。
  • 除非用户明确表示"no save",否则自动保存至claudedocs文件。