Rozszerzanie trybu agenta za pomocą umiejętności

Umiejętności pozwalają rozszerzać możliwości trybu agenta o specjalistyczną wiedzę i niestandardowe przepływy pracy. Są one oparte na otwartym standardzie umiejętności agenta.

W przeciwieństwie do plików AGENTS.md umiejętności reprezentują wiedzę na żądanie. Ta struktura umożliwia trybowi agenta utrzymanie dużej liczby specjalistycznych funkcji, takich jak migracja między określonymi wersjami bibliotek czy dostosowywanie komponentów do różnych rozmiarów ekranu, bez zaśmiecania bezpośredniego okna kontekstu modelu.

Model autonomicznie decyduje, kiedy użyć umiejętności, na podstawie Twojej prośby i opisu umiejętności. Gdy zostanie zidentyfikowana odpowiednia umiejętność, model dynamicznie pobiera pełne instrukcje i zasoby wymagane do wykonania zadania.

Aby aktywować funkcję na żądanie, poproś agenta o wykonanie zadania związanego z tą funkcją. Możesz też wpisać @ w oknie do wprowadzania danych, aby uruchomić konkretną umiejętność.

Główne zalety

  • Dzielenie się wiedzą: umieść złożone procesy (np. proces sprawdzania żądań scalenia w określonym zespole) w specjalnym folderze, z którego każdy może korzystać.
  • Powtarzalne przepływy pracy: zapewnij spójne wykonywanie złożonych zadań wieloetapowych dzięki standardowym instrukcjom.
  • Pakiet zasobów: dołącz skrypty, szablony lub przykładowe dane do instrukcji, aby agent miał wszystko, czego potrzebuje, w jednym miejscu.
  • Efektywne wykorzystanie okna kontekstu: aby zaoszczędzić tokeny kontekstu, początkowo wczytywane są tylko metadane umiejętności (nazwa i opis). Pełny plik SKILL.md jest wczytywany dopiero po aktywacji. Pliki pomocnicze w katalogach references/, scripts/ lub assets/ są ładowane do kontekstu tylko wtedy, gdy agent ich potrzebuje.

Tworzenie własnych umiejętności

Agent wyszukuje umiejętności, zaczynając od katalogów .skills/ lub .agent/skills/ znajdujących się w katalogu głównym projektu. Aby utworzyć niestandardową umiejętność, wykonaj te czynności:

  1. Utwórz katalog dla swojej umiejętności (np. my-new-skill/).
  2. W nowym katalogu utwórz plik SKILL.md (wielkość liter ma znaczenie).

Umiejętności muszą być zgodne z tymi regułami:

  • Jeden katalog na umiejętność: każda umiejętność musi mieć własny, niepowtarzalny katalog, który zawiera plik SKILL.md i wszelkie dodatkowe zasoby.
  • Zagnieżdżanie: wszystkie umiejętności muszą znajdować się w katalogu .skills/ lub .agent/skills/ w katalogu głównym projektu. Możesz jednak używać podkatalogów, aby lepiej zorganizować pliki (np. skills/ui-flows/<skill name>/SKILL.md lub skills/testing/<skill name>/SKILL.md).
  • Zakres: obecnie obsługiwane są tylko umiejętności znajdujące się w bazie kodu projektu.

Plik SKILL.md zawiera blok YAML z metadanymi i standardowy format Markdown z instrukcjami.

  • name: unikalny identyfikator umiejętności. Powinien on być zgodny z nazwą katalogu.
  • description: jasne wyjaśnienie, do czego służy funkcja i kiedy agent powinien jej używać.
  • Treść: treść w formacie Markdown poniżej bloku YAML zawiera instrukcje, które określają zachowanie agenta, gdy umiejętność jest aktywna.
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
  author: example-org
  version: "1.0"
---

Skill content

Wytyczne dotyczące formatowania

  • Nazwa: maksymalnie 64 znaki (tylko małe litery, cyfry i łączniki).
  • Opis: maksymalnie 1024 znaki.
  • Treść: staraj się, aby miała 10–20 tys. znaków (ok. 2500–5000 tokenów). Jeśli instrukcje przekraczają ten limit, rozważ przeniesienie szczegółowej dokumentacji do pliku zasobów, jak opisano w sekcji Opcjonalne katalogi umiejętności.

Opcjonalne katalogi umiejętności

Aby plik SKILL.md był zwięzły i modułowy, możesz umieścić dodatkowe zasoby w tych opcjonalnych katalogach w folderze umiejętności:

  • scripts/: zawiera kod wykonywalny (np. w języku Python lub Bash), który może uruchomić agent.
  • references/: Zawiera szczegółową dokumentację techniczną, odniesienia do interfejsów API lub przewodniki dotyczące konkretnych domen.
  • assets/: zawiera statyczne zasoby, takie jak szablony dokumentów, diagramy interfejsu czy schematy JSON.

Gdy odwołujesz się do tych plików w SKILL.mdinstrukcjach, używaj ścieżek względnych od poziomu głównego umiejętności. Przykład: Run the script at scripts/cleanup.py.