Communitygithub.com

AmanVarshney01/tcut

Proposer une nouvelle modification avec tous les artefacts générés en une seule étape. À utiliser lorsque l'utilisateur souhaite décrire rapidement ce qu'il veut construire et obtenir une proposition complète avec conception, spécifications et tâches prêtes à être implémentées.

Qu'est-ce que tcut ?

Ce skill, destiné aux agents IA comme Claude Code, Cursor ou Codex, automatise la création d'une proposition complète de modification logicielle en une seule interaction. À partir d'une simple description en langage naturel, il génère l'ensemble des artefacts nécessaires : un document de proposition (proposal.md) expliquant le « quoi » et le « pourquoi », un document de conception (design.md) détaillant le « comment », et un document de tâches (tasks.md) listant les étapes d'implémentation. Le skill utilise la CLI `openspec` pour créer un répertoire de changement, déterminer l'ordre de construction des artefacts en respectant les dépendances, et produire chaque artefact selon des instructions et templates spécifiques au type de changement. Il prend en charge la sélection de magasins (stores) OpenSpec enregistrés sur la machine pour travailler dans le contexte approprié. Une fois tous les artefacts prêts (selon la condition `applyRequires`), l'utilisateur peut déclencher l'implémentation avec `/opsx:apply`. Le skill guide l'agent à chaque étape, en lisant les artefacts de dépendance, en respectant les règles et contraintes fournies par `openspec instructions`, et en demandant clarification à l'utilisateur uniquement si le contexte est insuffisant. Cela accélère significativement le processus de planification et garantit une base structurée et cohérente avant de passer au codage.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AmanVarshney01/tcut/tree/HEAD/.claude/skills/openspec-propose

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Proposer une nouvelle modification - créer la modification et générer tous les artefacts en une seule étape.

