Blog

Codex Skills: tworzenie umiejętności do powtarzalnych zadań

Markdown

Struktura SKILL.md, ścieżki ładowania, jawne i automatyczne wywoływanie, kryteria oceny wyników oraz przenoszenie umiejętności do Claude Code.

Przeczytaj cały artykuł

Jeśli pięć razy w tygodniu wyjaśniasz Codexowi to samo — jak sformatować raport, uporządkować e-maile albo przygotować tekst w Twoim stylu — możesz raz zapisać te instrukcje w umiejętności. Później agent może znaleźć ją na podstawie opisu, jeśli opis pasuje do zadania, albo możesz wywołać ją jawnie. Umiejętność to zwykły folder z plikiem tekstowym o nazwie SKILL.md; do podstawowego zastosowania nie trzeba programować.

Poniżej omawiamy strukturę umiejętności, miejsca, w których Codex ich szuka, kolejne etapy tworzenia oraz dobór modelu z uwzględnieniem kosztów. Polecenia i ceny opierają się na oficjalnej dokumentacji OpenAI aktualnej na 20 września 2026 roku. Nie powtarzamy tu instrukcji instalacji Codex — znajdziesz je w przewodniku Codex od OpenAI: czym jest, jak go zainstalować i uruchomić.

Praktyczne informacje o korzystaniu z Ailoot znajdziesz w dokumentacji.

Czym jest umiejętność w Codex?

Najważniejsze informacje

Umiejętność Codex to folder z plikiem SKILL.md, który opisuje proces: co zrobić, na czym się oprzeć i jak wygląda dobry wynik. Początkowo Codex przechowuje w kontekście tylko nazwy i opisy umiejętności, a pełne instrukcje ładuje, gdy zdecyduje, że chce z którejś skorzystać.

Ten format nazywa się Agent Skills. To otwarty standard pierwotnie opracowany przez Anthropic i opublikowany w serwisie agentskills.io. Obsługuje go wielu agentów, w tym Codex, Claude Code i inne zgodne klienty. Prostą umiejętność składającą się wyłącznie z instrukcji tekstowych można przenieść między nimi, kopiując folder. Jeśli zawiera skrypty, zależności lub plik agents/openai.yaml, po przeniesieniu sprawdź umiejętność: niektóre ustawienia są specyficzne dla danego klienta.

Ten sposób ładowania nazywa się stopniowym ujawnianiem. Agent wykorzystuje nazwę i opis umiejętności, aby określić, kiedy jest ona przydatna. Gdy zadanie pasuje do opisu, agent odczytuje cały plik SKILL.md i postępuje zgodnie z instrukcjami. Dzięki temu możesz przechowywać w Codex dziesiątki umiejętności bez ładowania wszystkich instrukcji do kontekstu: początkowa lista zajmuje nie więcej niż 2% okna kontekstu (lub 8 000 znaków, jeśli jego rozmiar jest nieznany). Gdy umiejętności jest dużo, Codex najpierw skraca ich opisy; przy bardzo dużym zbiorze może pominąć część z listy i powiadomić Cię o tym.

Łatwo pomylić umiejętność z plikiem AGENTS.md. Codex odczytuje ten plik podczas każdej sesji projektu. Zawiera stałe zasady: stos technologiczny, konwencje i styl kodowania. Umiejętność jest ładowana na żądanie, gdy zadanie do niej pasuje. Dlatego stałe zasady umieszczaj w AGENTS.md, a powtarzalny proces opisany krokami — w umiejętności.

Umiejętności Hermes Agent działają podobnie, ale są przechowywane w innych folderach i instaluje się je w inny sposób. Opisuje je osobny przewodnik: Umiejętności Hermes Agent: instalacja i tworzenie. Ten artykuł dotyczy wyłącznie Codex.

Z czego składa się umiejętność?

Najważniejsze informacje

Umiejętność musi zawierać co najmniej jeden plik SKILL.md z dwoma wymaganymi polami: name i description. Opcjonalnie możesz dodać foldery scripts/, references/ i assets/, a także plik agents/openai.yaml z ustawieniami.

Folder umiejętności ma następującą strukturę:

