lmorchard/ghflow

Préparer des issues GitHub, implémenter des issues sélectionnées, examiner les modifications, soumettre des PRs, répondre aux retours et coordonner une livraison explicitement demandée. À utiliser pour les tâches de projet Git et GitHub, y compris les demandes de traitement ou de livraison d'une issue. La fusion nécessite une autorisation explicite ; ne pas sélectionner de travail en attente sauf demande explicite.

Qu'est-ce que ghflow ?

Ce skill (compétence) pour agent IA, nommé `lmorchard/ghflow`, automatise les opérations courantes du développement logiciel sur GitHub : définition d'issues, implémentation, revue de code, soumission de Pull Requests (PR), intégration des retours et fusion. Il est conçu pour les plateformes d'agents comme Claude Code, Cursor ou Codex. L'agent sélectionne l'opération demandée via une table de référence (de *Reassess an existing issue* à *Burndown the Ready queue*), charge les règles partagées nécessaires (autorisation, preuves, décisions) et exécute la tâche en mode local ou délégué. Un outil CLI (`cli/ghflow.py`) centralise les informations de contexte (dépôt, branches, identité) pour éviter les lectures redondantes. Le workflow insiste sur la sécurité : aucune fusion de PR sans autorisation explicite, séparation claire entre lecture et écriture, et traçabilité des décisions. Les références partagées (`references/shared/`) sont chargées uniquement lorsque leurs conditions s'appliquent, optimisant ainsi les appels à l'API et la mémoire de l'agent.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lmorchard/ghflow/tree/HEAD

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

Workflow GitHub

Sélectionnez l'opération demandée et suivez sa référence de tâche. Chaque opération travaille sur une issue ou une PR ordinaire sans tâches ghflow antérieures. Chargez uniquement la tâche et les règles partagées nécessaires à cet instant. Appliquez Contexte de travail et sortie des outils pour le chargement des références, les recherches et les passations.

Avant de choisir comment exécuter l'opération, appliquez Mode d'exécution. Le travail en modèle local reste dans la session en cours sans sous-agents. Ce mode remplace les instructions de tâche visant à répartir des travailleurs ou à démarrer de nouvelles sessions de revue.

Localiser la source et les outils

Résolvez le chemin de ce SKILL.md via tout lien symbolique. Son parent est GHFLOW_SKILL_DIR. Utilisez des chemins absolus en dessous de ce répertoire pour les références et les passations aux sous-agents. Définissez GHFLOW_CLI sur le chemin absolu de cli/ghflow.py en dessous avant d'exécuter les exemples de commandes. Mettez le chemin entre guillemets. Un outil de commande peut démarrer un nouveau shell pour chaque appel, exportez donc la variable dans chaque commande qui l'utilise, ou écrivez le chemin complet :

export GHFLOW_CLI="RÉPERTOIRE_ABSOLUT_DU_SKILL/cli/ghflow.py"
python3 "$GHFLOW_CLI" --help

Remplacez RÉPERTOIRE_ABSOLUT_DU_SKILL par le répertoire résolu. Le répertoire résolu du skill est la racine du checkout source. Utilisez son cli/ghflow.py directement. Conservez le répertoire courant dans le projet cible pour que les configurations Git, GitHub et d'identité utilisent ce projet. Résolvez les directives d'écriture via les liens de chaque référence, pas via le répertoire courant. Si les lectures de la source nécessitent une autorisation d'accès à un répertoire externe, indiquez le chemin de checkout résolu et utilisez les instructions de configuration dans Autorisations d'accès à la source. Ne modifiez pas silencieusement les autorisations de l'agent.

La référence de tâche sélectionnée nomme les règles partagées dont elle a besoin. Ouvrez une référence partagée lorsque sa condition s'applique et lisez la section qui possède la décision ; ne lisez pas chaque référence partagée avant la première action. Les conditions : Autorisation lorsqu'une question de permission ou de portée se pose ; Preuve avant de rapporter un résultat ou de transmettre un identifiant ; Décisions lorsqu'un fait ou un choix manque ; Identité de l'agent avant qu'un agent n'exécute des commandes Git ou GitHub ; Écritures GitHub avant de modifier des enregistrements GitHub. Les lectures CLI n'accordent pas la permission d'écrire.

