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
Keynote .NET Conference Italia 2025
Utilizzo delle stepped value functions nel CSS
Controllare la velocità di spostamento su una pagina HTML
Eseguire i pre-commit hook di git con dependabot
Cambiamenti in OpenAPI per la documentazione di ASP.NET
Integrare Agenti A2A in Azure API Management
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Integrare modelli AI in un workflow di GitHub
Disabilitare la telemetria nella CLI di GitHub
Mappare una complex property di una entity su un campo JSON
Introduzione a GitHub Copilot CLI


