sigma-create-ticket

/sigma-create-ticket crée ou modifie un ticket de type SPEC, EPIC ou TICKET. Il sert également de passerelle pour /sigma-to-spec et /sigma-to-tickets : ces compétences lui transmettent un corps. /sigma-unslop ne le fait pas. Cette compétence est la seule à exécuter gh issue create ou gh issue edit.

Qu'est-ce que sigma-create-ticket ?

/sigma-create-ticket est une compétence essentielle pour gérer le cycle de vie des tickets dans vos dépôts GitHub. Elle centralise la création et la modification des tickets SPEC, EPIC et TICKET, en veillant au respect des conventions (title, label, body). Son rôle de passerelle permet à /sigma-to-spec et /sigma-to-tickets de lui déléguer les écritures, tandis que /sigma-unslop reste indépendant. Elle applique des règles strictes : pas de doublons de titre, pas d'écriture sans confirmation utilisateur explicite (sauf si déjà donnée par une compétence amont), et une gestion précise des labels (spec, type:epic, type:ticket, agent:hitl, agent:afk). Après création, elle ajuste la branche d'un ticket pour qu'elle respecte le format `agent/{N}-{slug}` et aligne le label Mode. Elle ne fait jamais d'implémentation, de revue ou de fusion.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sigma-michael/sigma-build-factory/tree/HEAD/sigma-create-ticket

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

/sigma-create-ticket

Vue d'ensemble

/sigma-create-ticket crée et modifie des tickets SPEC, EPIC et TICKET. Il est la passerelle pour /sigma-to-spec et /sigma-to-tickets. /sigma-unslop ne l'appelle pas.

Cette compétence est la seule à exécuter gh issue create ou gh issue edit. Elle n'implémente, ne révise ni ne fusionne.

Lisez CONVENTIONS.md avant une création ou une modification. Ce fichier contient les détails du titre, du label et du corps.

Quand l'utiliser

  • À utiliser quand : l'utilisateur invoque /sigma-create-ticket, ou que /sigma-to-spec ou /sigma-to-tickets transmet un corps dans cette session.
  • Lister ou visualiser : /sigma-to-spec demande list-specs. /sigma-to-tickets demande view. Exécutez la lecture et retournez. Ne créez pas.
  • Ne pas utiliser quand : le travail est encore un entretien de solution (/sigma-plan), une spec (/sigma-to-spec), ou une division (/sigma-to-tickets). N'implémentez pas, ne révisez pas, ne fusionnez pas.

Entrée

Un transfert contient caller, action (list-specs, view, create, ou update), kind (spec, epic, ou ticket), title, body, et parfois number, parent, et blocked-by.

Le oui de l'utilisateur est une réponse dans cette session. Ces réponses comptent comme un oui et ne donnent pas lieu à une seconde question :

  • /sigma-to-spec après que l'utilisateur a dit oui au résumé
  • /sigma-to-tickets après que l'utilisateur a dit oui au grain et aux bloqueurs

Tout autre lot de 2 tickets ou plus attend un oui ici.

Contrat de ticket

  • SPEC : titre SPEC: <nom>, label spec, pas de parent. Corps : ce que cette fonctionnalité est, ce qu'elle n'est pas, identifiants d'acceptation, globs de scripts sous scripts/, hors périmètre. Pas de questions ouvertes.
  • EPIC : titre EPIC: <nom>, label type:epic. Parent est le SPEC.
  • TICKET : titre TICKET: <nom>, label type:ticket plus agent:hitl ou agent:afk. Parent est un EPIC ou le SPEC quand /sigma-to-tickets en nomme un. Un ticket issu d'une revue n'a pas de parent spec sauf si ce transfert nomme un epic. Sections du corps : Contexte, Acceptation, Hors périmètre, Branche agent/{N}-{slug}, Mode hitl ou afk.

Labels garantis par cette compétence : spec, type:epic, type:ticket, agent:hitl, agent:afk. Le label Mode correspond à la ligne Mode.

Étapes

Étape 1 - Résoudre le dépôt de travail

Exécutez gh repo view --json nameWithOwner. Terminé quand il affiche propriétaire/nom. En cas d'échec, dites à l'utilisateur d'exécuter depuis le dépôt de travail ou d'exécuter gh auth login, et arrêtez.

Si le nom du dépôt se termine par sigma-build-factory, arrêtez. Les tickets appartiennent au dépôt de travail.

Étape 2 - Lire ou écrire

Lisez CONVENTIONS.md avant toute création ou modification.

list-specs exécute :

gh issue list --repo "$REPO" --label spec --state all --limit 50 \
  --json number,title,state,url,body

view exécute gh issue view <N> --repo "$REPO" --json number,title,labels,state,url,body.

Retournez le JSON à l'appelant. Ne garantissez pas les labels et ne posez pas de question.

Terminé quand l'appelant a la liste ou le ticket, ou que le chemin d'écriture continue à l'Étape 3.

Étape 3 - Porte du oui

Un transfert provenant des trois cas de oui dans la section Entrée est prêt à être créé.

Un lot direct (2 tickets ou plus) sans oui dans cette session : affichez titre, type, parent et Mode pour chaque ligne. Demandez une fois : "Créer ces tickets ?" Attendez. Le silence ne crée pas.

Un ticket direct unique : demandez une fois quand le titre, le type ou un parent de feature-lane est manquant. Quand ces champs sont présents, créez.

Une mise à jour sans oui dans cette session : affichez le numéro et le titre du ticket, demandez une fois, puis modifiez. Ne créez pas un second ticket.

Terminé quand le oui est enregistré, ou qu'une création unique complète est prête à être créée.

Étape 4 - Garantir les labels

Sur le chemin d'écriture, listez les labels et créez tout nom manquant du contrat :

