Proposer une nouvelle modification - créer la modification et générer tous les artefacts en une seule étape.
Je créerai une modification avec des artefacts :
- proposal.md (quoi et pourquoi)
- design.md (comment)
- tasks.md (étapes de mise en œuvre)
Quand prêt à implémenter, exécutez /opsx:apply
Entrée : La requête de l'utilisateur doit inclure un nom de modification (kebab-case) OU une description de ce qu'il souhaite construire.
Étapes
-
Si aucune entrée claire fournie, demander ce qu'il souhaite construire
Utiliser l'outil AskUserQuestion (question ouverte, sans options prédéfinies) pour demander :
"Quelle modification souhaitez-vous réaliser ? Décrivez ce que vous voulez construire ou corriger."
À partir de leur description, dériver un nom en kebab-case (ex. : "ajouter authentification utilisateur" →
add-user-auth).IMPORTANT : Ne pas procéder sans comprendre ce que l'utilisateur souhaite construire.
-
Créer le répertoire de modification
openspec new change "<name>"Cela crée une modification échafaudée à
openspec/changes/<name>/avec.openspec.yaml. -
Obtenir l'ordre de création des artefacts
openspec status --change "<name>" --jsonParser le JSON pour obtenir :
applyRequires: tableau des IDs d'artefacts nécessaires avant la mise en œuvre (ex. :["tasks"])artifacts: liste de tous les artefacts avec leur statut et dépendances
-
Créer les artefacts en séquence jusqu'à être prêt pour l'application
Utiliser l'outil TodoWrite pour suivre la progression à travers les artefacts.
Boucler à travers les artefacts dans l'ordre des dépendances (artefacts sans dépendances en attente d'abord) :
a. Pour chaque artefact qui est
ready(dépendances satisfaites) :- Obtenir les instructions :
openspec instructions <artifact-id> --change "<name>" --json - Le JSON des instructions inclut :
context: Contexte du projet (contraintes pour vous - N'PAS inclure dans la sortie)rules: Règles spécifiques à l'artefact (contraintes pour vous - N'PAS inclure dans la sortie)template: La structure à utiliser pour votre fichier de sortieinstruction: Guidance spécifique au schéma pour ce type d'artefactoutputPath: Où écrire l'artefactdependencies: Artefacts complétés à lire pour le contexte
- Lire les fichiers de dépendances complétées pour le contexte
- Créer le fichier d'artefact en utilisant
templatecomme structure - Appliquer
contextetrulescomme contraintes - mais ne PAS les copier dans le fichier - Afficher un bref progrès : "Créé <artifact-id>"
b. Continuer jusqu'à ce que tous les artefacts
applyRequiressoient complets- Après avoir créé chaque artefact, réexécuter
openspec status --change "<name>" --json - Vérifier que chaque ID d'artefact dans
applyRequiresastatus: "done"dans le tableau artifacts - Arrêter quand tous les artefacts
applyRequiressont terminés
c. Si un artefact nécessite une entrée utilisateur (contexte peu clair) :
- Utiliser l'outil AskUserQuestion pour clarifier
- Puis continuer avec la création
- Obtenir les instructions :
-
Afficher le statut final
openspec status --change "<name>"
Sortie
Après la réalisation de tous les artefacts, résumer :
- Nom et emplacement de la modification
- Liste des artefacts créés avec brèves descriptions
- Ce qui est prêt : "Tous les artefacts créés ! Prêt pour la mise en œuvre."
- Prompt : "Exécutez
/opsx:applyou demandez-moi d'implémenter pour commencer à travailler sur les tâches."
Directives de création d'artefacts
- Suivre le champ
instructiondepuisopenspec instructionspour chaque type d'artefact - Le schéma définit ce que chaque artefact doit contenir - le suivre
- Lire les artefacts de dépendances pour le contexte avant de créer de nouveaux
- Utiliser
templatecomme structure pour votre fichier de sortie - remplir ses sections - IMPORTANT :
contextetrulessont des contraintes pour VOUS, pas du contenu pour le fichier- Ne PAS copier les blocs
<context>,<rules>,<project_context>dans l'artefact - Ceux-ci guident ce que vous écrivez, mais ne doivent jamais apparaître dans la sortie
- Ne PAS copier les blocs
Garde-fous
- Créer TOUS les artefacts nécessaires pour la mise en œuvre (tels que définis par
apply.requiresdu schéma) - Toujours lire les artefacts de dépendances avant d'en créer un nouveau
- Si le contexte est critiquement peu clair, demander à l'utilisateur - mais préférer prendre des décisions raisonnables pour maintenir l'élan
- Si une modification avec ce nom existe déjà, demander si l'utilisateur souhaite la continuer ou en créer une nouvelle
- Vérifier que chaque fichier d'artefact existe après écriture avant de procéder au suivant