my-skill/
  SKILL.md        - required: metadata and instructions
  scripts/        - optional: executable code
  references/     - optional: documents to load as needed
  assets/         - optional: templates and resources
  agents/
    openai.yaml   - optional: appearance and dependencies

Sam plik SKILL.md zaczyna się od bloku metadanych ujętego między trzema łącznikami, po którym następuje tekst instrukcji w formacie Markdown:

---
name: weekly-sales-report
description: Compile a weekly sales report from a CSV export. Use when asked for a weekly sales report or a summary by manager.
---

1. Read the export file at the path provided by the user.
2. Group the rows by manager and calculate the total and number of deals.
3. Compare with the previous week if the file for the previous week is nearby. If it is not there, say so directly in the report.
4. Save the result to report.md: a table by manager, the total, and up to three key changes with figures, as many as the data supports.

Trzy zasady z oficjalnych zaleceń OpenAI:

  • Jedna umiejętność — jedno zadanie. Zamiast „Zajmij się całym moim marketingiem” wybierz konkretne zadanie, na przykład „przygotuj raport sprzedaży z tego eksportu”. Podziel większy proces na osobne umiejętności, które można wywoływać kolejno.
  • Pisz kroki bezpośrednio, wskazując jawnie wejście i wyjście: czego użyć, co zrobić i gdzie umieścić wynik.
  • Zacznij od instrukcji tekstowych. Użyj skryptów w scripts/, gdy dany krok musi za każdym razem przebiegać dokładnie tak samo — na przykład przy konwertowaniu pliku lub wywoływaniu systemu zewnętrznego.

Codex wybiera umiejętność do zadania na podstawie pola description, więc zacznij opis od zadania i słów, którymi zwykle je opisujesz.

Gdzie Codex szuka umiejętności?

Najważniejsze informacje

Codex szuka umiejętności na czterech poziomach: w folderze projektu .agents/skills (sprawdzając bieżący folder i każdy folder nadrzędny aż do katalogu głównego repozytorium), w osobistym folderze $HOME/.agents/skills, w systemowym folderze /etc/codex/skills oraz wśród wbudowanych umiejętności OpenAI.

PoziomŚcieżkaPrzeznaczenie
Projekt.agents/skills w bieżącym folderze i folderach nadrzędnych aż do katalogu głównego repozytoriumUmiejętności przeznaczone dla konkretnego projektu, które można przechowywać w git wraz z kodem
Użytkownik$HOME/.agents/skillsTwoje osobiste umiejętności dostępne we wszystkich projektach na danej maszynie
System/etc/codex/skillsUmiejętności współdzielone przez wszystkich użytkowników maszyny lub kontenera
WbudowaneDołączone do CodexPodstawowe umiejętności od OpenAI, takie jak kreator umiejętności

Wygodnie jest przechowywać umiejętności projektowe w git razem z kodem, aby cały zespół miał ten sam zestaw. Umiejętności osobiste sprawdzają się w Twoich własnych procesach, na przykład w ustalaniu stylu e-maili. Jeśli umiejętności na różnych poziomach mają tę samą nazwę, Codex ich nie scala: obie pojawią się na liście, przez co trudniej będzie wybrać właściwą. Używaj unikatowych nazw.

Dla porównania, umiejętności Claude Code są przechowywane w .claude/skills, każda we własnym pliku SKILL.md, i korzystają z tego samego otwartego standardu. Prostą umiejętność można tam przenieść, kopiując jej folder; następnie uruchom ją i sprawdź, czy jest wywoływana. Porównanie rozszerzeń Claude Code znajdziesz w artykule Skills, Subagents, MCP czy Plugins.

Jak Codex decyduje, którą umiejętność wywołać?

Najważniejsze informacje

Możesz jawnie wywołać umiejętność: w Codex CLI lub rozszerzeniu IDE wpisz w prośbie $skill-name albo wybierz ją przez /skills. Przy wywołaniu niejawnym Codex automatycznie wybiera umiejętność, jeśli zadanie pasuje do jej opisu. Umiejętność musi być dostępna, a automatyczne wywoływanie musi być dozwolone.

