Co to jest Frontmatter? Dzisiaj, w erze AI, Frontmatter w Markdown przestał być tylko metadanymi strony. W narzędziach takich jak Claude Code stał się warstwą konfiguracji zachowania modeli AI. To właśnie w nagłówku YAML definiujemy nazwę skilla, opis jego zastosowania, model, narzędzia czy tryb uprawnień. Reszta pliku Markdown staje się systemowym promptem sterującym zachowaniem AI.
- Frontmatter to blok YAML między liniami
---na początku pliku Markdown. - Np. w Claude Code definiuje on nazwę, opis i parametry skilla lub subagenta.
- Reszta pliku Markdown to instrukcja systemowa dla AI.
- Frontmatter staje się interfejsem sterującym zachowaniem modelu.
Czym jest Frontmatter?
Frontmatter to blok YAML umieszczony na początku pliku Markdown.
--- title: "Co to jest Frontmatter" tags: [ai, markdown, yaml] draft: false ---
W klasycznych generatorach stron służył do SEO, routingu i layoutów. Można też powiedzieć, że służył do opisywania dokumentów (plików .md). GitHub Pages korzysta z tego dla swojej usługi.
Z kolei dzisiaj, w erze AI, w takich narzędziach jak Claude Code czy GitHub Copilot, Frontmatter pełni znacznie ważniejszą rolę — definiuje zachowanie AI. Zmienne pomiędzy --- można definiować według własnych potrzeb, lub w przypadku różnych systemów, trzeba się ich trzymać.
Frontmatter jako warstwa konfiguracji AI
Jeszcze kilka miesięcy temu praca z AI polegała głównie na tworzeniu samych promptów. Dzisiaj, gdzie powstają narzędzia wspierającą prace na wielu poziomach możemy tworzyć prompty, które będą uruchamiane na pewnych warunkach. Pisanie tego w samym prompcie nie było by optymalne, stąd użycie Frontmattera by mieć możliwość „konfiguracji”.
W takim Claude Code:
- Pliki
./claude/<name>/SKILL.mddefiniują umiejętności. - Pliki w katalogu
.claude/agents/definiują subagentów.
Frontmatter określa, kiedy i jak Claude ma ich używać.
Nie chcę wchodzić teraz w dokumentację, ale jako przykład w skillach ważne są następujące pola:
name– nazwa komendydescription– kiedy skill ma być użyty
Agenci mają swoje pola. W poniższych przykładach pokazuję przykładowe użycie Frontmattera do definicji każdego z nich.
Przykłady
Skill w Claude Code
Załóżmy, że w zespole często musimy tłumaczyć złożony kod juniorom. Tworzymy skill, który wymusza konkretną strukturę
odpowiedzi. Jego definicja mogłaby wyglądać następująco:
--- name: explain-code description: Use when user asks how the code works or needs architectural explanation. --- // Instrukcje skilla...
Najważniejsze znajduje się pomiędzy ---. Tu właśnie wykorzystywany jest Frontmatter przez Claude Code.
Subagent w Claude Code
Gdybyśmy chcieli zdefiniować agenta odpowiedzialnego za robienie code review w Claude Code, to musielibyśmy taki „kawałek” tekstu umieścić na początku pliku.
--- name: code-reviewer description: Use when reviewing pull requests or analyzing code quality. tools: Read, Glob, Grep model: sonnet permissionMode: acceptEdits --- // Dalsze instrukcje dla agenta.
Jak widzicie w powyższych przykładach metą dane Frontmatter w tym przypadku działają jak zmienne konfiguracyjne, które pozwalają aktywować odpowiednie rzeczy. Następnie w każdym z przypadków po tym bloku następuje zwykły tekst, który jest plikiem Markdown.
Dlaczego Frontmatter zmienia sposób pracy z AI?
Bo przestajemy pisać tylko prompty.
Zamiast tego:
- Tworzymy wersjonowane pliki
.md - Definiujemy zachowania systemowe
- Budujemy bibliotekę umiejętności
- Standaryzujemy pracę zespołu
Frontmatter staje się:
- Interfejsem API dla modelu
- Warstwą kontroli jakości
- Elementem architektury projektu
Kiedyś frontmatter mówił systemowi: „To jest artykuł o AI, opublikowany dziś”. Teraz mówi modelowi: „Masz być code reviewerem, używaj tych narzędzi i przestrzegaj tych zasad”. To subtelna, ale fundamentalna zmiana. Z opisu treści przechodzimy do opisu roli i kompetencji sztucznej inteligencji. Markdown przestaje być tylko nośnikiem wiedzy — staje się językiem konfiguracji zachowania modeli. Frontmatter ewoluuje z metadanych w mechanizm kontroli.