Lekcja 11 · Drugie kryterium sukcesu z Twojej misji

Warsztat: napisz swój pierwszy własny subagent

W Lekcji 4 poznałeś anatomię subagentów i sam wywołałeś wbudowanego Explore. Zostało drugie zdanie z Twojej misji: "masz napisany i realnie używany co najmniej jeden własny subagent w prawdziwym projekcie". Ten workspace ma realną, powtarzalną potrzebę — zbudujmy subagenta, który ją zaspokaja.

Polecane źródło Create custom subagents — Claude Code Docs — ta sama strona co w Lekcji 4, tym razem sekcja o wyborze modelu i narzędzi dla subagenta.

Realna luka w tym workspace

Za każdym razem, gdy tworzę nową lekcję, powinienem sprawdzić: czy quiz ma opcje zbliżonej długości (konwencja z CLAUDE.md), czy linki w lesson-nav prowadzą do plików, które faktycznie istnieją, czy source-rec wskazuje źródło obecne w RESOURCES.md, czy lekcja reużywa assets/style.css i assets/quiz.js zamiast duplikować style. Robiłem to dotąd ręcznie i niesystematycznie. To dokładnie zadanie dla subagenta: samodzielne, read-only, z jasnym kryterium sukcesu.

Kluczowy wniosek: ten subagent nie potrzebuje żadnych narzędzi do edycji — tylko Read, Grep, Glob. Ograniczenie tools we frontmatterze to nie tylko oszczędność, to zabezpieczenie: recenzent, który przypadkiem coś nadpisze, przestaje być recenzentem.

Dobór modelu do zadania

Z dokumentacji kosztów (Lekcja 9): dla prostych, dobrze zdefiniowanych zadań subagenta warto ustawić model: haiku zamiast dziedziczyć droższy model głównej rozmowy. Sprawdzanie zgodności z checklistą to dokładnie taki przypadek — nie wymaga głębokiego rozumowania, tylko konsekwentnego porównania z regułami.

Zadanie praktyczne — lesson-reviewer

Utwórz plik .claude/agents/lesson-reviewer.md z taką zawartością:

---
name: lesson-reviewer
description: Review a lesson HTML file in lessons/ for consistency with
  this workspace's conventions (CLAUDE.md, reference/glossary.html)
  before it's considered done. Use after creating or editing a lesson.
tools: Read, Grep, Glob
model: haiku
---

Sprawdzasz jeden plik lekcji z lessons/ pod katem zgodnosci z
konwencjami tego workspace. Przeczytaj CLAUDE.md i
reference/glossary.html, potem sam plik lekcji, i zweryfikuj:

1. Lekcja linkuje ../assets/style.css i ../assets/quiz.js, i nie
   duplikuje inline stylow ani skryptu quizu.
2. source-rec istnieje i wskazuje zrodlo obecne w RESOURCES.md.
3. W kazdym pytaniu quizu wszystkie cztery opcje maja zblizona
   dlugosc (slowa/znaki) — zaznacz kazde pytanie, gdzie jedna opcja
   wyraznie odstaje.
4. lesson-nav ma dwa linki (poprzednia/nastepna lekcja) i oba
   wskazuja pliki, ktore faktycznie istnieja w lessons/ lub
   reference/.
5. Terminologia uzyta w lekcji (np. "hook", "skill", "subagent")
   jest spojna z definicjami w reference/glossary.html.

Zwroc krotka liste kontrolna: OK albo opis problemu przy kazdym
z pieciu punktow. Nie edytuj zadnego pliku — tylko raportuj.
  1. Zapisz plik dokładnie w tej ścieżce: .claude/agents/lesson-reviewer.md.
  2. Poproś mnie wprost: "użyj lesson-reviewer, żeby sprawdzić Lekcję 10".
  3. Sprawdź w odpowiedzi, czy dostałeś zwięzłą listę kontrolną, a nie surowy dziennik przeszukiwania plików.

Sprawdź się

1. Dlaczego lesson-reviewer dostaje tylko Read, Grep i Glob, a nie pełny zestaw narzędzi?

Ograniczenie tools we frontmatterze to zabezpieczenie zgodne z rolą: recenzent, który przypadkiem mógłby nadpisać plik, przestaje być wiarygodnym recenzentem.

2. Dlaczego dla lesson-reviewer wybrano model: haiku zamiast dziedziczenia modelu z głównej rozmowy?

Zasada z Lekcji 9: dla prostych zadań subagenta (jak sprawdzenie checklisty) tańszy model wystarcza — droższy model warto zostawić na złożone rozumowanie i decyzje architektoniczne.

3. Co dokładnie wraca do Twojej głównej rozmowy po pracy lesson-reviewer nad Lekcją 10?

Subagent zwraca streszczenie — w tym wypadku zaprojektowaną listę kontrolną. Nie edytuje plików (nie ma do tego narzędzi) i nie zwraca surowego procesu przeszukiwania.

4. Które dwa pola frontmatteru są konieczne, żeby lesson-reviewer w ogóle zadziałał jako subagent?

Tak jak w Lekcji 4: tylko name i description są wymagane. tools i model są opcjonalne — dodaliśmy je świadomie, żeby zawęzić zakres i koszt tego konkretnego subagenta.

5. Chcesz, żeby cały zespół dostał tego samego lesson-reviewer przez git. Gdzie musi leżeć plik?

Podobnie jak przy skillach (Lekcja 3, 10) i hookach (Lekcja 6): wersja projektowa w .claude/agents/ trafia do gita i dociera do całego zespołu, a ~/.claude/agents/ zostaje tylko na Twoim komputerze.
Coś niejasne? Zapytaj mnie wprost — mogę pomóc rozszerzyć lesson-reviewer o kolejne kryteria, albo zaprojektować subagenta pod inne powtarzalne zadanie z Twojej prawdziwej pracy.
← Lekcja 10: Twój pierwszy skill Następna lekcja: Pluginy i marketplace'y — dystrybucja dla całego zespołu →