Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计提醒

issue-triage问题分类

Agent Skill

用于围绕 GitHub 仓库、Issue、Pull Request、分支、提交和代码协作流程提供辅助能力。它适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项,并把仓库中的信息转成可执行的下一步。使用时需要区分只读查询和写入操作;涉及创建 PR、修改 Issue、推送分支或访问私有仓库时,应确认 token 权限、目标仓库范围和用户授权。

总安装

1,582

周安装

64

GitHub Stars

38,564

下载量

497
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:issue-triage(问题分类)
来源仓库:https://github.com/rtk-ai/rtk
仓库路径:skills/issue-triage
安装命令:
npx skills add https://github.com/rtk-ai/rtk --skill issue-triage
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/rtk-ai/rtk --skill issue-triage

简介

用于围绕 GitHub 仓库、Issue、Pull Request、分支、提交和代码协作流程提供辅助能力,适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项。

  • 适用于代码协作、仓库管理和 Issue 处理等开发相关场景。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 使用时需要区分只读查询和写入操作,涉及创建 PR、修改 Issue 时应确认 token 权限。
  • issue-triage 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Issue Triage

Quand utiliser

SkillUsageOutput
/issue-triageTrier, analyser, commenter les issuesTableaux d'action + deep analysis + commentaires postés
/repo-recapRécap général pour partager avec l'équipeRésumé Markdown (PRs + issues + releases)

Déclencheurs:

  • Manuellement: /issue-triage ou /issue-triage all ou /issue-triage 42 57
  • Proactivement: quand >10 issues ouvertes sans triage, ou issue stale >30j détectée

Langue

  • Vérifier l'argument passé au skill
  • Si en ou english → tableaux et résumé en anglais
  • Si fr, french, ou pas d'argument → français (défaut)
  • Note: les commentaires GitHub (Phase 3) restent TOUJOURS en anglais (audience internationale)

Workflow en 3 phases: audit automatique → deep analysis opt-in → commentaires avec validation obligatoire.

Préconditions

git rev-parse --is-inside-work-tree
gh auth status

Si l'un échoue, stop et expliquer ce qui manque.


Phase 1 — Audit (toujours exécutée)

Data Gathering (commandes en parallèle)

# Identité du repo
gh repo view --json nameWithOwner -q .nameWithOwner

# Issues ouvertes avec métadonnées complètes
gh issue list --state open --limit 100 \
  --json number,title,author,createdAt,updatedAt,labels,assignees,body,comments

# PRs ouvertes (pour cross-référence)
gh pr list --state open --limit 50 --json number,title,body

# Issues fermées récemment (pour détection doublons)
gh issue list --state closed --limit 20 \
  --json number,title,labels,closedAt

# Collaborateurs (pour protéger les issues des mainteneurs)
gh api "repos/{owner}/{repo}/collaborators" --jq '.[].login'

Fallback collaborateurs: si gh api.../collaborators échoue (403/404):

gh pr list --state merged --limit 10 --json author --jq '.[].author.login' | sort -u

Si toujours ambigu, demander à l'utilisateur via AskUserQuestion.

Note: author est un objet {login: "..."} — toujours extraire .author.login.

Analyse — 6 dimensions

1. Catégorisation (labels existants > inférence titre/body):

  • Bug: mots-clés crash, error, fail, broken, regression, wrong, unexpected
  • Feature: add, implement, support, new, feat:
  • Enhancement: improve, optimize, better, enhance, refactor
  • Question/Support: how, why, help, unclear, docs, documentation
  • Duplicate Candidate: voir dimension 3 ci-dessous

2. Cross-ref PRs:

  • Scanner body de chaque PR ouverte pour fixes #N, closes #N, resolves #N (case-insensitive, regex)
  • Construire un map: issue_number -> [PR numbers]
  • Une issue liée à une PR mergée → recommander fermeture

3. Détection doublons:

  • Normaliser les titres: lowercase, strip préfixes (bug:, feat:, [bug], [feature], etc.)
  • Jaccard sur mots des titres: si score > 60% entre deux issues → candidat doublon
  • Keywords body overlap > 50% → renforcement du signal
  • Comparer aussi avec issues fermées récentes (20 dernières)
  • Un faux positif peut être confirmé/écarté en Phase 2

4. Classification risque:

  • Rouge: mots-clés CVE, vulnerability, injection, auth bypass, security, exploit, unsafe, credentials, leak, RCE, XSS
  • Jaune: breaking change, migration, deprecation, remove API, breaking, incompatible
  • Vert: tout le reste

