Communitygithub.com

AmanVarshney01/tcut

Archiver une modification terminée dans le workflow expérimental. Utilisez cette compétence lorsque l'utilisateur souhaite finaliser et archiver une modification après l'implémentation.

Qu'est-ce que tcut ?

Cette compétence permet d'archiver des modifications terminées dans un workflow expérimental, en garantissant que toutes les étapes nécessaires sont suivies avant de finaliser. Elle prend en charge les commandes d'OpenSpec via l'interface en ligne de commande et interagit avec l'utilisateur pour sélectionner les modifications à archiver, vérifier l'achèvement des artefacts, des tâches, et l'état de synchronisation des spécifications delta. La compétence utilise `openspec list --json` pour lister les modifications disponibles, `openspec status --json` pour vérifier l'état des artefacts et des tâches, et peut demander une synchronisation des spécifications si nécessaire. Elle archive ensuite la modification dans un répertoire `archive` avec un horodatage, et affiche un récapitulatif clair des opérations effectuées. Idéale pour les développeurs utilisant OpenSpec avec Claude Code ou d'autres agents IA, elle automatise le processus d'archivage tout en prévenant les erreurs et en offrant des contrôles de qualité avant l'archivage définitif.

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

Demander à votre IA préférée

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

Documentation

Archiver une modification terminée dans le workflow expérimental.

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

Entrée : Spécifiez éventuellement un nom de modification. S'il est omis, vérifiez s'il peut être déduit du contexte de la conversation. En cas de vague ou d'ambiguïté, vous DEVEZ demander les modifications disponibles.

Étapes

  1. Si aucun nom de modification n'est fourni, demander une sélection

    Exécutez openspec list --json pour obtenir les modifications disponibles. Utilisez l'outil AskUserQuestion pour permettre à l'utilisateur de choisir.

    N'affichez que les modifications actives (non déjà archivées). Incluez le schéma utilisé pour chaque modification si disponible.

    IMPORTANT : Ne devinez pas et ne sélectionnez pas automatiquement une modification. Laissez toujours l'utilisateur choisir.

  2. Vérifier l'état d'achèvement des artefacts

    Exécutez openspec status --change "<nom>" --json pour vérifier l'achèvement des artefacts.

    Analysez le JSON pour comprendre :

    • schemaName : Le workflow utilisé
    • planningHome, changeRoot, artifactPaths et actionContext : contexte de chemin et de portée
    • artifacts : Liste des artefacts avec leur statut (done ou autre)

    Si des artefacts ne sont pas done :

    • Affichez un avertissement listant les artefacts incomplets
    • Utilisez l'outil AskUserQuestion pour confirmer que l'utilisateur souhaite continuer
    • Continuez si l'utilisateur confirme
  3. Vérifier l'état d'achèvement des tâches

    Lisez le fichier de tâches (généralement tasks.md) pour vérifier les tâches incomplètes.

    Comptez les tâches marquées par - [ ] (incomplètes) par rapport à - [x] (complètes).

    Si des tâches incomplètes sont trouvées :

    • Affichez un avertissement montrant le nombre de tâches incomplètes
    • Utilisez l'outil AskUserQuestion pour confirmer que l'utilisateur souhaite continuer
    • Continuez si l'utilisateur confirme

    Si aucun fichier de tâches n'existe : Continuez sans avertissement lié aux tâches.

  4. Évaluer l'état de synchronisation des spécifications delta

    Utilisez artifactPaths.specs.existingOutputPaths du JSON de statut pour vérifier les spécifications delta. Si aucune n'existe, continuez sans demande de synchronisation.

    Si des spécifications delta existent :

    • Comparez chaque spécification delta avec sa spécification principale correspondante dans openspec/specs/<capacité>/spec.md
    • Déterminez les modifications qui seraient appliquées (ajouts, modifications, suppressions, renommages)
    • Affichez un résumé combiné avant de demander

    Options de demande :

    • Si des modifications sont nécessaires : "Synchroniser maintenant (recommandé)", "Archiver sans synchroniser"
    • Si déjà synchronisé : "Archiver maintenant", "Synchroniser quand même", "Annuler"

    Si l'utilisateur choisit la synchronisation, utilisez l'outil Task (subagent_type: "general-purpose", prompt: "Utiliser l'outil Skill pour invoquer openspec-sync-specs pour la modification ''. Analyse des spécifications delta : <inclure le résumé des spécifications delta analysé>"). Continuez vers l'archivage quel que soit le choix.

  5. Effectuer l'archivage

    Créez un répertoire archive sous planningHome.changesDir s'il n'existe pas :

    mkdir -p "<planningHome.changesDir>/archive"
    

    Générez le nom cible en utilisant la date actuelle : YYYY-MM-DD-<nom-de-la-modification>

    Vérifiez si la cible existe déjà :

    • Si oui : Échouez avec une erreur, suggérez de renommer l'archive existante ou d'utiliser une date différente
    • Si non : Déplacez changeRoot vers le répertoire d'archive
    mv "<changeRoot>" "<planningHome.changesDir>/archive/YYYY-MM-DD-<nom>"
    
  6. Afficher le récapitulatif

    Affichez le récapitulatif de fin d'archivage incluant :

    • Nom de la modification
    • Schéma utilisé
    • Emplacement de l'archive
    • Si les spécifications ont été synchronisées (le cas échéant)
    • Note concernant les éventuels avertissements (artefacts/tâches incomplets)

Sortie en cas de succès

## Archivage terminé

**Modification :** <nom-modification>
**Schéma :** <nom-schéma>
**Archivée dans :** le chemin d'archive dérivé de `planningHome.changesDir`/YYYY-MM-DD-<nom>/
**Spécifications :** ✓ Synchronisées avec les spécifications principales (ou "Aucune spécification delta" ou "Synchronisation ignorée")

Tous les artefacts complets. Toutes les tâches complètes.

Garde-fous

  • Toujours demander la sélection de la modification si elle n'est pas fournie
  • Utiliser le graphe des artefacts (openspec status --json) pour vérifier l'achèvement
  • Ne pas bloquer l'archivage sur des avertissements - simplement informer et confirmer
  • Préserver .openspec.yaml lors du déplacement vers l'archive (il se déplace avec le répertoire)
  • Afficher un récapitulatif clair de ce qui s'est passé
  • Si une synchronisation est demandée, utiliser l'approche openspec-sync-specs (pilotée par agent)
  • Si des spécifications delta existent, toujours exécuter l'évaluation de synchronisation et afficher le résumé combiné avant de demander

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

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

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

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