src/skills/integrate-review/SKILL.md
Ferme la boucle d'un handoff inter-LLM. Si response.content est null, va chercher les inline Copilot sur la PR GitHub associée et les retranscrit automatiquement. Puis classe les points, applique les fixes, génère l'intégration. Utiliser quand Copilot a reviewé une PR portant un handoff.
npx skillsauth add malikkaraoui/claude-atelier integrate-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Le Greffier revient avec le dossier de l'autre atelier sous le bras. Il ouvre, trie, classe : retenu, à garder en tête, écarté.
Fermeture de boucle inter-LLM. Copilot/GPT a reviewé une PR → récupérer les inline GitHub, vérifier, retranscrire, appliquer, committer.
# Handoff le plus récent non intégré
ls -lt docs/handoffs/*.json | grep -v _template | head -5
Identifie le handoff cible (argument /integrate-review <fichier> ou le plus récent
avec response.content: null).
Si response.content est non-null → aller directement à l'Étape 2.
Si response.content est null → aller chercher les inline Copilot via GitHub API :
# Lister les PRs ouvertes/récentes pour trouver celle liée au handoff
gh pr list --state all --limit 10 --json number,title,headRefName
# Récupérer les inline reviews Copilot de la PR cible
gh api repos/<owner>/<repo>/pulls/<PR_NUM>/comments \
--jq '.[] | select(.user.login | test("copilot"; "i")) | {id, path, line, body}'
# Récupérer aussi la review globale Copilot
gh api repos/<owner>/<repo>/pulls/<PR_NUM>/reviews \
--jq '.[] | select(.user.login | test("copilot"; "i")) | {id, body, state}'
Vérification anti-hallucination obligatoire — pour chaque commentaire inline, vérifier que le point soulevé correspond à un vrai problème :
| Type de commentaire | Vérification |
|---|---|
| Syntaxe/formatage (ex: || dans Markdown) | grep '<pattern>' <fichier> → 0 match = hallucination |
| Bug logique (ex: variable incorrecte) | Lire le code autour de la ligne citée |
| Missing field / null value | Vérifier dans le fichier JSON |
| Typo/cohérence linguistique | Chercher le terme dans le fichier |
Tout commentaire non vérifiable est écarté (ne jamais accepter sans grep/lecture).
Après vérification, écrire response.content dans le handoff JSON :
"response": {
"model": "github-copilot-pr-reviewer",
"content": "<synthèse des points valides + verdict global>"
}
Règles pour response.content :
from.questionPour chaque point valide dans response.content, classer :
Pour chaque point à implémenter maintenant :
npm test doit passerintegrationDans le fichier handoff .json, remplace "integration": null par :
"integration": {
"status": "completed",
"validatedTarget": "npm test + bash scripts/pre-push-gate.sh",
"summary": "...",
"appliedFixes": [
"<description fix 1> (commit <sha>)"
],
"rejectedSuggestions": [
"<commentaire hallucination> — rejeté : <grep ou preuve>"
],
"notes": [
"Tests : N passed · 0 failed",
"Gate pre-push : verte"
]
}
Si aucun fix applicable (review de fond absente) :
"integration": {
"status": "no-review-content",
"summary": "...",
"appliedFixes": ["Aucun"],
"notes": ["Prochaine étape : second avis via /la-bise"]
}
node test/validate-handoff.js docs/handoffs/<fichier>.json
git add docs/handoffs/<fichier>.json [<autres fichiers fixes>]
git commit -m "docs: intégrer review Copilot handoff <sujet>"
git push origin <branche>
Pour chaque inline Copilot sur la PR :
# Commentaire accepté
gh api repos/<owner>/<repo>/pulls/<PR_NUM>/comments/<ID>/replies \
-X POST -f body="✅ Appliqué — commit \`<sha>\`. <explication>"
# Commentaire rejeté (hallucination)
gh api repos/<owner>/<repo>/pulls/<PR_NUM>/comments/<ID>/replies \
-X POST -f body="❌ Hallucination — vérifié \`grep '<pattern>' <fichier>\` = 0 match. <explication>"
bash scripts/pre-push-gate.sh
gh pr merge <PR_NUM> --merge --delete-branch
|| dans Markdown, imports fictifs, APIs inexistantesresponse.content est toujours github-copilot-pr-reviewer (inline GitHub)copilot-swe-agent[bot]) remplit parfois le handoff directement — dans ce cas, aller directement à l'Étape 2integration est rempli par Claude, jamais par Copilotmeta et from sont intouchables (ancrés à la création du handoff)tools
Loop autonome PR → Copilot review → handoff JSON → fixes → merge. Lance le polling automatique après un git push sur une branche feature. Zéro intervention utilisateur.
data-ai
Tableau de contrôle des features claude-atelier (on/off, paramètres). Affiche l'état de chaque rail et permet de les activer/désactiver interactivement.
tools
Génère un handoff review structuré pour Copilot/GPT. Utiliser après une feature, un bug fix, ou quand > 100 lignes ont changé. Aussi déclenché automatiquement par §25.
documentation
Onboarding interactif post-install. Vérifie la config, guide le setup du watchdog et du review-reminder, propose BMAD et QMD. Utiliser après 'npx claude-atelier init' ou quand l'utilisateur dit /atelier-setup.