devautofeature
Workflow complet de développement automatisé (mode non-interactif)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Workflow complet de développement automatisé (mode non-interactif)
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Automatise les mises à jour de version des plugins avec détection automatique du type de version
Skill interne fournissant les scripts communs pour la création de branches. Ne pas appeler directement - utilisé par git:branch et git:worktree.
Création de branche Git avec workflow structuré
Création de worktree Git avec workflow structuré
Crée une Pull Request en mode Continuous Delivery avec workflow complet : QA, labels version (major/minor/patch), feature flags, code review automatique.
Skill interne fournissant les scripts communs pour la création de Pull Requests. Ne pas appeler directement - utilisé par git-pr et git-cd-pr.
| name | dev:auto:feature |
| description | Workflow complet de développement automatisé (mode non-interactif) |
| argument-hint | <issue-number> |
| model | sonnet |
| allowed-tools | ["Read","Write","Edit","Grep","Glob","Task","Bash"] |
| version | 1.0.0 |
| license | MIT |
IMPORTANT : Exécute ce workflow étape par étape :
Orchestrateur du workflow de développement en 10 phases SANS interaction utilisateur.
Exécution automatique complète : récupérer issue → phases 1-8 → cleanup → créer PR. Objectif : PR créée et prête pour review, CI passe.
Issue #$ARGUMENTS (spec récupérée automatiquement)
Ce workflow s'exécute automatiquement sans checkpoints utilisateur.
Pour un workflow interactif avec validation à chaque phase, utilise /dev:feature.
Exécuter /dev:auto:check-prerequisites pour vérifier que TOUS les prérequis sont présents.
Exit code 1 et arrêt si quelque chose manque.
🔄 Progression : TaskUpdate → tâche #0 en in_progress
⏱️ Démarrer le timer
Exécuter /dev:auto:check-prerequisites
Si la skill exit 1, arrêter immédiatement.
⏱️ Arrêter le timer
🔄 Progression : TaskUpdate → tâche #0 en completed
Affichage :
✅ Prérequis vérifiés
Tous les outils nécessaires sont présents :
✅ gh CLI authentifiée
✅ jq disponible
✅ git disponible
Lancement du workflow...
⏱️ Démarrer le timer
Déterminer le chemin :
issue_number=$ARGUMENTS
workflow_state_file=".claude/data/workflows/issue-${issue_number}-dev-workflow-state.json"
# Créer le répertoire s'il n'existe pas
mkdir -p ".claude/data/workflows"
Exécuter /dev:auto:fetch-issue $ARGUMENTS
Processus :
gh issue view${workflow_state_file}Si /dev:auto:fetch-issue échoue :
⏱️ Arrêter le timer
Affichage :
🔗 Issue GitHub récupérée
#123 : Description du feature
État : OPEN
Labels : enhancement
Lancement du workflow...
🤖 Mode automatique activé pour : {feature}
📂 Création du worktree...
Processus :
.worktrees/ s'il n'existe pas/dev:worktree create {feature-slug}.claude/data/workflows/issue-${issue_number}-dev-workflow-state.jsonSi création échoue : → FAIL HARD avec message d'erreur et exit code 1.
Le fichier .claude/data/workflows/issue-{issue_number}-dev-workflow-state.json a déjà été créé par Phase 0 avec les infos de l'issue.
Mettre à jour le fichier pour ajouter les infos du worktree :
{
"mode": "auto",
"issue": {
"number": {numéro},
"title": "{issue title}",
"description": "{issue body}",
"labels": "{issue labels}",
"state": "OPEN",
"fetchedAt": "{ISO timestamp}"
},
"feature": "{issue title}",
"status": "in_progress",
"startedAt": "{ISO timestamp}",
"currentPhase": 1,
"worktree": {
"name": "{feature-slug}",
"path": ".worktrees/{feature-slug}",
"branch": "feature/{feature-slug}",
"cleaned": false,
"branchDeleted": false
},
"autoConfig": {
"worktreeCreated": true,
"decisions": {},
"autoFixAttempts": {}
},
"timing": {
"totalDurationMs": null
},
"phases": {}
}
Utiliser TaskCreate pour chaque phase :
TaskCreate #0: Prérequis - Vérifier les outils
TaskCreate #1: Fetch - Récupérer l'issue GitHub
TaskCreate #2: Discover - Comprendre le besoin
TaskCreate #3: Explore - Explorer codebase
TaskCreate #4: Clarify - Heuristiques automatiques
TaskCreate #5: Design - Architecture (Pragmatic)
TaskCreate #6: Plan - Générer specs
TaskCreate #7: Code - Implémenter
TaskCreate #8: Review - Auto-fix × 3
TaskCreate #9: Cleanup - Nettoyer worktree
TaskCreate #10: Create PR - Créer la Pull Request
Important :
activeForm (ex: "Vérifiant les outils", "Récupérant l'issue GitHub")🤖 Workflow automatique : {feature}
🔵 0. Prérequis - Vérifier les outils ← En cours
⬜ 1. Fetch - Récupérer l'issue GitHub
⬜ 2. Discover - Comprendre le besoin
⬜ 3. Explore - Explorer codebase
⬜ 4. Clarify - Heuristiques automatiques
⬜ 5. Design - Architecture (Pragmatic)
⬜ 6. Plan - Générer specs
⬜ 7. Code - Implémenter
⬜ 8. Review - Auto-fix × 3
⬜ 9. Cleanup - Nettoyer worktree
⬜ 10. Create PR - Créer la Pull Request
⚠️ IMPORTANT : Chaque phase suit ce pattern :
TaskUpdate → tâche en in_progressTaskUpdate → tâche en completedAvant chaque phase :
TaskUpdate pour marquer la tâche comme in_progress{
"phases": {
"{N}": { "status": "in_progress", "startedAt": "{ISO timestamp}" }
}
}
Après chaque phase :
{
"phases": {
"{N}": {
"status": "completed",
"startedAt": "{ISO timestamp}",
"completedAt": "{ISO timestamp}",
"durationMs": {durée en millisecondes}
}
}
}
TaskUpdate pour marquer la tâche comme completedPattern illustré dans Phase 0 - À reproduire pour toutes les phases 1-10.
⏱️ Démarrer le timer
Exécuter /dev:auto:discover
Si /dev:auto:discover échoue (ambiguïté critique) :
⏱️ Arrêter le timer
Affichage :
✅ Phase 1 : Discover complétée (45s)
🔵 Phase 2 : Explore en cours
⏱️ Démarrer le timer
Exécuter /dev:auto:explore (exploration codebase sans interaction)
⏱️ Arrêter le timer
⏱️ Démarrer le timer
Exécuter /dev:auto:clarify (applique heuristiques, zéro question)
⏱️ Arrêter le timer
⏱️ Démarrer le timer
Exécuter /dev:auto:design (choisit Pragmatic Balance automatiquement)
⏱️ Arrêter le timer
⏱️ Démarrer le timer
Exécuter /dev:auto:plan (génération plan sans interaction)
⏱️ Arrêter le timer
⏱️ Démarrer le timer
Exécuter /dev:auto:code (implémente directement, pas d'approbation)
⏱️ Arrêter le timer
⏱️ Démarrer le timer
Exécuter /dev:auto:review (boucle auto-fix max 3 tentatives)
Si review échoue (PHPStan impossible) :
git reset --hard HEAD@{0}
/dev:worktree remove {feature-name}
status: "failed"⏱️ Arrêter le timer
Si succès :
⏱️ Calculer le temps total :
.claude/data/workflows/issue-${issue_number}-dev-workflow-state.jsontotalDurationMs = somme de tous les durationMs des phasestiming.totalDurationMs⏱️ Démarrer le timer
Nettoyage automatique du worktree :
🧹 Nettoyage du worktree...
/dev:worktree remove {feature-name} automatiquement{
"status": "in_progress",
"completedAt": "{ISO timestamp}",
"worktree": {
"cleaned": true,
"branchDeleted": false,
"cleanedAt": "{ISO timestamp}"
}
}
⏱️ Arrêter le timer
Affichage :
✅ Phase 9 : Cleanup complétée (5s)
🔵 Phase 10 : Create PR en cours
⏱️ Démarrer le timer
Récupérer la branche-base et le projet depuis .env.claude (ou valeurs par défaut) :
MAIN_BRANCH=${MAIN_BRANCH:-main}
PROJECT=${PROJECT:-}
Exécuter /git:pr avec les paramètres du workflow automatique :
/git:pr $MAIN_BRANCH $PROJECT --no-interaction
Paramètres :
$MAIN_BRANCH : branche de base (depuis .env.claude MAIN_BRANCH ou "main")$PROJECT : projet GitHub (depuis .env.claude PROJECT ou vide)--no-interaction : mode automatique, passer confirmationsSi /git:pr échoue (ex: branche inexistante, GitHub unreachable) :
⏱️ Arrêter le timer
Nettoyage du workflow state :
# Supprimer le fichier de workflow state
rm -f ".claude/data/workflows/issue-${issue_number}-dev-workflow-state.json"
Affichage final :
✅ SUCCÈS - Workflow terminé
🎉 Feature prête pour Pull Request
✅ CI PASSE (PHPStan niveau 9, tests)
📂 Worktree nettoyé
🔗 PR créée : https://github.com/...#<pr-number>
Affichage du récapitulatif des temps (voir section "Récapitulatif final")
Deux systèmes complémentaires :
Task Management System : Les tâches sont automatiquement mises à jour, TaskList peut être consulté
Affichage manuel avec timings : À chaque transition de phase, afficher le statut mis à jour avec timing :
🤖 Workflow automatique : {feature}
✅ 0. Prérequis - Vérifier les outils (1s)
✅ 1. Fetch - Récupérer l'issue GitHub (2s)
✅ 2. Discover - Comprendre le besoin (45s)
✅ 3. Explore - Explorer codebase (2m 30s)
✅ 4. Clarify - Heuristiques automatiques (20s)
🔵 5. Design - Architecture (Pragmatic) ← En cours
⬜ 6. Plan - Générer specs
⬜ 7. Code - Implémenter
⬜ 8. Review - Auto-fix × 3
⬜ 9. Cleanup - Nettoyer worktree
⬜ 10. Create PR - Créer la Pull Request
Note : Le task system ne gère pas les timings, donc l'affichage manuel reste nécessaire pour montrer les durées.
Pas d'arrêt : exécution continue jusqu'à fin ou échec.
Formater les durées de manière lisible :
< 60s → {X}s (ex: 45s)< 60min → {X}m {Y}s (ex: 2m 30s)>= 60min → {X}h {Y}m (ex: 1h 15m)À la fin du workflow (après phase 7, avant cleanup), afficher :
⏱️ Récapitulatif des temps
Phase 0. Prérequis : 1s
Phase 1. Fetch : 2s
Phase 2. Discover : 45s
Phase 3. Explore : 2m 30s
Phase 4. Clarify : 20s
Phase 5. Design : 1m 15s
Phase 6. Plan : 50s
Phase 7. Code : 8m 20s
Phase 8. Review : 2m 45s
Phase 9. Cleanup : 5s
Phase 10. Create PR: 10s
────────────────────────────
Total : 17m 23s
Mettre à jour .claude/data/workflows/issue-{issue_number}-dev-workflow-state.json :
{
"status": "failed",
"failedAt": "{ISO timestamp}",
"failurePhase": {numéro},
"failureReason": "Description de l'erreur",
"errors": ["error1", "error2"]
}
git reset --hard HEAD@{0}
/dev:worktree remove {feature-name}
Mettre à jour workflow state avec cleaned: true, branchDeleted: true, rollback: true.
❌ ÉCHEC du workflow automatique
Raison : {failureReason}
Phase échouée : {failurePhase}
Erreurs :
{liste des erreurs}
Le worktree a été nettoyé et la branche supprimée.
Utilise /dev:feature pour un workflow interactif.
Exit code: 1
/git:pr.claude/data/workflows/issue-{issue_number}-dev-workflow-state.json après chaque phaseDescription : "Ajouter auth"
→ Trop vague (OAuth? Basic? JWT?)
Action : FAIL dans discover
Message : "Description trop ambiguë pour mode auto.
Précise : OAuth? Basic Auth? JWT?
Ou utilise /dev:feature pour mode interactif."
Exit code: 1
Nom feature : "oauth-auth"
Worktree .worktrees/oauth-auth existe déjà
Action : Suffixe automatique
→ .worktrees/oauth-auth-2
Et logger warning dans workflow state
Vérifier avec git show-ref refs/heads/feature/{name}.
Si existe → FAIL dans initialisation.
| Aspect | /dev:feature | /dev:auto:feature |
|---|---|---|
| Input | Description texte libre | Numéro issue GitHub |
| Interaction | 5 checkpoints | 0 checkpoint |
| Worktree | Optionnel | OBLIGATOIRE |
| Phase 3 | Questions utilisateur | Heuristiques |
| Phase 4 | Choix utilisateur | Auto Pragmatic |
| Phase 6 | Approbation requise | Immédiat |
| Phase 7 | Fix now/later/proceed | Auto-fix × 3 |
| Phase 8 | Proposer nettoyage | Cleanup auto |
| Phase 9 | Manuel : /git:pr | Auto : /git:pr + params |
| Erreurs | Demander aide | Rollback auto |
| Objectif | Collaboration | Automation |