本文へ移動
cccskills
無料GitHub で公開日本語紹介

antfu-issue-triage

GitHubの未解決IssueとPRを調べ、修正済み・重複・スパムの候補やラベルを提案します。需要と優先度、コメント案を表にまとめ、承認後に整理するスキル。

原文原文の説明を見る

Triage open issues and PRs of the current GitHub repo - find already-fixed, duplicate, and spam items, suggest labels, gauge demand from reactions and comments, then present a table of proposed actions and comments for confirmation before touching anything. Use when asked to triage, organize, clean up, or groom issues and PRs.

antfu/skillsスター 6,023(GitHub 6,023 + cccskills 0)
連携ツールGitHub

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 修正済みや重複のIssueを探したいとき
  • IssueとPRのラベル整理
  • 反応や議論を基に要望を優先したいとき
  • 短時間で対応できる修正を探したいとき

日本語での紹介

できること

GitHubの未解決IssueとPRを調査し、閉じる候補、ラベルの変更案、対応を優先したい項目を三つの表で提示します。修正済みかどうかはコードやマージ済みPR、リリースまで確認し、重複は文章の似方ではなく症状や要望から判断します。

リアクション数や参加者数、重複した要望を基に需要を評価し、短時間で対応できそうな項目も拾います。提案には根拠のリンクとコメント全文を添えるため、実行前に内容を確認できます。

こんなときに便利

IssueやPRがたまり、どれから確認するか迷うメンテナーに向いています。ラベルの付け漏れを整えたい場合や、継続して要望が寄せられている項目を見つけたい場合にも使えます。

使い方の例

  • 「未解決IssueとPRを調べ、修正済みや重複の候補を表にして」
  • 「需要の高い要望と、短時間で対応できる修正を挙げて」

注意点

ghとgitを使う手順が含まれます。コメント投稿、ラベル変更、クローズは利用者が承認した項目だけに実施します。投稿コメントは平易な英語で書き、エージェントによる自動投稿と明記します。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md9.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Issue Triage

Go through the open issues and PRs of the current repo (gh repo view --json nameWithOwner) and propose clean-up actions. Maintainers decide; the agent investigates.

Hard Rules

  • Read-only until confirmed. Never comment, label, close, or edit before the user approves the action tables. Reads (gh issue view, gh api GET, gh search) are fine.
  • Every comment says it is automated by an agent. End with a separate last line (blank line before it): 🤖 *Automated by an agent.*
  • Comments are short and plain. Write them in simple English (use the simple-english skill if available): 1-3 short sentences, active voice, no jargon, no filler. Write each comment fresh for the item. Do not reuse a fixed template. Always include the link (PR, commit, release, or canonical issue) that justifies the action.
  • Only apply approved rows. If the user edits or drops rows, follow their edits exactly.
  • Be conservative: when unsure, propose keep open (with labels if useful) instead of closing. Do not close items with active maintainer discussion, an open linked PR, or a milestone unless the user asks.
  • Use plain hyphens; no em or en dashes.

