9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事は何

Claude Codeには Pluginという形でカスタムコマンド, サブエージェント, Skills, MCP, Hooksなどをひとつのパッケージとして配布できる機能があります。

僕はこのPlugin機能を用いて、自身の環境をPluginとしてGitHubに公開しています。

これから複数回に分け、この自身のClaude Code Pluginの環境を紹介していきます。

今回は実装したSkillの一つである、skills/resolve-pr-commentsについて紹介をします。

Skillsとは

SkillsはClaude Codeが特定のタスクを実行する際に参照できる、再利用可能な知識・手順をまとめたものです。
各Skillは主にMarkdownファイル(SKILL.md)として定義され、必要に応じて関連するスクリプトやリソースを含むことができます。

Claude Codeは、ユーザーのリクエストに応じて適切なSkillを読み込み、その指示に従って作業を実行します。これにより、複雑なワークフローや定型的な作業を一貫性のある方法で自動化できます。
Claude Code自身が参照する知識ベースとして機能し、直接的にスクリプトの実行やワークフローの管理が可能なため、どのような時にどのようなことをするべきかをルールベースで定義、実行させることが可能です。
詳しくは以下をご覧ください。

skills/resolve-pr-comments について

skills/resolve-pr-commentsは、GitHub PRの未解決Review threadsを一括で自動的にResolveするSkillです。

できること

このSkillでは、以下のことができます。

  • GitHub GraphQL APIを使って未解決のReview threads(コード特定行へのコメント)を取得
  • resolveReviewThread mutationで全てのスレッドを自動的にResolve
  • 各スレッドの処理結果を個別に表示

なお、Issue comments(会話タブのコメント)は元々Resolve機能がないため、このSkillの対象外となっています。

いつ使うか

コードレビュー後の修正作業が完了し、全てのレビューコメントに対応した後、手動で1つずつResolveボタンをクリックする代わりに、このSkillを使って一括でResolveできます。

特に大量のレビューコメントがあるPRでは、手動でResolveする作業が非常に時間がかかるため、このSkillが役立ちます。

プロンプトの紹介

このSkillのプロンプトは非常にシンプルです。SKILL.mdに以下のように記述されています。

プロンプトの要点は以下の通りです。

  • 目的の明確化: GitHub PRの未解決Review threadsを一括Resolveすることを明示
  • 処理内容の説明: GraphQL APIを使った取得とmutationによるResolve処理を説明
  • 対象範囲の明確化: Review threads(コード特定行へのコメント)が対象で、Issue commentsは対象外であることを明記
  • 実行方法の指示: スクリプトを実行するコマンドを記載

コードの紹介

このSkillのコアとなるスクリプトはscripts/resolve-pr-comments.shです。

実装のポイント

このスクリプトの実装には、以下のようなポイントがあります。

GraphQL APIの活用

GitHub CLIのgh api graphqlコマンドを使って、未解決のReview threadsを取得しています。ページネーションにも対応しており、hasNextPageendCursorを使って全てのスレッドを取得できます。

取得データの構造

以下のような情報を取得しています。

  • PR基本情報(番号、タイトル、URL、ステータス)
  • 著者情報
  • レビュー要求者リスト
  • レビュースレッド詳細(ID、解決状態、ファイルパス、行番号、コメント履歴)

一括Resolve処理

未解決のスレッドIDを収集し、resolveReviewThread mutationを使って1つずつResolveしていきます。各スレッドの処理結果を表示することで、何が処理されたのかを確認できるようになっています。

まとめ

skills/resolve-pr-commentsは、PRのレビューコメントを一括でResolveするシンプルながら便利なSkillです。

コードレビュー後の作業を効率化したい方は、ぜひ試してみてください。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?