Quando si parla di ๐๐บ๐ธ๐ป๐ป.๐๐, gli sviluppatori tendono a fissarsi sul formatoโscrivere correttamente lo YAML, strutturare le directory e seguire le specifiche. Ma con piรน di 30 strumenti per agenti (come Claude Code, Gemini CLI e Cursor) che si stanno standardizzando sulla stessa struttura, il problema della formattazione รจ praticamente superato.
La vera sfida ora รจ la progettazione del contenuto. Le specifiche spiegano come confezionare una skill, ma non danno alcuna indicazione su come strutturare la logica al suo interno. Ad esempio, una skill che segue le convenzioni di FastAPI funziona in modo completamente diverso da una pipeline di documentazione in quattro passaggi, anche se i loro file ๐๐บ๐ธ๐ป๐ป.๐๐ hanno lo stesso aspetto esteriore.
Studiando come vengono costruite le skill nell'intero ecosistemaโdai repository di Anthropic alle linee guida interne di Vercel e Googleโemergono cinque pattern di progettazione ricorrenti che possono aiutare gli sviluppatori a creare agenti.
Di @Saboo_Shubham_ e @lavinigam
Questo articolo spiega ciascuno di essi con codice ADK funzionante:
- Tool Wrapper: trasforma il tuo agente in un esperto istantaneo di qualsiasi libreria
- Generator: produce documenti strutturati a partire da un template riutilizzabile
- Reviewer: valuta il codice rispetto a una checklist, classificando per gravitร
- Inversion: l'agente ti intervista prima di agire
- Pipeline: impone un flusso di lavoro sequenziale e vincolato con checkpoint

Pattern 1: Il Tool Wrapper
Un Tool Wrapper fornisce al tuo agente il contesto on-demand per una libreria specifica. Invece di codificare le convenzioni API nel prompt di sistema, le impacchetti in una skill. Il tuo agente carica questo contesto solo quando lavora effettivamente con quella tecnologia.

ร il pattern piรน semplice da implementare. Il file ๐๐บ๐ธ๐ป๐ป.๐๐ ascolta le parole chiave della libreria nel prompt dell'utente, carica dinamicamente la documentazione interna dalla directory ๐๐๐๐๐๐๐๐๐๐/ e applica quelle regole come veritร assoluta. ร il meccanismo esatto che usi per distribuire le linee guida di codifica interne del tuo team o le best practice specifiche del framework direttamente nei flussi di lavoro degli sviluppatori.
Ecco un esempio di Tool Wrapper che insegna a un agente come scrivere codice FastAPI. Nota come le istruzioni dicono esplicitamente all'agente di caricare il file ๐๐๐๐๐๐๐๐๐๐๐.๐๐ solo quando inizia a rivedere o scrivere codice:
1# skills/api-expert/SKILL.md2---3name: api-expert4description: FastAPI development best practices and conventions. Use when building, reviewing, or debugging FastAPI applications, REST APIs, or Pydantic models.5metadata:6 pattern: tool-wrapper7 domain: fastapi8---910You are an expert in FastAPI development. Apply these conventions to the user's code or question.1112## Core Conventions1314Load 'references/conventions.md' for the complete list of FastAPI best practices.1516## When Reviewing Code171. Load the conventions reference182. Check the user's code against each convention193. For each violation, cite the specific rule and suggest the fix2021## When Writing Code221. Load the conventions reference232. Follow every convention exactly243. Add type annotations to all function signatures254. Use Annotated style for dependency injection
Pattern 2: Il Generator
Mentre il Tool Wrapper applica la conoscenza, il Generator impone un output coerente. Se fatichi a ottenere dall'agente strutture documentali diverse a ogni esecuzione, il Generator risolve il problema orchestrando un processo di riempimento dei vuoti.

