Wspólna nauka — po każdym fix-phase / multi-file change / non-trivial task przejrzyj sesję i zdecyduj czy warto zapisać lekcję (nową lub update istniejącej). Triggeruj proaktywnie po PR-ach, fazach audytu, zamknięciu commit'u, każdej okazji gdy coś poszło nie tak / fix wprowadził nowy bug / wykryłem powtarzający się pattern. Skip dla trivial reads, pure refactors bez błędów, doc updates. ALWAYS-CONFIRM przed zapisem.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill lessons-update --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Lessons Update?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-lessons-update)More formats (shields.io, HTML) on the badges page.
---
name: lessons-update
description: Wspólna nauka — po każdym fix-phase / multi-file change / non-trivial task przejrzyj sesję i zdecyduj czy warto zapisać lekcję (nową lub update istniejącej). Triggeruj proaktywnie po PR-ach, fazach audytu, zamknięciu commit'u, każdej okazji gdy coś poszło nie tak / fix wprowadził nowy bug / wykryłem powtarzający się pattern. Skip dla trivial reads, pure refactors bez błędów, doc updates. ALWAYS-CONFIRM przed zapisem.
---
# Lessons Update — wspólny skill nauki
Cel: po każdym non-trivial task wyciągnąć to czego się nauczyliśmy i zachować jako persistent memory, żeby kolejne sesje nie powtarzały tych samych błędów. Memory ładuje się przez SessionStart hook (project-scoped), więc każda zapisana lekcja zwiększa baseline competence wszystkich przyszłych sesji.
## Kiedy uruchamiać
**Triggery proaktywne** (sam to wywołaj, nie czekaj):
- Po `gh pr merge` / commit zakończonym
- Po fazie audytu (Faza 1/3/4/5/...)
- Po multi-file change (≥3 pliki) lub multi-step task
- Po wykryciu fix-induced regression (najgorszy signal — fix wprowadził nowy bug)
- Po backtracking (musiałeś cofnąć decyzję)
- Po surprise (kod zachowywał się inaczej niż zakładałeś)
**Skip rules**:
- Trivial reads (sprawdzanie statusu, ls, grep do informacji)
- Pure refactors bez napotkania błędów
- Documentation updates
- Akcje które tylko klikają w UI / ustawiają flagi
- Powtarzanie znanego procesu bez nowych wniosków
**Jawny trigger od usera**: `/lessons-update` lub "zaktualizuj lessons" / "co się nauczyliśmy?".
## Workflow
### Krok 1: Recap
Streszcz w 1-3 zdaniach co właśnie zostało zrobione. To context dla decyzji "warto / nie warto".
### Krok 2: Reflection — 5 pytań
Przejdź po sesji i odpowiedz uczciwie. Każde "tak" = kandydat na lesson:
1. **Czy coś się nie udało lub zaskoczyło?** (TS error po commit, edge case który zignorowałem, fail w MCP call)
2. **Czy musiałem backtrack'ować lub fix'ować fix?** ⚠️ **Najwyższy signal** — fix-induced regressions.
3. **Czy coś założyłem co się okazało nieprawdą?** (np. "bonus_analyses jest w migracjach", "invokeEdge zwraca FunctionsHttpError shape")
4. **Czy widzę pattern który może się powtórzyć?** (np. "subagent zaraportował clean ale nie sprawdził callerów")
5. **Co bym chciał wiedzieć upfront następnym razem?**
### Krok 3: Detect duplicates
Dla każdego kandydata, **najpierw sprawdź czy już istnieje lesson** w `memory/`:
```bash
# Cwd guard — wykryj projekt
PROJ_MEM="$HOME/.claude/projects/$(pwd | sed 's|/|-|g' | sed 's|^-||')/memory"
# fallback: kto-ma-racje
[ -d "$PROJ_MEM" ] || PROJ_MEM="$HOME/.claude/projects/D--Projects-kto-ma-racje/memory"
# Search by keyword from candidate
grep -li "<keyword>" "$PROJ_MEM"/lesson_*.md
```
Jeśli istnieje pasująca lekcja:
- **Update path** (krok 5) — append nowy case do istniejącej
- NIE twórz duplikatu
Jeśli nie istnieje:
- **Create path** (krok 4) — nowa lekcja
### Krok 4: Create new lesson
**Filename convention**: `lesson_<short_topic>.md` (lub `feedback_*` jeśli to feedback procesowy, nie technical anti-pattern).
**Template**:
```markdown
---
name: <short title — pasuje do MEMORY.md one-linera>
description: <jednozdaniowy trigger phrase — keyword który mam zobaczyć w przyszłym kodzie>
type: lesson | feedback
---
**Reguła**: <jednozdaniowa zasada do zapamiętania>
**Why**:
<konkretny case z sesji — co się stało, dlaczego, jaki był koszt (wasted hours, regresja, security gap, RODO leak). MUSI być specyficzny: file:line, error message, exact symptom. Bez "uważaj na bugi".>
**How to apply**:
- <konkretny check do wykonania w przyszłości — bullet point>
- <grep / pattern / file path do sprawdzania>
- <link do related lesson jeśli pasuje>
**Occurrences**:
- <data> — <session ID jeśli masz, inaczej krótki opis>: <co się stało>
```
### Krok 5: Update existing lesson
Jeśli pattern się powtórzył, dopisz **nowy occurrence** do istniejącej lekcji:
```markdown
**Occurrences**:
- 2026-04-25 — original case: <opis>
- 2026-05-02 — <new case>: <co się stało, czemu pattern się powtórzył mimo lekcji>
```
Plus jeśli reflection ujawnia **nową fasetę patternu** której wcześniej nie było:
- Dopisz do **How to apply** nowy bullet
- Update **Reguła** jeśli się rozjeżdża (rzadko — większość patternów jest stała)
### Krok 6: ALWAYS-CONFIRM gate
**Zanim zapiszesz**, pokaż userowi:
```
Proponuję [nową lekcję | update lesson_X]:
═══════════════════════════════════
<draft content>
═══════════════════════════════════
Decyzja:
- ok / save → zapisuję
- skip / nie warto → pomijam
- change <co zmienić> → poprawiam
```
User decyduje. NIE zapisuj automatycznie.
### Krok 7: MEMORY.md index update (jeśli nowa lekcja)
Po zapisie nowej lekcji:
1. Read `MEMORY.md`
2. Dodaj one-liner w odpowiedniej sekcji (Lessons / Process / Project)
3. Format: `- [<title>](<file>.md) — <hook keyword + jednozdaniowa esencja>`
4. **Optymalizuj pod recognition** — keyword który mam zobaczyć w kodzie aby skojarzyć z lekcją
Limity: MEMORY.md ≤ 200 linii / ≤ 10KB. Jeśli przekracza, zaproponuj `/anthropic-skills:consolidate-memory`.
### Krok 8: Confirm save + close
Po zapisie potwierdź userowi:
```
✅ Saved: <path>
Index updated: <one-liner added/refreshed>
Active in next session via SessionStart hook (~/.claude/hooks/auto-load-lessons-kmr.sh).
```
## Heuristyki jakości lekcji
**DOBRA lekcja**:
- Specyficzna: file:line, error code, exact pattern
- Trigger-friendly: keyword w opisie który ja zobaczę w przyszłym kodzie
- Actionable: "How to apply" ma checks/greps/triggers, nie ogólne rady
- Bounded: jedna lekcja = jeden pattern (nie kombo 3 niezwiązanych)
**ZŁA lekcja** (nie zapisuj):
- "Uważaj na bugi" / "Pisz dobre testy"
- Restating dokumentacji frameworka (znajdę w docs)
- Trivia o jednym pliku które nie powtarza się (use comment in code, not memory)
- Duplikaty istniejących lekcji bez nowego signal
## Self-check przed wywołaniem
Zanim invoke'uję ten skill, zadaj sobie:
- Czy jest cokolwiek z 5 pytań reflection do zachowania? Jeśli **wszystkie nie** → skip skill, NIE wywołuj.
- Jeśli jest 1+ kandydat → invoke i przejdź workflow.
## Integracja z innymi skillami
- **`full-audit` v2**: na końcu każdej fazy audytu (Faza 1/3/4/5/...) explicit wskazuje "now invoke lessons-update". Dodaj sentence do report sekcji "PLAN NAPRAWY" w full-audit.
- **`anthropic-skills:consolidate-memory`**: gdy MEMORY.md > 200 linii, ten skill prosi o uruchomienie consolidate-memory zamiast dalej dorzucać.
- **`session-summary`**: na koniec sesji może wywołać lessons-update jako ostatni step.
## Auto-detect project
Hook ładuje lessons na podstawie cwd. Ten skill MUSI zapisywać do tego samego folderu memory:
```bash
# Detect project memory dir
CWD_LOWER=$(pwd | tr '[:upper:]' '[:lower:]')
case "$CWD_LOWER" in
*kto-ma-racje*) PROJ_MEM="$HOME/.claude/projects/D--Projects-kto-ma-racje/memory" ;;
*) PROJ_MEM="$HOME/.claude/projects/$(pwd | sed -e 's|^/c|C-|' -e 's|/|-|g' -e 's|^-||' -e 's|^C--|D--|')/memory" ;;
esac
```
Dla nowych projektów: jeśli memory dir nie istnieje, `mkdir -p` plus utworzenie pustego MEMORY.md indexu.
## Output do user (final summary)
Po skończonym workflow, podsumuj:
```
Lessons review:
- Reflected on N kandydatów
- Saved: M nowych / K updated existing
- Skipped: J (reasons listed)
MEMORY.md: <linecount> linii (limit 200), <KB>KB
Co poszło najlepiej w tej sesji: <jedna fraza>
Co najbardziej kosztowało: <jedna fraza>
```
To zamyka pętlę nauki — user widzi jakie lekcje wpadły do długoterminowej pamięci.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!