Communityコーディング&開発github.com

duongphuhiep/dakubo-skills

ユーザーがGitHubプルリクエストのコードレビュー指摘に返信し、そのスレッドを解決したい場合に使用します。「answer remark #N in the PR」「reply to the reviewer」「resolve this review comment」などのトリガーで起動します。

dakubo-skills とは?

このスキルは、GitHub Pull Request 上のコードレビュー指摘(コメント)に対して返信し、該当するレビュースレッドを自動的に解決するためのツールです。開発者は「answer remark #N」「reply to the reviewer」などの自然言語での指示を出すだけで、指摘の特定、返信の投稿、スレッド解決までの一連の操作を実行できます。主に Claude Code や Cursor などの AI エージェント向けに設計されており、gh(GitHub CLI)の API 呼び出しを用いて動作します。入力として、PR番号またはURL、返信対象の指摘(番号、ファイル+行、引用テキストなど)、そして返信内容が会話の文脈から自動的に推論されます。不明な点があればユーザーに確認を促すことで、確実な操作を支援します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/duongphuhiep/dakubo-skills/tree/HEAD/package/skills/dakubo-answer-review-remark-in-pr

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

PR内のレビュー指摘に回答する

GitHub PR上のコードレビュー指摘に返信し、スレッドを解決します。

入力

すべての入力は会話の文脈から推論します。曖昧な場合のみ確認してください。

入力1 — PR番号またはURL。 操作対象のプルリクエスト。文脈(例:以前に表示されたPR URLやブランチ名)から推論します。どうしても曖昧な場合は、以下を実行します。

gh pr list --head "$(git rev-parse --abbrev-ref HEAD)" --json number,url --jq '.[0]'

入力2 — 回答する指摘。 特定のレビュアーからの指摘。通常は番号(#2)、ファイル+行、または会話内で以前に表示された指摘表の引用テキストで特定します。 会話内に指摘表がなく、dakubo-display-pr-remarks スキルが利用可能な場合は、それを使って指摘表を作成します。利用できない場合は、ユーザーに指摘を尋ねてください。

入力3 — 回答。 投稿する返信:説明、謝辞、または修正の要約。文脈(例:修正または議論された内容)から推論します。不明な場合は尋ねてください。

プロセス

1. コメントIDを特定する

PRのインラインレビューコメントを取得します。

gh api repos/:owner/:repo/pulls/<PR>/comments --paginate \
  --jq '.[] | {id, path, line: (.line // .original_line), body: .body[0:120]}'

対象の指摘を行番号、ファイルパス、または本文の断片で一致させ、その id を記録します。

2. 返信を投稿する

gh api repos/:owner/:repo/pulls/<PR>/comments \
  --method POST \
  --field body="<answer>" \
  --field in_reply_to=<comment_id>

3. スレッドを解決する

このコメントを含むレビュースレッドを見つけます。

gh api graphql -f query='
{
  repository(owner: "<owner>", name: "<repo>") {
    pullRequest(number: <PR>) {
      reviewThreads(first: 100) {
        nodes {
          id
          isResolved
          comments(first: 1) { nodes { databaseId } }
        }
      }
    }
  }
}'

comments.nodes[0].databaseId が元のコメント id(返信ではなく)と一致するスレッドを特定します。その後、解決します。

gh api graphql -f query='
mutation {
  resolveReviewThread(input: { threadId: "<thread_node_id>" }) {
    thread { isResolved }
  }
}'

出力

確認:コメント <id> に <file>:<line> で返信を投稿、スレッドを解決しました。1文で出力します。

やってはいけないこと

  • 回答を捏造しないでください — 文脈から推論するか、尋ねてください。
  • 返信を投稿せずにスレッドを解決しないでください。
  • このブランチで複数のPRがオープンしている場合、PRを推測しないでください。尋ねてください。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

duongphuhiep/dakubo-skills

Use when the user wants to respond to a code review remark by adding a clarifying comment to the source code — so the reviewer understands the reasoning and won't raise the same remark again. Triggers on "answer remark #N", "add comment to address reviewer concern", "document why we did X", or any request to resolve a review finding through in-code explanation rather than a code change.

duongphuhiep/dakubo-skills

Use when the user wants to see unresolved PR comments, review remarks, or outstanding feedback on a pull request.

duongphuhiep/dakubo-skills

Traces the full call chain from a given symbol or code location up to all entry points that can reach it (HTTP controllers, main functions, page components, routes, etc.). Works for any language indexed by CodeGraph. Use for blast-radius analysis before modifying a function, method, or class.

duongphuhiep/dakubo-skills

Consolidates multiple fragmented OpenSpec capability folders under openspec/specs/ into a single main feature spec, through a staged/approved workflow. Use this whenever the user says openspec/specs/ is cluttered, has too many similar or overlapping capability folders, asks to merge/consolidate/combine specs, wants to clean up specs split across several separate change archives (e.g. specs/user-show/, specs/user-detail/ that should really be one specs/user-management/), or asks to check/apply a pending merged spec under openspec/specs/.merged-specs/. Do NOT use this for a normal single /opsx:archive of one change — only for merging several already-archived, already-existing spec folders together.

関連スキル