Si avvale di due directory opzionali: ๐๐๐๐๐๐/ contiene il template di output, e ๐๐๐๐๐๐๐๐๐๐/ contiene la guida di stile. Le istruzioni agiscono come un project manager. Dicono all'agente di caricare il template, leggere la guida di stile, chiedere all'utente le variabili mancanti e popolare il documento. ร utile per generare documentazione API prevedibile, standardizzare i messaggi di commit o creare l'architettura di nuovi progetti.
In questo esempio di generatore di report tecnici, il file della skill non contiene nรฉ il layout effettivo nรฉ le regole grammaticali. Si limita a coordinare il recupero di queste risorse e obbliga l'agente a eseguirle passo dopo passo:
1# skills/report-generator/SKILL.md2---3name: report-generator4description: Generates structured technical reports in Markdown. Use when the user asks to write, create, or draft a report, summary, or analysis document.5metadata:6 pattern: generator7 output-format: markdown8---910You are a technical report generator. Follow these steps exactly:1112Step 1: Load 'references/style-guide.md' for tone and formatting rules.1314Step 2: Load 'assets/report-template.md' for the required output structure.1516Step 3: Ask the user for any missing information needed to fill the template:17- Topic or subject18- Key findings or data points19- Target audience (technical, executive, general)2021Step 4: Fill the template following the style guide rules. Every section in the template must be present in the output.2223Step 5: Return the completed report as a single Markdown document.
Pattern 3: Il Reviewer
Il pattern Reviewer separa cosa controllare da come controllarlo. Invece di scrivere un lungo prompt di sistema che descriva ogni cattiva pratica di codice, memorizzi una rubrica modulare in un file ๐๐๐๐๐๐๐๐๐๐/๐๐๐๐๐๐ -๐๐๐๐๐๐๐๐๐.๐๐.

Quando un utente invia del codice, l'agente carica questa checklist e valuta sistematicamente il contributo, raggruppando i risultati per gravitร . Se sostituisci una checklist di stile Python con una checklist di sicurezza OWASP, ottieni un audit completamente diverso e specializzato, usando la stessa identica infrastruttura della skill. ร un modo molto efficace per automatizzare le revisioni delle pull request o individuare vulnerabilitร prima che un umano esamini il codice.
La seguente skill di code review dimostra questa separazione. Le istruzioni rimangono statiche, ma l'agente carica dinamicamente i criteri di revisione specifici da una checklist esterna e forza un output strutturato basato sulla gravitร :
1# skills/code-reviewer/SKILL.md2---3name: code-reviewer4description: Reviews Python code for quality, style, and common bugs. Use when the user submits code for review, asks for feedback on their code, or wants a code audit.5metadata:6 pattern: reviewer7 severity-levels: error,warning,info8---910You are a Python code reviewer. Follow this review protocol exactly:1112Step 1: Load 'references/review-checklist.md' for the complete review criteria.1314Step 2: Read the user's code carefully. Understand its purpose before critiquing.1516Step 3: Apply each rule from the checklist to the code. For every violation found:17- Note the line number (or approximate location)18- Classify severity: error (must fix), warning (should fix), info (consider)19- Explain WHY it's a problem, not just WHAT is wrong20- Suggest a specific fix with corrected code2122Step 4: Produce a structured review with these sections:23- **Summary**: What the code does, overall quality assessment24- **Findings**: Grouped by severity (errors first, then warnings, then info)25- **Score**: Rate 1-10 with brief justification26- **Top 3 Recommendations**: The most impactful improvements
Pattern 4: Inversion
Gli agenti tendono per natura a indovinare e generare immediatamente. Il pattern Inversion ribalta questa dinamica. Invece di essere l'utente a guidare il prompt e l'agente a eseguire, l'agente assume il ruolo di intervistatore.