gh label list --repo "$REPO" --limit 100 --json name
gh label create <nom> --repo "$REPO" --description "<depuis CONVENTIONS.md>"

Terminé quand gh label list affiche spec, type:epic, type:ticket, agent:hitl, et agent:afk.

Étape 5 - Correspondre à un ticket existant

Listez les tickets et comparez le titre exact SPEC: <nom>, EPIC: <nom>, ou TICKET: <nom>.

gh issue list --repo "$REPO" --state all --limit 200 --json number,title,state,url

Une mise à jour confirmée modifie ce numéro. Elle ne crée pas. Si le nouveau titre est déjà sur un autre ticket, arrêtez cet élément et signalez les deux numéros.

Une création qui trouve un titre exact signale exists et réutilise le numéro. Elle ne crée pas un second ticket et ne modifie pas le corps. Deux titres exacts arrêtent cet élément.

Terminé quand chaque élément est créé, mis à jour, réutilisé ou en collision.

Étape 6 - Créer ou modifier

Écrivez le corps dans un fichier temporaire. Ne l'écrivez pas dans le dépôt de travail.

Définissez le préfixe du titre quand le nom court en manque. Ne doublez pas le préfixe.

Créez dans l'ordre : les epics avant leurs tickets, les bloqueurs avant leurs dépendants. Ajoutez --parent quand le transfert en nomme un. Ajoutez --blocked-by quand les numéros bloqueurs existent déjà. Omettez chaque drapeau quand il n'a pas de valeur.

gh issue create --repo "$REPO" --title "<titre>" --label "<labels>" --body-file "$f"

Analysez N depuis l'URL. Un ticket dont la ligne Branche est manquante ou contient encore {N} est modifié pour que la ligne soit agent/<N>-<slug>. Le slug est le nom après le préfixe, en minuscules, les espaces remplacés par des tirets.

gh issue edit <N> --repo "$REPO" --body-file "$f"

Sur une mise à jour confirmée, gh issue edit remplace le titre et le corps et corrige les labels. Supprimez l'autre label de mode pour qu'il ne reste que celui correspondant. Ne changez pas le parent lors d'une modification.

Un SPEC reçoit seulement le label spec. Un EPIC reçoit seulement type:epic. Un TICKET reçoit type:ticket et le label de mode correspondant.

Enregistrez un échec gh et continuez les éléments indépendants. Ne créez pas d'enfants d'un epic en échec. Ne fermez pas le parent.

Terminé quand gh issue view <N> --json title,labels,body affiche le titre, les labels, et, pour un ticket, Branche agent/<N>-<slug> avec Mode correspondant au label.

Étape 7 - Retour

Retournez le numéro, le titre et l'URL pour chaque élément, y compris exists et les échecs.

Quand l'appelant est une autre compétence, arrêtez-vous là. Cette compétence nomme la commande suivante. Quand l'utilisateur a invoqué /sigma-create-ticket, nommez la commande suivante sans l'invoquer. Un SPEC va vers /sigma-to-tickets <N>. Un ticket va vers /sigma-implement <N>. Pour un epic, dites que /sigma-implement refuse un epic.

Règles strictes

RèglePourquoi / à quoi ressemble une violation
Cette compétence est la seule à exécuter gh issue create ou gh issue edit. La liste et la vue pour les autres compétences s'exécutent aussi ici.Un second chemin d'écriture dévie le titre, le label et le parent.
Garantissez les cinq labels, puis créez ou modifiez.Un label manquant fait échouer le ticket suivant du lot.
Une mise à jour confirmée modifie ce ticket. Une correspondance de titre exact ne crée pas de doublon.Un second SPEC: ou TICKET: divise une fonctionnalité.
Un lot direct attend un oui. Un corps déjà confirmé par /sigma-to-spec ou /sigma-to-tickets dans cette session ne donne pas lieu à une seconde question.Demander à nouveau bloque le transfert. Créer un lot direct sur le silence crée des tickets que l'utilisateur n'a pas vus.
Après création, modifiez un ticket pour que la Branche soit agent/<N>-<slug>. Le label mode correspond à la ligne Mode.Un {N} restant, ou afk avec agent:hitl, envoie le builder sur la mauvaise branche ou le mauvais mode.
Définissez le parent lors de la création quand le transfert en nomme un. Un ticket provenant d'une spec a pour parent un EPIC ou la SPEC. Un ticket provenant d'une revue omet le parent sauf si le transfert nomme un epic.Inventer un parent spec copie l'acceptation que le ticket de revue n'implémente pas.
N'implémentez pas, ne révisez pas, ne fusionnez pas.Cette compétence crée le ticket et s'arrête.

Vérification

  • gh repo view a retourné le dépôt de travail, et le nom du dépôt ne se termine pas par sigma-build-factory.
  • CONVENTIONS.md a été lu avant toute création ou modification.
  • list-specs et view ont retourné du JSON et n'ont pas créé.
  • Les cinq labels existent avant la création ou la modification.
  • Un lot direct a reçu un oui explicite. Un oui amont dans cette session n'a pas donné lieu à une seconde question.
  • Une mise à jour confirmée a modifié le ticket nommé. Aucun second ticket ne partage ce titre exact.
  • La ligne Branche d'un nouveau ticket est agent/<N>-<slug>, et le label mode correspond à la ligne Mode.
  • Un epic provenant d'une spec a pour parent cette SPEC. Un ticket provenant d'une spec a pour parent un EPIC ou la SPEC. Un ticket provenant d'une revue n'a pas de parent spec sauf si le transfert a nommé un epic.
  • Le retour est le numéro, le titre et l'URL. Cette compétence n'a pas implémenté, révisé ni fusionné.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés