Agent skill
git-cd-pr
Crée une Pull Request en mode Continuous Delivery avec workflow complet : QA, labels version (major/minor/patch), feature flags, code review automatique.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/git-cd-pr
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.claudeexiste à la racine du projet - Si oui, parser les variables (format
KEY=VALUE) :MAIN_BRANCH: branche de base par défautPROJECT: projet GitHub par défaut
- Pour chaque paramètre manquant dans les arguments :
- Utiliser la variable d'env correspondante si elle existe
- Ignorer
.env.claudesi absent (comportement standard)
- Vérifier si le fichier
-
Confirmation initiale :
- Si flag
--no-interactionpré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-prest 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)
- Mode : Continuous Delivery (
- Demander confirmation explicite avant de continuer
- Confirmer à l'utilisateur que la skill
- Si flag
-
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 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
- Patterns minor :
- 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 - Format commentaire et agents
- Todos template - 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)
Didn't find tool you were looking for?