duongphuhiep/dakubo-skills

Utiliser lorsque l'utilisateur souhaite répondre à une remarque de revue de code sur une pull request GitHub et résoudre son fil de discussion. Se déclenche sur des phrases comme « répondre à la remarque #N dans la PR », « répondre au relecteur », ou « résoudre ce commentaire de revue ».

Qu'est-ce que dakubo-skills ?

Cette compétence permet à un agent IA d'interagir avec les pull requests GitHub en répondant aux remarques de revue de code et en résolvant les fils de discussion associés. Elle est conçue pour les développeurs utilisant GitHub CLI et l'API GitHub, notamment dans des environnements comme Claude Code ou Cursor. La compétence extrait du contexte conversationnel le numéro de PR, la remarque cible (par numéro, fichier+ligne ou texte cité) et la réponse à poster. Elle exécute ensuite trois étapes : récupérer l'ID du commentaire via l'API GitHub, poster une réponse en tant que commentaire de revue, puis résoudre le fil de discussion en utilisant GraphQL. Une confirmation concise est fournie en sortie. Les consignes strictes interdisent d'inventer une réponse ou de résoudre un fil sans avoir posté de réponse.

Compatible avec~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 Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Répondre à une remarque de revue dans une PR

Répondre à une remarque de revue de code sur une PR GitHub et résoudre le fil de discussion.

Entrées

Déduire toutes les entrées du contexte de la conversation. Ne demander qu'en cas d'ambiguïté.

Entrée 1 — Numéro ou URL de la PR. La pull request sur laquelle agir. Déduire du contexte (par ex. une URL de PR précédemment affichée ou un nom de branche). Si vraiment ambigu, exécuter :

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

Entrée 2 — La remarque à laquelle répondre. Un commentaire spécifique du relecteur — généralement identifié par un numéro (#2), fichier+ligne, ou texte cité depuis le tableau des remarques présenté plus tôt dans la conversation. Si aucun tableau de remarques n'est présent dans la conversation et que la compétence dakubo-display-pr-remarks est disponible, l'utiliser pour générer le tableau. Sinon, demander la remarque à l'utilisateur.

Entrée 3 — La réponse. La réponse à poster : une explication, un accusé de réception ou un résumé de correctif. La déduire du contexte (par ex. ce qui vient d'être corrigé ou discuté). Demander si ce n'est pas clair.

Processus

1. Résoudre l'ID du commentaire

Récupérer les commentaires de revue en ligne pour la PR :

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

Faire correspondre la remarque cible par numéro de ligne, chemin de fichier ou extrait du corps. Noter son id.

2. Poster la réponse

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

3. Résoudre le fil de discussion

Trouver le fil de revue qui contient ce commentaire :

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

Faire correspondre le fil dont comments.nodes[0].databaseId est égal à l'id du commentaire d'origine (pas la réponse). Puis le résoudre :

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

Sortie

Confirmer : réponse postée au commentaire <id> à <fichier>:<ligne>, fil résolu. Une seule phrase.

Ce qu'il ne faut PAS faire

  • Ne pas inventer de réponse — la déduire du contexte ou demander.
  • Ne pas résoudre un fil sans avoir posté une réponse d'abord.
  • Ne pas deviner la PR si plusieurs sont ouvertes sur cette branche ; demander.

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.

Skills associés