Lekcja 11 · Drugie kryterium sukcesu z Twojej misji
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.
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.
Read, Grep, Glob. Ograniczenie tools we frontmatterze to nie tylko oszczędność, to zabezpieczenie: recenzent, który przypadkiem coś nadpisze, przestaje być recenzentem.
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.
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.
.claude/agents/lesson-reviewer.md.1. Dlaczego lesson-reviewer dostaje tylko Read, Grep i Glob, a nie pełny zestaw narzędzi?
2. Dlaczego dla lesson-reviewer wybrano model: haiku zamiast dziedziczenia modelu z głównej rozmowy?
3. Co dokładnie wraca do Twojej głównej rozmowy po pracy lesson-reviewer nad Lekcją 10?
4. Które dwa pola frontmatteru są konieczne, żeby lesson-reviewer w ogóle zadziałał jako subagent?
5. Chcesz, żeby cały zespół dostał tego samego lesson-reviewer przez git. Gdzie musi leżeć plik?