---
name: module-howto
disable-model-invocation: true
description: "Bedienungsanleitung für das imp-assistant-Repo — Handlung im Moment: Scout starten, distill-Review fahren und mergen, Metriken/Konstruktions-Review ansehen, neuen Skill anlegen. Nur explizit per /module-howto aufrufen. Referenz-Doku steht im README, nicht hier."
---

# How-to — imp-assistant bedienen

Rezepte für die vier häufigsten Handgriffe. Architektur, Lern-Loops und
Boundary-Regel stehen im README — hier nichts doppeln.

**Volle Übersicht aller Skills → lies `memory/state/skills-overview.md`**
(generiert, eine Quelle für README und dieses How-to).

---

## 1. Scout manuell starten

Im Repo (Claude Code) sagen: **„Scout starten"** (content-scout) oder
**„neue Kontakte suchen"** (outreach-scout). Der Scout lädt Rules + IDs
selbst, schreibt Treffer nach Notion/Attio und loggt Events nach
`memory/logs/<key>/run-<ID>.jsonl`.

Vorher prüfen, wenn der letzte Lauf länger her ist: Sind in Notion
genug Quellen auf „Aktiv"? (Scout-Quellen-DB, Paul setzt manuell.)

## 2. distill-Review fahren + mergen

Je Eigentümer (Memory-Key), sobald Events aufgelaufen sind:

```
bash scripts/distill.sh voice-linkedin        # oder: voice-core, voice-email,
                                              # outreach-brief, linkedin-ghostwriter,
                                              # content-scout, outreach-scout
```

Der Output ist ein **Diff-Vorschlag** gegen `memory/rules/<key>.md` —
es wird nie automatisch geschrieben. Merge:

1. Diff lesen; bei Kanal-Skills den Routing-Hinweis beachten
   (universelle Muster → `voice-core.md` statt Kanal-Datei).
2. Tragfähige Regeln von Hand in die Rules-Datei übernehmen.
3. Committen: `<key>: Regeln aus Distill <Datum> übernommen`

Optional `--llm` ans Script anhängen — formuliert die Regel-Entwürfe vor.

## 3. Metriken / Konstruktions-Review ansehen

```
bash scripts/metrics.sh
```

- `metrics/correction.csv` — Korrekturrate je Schreib-Skill (sinkend = Rules wirken)
- `metrics/acceptance.csv` — Scout-Outcomes (positiv / verworfen)
- `metrics/linkedin-construction.csv` — Engagement je Hook-Typ. Vorher den
  Spiegel auffrischen: in Claude Code sagen „aktualisiere den
  LinkedIn-Performance-Spiegel" (holt Kalender-Zahlen via Notion-MCP nach
  `metrics/linkedin-performance.json`).

Konstruktions-Erkenntnisse aus dem Review von Hand nach
`memory/rules/linkedin-ghostwriter.md` committen — bewusst kein Auto-Distill.

## 4. Neuen Skill anlegen

1. Ordner **flach**: `.claude/skills/<klasse>-<name>/SKILL.md` —
   Präfix `agent-` (macht einen Job, invocable), `voice-` (Ton,
   `disable-model-invocation: true`), `module-` (Baustein, Flag je nach Zweck).
2. Description: Keywords in die ersten ~250 Zeichen.
3. Soll er lernen? Memory-Block nach Contract
   (`.claude/skills/_shared/memory-contract.md`): Familie wählen,
   Memory-Key in die Contract-Tabelle, Capture-Ziel nach Routing-Regel,
   `memory/rules/<key>.md` leer anlegen (Kopf wie bei den bestehenden).
4. `bash scripts/gen-overview.sh` — Übersicht und README aktualisieren sich.
5. Committen: `<skill-name>: angelegt — <Zweck>`