Workflow

  1. Scope. Confirm the repo and range (default: all open items; for large repos ask for a limit, label, or age filter). Fetch in bulk:
    gh issue list --state open --limit 200 --json number,title,body,author,labels,createdAt,updatedAt,comments,reactionGroups,url,milestone
    gh pr list --state open --limit 200 --json number,title,body,author,labels,isDraft,reviewDecision,closingIssuesReferences,url,reactionGroups
    gh label list --limit 200 --json name,description
    
  2. Learn the labels. Read every label name and description. Only apply labels that exist. New labels (including spam if missing) go in the Labels table and are created only after approval. Check how maintainers labeled similar items (gh issue list --state all --label <l>). Compare the repo's labels with the Recommended Labels section below and note useful ones that are missing.
  3. Map references. Collect cross-references from bodies, comments, and the timeline (gh api repos/{owner}/{repo}/issues/{n}/timeline --paginate): #123, URLs, closes/fixes, linked PRs, cross-repo links. Treat linked items as one cluster. Do not close an issue whose fix PR is still open. Do not mark linked items as duplicates of each other.
  4. Check each item:
    • Already fixed/implemented. Search merged PRs and commits (gh pr list --state merged --search "<keywords>", git log -i --grep), changelog, docs, and current code. Find the first release with the fix (git tag --contains <sha> --sort=version:refname | head -1). Verify in the code, not just the title. A partial fix is not fixed: keep it open.
    • Duplicate. Group by symptom or request, not wording. Search open and closed issues with distinctive text (gh issue list --state all --search "<text>"). Pick one canonical item: linked PR > maintainer response > best repro > most reactions > oldest. Close the others into it.
    • Spam. Needs two or more strong signals: promo/SEO/crypto links, off-topic text, repeated identical posts, empty body with a link, bulk activity from a new account. Typos, terse text, wrong template, or non-English are not spam.
    • Labels. Suggest existing labels for unlabeled or mislabeled items.
    • Low hanging fruit. Items a maintainer can finish fast: PRs that are approved or ready with passing CI, small PRs with a clear change, typo or docs fixes, bugs with a clear repro and an obvious small fix, and requests that are small and well defined. Say why each is quick, and propose the low hanging fruit label for it. Skip items that are blocked, unclear, or large.
    • Demand. Count positive reactions (👍 ❤️ 🎉 🚀), negative ones, distinct commenters, "+1" comments, and folded-in duplicates. Rate High / Medium / Low for the repo's size and show the raw numbers. Recent activity on an old item means it is still wanted.
  5. Present the plan as the tables below, Stop to ask for confirmation. Run no write command in this turn.
  6. Execute approved rows only, one at a time: comment, then label, then close. Stop on the first API error and report it. End with a done/failed table with links.
    • Run one issue per command (comment, label, and close for that issue chained with &&). Do not batch many issues in one script or loop: bulk write commands can be blocked by the permission classifier. If a command is blocked, do not work around it. Split it into smaller per-issue commands, and tell the user.
    • Create approved new labels first, in their own command.
    • For rows the user adds after the tables (for example "also close #4"), write a short fresh comment in the same style and show it in the final report.

Recommended Labels

General labels. Map them to the repo's existing labels first (same meaning, different name). Never rename or delete existing labels.

GroupLabelsMeaning
Typebug, enhancement, documentation, regressionWhat kind of item it is. regression: only appears after a new release.
Triage statepending triage, needs reproductionWhere the item is stuck.
Resolutionduplicate, invalid, wontfix, spamWhy it was closed.
Priorityp1-chore, p2-nice-to-have, p2-edge-case, p3-minor-bug, p3-significant, p4-important, p5-urgentHow much it matters. Descriptions: p5 breaks most users and needs a release now; p4 breaks documented behavior; p3 is an edge case or a high-priority enhancement; p2 is nice to have or has a workaround; p1 changes no behavior.
Contributionlow hanging fruitQuick for a maintainer to finish.
Contexthas workaround, bug: upstream, <platform> only (e.g. windows only)Extra facts that help the next reader.
Areafeat: <area> (one per major module of the repo)Which part of the code it touches. Derive areas from the repo's directories, docs, and past issues.
Botbot: maybe, bot: likelySuspected bot or LLM content, short of spam.

