
Agent Skills: rozšíření AI agentů
Agent Skills je specifikace pro definování schopností AI agentů. Jak funguje?
Jak naučit AI agenta nové věci? Jak mu dát schopnost pracovat s konkrétními nástroji, frameworky nebo firemními procesy? Odpovědí je Agent Skills — otevřený standard pro definování modulárních schopností AI agentů.
Co je Agent Skills?
Agent Skills je specifikace vytvořená Anthropic a publikovaná jako otevřený standard v prosinci 2025. Definuje formát, kterým můžete AI agentům předávat instrukce, skripty a zdroje pro konkrétní úkoly.
Podobně jako Model Context Protocol (MCP) pro připojení agentů k externím nástrojům, Agent Skills standardisuje způsob, jakým agenti získávají a používají nové schopnosti.
Standard je podporován řadou vývojářských nástrojů pro AI agenty a je otevřený pro příspěvky od širší komunity.
Struktura skillu
Skill je adresář obsahující minimálně soubor SKILL.md. Volitelně může obsahovat další složky:
my-skill/
├── SKILL.md # Hlavní soubor s instrukcemi
├── scripts/ # Spustitelné skripty (Python, Bash)
├── references/ # Dokumentace načítaná do kontextu
└── assets/ # Šablony, obrázky, konfigurace
SKILL.md
Hlavní soubor má dvě části — YAML frontmatter s metadaty a markdown s instrukcemi:
---
name: code-review
description: Provádí code review pull requestů. Použij když uživatel chce zkontrolovat kód.
allowed-tools: Bash(git:*), Read, Grep
model: inherit
---
# Code Review
## Postup
1. Načti změny pomocí `git diff`
2. Analyzuj každý soubor
3. Zkontroluj:
- Čitelnost kódu
- Potenciální bugy
- Bezpečnostní problémy
4. Vypiš nálezy ve strukturovaném formátu
## Formát výstupu
Pro každý nález uveď:
- Soubor a řádek
- Závažnost (info/warning/error)
- Popis problému
- Návrh opravy
Povinná a volitelná pole
Frontmatter definuje metadata a konfiguraci skillu:
| Pole | Povinné | Popis |
|---|---|---|
name |
Ano | Identifikátor skillu, používá se jako příkaz |
description |
Ano | Popis pro matching s uživatelským záměrem |
allowed-tools |
Ne | Seznam povolených nástrojů s wildcard podporou |
model |
Ne | Přepíše model nebo použije inherit |
version |
Ne | Verse skillu |
license |
Ne | Licence |
disable-model-invocation |
Ne | Zakazuje automatické spuštění, vyžaduje ruční /skill-name |
Oprávnění nástrojů
Pole allowed-tools definuje, které nástroje může skill používat. Podporuje wildcard syntaxi pro granulární kontrolu:
# Pouze git příkazy přes Bash
allowed-tools: Bash(git:*)
# Git a npm příkazy
allowed-tools: Bash(git:*), Bash(npm:*)
# Čtení souborů a grep
allowed-tools: Read, Grep
# Kombinace
allowed-tools: Bash(git:*), Read, Grep, Write
Toto omezení zvyšuje bezpečnost — skill pro code review nepotřebuje mazat soubory nebo spouštět libovolné příkazy.
Jak agent skill najde?
Agent Skills používá čisté LLM reasoning, žádné embeddingové modely ani regex matching:
- Agent při startu načte seznam dostupných skills
- Pro každý skill vidí
nameadescription - Když uživatel zadá požadavek, agent porovná záměr s popisy
- Pokud najde shodu, načte celý obsah
SKILL.md - Podle potřeby načítá soubory z
references/a spouští skripty zescripts/
Tomuto přístupu se říká progressive disclosure — agent nejdřív vidí jen metadata a plný obsah načte až když ho potřebuje. Šetří to kontext a zrychluje odezvu.
Složka scripts/
Obsahuje spustitelné skripty, které agent volá přes Bash. Výhodou je, že do kontextu se načítá pouze výstup skriptu, ne jeho zdrojový kód — šetří to tokeny.
Podporované jazyky
Specifikace neomezuje programovací jazyk. Použít můžete cokoli, co agent dokáže spustit:
- Python — nejčastější volba, bohatý ekosystém knihoven
- Bash/Shell — systémové operace, pipeline, práce se soubory
- Node.js/TypeScript — pro JS ekosystém a npm balíčky
- Ruby, Go, Rust — pokud jsou v prostředí dostupné
Anthropic například ve vestavěném PDF skillu používá Python skript pro extrakci polí z PDF formulářů.
scripts/
├── analyze.py # Python - analysa kódu
├── validate.sh # Bash - validace vstupů
├── transform.ts # TypeScript - transformace dat
└── generate-report.py # Python - generování reportu
Ve SKILL.md na ně odkazujete pomocí proměnné {baseDir}:
Pro analysu spusť:
python {baseDir}/scripts/analyze.py --file {file}
Pro validaci:
bash {baseDir}/scripts/validate.sh {input}
Pro TypeScript (s ts-node):
npx ts-node {baseDir}/scripts/transform.ts
Složka references/
Dokumentace, kterou agent načte do kontextu pomocí nástroje Read:
references/
├── coding-standards.md # Firemní coding standards
├── api-schema.json # API schéma
└── security-checklist.md # Bezpečnostní checklist
Používejte pro obsah delší než 1000 znaků, který by zbytečně nafukoval SKILL.md.
Složka assets/
Statické soubory, které agent nenamačítá do kontextu, ale pracuje s nimi cestou:
assets/
├── template.html # HTML šablona
├── config.json # Výchozí konfigurace
└── logo.png # Obrázky
Příklady skills
Skill pro Git commit
---
name: commit
description: Vytvoří git commit. Použij když uživatel chce commitnout změny.
allowed-tools: Bash(git:*)
---
# Git Commit
1. Spusť `git status` a `git diff` pro přehled změn
2. Analyzuj změny a navrhni commit message
3. Commit message:
- Krátká (max 50 znaků) v imperativu
- Zaměř se na "proč", ne "co"
4. Spusť `git add` a `git commit`
5. Ověř úspěch pomocí `git log -1`
Skill pro generování testů
---
name: generate-tests
description: Generuje unit testy pro funkce. Použij když uživatel chce testy.
allowed-tools: Read, Write, Bash(npm:test)
---
# Generování testů
1. Načti zdrojový soubor
2. Identifikuj funkce a jejich vstupy/výstupy
3. Pro každou funkci vygeneruj:
- Happy path test
- Edge cases (null, prázdné, hranice)
- Error handling test
4. Použij testovací framework dle projektu (Jest, Vitest, pytest)
5. Spusť testy a oprav případné chyby
Best practices
Popis pro matching
Pole description je klíčové pro správné spouštění. Pište explicitně:
# Špatně
description: Pracuje s databází
# Dobře
description: Migruje databázové schéma. Použij když uživatel chce vytvořit nebo spustit migraci.
Délka SKILL.md
Držte se pod 5000 slov. Delší obsah přesuňte do references/.
Minimální oprávnění
Povolte jen nástroje, které skill skutečně potřebuje:
# Příliš široké
allowed-tools: Bash
# Správně omezené
allowed-tools: Bash(git:*), Bash(npm:test)
Používejte {baseDir}
Nikdy nehardcodujte absolutní cesty. Vždy používejte {baseDir}:
# Špatně
python /home/user/.skills/my-skill/scripts/run.py
# Dobře
python {baseDir}/scripts/run.py
Srovnání s MCP
Agent Skills a Model Context Protocol se doplňují:
| Agent Skills | MCP | |
|---|---|---|
| Účel | Definice schopností agenta | Připojení k externím nástrojům |
| Formát | Markdown + YAML | JSON-RPC protokol |
| Běhové prostředí | Lokální soubory | Server/klient architektura |
| Příklad | Skill pro code review | Připojení k Slacku nebo databázi |
MCP definuje jak se agent připojuje k nástrojům. Agent Skills definuje co má agent s nástroji dělat.
Integrace s MCP
Agent Skills a MCP fungují na různých úrovních, ale dají se kombinovat. MCP servery poskytují nástroje (tools), které skill může používat přes pole allowed-tools.
Jak to funguje
- MCP server běží jako samostatný proces a poskytuje nástroje (např.
slack_send_message,linear_create_issue) - Agent se k MCP serverům připojuje přes konfiguraci
- Skill v
allowed-toolspovolí konkrétní MCP nástroje - Instrukce ve skillu popisují kdy a jak tyto nástroje použít
Příklad: Skill využívající MCP
Představte si skill pro reportování bugů, který používá Linear (projektový management) a Slack:
---
name: bug-report
description: Vytvoří bug report v Linear a notifikuje tým na Slacku. Použij když uživatel reportuje bug.
allowed-tools: Read, mcp__linear__create_issue, mcp__slack__send_message
---
# Bug Report
## Postup
1. Zeptej se na detaily bugu (co se děje, očekávané chování, kroky k reprodukci)
2. Analyzuj relevantní kód pomocí Read
3. Vytvoř issue v Linear:
- Použij `mcp__linear__create_issue`
- Nastav prioritu podle závažnosti
- Přidej label "bug"
4. Notifikuj tým na Slacku:
- Použij `mcp__slack__send_message`
- Pošli do kanálu #bugs
- Připoj odkaz na Linear issue
MCP nástroje v allowed-tools
MCP nástroje mají typicky prefix identifikující server:
# Nástroje z Linear MCP serveru
allowed-tools: mcp__linear__create_issue, mcp__linear__update_issue
# Nástroje ze Slack MCP serveru
allowed-tools: mcp__slack__send_message, mcp__slack__list_channels
# Kombinace více MCP serverů s lokálními nástroji
allowed-tools: Read, Grep, mcp__linear__*, mcp__slack__send_message
Wildcard mcp__linear__* povolí všechny nástroje z Linear serveru.
Kdy použít MCP vs. skripty
| Použij MCP když | Použij skripty když |
|---|---|
| Potřebuješ real-time přístup k externím službám (Slack, Linear, GitHub API) | Zpracováváš lokální soubory nebo data |
| Služba má oficiální MCP server | Potřebuješ komplexní logiku nebo transformace |
| Chceš využít autentizaci spravovanou MCP serverem | Chceš minimalizovat závislosti |
Proč je to důležité?
Otevřené standardy redukují fragmentaci. Vývojáři mohou vytvořit skill jednou a nasadit ho napříč různými AI agenty a platformami.
Pro firmy to znamená možnost přecházet mezi poskytovateli AI bez přepisování customizací. Skill pro firemní coding standards bude fungovat všude, kde je standard podporován.
Anthropic následuje podobný vzor jako u MCP — vytvořit specifikaci a otevřít ji komunitě jako standard.
Odkazy
Související články
Google Antigravity: Nová AI vývojářská platforma
Google představil Antigravity - vývojářskou platformu s AI agenty poháněnou modely Gemini 3, Claude Sonnet a GPT-OSS.
10+ věcí, jak AI pomáhá při programování
AI dokáže výrazně zvýšit efektivitu programátora. Nevezme mu ale práci?
Preview článků přímo z Gitu
Jak zobrazit náhled článku z pull requestu bez čekání na build a deploy.
Checklist věcí, na které se při přechodu na nový iPhone zapomíná
Na co se nejčastěji zapomíná při migraci na nový iPhone? Bankovní aplikace, messengery, eGovernment služby a další aplikace.