Je vais créer une modification avec les artefacts suivants :

  • proposal.md (quoi et pourquoi)
  • design.md (comment)
  • tasks.md (étapes d'implémentation)

Lorsque vous serez prêt à implémenter, exécutez /opsx:apply


Sélection du magasin : Si l'utilisateur nomme un magasin (un magasin est un dépôt OpenSpec autonome enregistré sur cette machine) ou si le travail se trouve dans un magasin, exécutez openspec store list --json pour découvrir les identifiants de magasin enregistrés, puis passez --store <id> sur les commandes qui lisent ou écrivent des spécifications et des modifications (new change, status, instructions, list, show, validate, archive, doctor, context). Les autres commandes n'acceptent pas ce drapeau. Les indications imprimées par les commandes portent déjà le drapeau ; conservez-le dans les suivis. Sans magasin, les commandes agissent sur la racine openspec/ locale la plus proche.

Entrée : La demande de l'utilisateur doit inclure un nom de modification (en kebab-case) OU une description de ce qu'il souhaite construire.

Étapes

  1. Si aucune entrée claire n'est fournie, demandez ce que l'utilisateur veut construire

    Utilisez l'outil AskUserQuestion (question ouverte, sans options prédéfinies) pour demander :

    « Sur quelle modification souhaitez-vous travailler ? Décrivez ce que vous voulez construire ou corriger. »

    À partir de leur description, dérivez un nom en kebab-case (par exemple, « ajouter l'authentification utilisateur » → ajouter-auth-utilisateur).

    IMPORTANT : Ne continuez pas sans comprendre ce que l'utilisateur veut construire.

  2. Créez le répertoire de la modification

    openspec new change "<nom>"
    

    Cela crée une modification échafaudée dans le répertoire racine de planification résolu par la CLI avec .openspec.yaml.

  3. Obtenez l'ordre de construction des artefacts

    openspec status --change "<nom>" --json
    

    Analysez le JSON pour obtenir :

    • applyRequires : tableau des identifiants d'artefacts nécessaires avant l'implémentation (par exemple ["tasks"])
    • artifacts : liste de tous les artefacts avec leur statut et leurs dépendances
    • planningHome, changeRoot, artifactPaths et actionContext : chemin et portée du contexte. Utilisez-les au lieu de supposer des chemins locaux au dépôt.
  4. Créez les artefacts en séquence jusqu'à ce que la modification soit prête à être appliquée

    Utilisez l'outil TodoWrite pour suivre la progression à travers les artefacts.

    Parcourez les artefacts dans l'ordre des dépendances (artefacts sans dépendances en attente en premier) :

    a. Pour chaque artefact qui est ready (dépendances satisfaites) :

    • Obtenez les instructions :
      openspec instructions <id-artefact> --change "<nom>" --json
      
    • Le JSON des instructions comprend :
      • context : Contexte du projet (contraintes pour vous - NE PAS inclure dans la sortie)
      • rules : Règles spécifiques à l'artefact (contraintes pour vous - NE PAS inclure dans la sortie)
      • template : La structure à utiliser pour votre fichier de sortie
      • instruction : Recommandations spécifiques au schéma pour ce type d'artefact
      • resolvedOutputPath : Chemin ou motif résolu pour écrire l'artefact
      • dependencies : Artefacts terminés à lire pour le contexte
    • Lisez tous les fichiers de dépendance terminés pour le contexte
    • Créez le fichier d'artefact en utilisant template comme structure et écrivez-le dans resolvedOutputPath
    • Appliquez context et rules comme contraintes - mais ne les copiez PAS dans le fichier
    • Affichez une brève progression : « Artefact créé »

    b. Continuez jusqu'à ce que tous les artefacts applyRequires soient terminés

    • Après avoir créé chaque artefact, réexécutez openspec status --change "<nom>" --json
    • Vérifiez si chaque identifiant d'artefact dans applyRequires a status: "done" dans le tableau des artefacts
    • Arrêtez-vous lorsque tous les artefacts applyRequires sont terminés

    c. Si un artefact nécessite une saisie utilisateur (contexte peu clair) :

    • Utilisez l'outil AskUserQuestion pour clarifier
    • Puis continuez avec la création
  5. Affichez le statut final

    openspec status --change "<nom>"
    

Sortie

Après avoir terminé tous les artefacts, résumez :

  • Nom et emplacement de la modification
  • Liste des artefacts créés avec de brèves descriptions
  • Ce qui est prêt : « Tous les artefacts créés ! Prêt pour l'implémentation. »
  • Invite : « Exécutez /opsx:apply ou demandez-moi d'implémenter pour commencer à travailler sur les tâches. »

Directives de création d'artefacts

  • Suivez le champ instruction de openspec instructions pour chaque type d'artefact
  • Le schéma définit ce que chaque artefact doit contenir - respectez-le
  • Lisez les artefacts de dépendance pour le contexte avant d'en créer de nouveaux
  • Utilisez template comme structure pour votre fichier de sortie - remplissez ses sections
  • IMPORTANT : context et rules sont des contraintes pour VOUS, pas du contenu pour le fichier
    • Ne copiez PAS les blocs <context>, <rules>, <project_context> dans l'artefact
    • Ils guident ce que vous écrivez, mais ne doivent jamais apparaître dans la sortie

Garde-fous

  • Créez TOUS les artefacts nécessaires à l'implémentation (tels que définis par apply.requires du schéma)
  • Lisez toujours les artefacts de dépendance avant d'en créer un nouveau
  • Si le contexte est critique et peu clair, demandez à l'utilisateur - mais préférez prendre des décisions raisonnables pour maintenir la dynamique
  • Si une modification avec ce nom existe déjà, demandez si l'utilisateur veut la continuer ou en créer une nouvelle
  • Vérifiez que chaque fichier d'artefact existe après l'écriture avant de passer au suivant

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

AmanVarshney01/tcut

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

AmanVarshney01/tcut

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

AmanVarshney01/tcut

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

AmanVarshney01/tcut

Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.

AmanVarshney01/tcut

Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

AmanVarshney01/tcut

Combine tcut terminal recordings with Remotion to produce polished, motion-designed launch/promo videos (title cards, animated captions, layered terminal footage). Use when the user wants a product video, launch video, or social video that features terminal/CLI footage.

AmanVarshney01/tcut

Record reproducible terminal videos (MP4/GIF/SVG/HTML) from TypeScript scripts or live sessions with the tcut CLI. Use when the user wants a terminal demo, CLI screencast, TUI recording, or animated terminal GIF for a README, website, or social post.

Skills associés