Na początku jawne wywoływanie jest pewniejsze: w Codex CLI wpisz $weekly-sales-report, aby wybrać konkretny proces. Wywoływanie niejawne jest wygodniejsze w codziennej pracy. Po napisaniu umiejętności przetestuj ją, używając zwykłych sformułowań: poproś Codex własnymi słowami o wykonanie zadania, bez $, i sprawdź, czy wybierze umiejętność. Jeśli jej nie wybierze, najpierw sprawdź, czy Codex widzi ją w /skills, czy znajduje się w jednym z folderów ładowania oraz czy sama umiejętność lub jej automatyczne wywoływanie nie są wyłączone. Jeśli umiejętność jest dostępna, a ustawienia są prawidłowe, dopracuj description: opisz zadanie i typowe sposoby formułowania prośby.

Możesz też ustawić, aby umiejętność była dostępna wyłącznie po jawnym wywołaniu: parametr allow_implicit_invocation: false w agents/openai.yaml wyłącza automatyczne wywoływanie, ale $name nadal działa. Możesz całkowicie wyłączyć umiejętność bez jej usuwania za pomocą ~/.codex/config.toml:

[[skills.config]]
path = "/full/path/to/the/skill/SKILL.md"
enabled = false

Po edycji config.toml uruchom ponownie Codex. Codex automatycznie wykrywa zmiany w folderach umiejętności, ale jeśli nowa umiejętność się nie pojawi, uruchom Codex ponownie.

Jak stworzyć własną umiejętność: krok po kroku

Najważniejsze informacje

Wybierz jedno powtarzalne zadanie, utwórz umiejętność za pomocą wbudowanego asystenta $skill-creator albo ręcznie, napisz instrukcje z jasno określonym wynikiem, przetestuj wywoływanie zwykłymi sformułowaniami i udoskonalaj umiejętność po każdym uruchomieniu.

  1. Wybierz jedno zadanie

    Wybierz proces, który regularnie powtarzasz i który ma jasno określony wynik: raport, tabelę, list lub analizę. Jeśli nigdy nie uzyskałeś takiego wyniku, najpierw wykonaj zadanie ręcznie z agentem. Uzyskany rezultat posłuży jako punkt odniesienia dla instrukcji.

  2. Utwórz umiejętność

    Aby utworzyć umiejętność za pomocą wbudowanego asystenta, wpisz $skill-creator podczas sesji Codex. Asystent zapyta, co robi umiejętność, kiedy należy ją wywoływać i czy potrzebne są skrypty, a następnie przygotuje jej szkielet. Aby utworzyć ją ręcznie, dodaj w projekcie folder .agents/skills, utwórz w nim podfolder dla umiejętności, na przykład .agents/skills/weekly-sales-report, i umieść w nim plik SKILL.md, korzystając z powyższego przykładu.

  3. Napisz instrukcje

    Zapisz kroki w ponumerowanej liście z jawnym wejściem i wyjściem. Jeśli proces wymaga precyzji — przenoszenia danych, zmiany nazw lub obliczeń — szczegółowo opisz każdy krok. W zadaniach kreatywnych, takich jak pisanie tekstów lub wybór argumentów, określ granice i kryteria dobrego wyniku, pozostawiając modelowi przestrzeń do działania.

  4. Przetestuj wywoływanie

    Poproś Codex o wykonanie zadania własnymi słowami, nie podając nazwy umiejętności. Jeśli wybierze właściwą umiejętność, opis sprawdził się w przypadku takiego sformułowania. Następnie przetestuj jawne wywołanie przez $name. Jeśli umiejętność nie zostanie wywołana, sprawdź folder, jej obecność w /skills i opisane wyżej ustawienia wyłączania. Jeśli nowa umiejętność nie pojawi się na liście, uruchom Codex ponownie. Jeśli jawne wywołanie działa i automatyczne wywoływanie jest dozwolone, ale Codex nie reaguje na prośbę sformułowaną własnymi słowami, popraw początek pola description: najpierw umieść zadanie, a potem typowe sposoby formułowania prośby. Przetestuj ponownie.

  5. Udoskonalaj po uruchomieniach

    Po każdym uruchomieniu sprawdź wynik i powiedz agentowi, co zmienić w umiejętności: „Następnym razem dodaj do tabeli podsumowującej kolumnę z udziałem procentowym”. Jeśli w pracy twórczej pierwsza wersja nie daje oczekiwanego wyniku, dopracuj umiejętność na podstawie informacji zwrotnej.

