Come abbiamo già evidenziato in passato, gli LLM fanno ormai parte della quotidianità di ciascuno di noi. Quando però si parla di organizzazioni aziendali, si cerca di avere sempre un po' di governance per amministrare al meglio il proliferare di dati o di strumenti che non sono autorizzati e di cui si vuole tenere traccia. Proprio per questo motivo, nasce la possibilità di salvare i prompt direttamente all'interno dei repository di GitHub:
name: Summarize Open Issues
description: |
Produces a structured summary of all open GitHub issues,
highlighting themes, priorities, and duplicates.
model: openai/gpt-4o-mini
parameters:
temperature: 0.2
max_tokens: 500
messages:
- role: system
content: |
You are a senior technical project manager.
Be concise, factual, and structured.
Do not invent issues or details.
- role: user
content: |
The following are open GitHub issues.
Produce:
1. A short executive summary (3?5 sentences)
2. Major themes (bulleted)
3. High-priority or blocking issues
4. Potential duplicates or strongly related issues
Issues:
{{issues}}
testData:
- name: Authentication & Stability Issues
inputs:
issues: |
#12 Login fails intermittently
Users report 401 errors when logging in after long inactivity.
#18 API crashes under load
The backend API sometimes crashes when handling high traffic.
#21 Login error after token refresh
Login fails after refreshing an expired token.
expectedOutput:
contains:
- authentication
- login
- stability
- api
- name: UI Bugs
inputs:
issues: |
#30 Button not clickable
Submit button does not respond on mobile.
#31 Modal overflow
Settings modal overflows on small screens.
expectedOutput:
contains:
- ui
- mobile
- layout
evaluations:
- name: Mentions themes
type: contains
value:
- authentication
- api
- ui
- name: Has structured sections
type: regex
value: "(Executive Summary|Major Themes|High[- ]Priority)"
- name: Not excessively verbose
type: maxLength
value: 1200Questo file deve essere necessariamente chiamato *.prompt.yaml, ma può risiedere ovunque all'interno del repository. Non viene usato in modo automatico da GitHub, ma modificandolo avremo a disposizione un editor di GitHub Models per semplificarci la vita.
All'interno di questo file possiamo andare a specificare non solo cosa deve eseguire il prompt, in questo caso un riassunto di tutte le GitHub issue aperte, divise per categoria e priorità, ma anche il modello da utilizzare, limitare il numero di token da utilizzare per la risposta, valutare la temperatura per la casualità e creatività delle risposte.
Oltre a questo, nella seconda metà del file, troviamo dei veri e propri "test case": infatti, è possibile provare a lanciare il modello per generare delle risposte, che saranno basate sui test data forniti nel file stesso, e verificare che l'output sia coerente, tutto all'interno di GitHub. Se, invece, vogliamo automatizzare tutto il processo, possiamo fare uso della CLI ed installarli una extension che processa questi file:
gh extension install https://github.com/github/gh-models
E quindi utilizzarla all'interno di un workflow qualsiasi:
- name: Process issues
shell: bash
run: |
gh models run -f .prompts/summarize-issues.prompt.yml -i issues="$(gh issue list --state open --json title,body | jq -r '.[] | "- " + .title + "\n" + .body')"L'output può quindi essere salvato all'interno del repository stesso, esternamente o centralmente all'organizzazione aziendale, così come i prompt file possono essere condivisi tra più repository e gestiti direttamente dall'enterprise admin che può bloccare le aggiunte, modifiche o cancellazioni tramite i file di CODEOWNER o policy a livello di organization/enterprise.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Integrare modelli AI in un workflow di GitHub
Self-healing degli unit test con Copilot in GitHub
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Gestione dei codeowners in GitHub
Centralizzare e governare MCP server e Skill con Azure API Center
Building Custom Developer Agents
Integrazione di Copilot in .NET Aspire
Eseguire i pre-commit hook di git con dependabot
Importare repository da Bitbucket a GitHub Enterprise Cloud
Gestire trasferimenti cloud con Azure Storage Mover