Sélectionner l'opération demandée

Faites correspondre la demande explicite de l'utilisateur à l'opération ci-dessous. Identifiez le dépôt sujet à partir de la demande de l'utilisateur ou du checkout cible. python3 "$GHFLOW_CLI" facts rapporte le checkout, le dépôt, l'outillage, l'état de préparation de l'identité et le fichier de faits du projet ; avec --issue ISSUE_URL, il ajoute les branches, les worktrees, les PR et les éléments de board de l'issue. Utilisez-le au lieu de lectures git et gh séparées pour cet état, et lisez .ghflow/project.md lorsqu'il en signale un. Pour un démarrage de session en modèle local, preamble ISSUE_URL imprime ces faits sous forme de bloc compact qui tient dans la première invite. Le checkout source fournit les instructions et les outils ; son remote et le compte configuré n'identifient pas le sujet. Si le dépôt, l'issue ou la PR sélectionné est manquant, retournez l'entrée nécessaire avant les recherches GitHub ou l'envoi. Pour une demande d'évaluation uniquement, expliquez l'opération et ses limites sans effectuer de livraison. Si un point de terminaison matériel n'est pas clair, demandez uniquement cette décision. Ne choisissez pas de travail en attente et n'ajoutez pas de séquence fixe. Une demande de livraison par défaut suit une revue ultérieure avec sa PR laissée ouverte. Lisez sa référence de coordinateur et appliquez le mode d'exécution sélectionné pour les exigences d'envoi et de revue.

DemandeRéférence de tâche
Réévaluer une issue existantereconsider-issue
Définir une idée ou une issue, y compris le travail en brouillon uniquementdefine-issue
Régler les décisions d'une issue avec l'utilisateurinterview-issue
Diviser un parent large en enfantsdecompose-parent-issue
Publier un brouillon d'issue revufile-issue
Implémenter une issue via des commits locauximplement-issue
Examiner indépendamment des modifications de codereview-changes
Publier des modifications commitées en tant que PRsubmit-pr
Traiter les retours de PR et réparer le CIaddress-pr-review
Fusionner une PR explicitement autoriséemerge-pr
Livrer ou traiter une issue sélectionnéeexpress-issue
Livrer une issue parent convenuedeliver-parent-issue
Grouper des issues connexes sous des thèmesbundle-issues
Évaluer un ensemble d'issues ouvertes demandétriage-issues
Résoudre les issues nécessitant une entréesweep-needs-input
Définir les issues acceptéessweep-needs-definition
Retourner les issues non bloquées à la définitionsweep-blocked
Auditer les issues ferméessweep-audit-closed
Prioriser un périmètre de board demandésweep-prioritize
Placer les issues dans la file Readycurate-ready-queue
Livrer une file Ready explicitement demandéeburndown-ready-queue
Écrire ou rafraîchir le fichier de faits du projetprepare-project-facts

Exécuter et passer la main

Pour un travail soutenu ou des résultats qui seraient coûteux à reconstruire, appliquez Notes de tâche. Lors de la reprise ou après une compaction du contexte, lisez les notes existantes de la tâche avant de répéter des recherches ou de rouvrir des décisions.

Suivez le périmètre et le point d'arrêt de la référence sélectionnée. Transportez les autorisations existantes à travers les tâches incluses. Les limites de brouillon uniquement et de lecture seule s'appliquent toujours ; l'implémentation ou la soumission n'implique jamais la permission de fusion.

En mode délégué, appliquez Coordination. Donnez au sous-agent l'opération sélectionnée et les entrées requises. Si la délégation ou le modèle de relecteur requis n'est pas disponible, suivez les règles partagées et signalez la limite.

Retournez le résultat réel de l'opération, les sources, les vérifications et les décisions restantes. Signalez explicitement les capacités manquantes et les preuves incomplètes.

Skills associés