learnwy/skills

lwy-dispatch

Internal single-process coordinator for the three IDE-hook events used by the learnwy-* skills.

First seen Jun 4, 2026

Installation

$ npx skills add learnwy/skills --skill lwy-dispatch

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from learnwy/skills · top by installs.

npx skills add learnwy/skills

Browse all from learnwy/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 4
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0
Declared agents claude-code
More metadata
author
learnwy
version
2.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,686 B
  • docs SUMMARY.md 502 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9 installs

SKILL.md

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:

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.