Inversion si basa su istruzioni di blocco esplicite e non negoziabili (come "NON iniziare a costruire finchรฉ tutte le fasi non sono complete") per costringere l'agente a raccogliere prima il contesto. L'agente fa domande strutturate in sequenza e aspetta le tue risposte prima di passare alla fase successiva. Si rifiuta di sintetizzare un output finale finchรฉ non ha un quadro completo dei tuoi requisiti e dei vincoli di deployment.
Per vederlo in azione, guarda questa skill di project planner. L'elemento cruciale qui รจ la suddivisione rigorosa in fasi e il prompt esplicito di blocco che impedisce all'agente di sintetizzare il piano finale fino a quando non sono state raccolte tutte le risposte dell'utente:
1# skills/project-planner/SKILL.md2---3name: project-planner4description: Plans a new software project by gathering requirements through structured questions before producing a plan. Use when the user says "I want to build", "help me plan", "design a system", or "start a new project".5metadata:6 pattern: inversion7 interaction: multi-turn8---910You are conducting a structured requirements interview. DO NOT start building or designing until all phases are complete.1112## Phase 1 โ Problem Discovery (ask one question at a time, wait for each answer)1314Ask these questions in order. Do not skip any.1516- Q1: "What problem does this project solve for its users?"17- Q2: "Who are the primary users? What is their technical level?"18- Q3: "What is the expected scale? (users per day, data volume, request rate)"1920## Phase 2 โ Technical Constraints (only after Phase 1 is fully answered)2122- Q4: "What deployment environment will you use?"23- Q5: "Do you have any technology stack requirements or preferences?"24- Q6: "What are the non-negotiable requirements? (latency, uptime, compliance, budget)"2526## Phase 3 โ Synthesis (only after all questions are answered)27281. Load 'assets/plan-template.md' for the output format292. Fill in every section of the template using the gathered requirements303. Present the completed plan to the user314. Ask: "Does this plan accurately capture your requirements? What would you change?"325. Iterate on feedback until the user confirms
Pattern 5: La Pipeline
Per compiti complessi, non puoi permetterti passaggi saltati o istruzioni ignorate. Il pattern Pipeline impone un flusso di lavoro sequenziale e vincolato, con checkpoint obbligatori.
Le istruzioni stesse fungono da definizione del flusso di lavoro. Implementando condizioni di blocco esplicite (come richiedere l'approvazione dell'utente prima di passare dalla generazione dei docstring all'assemblaggio finale), la Pipeline garantisce che un agente non possa bypassare un compito complesso e presentare un risultato finale non convalidato.

Questo pattern utilizza tutte le directory opzionali, caricando diversi file di riferimento e template solo nel passaggio specifico in cui sono necessari, mantenendo pulita la finestra di contesto.
In questo esempio di pipeline di documentazione, nota le condizioni di blocco esplicite. All'agente รจ esplicitamente vietato passare alla fase di assemblaggio finchรฉ l'utente non conferma i docstring generati nel passaggio precedente:
1# skills/doc-pipeline/SKILL.md2---3name: doc-pipeline4description: Generates API documentation from Python source code through a multi-step pipeline. Use when the user asks to document a module, generate API docs, or create documentation from code.5metadata:6 pattern: pipeline7 steps: "4"8---910You are running a documentation generation pipeline. Execute each step in order. Do NOT skip steps or proceed if a step fails.1112## Step 1 โ Parse & Inventory13Analyze the user's Python code to extract all public classes, functions, and constants. Present the inventory as a checklist. Ask: "Is this the complete public API you want documented?"1415## Step 2 โ Generate Docstrings16For each function lacking a docstring:17- Load 'references/docstring-style.md' for the required format18- Generate a docstring following the style guide exactly19- Present each generated docstring for user approval20Do NOT proceed to Step 3 until the user confirms.2122## Step 3 โ Assemble Documentation23Load 'assets/api-doc-template.md' for the output structure. Compile all classes, functions, and docstrings into a single API reference document.2425## Step 4 โ Quality Check26Review against 'references/quality-checklist.md':27- Every public symbol documented28- Every parameter has a type and description29- At least one usage example per function30Report results. Fix issues before presenting the final document.
Scegliere il pattern giusto per la skill dell'agente
Ogni pattern risponde a una domanda diversa. Usa questo albero decisionale per trovare quello giusto per il tuo caso d'uso:

E infine, i pattern si compongono
Questi pattern non si escludono a vicenda. Si compongono.
Una skill di tipo Pipeline puรฒ includere un passaggio di tipo Reviewer alla fine per ricontrollare il proprio lavoro. Un Generator puรฒ basarsi su Inversion all'inizio per raccogliere le variabili necessarie prima di riempire il template. Grazie a ๐๐๐๐๐๐๐๐๐๐๐๐ di ADK e alla divulgazione progressiva, il tuo agente spende token di contesto solo per i pattern esatti di cui ha bisogno in fase di esecuzione.
Smetti di cercare di infilare istruzioni complesse e fragili in un singolo prompt di sistema. Suddividi i tuoi flussi di lavoro, applica il pattern strutturale giusto e costruisci agenti affidabili.
Inizia oggi
Le specifiche per le Agent Skills sono open-source e supportate nativamente in ADK. Sai giร come impacchettare il formato. Ora sai come progettare il contenuto. Costruisci agenti piรน intelligenti con Google Agent Development Kit.





