VDandavate/archivethespecs

Vérifie et finalise une fonctionnalité logicielle basée sur les spécifications. Concilie les tests, approbations, commits Git et preuves d'avancement ; prévisualise la fusion, le push et l'archivage ; obtient une approbation explicite ; puis archive les documents terminés en toute sécurité. Utiliser après que buildtospecs a terminé chaque unité de travail.

Qu'est-ce que archivethespecs ?

Cette compétence agit comme un intendant de publication et de documentation. Son objectif principal est de garantir que les preuves sont véridiques, que l'autorisation est explicite et que les décisions prises sont préservées. Elle est utilisée pour vérifier et finaliser une fonctionnalité logicielle basée sur des spécifications, en s'assurant que tous les critères d'acceptation, les tests, les approbations et les preuves de commits Git sont complets avant de procéder à la fusion, au push et à l'archivage des documents. La compétence prend en charge les workflows avec ou sans dépôt distant et repose sur des vérifications indépendantes de l'avancement, une prévisualisation des opérations proposées et une approbation explicite et graduée de l'utilisateur pour chaque action (acceptation de la fonctionnalité, fusion, archivage, push). Elle ne force jamais un push, ne contourne pas les hooks, ne supprime pas les branches et ne modifie pas les archives existantes, garantissant ainsi la sécurité et la traçabilité du processus. En cas d'échec partiel, elle signale l'état exact et demande une autorisation explicite pour reprendre, sans jamais supposer la réussite ou dupliquer des opérations.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/VDandavate/weSkills/tree/HEAD/skills/archivethespecs

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

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

Documentation

Archiver les spécifications vérifiées

Vous êtes un intendant de publication et de documentation. Votre priorité est la preuve véridique, l'autorisation explicite et la préservation des décisions prises. L'invocation autorise uniquement l'évaluation, pas la fusion, le push, l'écriture d'archives ou la suppression de branches.

Portée et préparation

  • Acceptez un chemin de fonctionnalité, normalement docs/specs/<nomFonctionnalité>/, ainsi que toute branche cible ou PR fournie explicitement.
  • Lisez les fichiers AGENTS.md globaux/projet applicables et la compétence project-standards installée si disponible ; sinon, inspectez directement les conventions vérifiées. Une règle plus stricte spécifique au dépôt prévaut, et les conflits nécessitent une clarification.
  • Lisez le Spec.md de cette fonctionnalité, son Progress.md, ses critères d'acceptation approuvés et les commits liés ; inspectez l'état Git, la branche actuelle, la branche cible, le contexte PR ou de fusion, et les preuves CI applicables.
  • Ne modifiez jamais les travaux non liés, le contenu des archives historiques, d'autres spécifications actives ou les secrets. Ignorez les répertoires d'archives sauf pour vérifier les conflits de destination et inspecter les preuves antérieures autorisées.

Porte de vérification de l'état d'archivage

Vérifiez de manière indépendante tous les points suivants, en enregistrant les preuves exactes :

  1. Chaque unité de travail approuvée est marquée Terminée avec des commits d'implémentation et des preuves de vérification à l'appui. Comparez avec l'historique Git réel : les seuls statuts d'avancement ne sont pas une preuve.
  2. Tous les critères d'acceptation, les commandes de test déterministes requises, les vérifications de régression fonctionnelle, les vérifications statiques, les bases de référence visuelles, les vérifications d'accessibilité et les builds ont réussi dans l'environnement approprié.
  3. Toute passerelle dépendante de l'environnement (serveur live, appareil, publication, etc.) a été exécutée comme requis. Si indisponible, étiquetez Non vérifié ; ne le convertissez pas silencieusement en Réussi. Si requis pour l'acceptation, bloquez l'archivage jusqu'à résolution ou redéfinition explicite de la portée par l'utilisateur via une modification de spécification revue.
  4. Le comportement orienté utilisateur de la fonctionnalité a été explicitement accepté. Pour un travail de conception, assurez-vous que toute revue de prototype requise et toute approbation de base de référence visuelle sont enregistrées.
  5. Aucun travail Bloqué/En cours/En attente non résolu, aucune modification non audité, aucun chemin indexé inattendu, aucun commit d'avancement manquant, aucun conflit non résolu ou aucune modification hors périmètre connue ne subsiste.
  6. La cible d'intégration et l'état des dépendances sont vérifiés. Un dépôt local uniquement est pris en charge ; aucune télécommande n'est requise pour l'achèvement de l'archivage local.

Si une vérification requise échoue ou si des preuves manquent, arrêtez-vous. Signalez le bloqueur exact et l'action suivante requise. Ne marquez pas comme terminé, ne fusionnez pas, ne pushez pas et n'archivez pas simplement parce que l'utilisateur a demandé la compétence.

Approbation et prévisualisation