Gotowe umiejętności OpenAI i społeczności można instalować za pomocą $skill-installer i nazwy umiejętności. Aby udostępnić własne umiejętności innym, rozpowszechniaj je jako wtyczki — to odrębna metoda pakowania, która nie jest potrzebna do użytku osobistego.

Jak sprawdzić wynik pracy agenta

Najważniejsze informacje

Umieść kryteria akceptacji bezpośrednio w umiejętności: określ, co wynik musi zawierać oraz jak agent ma sprawdzić swoją pracę przed przekazaniem jej dalej. Nie gwarantuje to poprawności — nadal musisz samodzielnie sprawdzić wynik.

Kontrole mogą być obiektywne lub subiektywne. Obiektywne da się zmierzyć: „raport zawiera wszystkich 12 kierowników z eksportu” albo „suma w tabeli zgadza się z łączną wartością w pliku CSV”. Zapisz je jako bezwzględne wymagania. Kontrole subiektywne dotyczą jakości: „tekst brzmi jak mój” albo „wnioski są zwięzłe”. Te również możesz sformalizować: dodaj do umiejętności przykład dobrego fragmentu i poproś agenta o porównanie z nim wyniku.

Przydatną techniką jest cykl przeglądu: po przygotowaniu wyniku agent sprawdza listę kryteriów, poprawia znalezione błędy i dopiero wtedy przedstawia Ci rezultat. Anthropic stosuje podobny wzorzec o nazwie evaluator-optimizer: jeden agent wykonuje zadanie, niezależny ewaluator sprawdza wynik i przekazuje uwagi, a proces powtarza się aż do akceptacji. W ramach jednej umiejętności jest to zwykle uproszczona wersja — końcowa samokontrola według listy. Pamiętaj o jej ograniczeniu: jest mniej skuteczna niż niezależna ocena, ponieważ agent wykonujący zadanie może nie zauważyć własnego błędu.

Przykładowa sekcja kontrolna dla naszego raportu:

## Before submitting, check
- Every manager from the export is present in the table; no one was left out.
- The total matches the CSV sum down to the last cent.
- Every key change is supported by a figure; if there is no data for comparison, the report says so directly.
- The file is saved at report.md, and the path has been shared with the user.

Który model wybrać do umiejętności?

Najważniejsze informacje

Zacznij od modelu, na którym umiejętność zadziałała, a potem wypróbuj tańsze modele: jeśli jakość się utrzyma, wybierz tańszy model. Poniżej podano stawki API i propozycje modeli na początkowe uruchomienia — stan na 20 września 2026 roku.

ModelDane wejściowe, $/milion tokenówDane wyjściowe, $/milion tokenówOd czego zacząć testy
GPT-6 Astra1050Umiejętności wymagające zaawansowanego rozumowania, obrazów i korzystania z przeglądarki
GPT-5.6 Sol420Średnio złożone umiejętności tekstowe
GPT-5.6 Terra2.5015Proste procesy o jasno określonym wyniku
GPT-5.6 Luna0.201.20Zadania mechaniczne: zmiana formatowania, obliczenia, tworzenie listy

Prawa kolumna podpowiada, jakie zadania można wypróbować w pierwszych testach. Nie przedstawia rankingu ani wyniku porównania: właściwy model do danej umiejętności można wskazać dopiero po jej uruchomieniu i porównaniu z wynikiem referencyjnym.

Ceny w tabeli to stawki API podane na stronach modeli według stanu na 20 września 2026 roku, a nie ceny subskrypcji ChatGPT. W ramach subskrypcji korzystanie z modeli zużywa dostępny limit. Na ten dzień Sol ma promocyjną stawkę $4/$20 obowiązującą co najmniej do 21 listopada 2026 roku; standardowa cena wynosi $5/$30. Przed dużym, cyklicznym uruchomieniem sprawdź stronę z cenami: promocje OpenAI się zmieniają.