Rules:

  • Keep every label's description filled. If an existing label has none and its meaning is clear, suggest a description.
  • Suggest only labels that would help this repo's triage: needed by items you saw, or filling an obvious gap (for example no way to mark "needs reproduction" while many issues lack a repro). Do not suggest the whole list.
  • Prefer a few feat: <area> labels backed by real clusters of issues over many speculative ones.
  • Creating labels is a write action. List them in the Labels table (as (new label) rows) with name, color (match the repo's palette), description, and the items that would use them. Create only after approval (gh label create <name> --description "..." --color <hex>), and before applying them to items.

Comments

Short, friendly, and specific. Examples of the tone (do not copy verbatim). Each ends with the notice on its own line:

  • Fixed:
    This was fixed in #456, released in v1.2.0. Please upgrade to get it. If it still happens, comment with a repro and we will reopen.
    
    🤖 *Automated by an agent.*
    
  • Duplicate:
    This is a duplicate of #123. Please follow that issue. Tell us if it is different and we will reopen.
    
    🤖 *Automated by an agent.*
    
  • Spam:
    Detected as a spam. Sorry if this was a mistake. Let us know and a maintainer can bring it back.
    
    🤖 *Automated by an agent.*
    

Rules per type:

  • Fixed: link the PR or commit and release, and say what to do (upgrade, enable an option, use an API). Close as completed.
  • Duplicate: name the canonical issue and invite the author to reopen if it differs. Close as not planned.
  • Spam: add the spam label. Say it was detected as spam, with no reasoning. Say sorry if wrong, and say we can bring it back. Put the reasoning in the table, not in the comment. Close as not planned.

Action Tables

Three tables, rows numbered so the user can reply "apply 1-5, skip 3". Show the full comment text in the table.

1. Close

#ItemReasonLink (fix / canonical)Comment

Reason is fixed, duplicate, or spam. Spam rows also add the spam label, and their reasoning stays in this table, not in the comment.

2. Labels

#ItemAddReason

Include low hanging fruit rows here. For a label the repo does not have, add a row with item (new label), the name, description, color, and which items will use it. Approved new labels are created first (gh label create), then applied.

3. Needs attention (no write action)

#ItemDemandReactions / commentsNote

Put the most recommended check-them-first items at the top, ranked by importance: high demand, regressions or build-breaking bugs, security reports, security-sensitive or long-waiting PRs, and items with active unanswered discussion. Say why in Note. Low hanging fruits go here too, after those, with the reason it is quick.

Do not close PRs for being stale unless asked; label or flag them instead.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

antfu

無料概要あり

JavaScript/TypeScriptの新規開発やライブラリ公開に向け、Anthony Fuの方針に沿ってコード構成、開発ツール、品質チェックを整えるスキル。

  • TypeScriptの新規開発
  • コード整形と品質チェックの統一
  • モノレポの依存関係管理
antfu/skills6,0232026年10月23日 更新

antfu-create-pr

無料概要あり

現在のブランチからGitHubのPRを作成。差分と検証結果を根拠にタイトル・本文を整え、UI変更の前後画像を添えて、レビューで変更内容を判断しやすくします。

  • 現在のブランチからPRを準備・公開したいとき
  • 検証結果を根拠にしたPR本文の作成
  • UI変更の前後画像を添付したいとき
antfu/skills6,0232026年10月23日 更新

nitro

無料概要あり

Webサーバーのルートやキャッシュ、定期タスクをNitroで実装し、Node.jsやCloudflareなどへのデプロイ設定やv3への移行を支援するスキル。

  • サーバールートとキャッシュの実装
  • 定期タスクやWebSocketの追加
  • 対応プラットフォームへの配備設定
antfu/skills6,0232026年10月23日 更新

nuxt

無料概要あり

Vueを使うWebアプリで、画面作成からデータ取得、サーバー側のAPI実装まで支援するスキル。ページごとの描画方式や状態管理、公開設定も扱います。

  • Vueアプリの画面と遷移を作りたいとき
  • API取得と共有状態を整えたいとき
  • サーバーAPIやミドルウェアの実装
antfu/skills6,0232026年10月23日 更新

pinia

無料概要あり

Vueアプリで共有するデータや更新処理をPiniaのストアにまとめ、変更が画面へ反映される扱い方から、ストア間の連携やテスト、Nuxtとの統合まで支援するスキル。

  • Vueの共有データと更新処理の整理
  • ストア間の連携やプラグインでの拡張
  • 模擬ストアを使うコンポーネントテスト
antfu/skills6,0232026年10月23日 更新

pnpm

無料概要あり

Node.jsの依存パッケージをpnpmで管理し、複数プロジェクトの設定やバージョン統一、外部パッケージへの修正、CIでの導入手順を整えるスキル。

  • ワークスペースの依存バージョン統一
  • 外部パッケージの修正とバージョン指定
  • CIのインストール設定を整えたいとき
antfu/skills6,0232026年10月23日 更新

antfu のスキルをすべて見る

このスキルの問題を報告する