5. Staleness:

  • 30j sans activité (updatedAt) → Stale
  • 90j sans activité → Very Stale
  • Calculer depuis la date actuelle

6. Recommandations d'action:

  • Accept & Prioritize: issue claire, reproducible, dans scope
  • Label needed: issue sans label
  • Comment needed: info manquante, body insuffisant
  • Linked to PR: une PR ouverte référence cette issue
  • Duplicate candidate: candidat doublon identifié (préciser avec #N)
  • Close candidate: stale + aucune activité récente, ou hors scope (jamais si auteur est collaborateur)
  • PR merged → close: PR liée est mergée, issue encore ouverte

Output — 5 tableaux

## Issues ouvertes ({count})

### Critiques (risque rouge)
| # | Titre | Auteur | Âge | Labels | Action |
| - | ----- | ------ | --- | ------ | ------ |

### Liées à une PR
| # | Titre | Auteur | PR(s) liée(s) | Status PR | Action |
| - | ----- | ------ | ------------- | --------- | ------ |

### Actives
| # | Titre | Auteur | Catégorie | Âge | Labels | Action |
| - | ----- | ------ | --------- | --- | ------ | ------ |

### Doublons candidats
| # | Titre | Doublon de | Similarité | Action |
| - | ----- | ---------- | ---------- | ------ |

### Stale
| # | Titre | Auteur | Dernière activité | Action |
| - | ----- | ------ | ----------------- | ------ |

### Résumé
- Total : {N} issues ouvertes
- Critiques : {N} (risque sécurité ou breaking)
- Liées à PR : {N}
- Doublons candidats : {N}
- Stale (>30j) : {N} | Very Stale (>90j) : {N}
- Sans labels : {N}
- Quick wins (à fermer ou labeler rapidement) : {liste}

0 issues → afficher Aucune issue ouverte. et terminer.

Note: Âge = jours depuis createdAt, format {N}j. Si >30j, afficher en gras.

Copie automatique

Après affichage du tableau de triage, copier dans le presse-papier:

# Cross-platform clipboard
clip() {
  if command -v pbcopy &>/dev/null; then pbcopy
  elif command -v xclip &>/dev/null; then xclip -selection clipboard
  elif command -v wl-copy &>/dev/null; then wl-copy
  else cat
  fi
}

clip <<'EOF'
{tableau de triage complet}
EOF

Confirmer: Tableau copié dans le presse-papier. (FR) / Triage table copied to clipboard. (EN)


Phase 2 — Deep Analysis (opt-in)

Sélection des issues

Si argument passé:

  • "all" → toutes les issues ouvertes
  • Numéros ("42 57") → uniquement ces issues
  • Pas d'argument → proposer via AskUserQuestion

Si pas d'argument, afficher:

question: "Quelles issues voulez-vous analyser en profondeur ?"
header: "Deep Analysis"
multiSelect: true
options:
  - label: "Toutes ({N} issues)"
    description: "Analyse approfondie de toutes les issues avec agents en parallèle"
  - label: "Critiques uniquement"
    description: "Focus sur les {M} issues à risque rouge/jaune"
  - label: "Doublons candidats"
    description: "Confirmer ou écarter les {K} doublons détectés"
  - label: "Stale uniquement"
    description: "Décision close/keep sur les {J} issues stale"
  - label: "Passer"
    description: "Terminer ici — juste l'audit"

Si "Passer" → fin du workflow.

Exécution de l'analyse

Pour chaque issue sélectionnée, lancer un agent via Task tool en parallèle:

subagent_type: general-purpose
model: sonnet
prompt: |
  Analyze GitHub issue #{num}: "{title}" by @{author}

  **Metadata**: Created {createdAt}, last updated {updatedAt}, labels: {labels}

  **Body**:
  {body}

  **Existing comments** ({comments_count} total, showing last 5):
  {last_5_comments}

  **Context**:
  - Linked PRs: {linked_prs or "none"}
  - Duplicate candidate of: {duplicate_of or "none"}
  - Risk classification: {risk_color}

  Analyze this issue and return a structured report:
  ### Scope Assessment
  What is this issue actually asking for? Is it clearly defined?

  ### Missing Information
  What's needed to act on this? (reproduction steps, version, environment, etc.)

  ### Risk & Impact
  Security risk? Breaking change? Who's affected?

  ### Effort Estimate
  XS (<1h) / S (1-4h) / M (1-2d) / L (3-5d) / XL (>1 week)

  ### Priority
  P0 (critical, act now) / P1 (high, this sprint) / P2 (medium, backlog) / P3 (low, someday)

  ### Recommended Action
  One of: Accept & Prioritize, Request More Info, Mark Duplicate (#N), Close (Stale), Close (Out of Scope), Link to Existing PR

  ### Draft Comment
  Draft a GitHub comment in English using the appropriate template from templates/issue-comment.md.
  Be specific, helpful, and constructive.

Si issue a >50 commentaires, résumer les 5 derniers uniquement.

Agréger tous les rapports. Afficher un résumé après toutes les analyses.


Phase 3 — Actions (validation obligatoire)

Types d'actions possibles

  • Commenter: gh issue comment {num} --body-file -
  • Labeler: gh issue edit {num} --add-label "{label}" (skip si label déjà présent)
  • Fermer: gh issue close {num} --reason "not planned" (jamais sans validation)

Génération des drafts

Pour chaque issue analysée, générer les actions (commentaire + labels + fermeture si applicable) en utilisant templates/issue-comment.md.

Règles:

  • Langue des commentaires: anglais (audience internationale)
  • Ton: professionnel, constructif, factuel
  • Ne jamais re-labeler une issue qui a déjà ce label
  • Ne jamais proposer "close" pour une issue d'un collaborateur
  • Toujours afficher le draft AVANT tout gh issue comment

Affichage et validation

Afficher TOUS les drafts au format:

---
### Draft — Issue #{num}: {title}

**Actions proposées** : {Commentaire | Label: "bug" | Fermeture}

**Commentaire** :
{commentaire complet}

---

Puis demander validation via AskUserQuestion:

question: "Ces actions sont prêtes. Lesquelles voulez-vous exécuter ?"
header: "Exécuter"
multiSelect: true
options:
  - label: "Toutes ({N} actions)"
    description: "Commenter + labeler + fermer selon les drafts"
  - label: "Issue #{x} — {title_truncated}"
    description: "Exécuter uniquement les actions pour cette issue"
  - label: "Aucune"
    description: "Annuler — ne rien faire"

(Générer une option par issue + "Toutes" + "Aucune")

Exécution

Pour chaque action validée, exécuter dans l'ordre: commenter → labeler → fermer.

# Commenter
gh issue comment {num} --body-file - <<'COMMENT_EOF'
{commentaire}
COMMENT_EOF

# Labeler (si applicable)
gh issue edit {num} --add-label "{label}"

# Fermer (si applicable)
gh issue close {num} --reason "not planned"

Confirmer chaque action: Commentaire posté sur issue #{num}: {title}

Si "Aucune" → Aucune action exécutée. Workflow terminé.


Gestion des cas limites

SituationComportement
0 issues ouvertesAucune issue ouverte. + terminer
Issue sans bodyCatégoriser par titre, recommander Comment needed
>50 commentairesRésumer les 5 derniers uniquement
Faux positif doublonPhase 2 confirme/écarte — ne pas agir sur suspicion seule
Labels déjà présentsNe pas re-labeler, signaler "label déjà appliqué"
Issue d'un collaborateurJamais close candidate automatique
Rate limit GitHub APIRéduire --limit, notifier l'utilisateur
PR mergée liée à issue ouverteRecommander fermeture de l'issue
Issue sans activité >90jVery Stale — proposer fermeture avec message bienveillant
Duplicate confirmed in Phase 2Poster commentaire + fermer en faveur de l'issue originale

Notes

  • Toujours dériver owner/repo via gh repo view, jamais hardcoder
  • Utiliser gh CLI (pas curl GitHub API) sauf pour la liste des collaborateurs
  • updatedAt peut être null sur certaines issues → traiter comme createdAt
  • Ne jamais poster ou fermer sans validation explicite de l'utilisateur dans le chat
  • Les commentaires draftés doivent être visibles AVANT tout gh issue comment
  • Similarité Jaccard = |intersection mots| / |union mots| (exclure stop words: a, the, is, in, of, for, to, with, on, at, by)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.05%
按下载量换算189

Claude

29.16%
按下载量换算145

Cursor

17.7%
按下载量换算88

Gemini CLI

9.46%
按下载量换算47

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills