dev:feature

Workflow complet de développement de feature

8 stars

Best use case

dev:feature is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Workflow complet de développement de feature

Teams using dev:feature should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/feature/SKILL.md --create-dirs "https://raw.githubusercontent.com/atournayre/claude-marketplace/main/dev/skills/feature/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/feature/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How dev:feature Compares

Feature / Agentdev:featureStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Workflow complet de développement de feature

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Objectif

Orchestrateur du workflow de développement en 8 phases. Enchaîne automatiquement toutes les étapes avec des checkpoints utilisateur.

# Feature demandée

$ARGUMENTS

# Prérequis

⚠️ **Plugin feature-dev requis** pour les agents spécialisés.

Si non installé, afficher :
```
⚠️ Pour une expérience optimale, installe le plugin feature-dev :
/plugin install feature-dev@claude-code-plugins

Ce plugin fournit les agents :
- code-explorer (exploration codebase)
- code-architect (design architecture)
- code-reviewer (review qualité)

Continuer sans ces agents ? (Les phases 1, 3, 6 seront simplifiées)
```

## Instructions à Exécuter

**IMPORTANT : Exécute ce workflow étape par étape :**

## Initialisation

### 1. Proposition de worktree (optionnel)

- Utilise AskUserQuestion pour demander à l'utilisateur s'il souhaite créer un worktree pour cette feature :

```
📂 Créer un worktree pour cette feature ?

Avantages des worktrees :
  • Garder votre branche main propre
  • Travailler sur plusieurs features en parallèle
  • Préserver le contexte de développement (IDE, serveur, tests)
  • Pas besoin de stash ou de switcher de branche

Le worktree sera créé dans : .worktrees/{feature-slug}

Créer le worktree ? (o/n)
```

Si oui :
- Normaliser le nom de la feature en slug (kebab-case)
- Créer le worktree avec `/dev:worktree create {feature-slug}`
- Informer l'utilisateur du chemin et qu'il doit relancer Claude Code dans le worktree
- **ARRÊTER le workflow** avec un message :
  ```
  ✅ Worktree créé : .worktrees/{feature-slug}

  Pour continuer le workflow :
    1. cd .worktrees/{feature-slug}
    2. Relancer Claude Code
    3. /dev:feature {description}
  ```

Si non : Continuer le workflow normalement.

2. Créer le fichier `.claude/data/.dev-workflow-state.json` (créer le répertoire `.claude/data/` si nécessaire)

3. **Créer les tâches du workflow**

Utiliser `TaskCreate` pour chaque phase :

```
TaskCreate #0: Discover - Comprendre le besoin
TaskCreate #1: Explore - Explorer codebase
TaskCreate #2: Clarify - Questions clarification
TaskCreate #3: Design - Proposer architectures
TaskCreate #4: Plan - Générer specs
TaskCreate #5: Code - Implémenter
TaskCreate #6: Review - QA complète
TaskCreate #7: Summary - Résumé final
TaskCreate #8: Cleanup - Nettoyer worktree (si créé)
```

**Important :**
- Utiliser `activeForm` (ex: "Comprenant le besoin", "Explorant le codebase")
- Ne créer la tâche #8 que si worktree créé
- Les tâches suivent l'ordre d'exécution (0→7 ou 0→8)

## Gestion du timing et progression

**Avant chaque phase :**
1. Utiliser `TaskUpdate` pour marquer la tâche comme `in_progress`
2. Enregistrer le timestamp de début dans `.claude/data/.dev-workflow-state.json`

**Après chaque phase :**
1. Calculer la durée et mettre à jour le fichier d'état
2. Utiliser `TaskUpdate` pour marquer la tâche comme `completed`

## Phase 0 : Discover

1. `TaskUpdate` → tâche #0 en `in_progress`
2. Exécuter le contenu de `/dev:discover`
3. **Checkpoint :** Confirmer que la compréhension est correcte
4. `TaskUpdate` → tâche #0 en `completed`

## Phase 1 : Explore

1. `TaskUpdate` → tâche #1 en `in_progress`
2. Exécuter le contenu de `/dev:explore`
3. `TaskUpdate` → tâche #1 en `completed`

## Phase 2 : Clarify

1. `TaskUpdate` → tâche #2 en `in_progress`
2. Exécuter le contenu de `/dev:clarify`
3. **Checkpoint :** Attendre toutes les réponses
4. `TaskUpdate` → tâche #2 en `completed`

## Phase 3 : Design

1. `TaskUpdate` → tâche #3 en `in_progress`
2. Exécuter le contenu de `/dev:design`
3. **Checkpoint :** Attendre le choix de l'architecture
4. `TaskUpdate` → tâche #3 en `completed`

## Phase 4 : Plan

1. `TaskUpdate` → tâche #4 en `in_progress`
2. Exécuter le contenu de `/dev:plan`
3. `TaskUpdate` → tâche #4 en `completed`

## Phase 5 : Code

