learnlisted
Install: claude install-skill taipt1504/claudehut
## Dispatch contract (read this FIRST)
This phase runs as a **subagent**, not inline in the main thread.
Main thread = orchestrator (context, memory, advisor, task tracking, user
dialog). Phase work = subagent (isolated context, per-phase model).
When you read this skill, you **MUST** invoke the Task tool:
```
Task(
subagent_type = "claudehut-learner",
prompt = <output of scripts/dispatch-prompt.sh "$ARGUMENTS">
)
```
Render the prompt by running `$CLAUDE_PLUGIN_ROOT/skills/learn/scripts/dispatch-prompt.sh "$ARGUMENTS"` and pass the stdout verbatim as the Task `prompt` argument. The script composes user intent + stack signals + conventions + recent learnings + prior-phase artifacts deterministically.
Do **not** execute the phase steps yourself in the main thread.
Await the subagent's return, review the artifact it wrote, surface a
concise status back to the user.
**Red flags that say "skip dispatch"** (counter each, do not give in):
| Rationalization | Reality |
|---|---|
| "This task is small — I'll inline it." | Inline = no isolated context + wrong model + breaks workflow gate. **Dispatch.** |
| "Subagent context is overkill." | This phase intentionally runs on `haiku`. Main thread may be a different model — wrong tool. **Dispatch.** |
| "Nothing new learned — skip." | Learner extracts patterns even from routine tasks (recurring signatures promote to global). **Dispatch.** |
| "I can append to learnings.jsonl myself." | Memory-privacy regex + categorizatio