Przejdź do treści
Biblioteka skilli
AI i agenci · Automatyzacja

lwy-dispatch

/lwy-dispatch

Koordynuje zdarzenia haków IDE dla skilli learnwy: agreguje skany przy wysyłaniu promptu, zakończeniu sesji i jej starcie.

Repozytorium
skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
03.06.2026

Ocena i bezpieczeństwo

95/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść30 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
7
Skrypty
4
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 03.06.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • 4 skrypty w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: scripts/cli.cjs, scripts/hooks/session-start.cjs, scripts/hooks/stop.cjs, scripts/hooks/user-prompt-submit.cjs

Co robi i kiedy

Koordynuje zdarzenia haków IDE dla skilli learnwy: agreguje skany przy wysyłaniu promptu, zakończeniu sesji i jej starcie.

Oryginalny opis (EN)

Internal single-process coordinator for the three IDE-hook events used by the learnwy-* skills. UserPromptSubmit aggregates english-learner + llm-wiki + prompt-optimizer scans; Stop aggregates english-learner + knowledge-consolidation scans; SessionStart aggregates llm-wiki + english-learner + learnwy-status scans. Not user-invokable — installed automatically alongside the underlying skills. Triggers on every UserPromptSubmit / Stop / SessionStart event in Claude Code / Trae.

Jak działa

  1. Why
  2. What runs per event
  3. Installation
  4. Not for direct invocation
Sekcje z nagłówków SKILL.md, w oryginale · 57 linii, 435 słów
Podgląd SKILL.md
---
name: lwy-dispatch
description: "Internal single-process coordinator for the three IDE-hook events used by the learnwy-* skills. UserPromptSubmit aggregates english-learner + llm-wiki + prompt-optimizer scans; Stop aggregates english-learner + knowledge-consolidation scans; SessionStart aggregates llm-wiki + english-learner + learnwy-status scans. Not user-invokable — installed automatically alongside the underlying skills. Triggers on every UserPromptSubmit / Stop / SessionStart event in Claude Code / Trae."
metadata:
  author: "learnwy"
  version: "2.0"
---

# learnwy-dispatch

Single-process coordinator for the three IDE-hook events shared by the learnwy-* skills.

## Why

Before this skill, every event fired N separate hook commands — one Node process per skill — and the user saw N back-to-back `<system-reminder>` blocks per turn. That multiplies the per-turn hook startup cost (~50 ms × N vs ~50 ms) and clutters context.

This skill replaces those entries with **one hook per event** that imports each skill's pure scanner function, runs them in-process, and emits a single combined reminder.

## What runs per event

### UserPromptSubmit (`hooks/user-prompt-submit.cjs`)

| Order | Module | Returns reminder when |
|---|---|---|
| 1 | `english-learner/lib/prompt-scan.scanPrompt` | English ratio ≥ 0.6 OR Chinese learn-intent OR Chinese ratio ≥ 0.3 |
| 2 | `llm-wiki/lib/prompt-scan.scanPrompt` | wiki/topics.txt has any keyword overlapping a 4+ char word in the message |
| 3 | `prompt-optimizer/lib/prompt-scan.scanPrompt` | explicit "optimize my prompt" trigger OR long structured prompt-shape |

### Stop (`hooks/stop.cjs`)

| Order | Module | Returns reminder when |
|---|---|---|
| 1 | `english-learner/lib/stop-scan.scanStop` | Assistant response has 2–4 advanced English words worth surfacing |
| 2 | `knowledge-consolidation/lib/stop-scan.scanStop` | Response shows substantive resolution signals (race condition / regression / "subtle"), not session-local trivia |

### SessionStart (`hooks/session-start.cjs`)

| Order | Module | Returns reminder when |
|---|---|---|
| 1 | `llm-wiki/lib/session-scan.scanSession` | wiki/topics.txt exists — inject ≤30 topics |
| 2 | `english-learner/lib/session-scan.scanSession` | First session of the day — push 3 due-for-review cards |
| 3 | `learnwy-status/lib/session-scan.scanSession` | First session of the ISO week — prepend a compact cross-skill digest |

Each scanner is a pure `(message | payload) => string | null` (a couple have minor side effects: prompt-optimizer appends to `~/.learnwy/prompt-optimizer/events.jsonl`; KC writes a debounce stamp).

If any scanner throws, the failure is swallowed and the others still run.

## Installation

This skill is installed by `pnpm run install:hooks` like any other skill. The corresponding `UserPromptSubmit` entries in `english-learner`, `llm-wiki`, and `prompt-optimizer` `hooks.json` files have been removed — only this skill registers a UserPromptSubmit handler now.

After upgrading from a version without `learnwy-dispatch`, run:

```bash
pnpm run uninstall:hooks   # remove the old per-skill UserPromptSubmit entries
pnpm run install:hooks     # install the dispatcher (and re-register the others)
```

The `pnpm run install:hooks` orchestrator performs an uninstall sweep before installing, so you can re-run it any time as a one-shot, idempotent operation.

## Not for direct invocation

There is no user-facing slash command and no `cli.cjs <subcommand>` other than `install` / `uninstall`. The skill description's trigger keywords exist purely so the AI surface area knows it is registered — direct invocation has no value.
Pliki w paczce (7)
  • SKILL.md 4 KB
  • hooks.json 1 KB
  • references/conditional-reflection.md 16 KB
  • scripts/cli.cjs 17 KB
  • scripts/hooks/session-start.cjs 25 KB
  • scripts/hooks/stop.cjs 14 KB
  • scripts/hooks/user-prompt-submit.cjs 19 KB

Wersje

W bazie nie ma innych skilli o nazwie lwy-dispatch.

Migawka bazy z 28.10.2026 · wersja paczki e1c7f8762407 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90lwy-status
    Zbiera w jeden raport stan danych użytkownika: postępy w słownictwie, stan wiki, trendy optymalizatora promptów i rozmiar logów.
  • 100lwy-llm-wiki
    Buduje i utrzymuje stale rosnącą bazę wiedzy: wchłania książki, artykuły, notatki, podcasty, filmy i czaty Feishu, a przed odpowiedzią na złożone pytania sprawdza wiki w ~/.learnwy/llm-wiki/.
  • 100skill-018
    Pomaga tworzyć i konfigurować hooki Claude Code: zdarzenia PreToolUse, PostToolUse, Stop i SessionStart oraz walidację poleceń.
  • 90Codex CLI Hooks
    Tworzy i konfiguruje hooki Codex CLI: zdarzenia sesji, blokowanie poleceń oraz format wejścia i wyjścia.
  • 95hook-development
    Tworzy i waliduje hooki zdarzeń w Claude Code: PreToolUse, PostToolUse, Stop, SessionStart i inne, także blokowanie niebezpiecznych poleceń.
  • 95hook-development
    Prowadzi przez tworzenie hooków Claude Code (PreToolUse, PostToolUse, Stop, SessionStart i inne), w tym walidację użycia narzędzi, hooki oparte na promptach i blokowanie niebezpiecznych poleceń.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.