Uruchom tę samą umiejętność na kolejnym tańszym modelu i porównaj wynik z punktem odniesienia. Jeśli jakość się utrzyma, wypróbuj następny, jeszcze tańszy model. Jeśli spadnie, wróć do poprzedniego. Modele mają też poziomy wysiłku: Astra obejmuje zakres od low do max, a rodzina 5.6 — od none do max. Przetestuj je na tym samym materiale referencyjnym: najpierw wybierz model, potem poziom wysiłku.

Regularne korzystanie z umiejętności wiąże się z powtarzającymi się kosztami. Cena wejścia dla Astra jest 50 razy wyższa niż dla Luna, więc używanie różnych modeli w tej samej regularnie stosowanej umiejętności może znacząco zmienić koszty. W przypadku umiejętności analizującej zrzuty ekranu i dokumenty słabszy model może kosztować więcej z powodu koniecznych poprawek.

Częste błędy podczas tworzenia i używania umiejętności

  • Umiejętność „do wszystkiego”. Jedna umiejętność na jeden proces — to również zalecenie OpenAI. Trudno precyzyjnie opisać uniwersalną, dziesięciostronicową umiejętność, a Codex wybiera umiejętność do zadania na podstawie jej opisu.
  • Niejasny opis. „Pomaga w raportach” nie określa, do jakich raportów służy dana umiejętność. Na początku pola description umieść zadanie i typowe sposoby formułowania prośby.
  • Instrukcje bez określonego wyniku. Jeśli nie określisz, co ma powstać i gdzie to zapisać, wyniki mogą się różnić przy każdym uruchomieniu.
  • Brak kontroli. Bez końcowego kroku z kryteriami wynik może być niedokończonym szkicem, który trzeba samodzielnie w całości przejrzeć.
  • Domyślny wybór najzdolniejszego modelu. Najpierw sprawdź, czy zadanie da się wykonać tańszym modelem: uruchom tę samą umiejętność i porównaj wynik z punktem odniesienia. Zmieniaj model tylko wtedy, gdy jakość się utrzymuje.
  • Takie same nazwy w różnych folderach. Codex nie scala umiejętności o tej samej nazwie, przez co trudniej wybrać właściwą.

Jak zacząć i przenieść umiejętność do Claude Code

Najważniejsze informacje

Wybierz jeden powtarzalny proces, utwórz umiejętność za pomocą $skill-creator, przetestuj jej wywoływanie własnymi słowami i dodaj końcowy krok z kryteriami akceptacji. Po kilku uruchomieniach dopracuj opis i instrukcje na podstawie wykrytych błędów.

Jeśli pracujesz z wieloma agentami, możesz przenieść do Claude Code folder zawierający wyłącznie instrukcje tekstowe i plik SKILL.md. Umiejętności są tam przechowywane w .claude/skills i wywoływane przez /name. Po przeniesieniu sprawdź umiejętność, jeśli zawiera skrypty, zależności lub agents/openai.yaml. Przewodnik po bibliotece umiejętności Claude Code znajdziesz w artykule Umiejętności Claude Code: jak zbudować własny zestaw; porównanie Codex i Claude Code — w artykule Codex a Claude Code.

Otwórz Ailoot.

Więcej szczegółów

Pytania i odpowiedzi

Dlaczego jawne wywołanie działa, a automatyczny wybór skilla nie?

Sprawdź widoczność w /skills i włączenie wywołania niejawnego. Jeśli oba są poprawne, dopracuj opis, zaczynając od zadania i dodając słowa, których zwykle używasz, a następnie ponownie sprawdź to samo zwykłe żądanie.

Co sprawdzić w wyniku skilla raportu sprzedaży?

Sprawdź obecność każdego menedżera z eksportu, zgodność sumy z danymi źródłowymi, liczby potwierdzające każdą deklarowaną zmianę i zapis zamówionego pliku raportu. Jeśli brakuje poprzedniego okresu, raport powinien to zaznaczyć.

Wszystkie artykuły