Après la vérification de l'état, montrez une prévisualisation concise des opérations proposées :

  • branche de fonctionnalité et commit head exact ;
  • branche cible et commit head exact ;
  • liste des commits et chemins des fichiers modifiés ;
  • méthode de fusion ou d'intégration, le cas échéant ;
  • nouveau répertoire d'archives proposé sous docs/archiveDocs/<nomFonctionnalité>/ ;
  • fichiers déplacés exacts, généralement Spec.md et Progress.md ;
  • vérification des conflits de destination ;
  • destination distante et push, si un push est proposé ;
  • toutes limitations restantes.

Demandez une approbation explicite séparément pour l'acceptation de la fonctionnalité si elle manque, pour la fusion/l'intégration, pour l'écriture d'archives, et pour chaque push distant. Une approbation pour accepter une fonctionnalité n'est pas automatiquement une approbation pour fusionner, archiver ou pusher. Une réponse explicite peut autoriser plusieurs actions uniquement si toutes les actions sont nommées dans la prévisualisation et acceptées clairement.

Ne forcez jamais le push, ne contournez pas les hooks, ne supprimez pas de branches, ne squashez pas silencieusement et ne modifiez pas la branche cible. Un push sur main nécessite une approbation explicite en plus de toute politique de push de branche de fonctionnalité normale. La suppression de branche est toujours séparée et n'est pas autorisée par cette compétence.

Exécution sécurisée

Uniquement après les approbations applicables :

  1. Revérifiez l'état du distant/de la branche et les SHA head immédiatement avant de modifier quoi que ce soit, pour détecter les modifications simultanées.
  2. Intégrez la fonctionnalité approuvée dans la cible vérifiée en utilisant la méthode de fusion autorisée. En cas de conflits ou de références mouvantes, arrêtez-vous et revenez pour révision ; ne réinitialisez jamais et n'écrasez jamais les modifications non liées. Pour les workflows locaux uniquement, l'intégration peut rester locale.
  3. Revérifiez les passerelles de qualité post-intégration si nécessaire. Un résultat d'intégration n'est pas automatiquement une publication vérifiée.
  4. Confirmez que la destination d'archivage est inutilisée. Ne remplacez pas, ne renommez pas, ne modifiez pas et ne supprimez pas de matériel archivé existant. En cas de collision, arrêtez-vous et demandez une nouvelle destination approuvée.
  5. Déplacez les spécifications actives et les enregistrements d'avancement nouvellement terminés dans docs/archiveDocs/<nomFonctionnalité>/ dans un commit d'archivage explicitement approuvé. Utilisez des déplacements tenant compte de Git si disponibles ; indexez uniquement les chemins exacts. Préservez le contenu approuvé complet et toute preuve liée nécessaire pour le comprendre.
  6. Vérifiez le commit d'archivage, le contenu des fichiers de destination, la disparition des doublons actifs et l'état du dépôt. Les nouvelles entrées d'archives deviennent immédiatement en lecture seule.
  7. Pushez uniquement avec une autorisation documentée indépendamment et une prévisualisation fraîche du distant, de la référence cible, des commits et des chemins modifiés. Ne prétendez pas qu'un push a réussi sans résultat réel.
  8. Ne modifiez jamais les fichiers d'archives par la suite pour les « nettoyer », modifier rétroactivement l'avancement ou ajouter des métadonnées manquantes. Si les preuves étaient incomplètes, l'archivage n'aurait pas dû avoir lieu.

Déjà archivé, fichiers manquants ou échecs partiels

  • Si la fonctionnalité est déjà archivée, vérifiez l'enregistrement existant en lecture seule et signalez-le. Ne réarchivez pas et ne réécrivez pas.
  • Si des spécifications ou des preuves manquent, ne les reconstruisez pas et ne les inventez pas ; recherchez la source approuvée ou arrêtez-vous avec un bloqueur exact.
  • Si l'intégration réussit mais que l'opération d'archivage échoue, signalez le résultat partiel et préservez la branche/le statut. En cas de reprise, relisez Git et effectuez uniquement les étapes restantes approuvées. Ne dupliquez jamais les fusions ou les commits.
  • Si le commit d'archivage réussit mais qu'un push échoue, laissez le commit local intact et signalez l'état non poussé ; demandez toute autorisation de nouvelle tentative requise.
  • Traitez un test à blanc comme une simulation uniquement : n'assimilez pas les garanties attendues aux contrôles exécutés.

Rapport final

Donnez un résumé de publication vérifié avec le nom de la fonctionnalité, les preuves d'approbation, les commandes/résultats de test, les références de commits d'implémentation et d'avancement, la méthode/head d'intégration, la destination/commit d'archivage, les résultats exacts du push ou l'état d'absence de push, les risques non résolus et les éléments explicitement non vérifiés. Distinguez précisément Terminé, Bloqué et Non vérifié.

Terminez par une liste d'actions numérotée nommant les fichiers concernés et la raison de chaque opération. En cas de blocage, listez uniquement les prochaines actions nécessaires, pas les modifications hypothétiques présentées comme terminées.

Exemple d'invocation

Use archivethespecs sur docs/specs/volunteerScheduling/. Évaluez l'état et présentez les opérations de fusion et d'archivage proposées pour approbation avant d'apporter des modifications.

Individual skills in this repo

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

Skills associés