GitHub Copilot DevDays Namur — 7 avril 2026 Bureaux d'Eocene, Namur, Belgique 🎟️ Inscription à l'événement
GitHub Agentic Workflow
Présentée par Adrien Clerbois Microsoft MVP Belgique — Microsoft Foundry & Developer Technologies (DevOps : Azure DevOps & GitHub)
Cette session explore GitHub Agentic Workflows — un projet GitHub Next / Microsoft Research permettant d'automatiser un repository via des fichiers Markdown simples qui pilotent des agents IA (Copilot, Claude, Codex…) dans GitHub Actions, avec des garde-fous de sécurité intégrés.
⚠️ GitHub Agentic Workflows est actuellement en développement précoce (early development) et peut changer significativement. Son utilisation nécessite une supervision humaine attentive.
.
├── AGENTS.md # Contexte du projet pour les agents IA
├── .gitattributes # Marque les .lock.yml comme générés
├── .github/
│ └── workflows/ # ⚙️ Workflows opérationnels (*.md + *.lock.yml compilés)
├── fake-issues/ # Issues fictives de démo pour le projet Marabou
├── slides/
│ └── GitHub Copilot Dev Days - Agentic Workflows.pptx
└── workflows/ # 📝 Sources de référence — exemples live de la session
└── prix-pizzerias-namur.md # Workflow créé pendant la session
💡 Le fichier
AGENTS.mddécrit le contexte du projet aux agents IA. Il est lui-même maintenu par un agentic workflow — c'est la mise en abyme de la session.
Les agentic workflows reposent sur deux types de fichiers :
| Fichier | Rôle | Emplacement |
|---|---|---|
<nom>.md |
Source en langage naturel — tu édites ce fichier | .github/workflows/<nom>.md |
<nom>.lock.yml |
Fichier GitHub Actions compilé — ne jamais éditer à la main | .github/workflows/<nom>.lock.yml |
1. Crée ou adapte ton workflow source → .github/workflows/<nom>.md
↓
2. Compile pour générer le YAML gh aw compile <nom>
↓
3. Commit les deux fichiers git add .github/workflows/<nom>.md
.github/workflows/<nom>.lock.yml
git commit -m "add <nom> workflow"
git push
↓
4. Déclenche manuellement (optionnel) gh aw run <nom>
⚠️ Les fichiers*.lock.ymlsont auto-générés. Le fichier.gitattributesles marque comme tels (linguist-generated=true merge=ours) pour éviter les conflits de merge.
Le dossier workflows/ à la racine contient les fichiers source créés pendant la session — pratiques pour les lire et les adapter. Pour les rendre opérationnels dans ton repository :
# 1. Copie le fichier source dans ton repo
cp workflows/prix-pizzerias-namur.md chemin/vers/ton-repo/.github/workflows/
# 2. Compile
cd chemin/vers/ton-repo
gh aw compile prix-pizzerias-namur
# 3. Commit & push
git add .github/workflows/prix-pizzerias-namur.md \
.github/workflows/prix-pizzerias-namur.lock.yml
git commit -m "add pizza price workflow"
git pushPour rendre les exemples concrets, la session s'appuie sur Marabou — un logiciel imaginaire de gestion de culte voué à la Pizza Sacrée. La communauté Marabou est organisée en fidèles, Prêtres Fromagers et un Grand Prêtre, gouvernée par le Dogme Fromager et la Liste Noire des Ingrédients Maudits (LNIM).
Le repository contient un ensemble d'issues fictives (bugs et features) qui servent de données d'exemple pour les démonstrations de triage automatique, de labellisation et de rapports générés par des agentic workflows.
| # | Type | Titre |
|---|---|---|
| 🐛 | Bug | La Roulette Sacrée retourne « calzone » le vendredi |
| 🐛 | Bug | Compteur de dévots négatif après l'hérésie de l'ananas |
| 🐛 | Bug | La cérémonie d'ouverture ne joue plus le chant grégorien |
| 🐛 | Bug | Anti-hérésie aveugle aux pizzas à la crème fraîche |
| ✨ | Feature | Calendrier liturgique des Saints Pizzas |
| ✨ | Feature | Rituel de bénédiction de la mozzarella di bufala v2.0 |
| ✨ | Feature | Mode « Jeûne Expiatoire » pour les pizzas brûlées |
| ❓ | Question | Débat doctrinal — pâte fine : hérésie ou ascèse ? |
Le contexte complet du projet fictif est documenté dans AGENTS.md.
GitHub Agentic Workflows est un projet GitHub Next / Microsoft Research qui permet d'automatiser un repository via de simples fichiers Markdown. Ces fichiers décrivent en langage naturel ce que l'agent doit faire ; le framework se charge de les exécuter dans GitHub Actions en pilotant un agent IA (Copilot, Claude, Codex…) avec des garde-fous de sécurité intégrés.
| Couche | Rôle |
|---|---|
Fichier .aw/*.md |
Décrit la tâche en langage naturel (déclencheur, permissions, instructions) |
| Agent IA | Lit le contexte du repository et produit un artifact structuré — il ne peut rien écrire directement |
| Job d'exécution | Lit l'artifact et applique uniquement les actions explicitement autorisées |
| Threat detection | Scan IA anti-prompt-injection avant toute écriture |
| Firewall réseau | Trafic sortant filtré via liste blanche — aucune exfiltration possible |
---
on:
schedule: daily
permissions:
contents: read
issues: read
pull-requests: read
safe-outputs:
create-issue:
title-prefix: "[team-status] "
labels: [report, daily-status]
close-older-issues: true
---
## Daily Issues Report
Crée un rapport de statut quotidien sous forme d'issue GitHub.
### Ce qu'il doit contenir
- Activité récente (issues, PRs, discussions, releases)
- Suivi des objectifs et points saillants
- Recommandations et prochaines étapes# Installer le CLI gh-aw
gh extension install github/gh-aw
# Initialiser un workflow dans un repository existant
gh aw init
# Déclencher manuellement un workflow
gh aw run <nom-du-workflow>Consulte le Quick Start officiel pour l'installation complète.
Avant qu'un agentic workflow puisse s'exécuter, il faut créer un secret GitHub Actions contenant un PAT avec accès Copilot. Sans cette configuration, le job agent échoue avec :
Error: Authentication failed
Le GITHUB_TOKEN injecté automatiquement par GitHub Actions n'a pas accès à l'API Copilot. Un token séparé est obligatoire.
Ouvre ce lien (pré-rempli avec le bon nom et la permission) :
Vérifie avant de générer :
- Resource owner = ton compte personnel (pas une organisation)
- Permissions → Account permissions → Copilot Requests = Read
- Clique Generate token et copie la valeur
Via le CLI (méthode recommandée) :
gh aw secrets set COPILOT_GITHUB_TOKEN --value "<colle-ton-pat-ici>"Via l'interface GitHub :
- Va dans Settings → Secrets and variables → Actions du repository
- New repository secret → Nom :
COPILOT_GITHUB_TOKEN, Valeur : ton PAT - Sauvegarde
gh aw run daily-repo-status
⚠️ Sans ce secret, tous les agentic workflows échoueront dès le jobagent, même si le workflow est syntaxiquement correct et compilé.
La façon la plus rapide de créer un agentic workflow est de soumettre un prompt à un agent IA — que ce soit depuis l'interface web GitHub, VS Code Agent Mode, ou n'importe quel agent de code.
Si tu as accès à GitHub Copilot, tu peux créer et modifier des Agentic Workflows directement depuis github.com. Cette méthode est moins interactive qu'un agent de code, mais elle permet de passer d'une idée à un workflow fonctionnel en quelques minutes.
Colle l'un des prompts suivants dans Copilot Chat de ton repository (exemples : Issue Triage, Activity Report, Documentation Updater, AGENTS.md Maintainer) :
Create a workflow for GitHub Agentic Workflows using https://raw.githubusercontent.com/github/gh-aw/main/create.md
The purpose of the workflow is to run weekly and maintain the AGENTS.md file: review merged pull requests and updated source files since the last run, then open a pull request that keeps AGENTS.md accurate and current.
⚠️ Lors du premier run dans un nouveau repository, le workflow échouera probablement car les secrets ne sont pas encore configurés. L'agent devrait détecter les tokens manquants et créer une issue avec les instructions de configuration.
Lance ton agent de code dans le contexte du repository et soumets le prompt suivant en adaptant la dernière ligne à ton besoin :
Create a workflow for GitHub Agentic Workflows using https://raw.githubusercontent.com/github/gh-aw/main/create.md
The purpose of the workflow is <décris ici l'objectif du workflow>.
L'agent créera un fichier .github/workflows/<nom>.md et son fichier compilé .lock.yml associé, et proposera souvent une pull request.
Ce workflow maintient automatiquement le fichier AGENTS.md du repository — le fichier de référence qui décrit les conventions et le contexte du projet aux agents IA qui travaillent dessus.
Prompt à utiliser :
Create a workflow for GitHub Agentic Workflows using https://raw.githubusercontent.com/github/gh-aw/main/create.md
The purpose of the workflow is to maintain the AGENTS.md file: review the repository
structure, conventions, and recent changes, then keep the AGENTS.md file up to date
so that coding agents always have accurate context about the project.
Ce que le workflow fait concrètement :
- Analyse la structure du repository, les fichiers de configuration et les conventions de code
- Compare avec le contenu actuel de
AGENTS.md - Propose une pull request avec les mises à jour nécessaires
Déclencheurs typiques :
---
on:
schedule: weekly
push:
branches: [main]
paths:
- '**.md'
- 'package.json'
- '*.config.*'
permissions:
contents: read
safe-outputs:
create-pull-request:
title-prefix: "[agents] "
labels: [documentation, agents]
---📖 Référence complète : Creating Workflows
Voici tous les agentic workflows présents dans ce repo et utilisés pendant la session :
| Fichier | Pattern | Description |
|---|---|---|
agents-md-maintainer.md |
DailyOps | Maintient le fichier AGENTS.md à jour via une PR hebdomadaire après analyse des PRs mergées |
daily-repo-status.md |
DailyOps | Génère un rapport quotidien d'activité du repo sous forme d'issue GitHub |
issue-triage.md |
IssueOps | Triage automatique des issues : classification, priorité, labels, détection de doublons |
champignon-detector.md |
IssueOps / Monitoring | Surveille tout contenu textuel (issues, PRs, commentaires, discussions) et répond 🤮 dès qu'un champignon est détecté |
Chaque pattern de GitHub Agentic Workflows peut être détourné de manière créative dans le contexte du projet Marabou (culte de la Pizza Sacrée). Voici des idées d'inspiration :
🗣️ ChatOps
Déclencher des workflows via des commandes textuelles dans des commentaires
/bénir— Vérifie la composition d'une pizza décrite dans une issue et déclare si elle est sacrée ou hérétique/excommunier @utilisateur— Génère un décret d'excommunication liturgique formaté en markdown (réservé aux Prêtres Fromagers)/sacrer— Évalue une PR : si le code ajoute un ingrédient à la whitelist, vérifie sa conformité dogmatique avant approbation
📅 DailyOps
Automatismes quotidiens incrémentaux vers un grand objectif
- Psaume quotidien — Chaque matin, génère un psaume poétique en l'honneur de la pizza du jour dans une discussion épinglée
- Nettoyage des hérésies — Chaque jour, scanne le code source et ouvre une PR pour remplacer les constantes
PINEAPPLE,KETCHUP,CREME_FRAICHEpar des références marquéesBANNED_INGREDIENT - Hagiographie automatique — Publie chaque semaine un rapport sur le contributeur le plus actif avec un titre liturgique (
Saint Adrien des Pull Requests)
📊 DataOps
Extraction déterministe + analyse IA sur des données
- Index des ingrédients maudits — Collecte toutes les mentions d'ingrédients dans les issues fermées et génère un rapport hebdomadaire sur les hérésies les plus fréquemment signalées
- Bilan liturgique mensuel — Compile les stats de toutes les PRs mergées (nb de bugs corrigés, features sacrées, ingrédients bannis) et publie un compte-rendu au format évangile
Exécution manuelle à la demande avec paramètres
- Générateur de recette —
gh aw run sacred-pizza --raw-field style=romaine --raw-field occasion=fête→ génère une recette conforme au dogme avec bénédiction intégrée - Audit doctrinal — Déclenché manuellement, inspecte toutes les issues ouvertes et signale celles qui remettent en cause les fondements du Dogme Fromager
🐛 IssueOps
Les issues déclenchent des réactions automatiques
- Confessionnal automatique — Quand une issue mentionne un ingrédient hérétique avec remords, l'agent répond avec une pénitence proportionnelle et ferme l'issue
- Détecteur de champignon ✅ (déjà dans ce repo) — Réagit avec 🤮 dès qu'un champignon est détecté dans n'importe quel texte
🏷️ LabelOps
Les labels déclenchent ou filtrent les workflows
- Label
needs-confession→ l'agent génère automatiquement une cérémonie d'expiation adaptée à la gravité hérétique - Label
requires-blessing→ l'agent compose une bénédiction pour la PR avant qu'un humain puisse la merger
Opérations coordonnées sur plusieurs repositories
- Inquisition multi-repos — Un repo central orchestre la détection d'ingrédients hérétiques dans tous les repos de l'organisation et ouvre des issues de purification dans chacun
- Propagation du Dogme — Un orchestrateur déploie le fichier
SACRED_INGREDIENTS.yamlmis à jour dans tous les services Marabou
📈 Monitoring / ProjectOps
Tableau de bord vivant sur l'état du projet
- Tableau des péchés capitaux — Met à jour automatiquement un GitHub Project avec les issues taguées
hérésie, classées par gravité doctrinale - Thermomètre de sainteté — Publie chaque semaine un statut de projet reflétant le ratio bugs/features :
🟢 Le Dogme est respecté/🔴 L'hérésie progresse
Un orchestrateur qui dispatche plusieurs workers spécialisés
- Grand Concile — Sur
workflow_dispatch, un orchestrateur analyse tous les ingrédients en débat dans les issues ouvertes, puis dispatche un worker de bénédiction ou d'excommunication pour chacun
Research → Plan → Assign : de la découverte au code mergé
- Veille hérétique — Chaque jour un agent scrute les nouvelles tendances pizzas sur les discussions GitHub de l'écosystème, rédige un rapport de menaces doctrinales, puis génère des issues de défense assignées à Copilot
🏝️ SideRepoOps
Un repo secondaire isolé comme plan de contrôle
- Temple Secret — Un repo privé
marabou-conclavecontient les workflows sensibles (gestion des secrets sacrés, rotation des clés de bénédiction) et opère silencieusement sur le repo principal
📋 SpecOps
Générer des spécifications et vérifier leur implémentation
- Codex Pizzarum — Sur
/spec, génère automatiquement la spécification technique complète d'un nouveau rituel en respectant les conventions du Dogme Fromager
✅ TaskOps
Décomposer des issues complexes en sous-tâches gérables
- Décomposition liturgique — Sur une issue feature complexe (
Mode Pénitence Suprême), décompose automatiquement en sous-tâches assignées à Copilot :BlessingRitual,ExpiationMode,AudioService
🧪 TrialOps
Tester des workflows en isolation sans affecter le repo
- Chambre de simulation — Permet de tester le
champignon-detectorou leconfessionnal-automatiqueavec des données factices sans polluer les vraies issues du projet
- GitHub Agentic Workflows — site officiel
- GitHub Agentic Workflows — repository
- Article de blog GitHub
- Documentation GitHub Copilot
- Personnalisation Copilot — instructions & prompt files
- Model Context Protocol
Adrien Clerbois est Microsoft MVP Belge en Developer Technologies (DevOps — Azure DevOps & GitHub) et Microsoft Foundry. Passionné par l'expérience développeur, l'automatisation et l'ingénierie assistée par l'IA.
- GitHub : @AClerbois
Licence MIT — n'hésite pas à réutiliser et adapter les exemples.