1. **Checkpoint :** Demander approbation avant de commencer
2. `TaskUpdate` → tâche #5 en `in_progress`
3. Exécuter le contenu de `/dev:code`
4. `TaskUpdate` → tâche #5 en `completed`

## Phase 6 : Review

1. `TaskUpdate` → tâche #6 en `in_progress`
2. Exécuter le contenu de `/dev:review`
3. **Checkpoint :** Demander action (fix now / fix later / proceed)
4. `TaskUpdate` → tâche #6 en `completed`

## Phase 7 : Summary

1. `TaskUpdate` → tâche #7 en `in_progress`
2. Exécuter le contenu de `/dev:summary`
3. Calculer le temps total et afficher le récapitulatif des temps
4. `TaskUpdate` → tâche #7 en `completed`

## Phase 8 : Cleanup (optionnel)

1. Si un worktree a été créé :
   - `TaskUpdate` → tâche #8 en `in_progress`
   - Proposer de nettoyer le worktree
   - `TaskUpdate` → tâche #8 en `completed`

# Affichage du statut

**Deux systèmes complémentaires :**

1. **Task Management System** : Utiliser `TaskList` pour afficher l'état des tâches (pending/in_progress/completed)

2. **Affichage manuel avec timings** : À chaque transition de phase, afficher :

```
🔄 Workflow de développement : {feature}

  ✅ 0. Discover   - Comprendre le besoin        (1m 23s)
  ✅ 1. Explore    - Explorer codebase           (2m 45s)
  🔵 2. Clarify    - Questions clarification  ← En cours
  ⬜ 3. Design     - Proposer architectures
  ⬜ 4. Plan       - Générer specs
  ⬜ 5. Code       - Implémenter
  ⬜ 6. Review     - QA complète
  ⬜ 7. Summary    - Résumé final
  ⬜ 8. Cleanup    - Nettoyer worktree (si créé)
```

**Note :** Le task system ne gère pas les timings, donc l'affichage manuel reste nécessaire pour montrer les durées.

# Règles

- **Proposition de worktree** à l'initialisation (optionnel)
- **Checkpoints obligatoires** aux phases 0, 2, 3, 5, 6
- **Ne jamais sauter de phase** (0-7)
- **Phase 8 (Cleanup)** uniquement si un worktree a été créé
- **Task Management** :
  - Créer toutes les tâches à l'initialisation
  - Mettre à jour le statut avant/après chaque phase
  - Utiliser `TaskList` pour afficher la progression
- **Mettre à jour** `.claude/data/.dev-workflow-state.json` après chaque phase (pour les timings)
- **Afficher le statut** à chaque transition (task system + timings)
- Si l'utilisateur interrompt, il peut reprendre avec `/dev:status` + la commande de la phase suivante
- **Worktrees** : Toutes les métadonnées sont dans `.claude/data/.dev-worktrees.json`

# Commande d'aide

Si l'utilisateur tape `/dev:feature` sans arguments, afficher l'aide complète.

Related Skills

dev:auto:feature

8
from atournayre/claude-marketplace

Workflow complet de développement automatisé (mode non-interactif)

fix-grammar

8
from atournayre/claude-marketplace

Fix grammar and spelling errors in one or multiple files while preserving formatting

symfony-framework

8
from atournayre/claude-marketplace

Comprehensive Symfony 6.4 development skill for web applications, APIs, and microservices.

symfony:make

8
from atournayre/claude-marketplace

Cherche si il existe un maker Symfony pour faire la tache demandée et l'utilise si il existe. Si aucun maker n'existe alors utilise la slash command "/prepare"

phpstan-resolver

8
from atournayre/claude-marketplace

Résout automatiquement les erreurs PHPStan en analysant et corrigeant les problèmes de types. Boucle jusqu'à zéro erreur ou stagnation.

elegant-objects

8
from atournayre/claude-marketplace

Vérifie la conformité du code PHP aux principes Elegant Objects de Yegor Bugayenko. Analyse un fichier spécifique ou tous les fichiers modifiés dans la branche.

prompt:validate

8
from atournayre/claude-marketplace

Vérifie la checklist avant exécution et liste les oublis

prompt:transform

8
from atournayre/claude-marketplace

Transforme un prompt en prompt exécutable compatible avec le Task Management System (TaskCreate/TaskUpdate/TaskList)

prompt:team

8
from atournayre/claude-marketplace

Orchestre une équipe d'agents spécialisés pour les tâches complexes. Auto-détecte le type, compose l'équipe, coordonne les phases analyse → challenge → implémentation → QA.

prompt:start

8
from atournayre/claude-marketplace

Démarre un développement avec un starter léger puis active le mode plan

apex

8
from atournayre/claude-marketplace

Systematic implementation using APEX methodology (Analyze-Plan-Execute-eXamine) with parallel agents, self-validation, and optional adversarial review. Use when implementing features, fixing bugs, or making code changes that benefit from structured workflow.

fix-errors

8
from atournayre/claude-marketplace

Fix all ESLint and TypeScript errors with parallel processing using snipper agents