apex
npx skills add https://github.com/cooksaw/claude-skills --skill apex
Agent 安装分布
Skill 文档
/apex – Autonomous Development Workflow
INSTRUCTIONS D’EXÃCUTION
Quand ce skill est invoqué, suivre ces étapes dans l’ordre :
Ãtape 0 : Parser les arguments et initialiser
-
Parser la commande pour extraire :
- Flags :
--auto,--review,--tests,--resume - Feature description : tout le reste après les flags
Exemple : "/apex --auto --tests Ajouter un dark mode" â flags: { auto: true, review: false, tests: true, resume: false } â feature: "Ajouter un dark mode" - Flags :
-
Déterminer le mode :
- Si
--auto: mode autonome (pas de confirmation entre étapes) - Sinon : mode interactif (confirmation avec AskUserQuestion avant chaque étape)
- En mode autonome :
--reviewet--testscontrôlent si ces étapes sont exécutées - En mode interactif : toutes les étapes sont proposées
- Si
-
Créer la todo list avec TodoWrite :
1. [pending] Vérifications git et création branche 2. [pending] Analyse du codebase 3. [pending] Planification de l'implémentation 4. [pending] Implémentation du code 5. [pending] Validation (build/lint/types) 6. [pending] Code review (si activé) 7. [pending] Correction des issues (si nécessaire) 8. [pending] Ãcriture des tests (si activé) 9. [pending] Vérification des tests (si activé) 10. [pending] Création de la Pull Request -
Afficher le header :
ð APEX - Autonomous Development Workflow ââââââââââââââââââââââââââââââââââââââââââ Feature: {feature_description} Mode: {Interactif | Autonome} {flags actifs}
Ãtape 1 : Init Branch
Marquer todo 1 comme in_progress
- Vérifier qu’on est dans un repo git :
git rev-parse --git-dir - Vérifier le working tree :
git status --porcelain- Si non vide â demander à l’utilisateur : commit/stash/abort
- Identifier la branche principale : chercher
main,master, oudevelop - Pull les dernières modifications :
git checkout {main} && git pull - Générer le nom de branche :
- Extraire mots-clés de la feature â kebab-case
- Préfixer avec
feature/ - Limiter à 50 caractères
- Créer la branche :
git checkout -b feature/{nom} - Créer le dossier
.apex/pour les artefacts du workflow
Marquer todo 1 comme completed
Ãtape 2 : Analyze Code (Agent Explore)
Marquer todo 2 comme in_progress
En mode interactif : demander confirmation avec AskUserQuestion avant de lancer
Utiliser l’outil Task avec subagent_type: "Explore" :
Prompt: Explore ce codebase pour comprendre comment implémenter la feature suivante :
"{feature_description}"
Analyse demandée :
1. Structure générale du projet (dossiers, architecture)
2. Patterns utilisés (state management, routing, styling, etc.)
3. Fichiers pertinents pour cette feature (avec chemins)
4. Conventions de code observées (naming, structure)
5. Technologies et frameworks détectés
Retourne un rapport structuré avec ces informations.
Stocker le résultat pour l’étape suivante.
Marquer todo 2 comme completed
Ãtape 3 : Plan Feature (Agent Plan)
Marquer todo 3 comme in_progress
En mode interactif : demander confirmation avec AskUserQuestion
Utiliser l’outil Task avec subagent_type: "Plan" :
Prompt: En te basant sur l'analyse ci-dessous, crée un plan d'implémentation pour :
"{feature_description}"
Analyse du codebase :
{résultat_étape_2}
Le plan doit inclure :
1. Stratégie d'implémentation
2. Liste des fichiers à créer (avec chemins complets)
3. Liste des fichiers à modifier (avec changements spécifiques)
4. Séquence d'implémentation ordonnée
5. Points d'attention et risques
Ãcrire le plan dans .apex/plan.md
Marquer todo 3 comme completed
Ãtape 4 : Execute (Implémentation)
Marquer todo 4 comme in_progress
En mode interactif : demander confirmation avec AskUserQuestion
Lire .apex/plan.md et pour chaque tâche du plan :
- Lire le fichier concerné (si modification)
- Implémenter le changement
- Commit atomique avec message conventionnel :
git commit -m "type(scope): description Co-Authored-By: Claude <noreply@anthropic.com>"
Types de commit :
feat: nouvelle fonctionnalitéfix: correction de bugrefactor: refactoringtest: testsdocs: documentation
Marquer todo 4 comme completed
Ãtape 5 : Validate
Marquer todo 5 comme in_progress
-
Détecter le type de projet en cherchant :
package.jsonâ Node.jsCargo.tomlâ Rustgo.modâ Gopyproject.toml/requirements.txtâ Python
-
Pour Node.js, lire
package.jsonet identifier :- Package manager : pnpm-lock.yaml â pnpm, yarn.lock â yarn, sinon npm
- Scripts disponibles :
build,lint,typecheck,type-check,tsc
-
Exécuter les validations disponibles :
Projet Build Lint Types Node.js {pm} run build{pm} run lint{pm} run typecheckoutsc --noEmitRust cargo buildcargo clippy(inclus) Go go build ./...go vet ./...(inclus) Python – ruff check .mypy . -
Si erreur :
- Parser le message d’erreur
- Corriger le fichier concerné
- Commit :
fix(scope): resolve {type} error - Retry (max 3 fois)
-
Si pas de scripts de validation : noter et continuer
Marquer todo 5 comme completed
Ãtape 6 : Review (si activé)
Skip si mode --auto sans --review
Marquer todo 6 comme in_progress
En mode interactif : demander confirmation avec AskUserQuestion
-
Obtenir le diff complet :
git diff main...HEAD -
Effectuer une code review en analysant :
- Bugs : erreurs logiques, edge cases
- Security : injections, XSS, données exposées
- Performance : N+1, renders inutiles
- Conventions : respect des patterns du projet
-
Catégoriser les issues :
- ð´ Critical : doit être corrigé (bloquant)
- ð¡ Warning : devrait être corrigé
- ðµ Suggestion : amélioration optionnelle
-
Ãcrire le rapport dans
.apex/review.md
Marquer todo 6 comme completed
Ãtape 7 : Fix Issues (si nécessaire)
Skip si pas d’issues Critical/Warning dans review.md
Marquer todo 7 comme in_progress
- Lire
.apex/review.md - Pour chaque issue Critical et Warning :
- Localiser le fichier et la ligne
- Appliquer la correction
- Commit :
fix(scope): resolve review issue {id}
- Re-exécuter l’étape 5 (Validate)
Marquer todo 7 comme completed
Ãtape 8 : Add Tests (si activé)
Skip si mode --auto sans --tests
Marquer todo 8 comme in_progress
En mode interactif : demander confirmation avec AskUserQuestion
-
Détecter le framework de test :
jest.config.*ou"jest"dans package.json â Jestvitest.config.*â Vitestpytest.inioupyproject.tomlavec pytest â Pytest*_test.goexistants â Go testingCargo.tomlâ Rust tests
-
Trouver des exemples de tests existants pour référence de style
-
Ãcrire les tests :
- Tests unitaires pour les nouvelles fonctions
- Tests des edge cases (null, empty, erreurs)
- Placer dans le bon dossier selon les conventions du projet
-
Commit :
test(scope): add tests for {feature}
Marquer todo 8 comme completed
Ãtape 9 : Verify Tests (si activé)
Skip si étape 8 skippée
Marquer todo 9 comme in_progress
-
Exécuter les tests :
- Jest/Vitest :
{pm} testounpx jest - Pytest :
pytest - Go :
go test ./... - Rust :
cargo test
- Jest/Vitest :
-
Si échec :
- Analyser si le bug est dans le code ou le test
- Corriger
- Commit :
fix(test): correct {test_name} - Retry (max 3 fois)
Marquer todo 9 comme completed
Ãtape 10 : Create PR
Marquer todo 10 comme in_progress
-
Push la branche :
git push -u origin feature/{nom} -
Générer le titre :
{type}: {description courte en anglais} -
Générer le body :
## Summary {Description de la feature} ## Changes {Liste des changements extraite des commits} ## Testing - [x] Build passes - [x] Lint passes - [x] Type check passes - [x] Unit tests pass --- ð¤ Generated with [Claude Code](https://claude.ai/claude-code) using /apex -
Créer la PR :
gh pr create --title "{titre}" --body "{body}" -
Afficher le résultat :
ð Pipeline complete! PR: {url}
Marquer todo 10 comme completed
GESTION DES ERREURS
Mode interactif
à chaque erreur, utiliser AskUserQuestion :
options: ["Retry", "Skip cette étape", "Abort le workflow"]
Mode autonome
- Retry automatique (max 2 fois)
- Si échec persistant â demander à l’utilisateur avec AskUserQuestion
Erreurs bloquantes (toujours abort)
- Pas un repo git
- Pas de remote origin
- Push échoue (permissions)
GESTION DU FLAG –resume
Si --resume est présent :
- Vérifier si une branche
feature/*existe localement - Checkout cette branche
- Analyser l’état :
.apex/plan.mdexiste â étape 3 complétée.apex/review.mdexiste â étape 6 complétée- Compter les commits depuis main â estimer progression
- Reprendre à l’étape suivante
CONVENTIONS
Structure des artefacts
.apex/
âââ plan.md # Plan d'implémentation (étape 3)
âââ review.md # Rapport de review (étape 6)
Nommage des branches
feature/{mots-clés-kebab-case} (max 50 chars)
Format des commits
type(scope): description en anglais
Co-Authored-By: Claude <noreply@anthropic.com>
QUICK REFERENCE
| Mode | Commande | Review | Tests |
|---|---|---|---|
| Interactif complet | /apex {feature} |
â | â |
| Autonome minimal | /apex --auto {feature} |
â | â |
| Autonome + review | /apex --auto --review {feature} |
â | â |
| Autonome + tests | /apex --auto --tests {feature} |
â | â |
| Autonome complet | /apex --auto --review --tests {feature} |
â | â |
| Reprendre | /apex --resume |
– | – |
Référence détaillée
Pour plus de détails sur chaque étape : references/workflow.md