| name | git-cd-pr |
| description | Crée une Pull Request en mode Continuous Delivery avec workflow complet : QA, labels version (major/minor/patch), feature flags, code review automatique.
|
| allowed-tools | ["Bash","Read","Write","TaskCreate","TaskUpdate","TaskList","AskUserQuestion"] |
| model | sonnet |
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-review absent
- Chaque tâche doit être marquée
in_progress puis completed
Pattern d'exécution pour chaque étape :
TaskUpdate → tâche en in_progress
- Exécuter l'étape
TaskUpdate → tâche en completed
É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 ($CORE_SCRIPTS/check_scopes.sh)
-
Vérifier template PR CD ($CORE_SCRIPTS/verify_pr_template.sh)
-
Lancer QA intelligente ($CORE_SCRIPTS/smart_qa.sh)
-
Analyser changements git ($CORE_SCRIPTS/analyze_changes.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/copy_issue_labels.sh)
-
Appliquer labels CD (scripts/apply_cd_labels.sh)
-
Assigner milestone ($CORE_SCRIPTS/assign_milestone.py - voir git-pr-core/SKILL.md pour usage)
-
Assigner projet GitHub ($CORE_SCRIPTS/assign_project.py - voir git-pr-core/SKILL.md pour usage)
-
Code review automatique (si plugin review installé)
-
Nettoyage branche locale ($CORE_SCRIPTS/cleanup_branch.sh - branche remote préservée)
Labels CD (Continuous Delivery)
Ordre de détection du type de version :
BREAKING CHANGE ou !: 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
.twig modifiés contiennent Feature:Flag ou Feature/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.md
silent-failure-hunter - Erreurs silencieuses
test-analyzer - Couverture tests
git-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
Task Management
Progression du workflow :
- 15 tâches créées à l'initialisation (ou 14 si
--no-review ou pas de plugin review)
- Chaque étape suit le pattern :
in_progress → exécution → completed
- Utiliser
TaskList pour 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> ou git push -d origin <branche>
- Ne JAMAIS supprimer la branche remote (fermerait automatiquement la PR)
- Le flag
--delete ne 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)