SKILL.md
Git CD PR Skill (Continuous Delivery)
Instructions à Exécuter
IMPORTANT : Exécute ce workflow étape par étape :
Usage
/git:pr --cd [branche-base] [milestone] [projet] [--no-interaction] [--delete] [--no-review]
Configuration
CORE_SCRIPTS="${CLAUDE_PLUGIN_ROOT}/skills/git-pr-core/scripts"
SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT}/skills/git-cd-pr/scripts"
PR_TEMPLATE_PATH=".github/PULL_REQUEST_TEMPLATE/cd_pull_request_template.md"
ENV_FILE_PATH=".env.claude"
Workflow
Initialisation
Créer les tâches du workflow :
Utiliser TaskCreate pour chaque étape :
TaskCreate #1: Charger config .env.claude
TaskCreate #2: Confirmation initiale (si --no-interaction absent)
TaskCreate #3: Vérifier scopes GitHub
TaskCreate #4: Vérifier template PR CD
TaskCreate #5: Lancer QA intelligente
TaskCreate #6: Analyser changements git
TaskCreate #7: Confirmer branche de base
TaskCreate #8: Générer description PR
TaskCreate #9: Push et créer PR
TaskCreate #10: Copier labels depuis issue liée
TaskCreate #11: Appliquer labels CD (version + feature flag)
TaskCreate #12: Assigner milestone
TaskCreate #13: Assigner projet GitHub
TaskCreate #14: Code review automatique (si plugin installé)
TaskCreate #15: Nettoyage branche locale
Important :
- Utiliser
activeForm(ex: "Chargeant config", "Appliquant labels CD") - Ne créer la tâche #14 que si plugin review installé ET
--no-reviewabsent - Chaque tâche doit être marquée
in_progresspuiscompleted
Pattern d'exécution pour chaque étape :
TaskUpdate→ tâche enin_progress- Exécuter l'étape
TaskUpdate→ tâche encompleted
Étapes
- Charger configuration depuis
.env.claude:
- Vérifier si le fichier .env.claude existe à la racine du projet - Si oui, parser les variables (format KEY=VALUE) : - MAIN_BRANCH : branche de base par défaut - PROJECT : projet GitHub par défaut - Pour chaque paramètre manquant dans les arguments : - Utiliser la variable d'env correspondante si elle existe - Ignorer .env.claude si absent (comportement standard)
- Confirmation initiale :
- Si flag --no-interaction présent : - Passer toutes les confirmations - Utiliser les valeurs pré-remplies (arguments + .env.claude) sans validation - Continuer directement à l'étape 3 - Sinon : - Confirmer à l'utilisateur que la skill git:cd-pr est lancée - Résumer tous les paramètres reçus : - Mode : Continuous Delivery (--cd) - Branche de base (si fournie) - Milestone (si fourni) - Projet (si fourni) - Flags : --delete, --no-review (si présents) - Demander confirmation explicite avant de continuer
- Vérifier scopes GitHub (
$CORESCRIPTS/checkscopes.sh) - Vérifier template PR CD (
$CORESCRIPTS/verifypr_template.sh) - Lancer QA intelligente (
$CORESCRIPTS/smartqa.sh) - Analyser changements git (
$CORESCRIPTS/analyzechanges.sh) - Confirmer branche de base (ou
AskUserQuestion) - Générer description PR intelligente
- Push et créer PR avec titre Conventional Commits (
scripts/create_pr.sh) - Copier labels depuis issue liée (
scripts/copyissuelabels.sh) - Appliquer labels CD (
scripts/applycdlabels.sh) - Assigner milestone (
$CORESCRIPTS/assignmilestone.py- voir [git-pr-core/SKILL.md](../git-pr-core/SKILL.md) pour usage) - Assigner projet GitHub (
$CORESCRIPTS/assignproject.py- voir [git-pr-core/SKILL.md](../git-pr-core/SKILL.md) pour usage) - Code review automatique (si plugin review installé)
- Nettoyage branche locale (
$CORESCRIPTS/cleanupbranch.sh- branche remote préservée)
Labels CD (Continuous Delivery)
Ordre de détection du type de version :
BREAKING CHANGEou!:dans commits →version:major- Labels de l'issue liée (insensible casse, ignore emojis) :
- Patterns minor : enhancement, feature, feat, nouvelle, new - Patterns patch : bug, fix, bugfix, correction, patch
- Nom de branche :
feat/,feature/→ minor /fix/,hotfix/→ patch - Premier commit de la branche :
feat:→ minor /fix:→ patch - Si indéterminé →
AskUserQuestion:
> "Cette PR est une nouvelle fonctionnalité (minor) ou une correction (patch) ?"
Feature flag :
- Détecté si fichiers
.twigmodifiés contiennentFeature:FlagouFeature/Flag - Applique le label
🚩 Feature flag
Création labels : Si labels absents, ils sont créés automatiquement avec couleurs appropriées.
Code Review
Si plugin review installé, lance 4 agents en parallèle :
code-reviewer- Conformité CLAUDE.mdsilent-failure-hunter- Erreurs silencieusestest-analyzer- Couverture testsgit-history-reviewer- Contexte historique
Agrège résultats (score >= 80) dans commentaire PR.
Options
| Flag | Description |
|---|---|
--no-interaction |
Mode automatique : passer confirmations, utiliser defaults |
--delete |
Supprimer branche LOCALE uniquement après création PR (JAMAIS la branche remote) |
--no-review |
Désactiver code review automatique |
References
- [Template review](../git-pr-core/references/review-template.md) - Format commentaire et agents
- [Todos template](../git-pr-core/references/todos-template.md) - TaskCreate, TaskUpdate, TaskList et génération description
Task Management
Progression du workflow :
- 15 tâches créées à l'initialisation (ou 14 si
--no-reviewou pas de plugin review) - Chaque étape suit le pattern :
in_progress→ exécution →completed - Utiliser
TaskListpour voir la progression globale - Les tâches permettent à l'utilisateur de suivre l'avancement de la création de PR CD
Règles critiques
⚠️ INTERDICTION ABSOLUE :
- Ne JAMAIS exécuter
git push origin --delete <branche>ougit push -d origin <branche> - Ne JAMAIS supprimer la branche remote (fermerait automatiquement la PR)
- Le flag
--deletene concerne QUE la branche locale
Error Handling
- Template absent → ARRÊT
- QA échouée → ARRÊT
- Version non déterminée →
AskUserQuestion(non bloquant) - Milestone/projet non trouvé → WARNING (non bloquant)