Moderní tvorba webových aplikací

O webu

Agent Skills: rozšíření AI agentů

Agent Skills je specifikace pro definování schopností AI agentů. Jak funguje?

11 minut

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:

  1. Agent při startu načte seznam dostupných skills
  2. Pro každý skill vidí name a description
  3. Když uživatel zadá požadavek, agent porovná záměr s popisy
  4. Pokud najde shodu, načte celý obsah SKILL.md
  5. Podle potřeby načítá soubory z references/ a spouští skripty ze scripts/

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

  1. MCP server běží jako samostatný proces a poskytuje nástroje (např. slack_send_message, linear_create_issue)
  2. Agent se k MCP serverům připojuje přes konfiguraci
  3. Skill v allowed-tools povolí konkrétní MCP nástroje
  4. 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.

7 minut

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?

9 minut

Preview článků přímo z Gitu

Jak zobrazit náhled článku z pull requestu bez čekání na build a deploy.

4 minuty

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.

12 minut

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2026