---
name: Miro-ghostwriter-interviewer
description: |
  Interaktivní rozhovor pro zachycení pisatelského hlasu do ghostwriter profilu.
  Použij VŽDY když uživatel chce vést rozhovor o stylu psaní, upřesnit profil,
  odpovídat na otázky o svém psaní, nebo když říká 'interview', 'rozhovor',
  'upřesni profil', 'zeptej se mě', 'ask me about my writing'.
  Funguje v režimu jedna otázka na invokaci - profil je stav.
allowed-tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - AskUserQuestion
---

# Ghostwriter Interviewer

Interaktivní rozhovor pro zachycení pisatelského hlasu. Každá invokace = jeden
interview cyklus: načti profil, najdi mezeru, polož otázku, ulož odpověď, navrhni další krok.

Profil je stav - uživatel re-invokuje skill pro další otázku.

Toto je lehký skill - žádné spawnování agentů.

---

## Vstupní flow

### 1. Parsování argumentů

Extrahuj z uživatelského příkazu:

| Argument | Výchozí | Popis |
|----------|---------|-------|
| `{jmeno}` | ptej se | Jméno osoby (malá písmena, bez diakritiky pro cestu) |
| `--section X` | auto-detect | Cílová sekce (A-I) - přeskočí gap detection |

**Příklady spuštění:**
- `/Miro-ghostwriter-interviewer miroslav`
- `/Miro-ghostwriter-interviewer miroslav --section C`
- `/Miro-ghostwriter-interviewer` (zeptá se na jméno)

### 2. Zjisti jméno

Pokud jméno nebylo zadáno, zeptej se:

```
Pro koho chceš vést rozhovor? Zadej jméno osoby.
```

Z jména odveď:
- **display_name:** Původní jméno s diakritikou (pro komunikaci)
- **slug:** Malá písmena, bez diakritiky, mezery nahrazené pomlčkou (pro cestu)
- **profile_path:** `agents/personas/ghostwriter-profiles/{slug}-style.md`

### 3. Načti profil

Přečti profil pomocí Read:
```
agents/personas/ghostwriter-profiles/{slug}-style.md
```

**Pokud profil neexistuje:**
```
Profil pro {display_name} neexistuje. Nejdřív spusť profiler:
/Miro-ghostwriter-profiler {slug}

Interviewer obohacuje existující profily - netvoří nový od nuly.
```
Ukonči skill.

**Concurrency guard:**
Pokud `last_enriched` v profilu je mladší než 1 minuta, varuj:
```
Profil byl upraven před méně než minutou. Pokračovat?
```
Neblokuj - pokračuj po potvrzení.

### 4. Načti schéma

Přečti schéma profilu:
```
agents/personas/ghostwriter-profiles/_schema.md
```

---

## Gap detection

### Pokud `--section` zadáno

Cíl = zadaná sekce. Přeskoč automatickou detekci.
Ověř, že sekce není `complete` - pokud je, informuj a nabídni jinou.

### Pokud `--section` nezadáno

Přečti `sections:` status z frontmatter profilu.
Najdi první sekci se statusem `draft` nebo `pending` v tomto prioritním pořadí:

**C > A > F > B > D > E > G > H > I**

Proč toto pořadí:
- C (Anti-Patterns) - nejvyšší hodnota dle Every.to výzkumu
- A (Voice & Tone) - fundament hlasu
- F (Signature Moves) - zachycuje unikátnost
- B, D - doplňují L1 základ
- E, G, H, I - L2/L3 hloubková práce

**Pokud všechny sekce jsou `complete`:**
```
Profil {display_name} je komplexní - všechny sekce jsou kompletní.

Možnosti:
- Poskytnout nové vzorky pro enrichment: /Miro-ghostwriter-profiler --enrich {slug}
- Zkontrolovat kvalitu: /Miro-ghostwriter-profiler --review {slug}
- Pokud se tvůj styl změnil, řekni a zaměříme se na konkrétní sekci.
```
Ukonči skill.

---

## Generování otázky

### 1. Načti banku otázek

Přečti `references/interview-questions.md` (relativní k tomuto skill adresáři).

### 2. Vyber otázku

Postup:
1. Určit cílovou sekci (z gap detection nebo `--section`)
2. Zkontrolovat stav sekce:
   - **pending (prázdná):** Vyber otázku označenou [F] (foundational)
   - **draft (částečně vyplněná):** Vyber otázku označenou [R] (refining)
3. Preferuj typ otázky podle rotace: MC > Reaction > Open-ended > Contrast
   (pokud profil obsahuje Interview Log, podívej se na typ poslední otázky a vyber následující)
4. Pokud otázka typu Reaction nebo Contrast potřebuje kontext,
   použij obsah z existujícího profilu nebo vygeneruj typický AI odstavec jako stimul

### 3. Polož otázku

Prezentuj uživateli JEDNU otázku. Formát:

```
Sekce {X}: {název sekce}
Status: {pending/draft}

{Text otázky}
```

Použij AskUserQuestion pro získání odpovědi.

---

## Routování odpovědi

### 1. Přiřazení k sekci

Odpověď automaticky směruj do sekce, na kterou cílila otázka.

### 2. Křížové reference

Pokud odpověď zasahuje do více sekcí:
- Zapiš hlavní obsah do primární sekce
- Přidej krátkou poznámku do sekundární sekce s odkazem

**Příklad komunikace:**
```
Aktualizováno sekce C (Anti-Patterns): "NIKDY nekončit generickým shrnutím."
Také zaznamenáno v sekci B (Structure) - uzavírání textu.
```

### 3. Detekce konfliktu

Porovnej odpověď s existujícím obsahem sekce.

**Pokud nalezen konflikt:**
```
Tvůj profil aktuálně říká: "{existující hodnota}"
Právě jsi řekl/a: "{nová hodnota}"

Aktualizovat na novou hodnotu?
```

Nepokračuj s routováním, dokud není konflikt vyřešený.
Log rozhodnutí v Interview Log.

### 4. Kontrola prahu dokončení

Po zápisu zkontroluj prahy ze schématu:

| Sekce | Práh "complete" |
|-------|-----------------|
| A | 5+ tension bullets + persona/audience definovány |
| B | Vzorce otevření + uzavření popsány |
| C | 5+ Pattern/Solution párů |
| D | 3+ oblíbené fráze + 3+ zakázaná slova |
| E | Délkový rozsah + 2+ rytmická pozorování |
| F | 3+ pojmenované moves s 2+ příklady každý |
| G | 3+ pozitivní + 2+ negativní ukázky s vysvětleními |
| H | 2+ platformní adaptace popsány |
| I | 5+ testovatelných kritérií |

Pokud sekce dosáhla prahu, aktualizuj status v frontmatter na `complete`.

---

## Zápis do profilu

### 1. Aktualizace obsahu

Použij Edit tool pro úpravu konkrétní sekce v profilu.
- Přidej nový obsah na konec existujícího obsahu sekce
- NIKDY nepřepiš existující obsah (kromě řešení konfliktu)
- Zachovej formátování sekce dle schématu

### 2. Aktualizace frontmatter

Použij Edit tool pro úpravu frontmatter:
- `last_enriched:` nastav na dnešní datum
- `sections.{X}:` aktualizuj status pokud dosažen práh
- `level:` zvyš pokud všechny sekce dané úrovně kompletní
  - L1: A, B, C, D, J vše `complete` - level: 2
  - L2: + E, F, G vše `complete` - level: 3
  - L3: + H, I vše `complete` - level zůstává 3

### 3. Zápis do Interview Log

Přidej záznam na konec sekce "Interview Log" v profilu:

```markdown
### {dnešní datum} - Sekce {X}

- Otázka: {zkrácený text otázky}
- Odpověď: {klíčové body z odpovědi}
- Akce: {co bylo zapsáno a kam}
{pokud konflikt:}
- Konflikt: {původní} vs. {nové} - zvoleno {rozhodnutí} protože {důvod}
```

---

## Návrh dalšího kroku

Po zápisu prezentuj uživateli:

```
Hotovo. {Co bylo zapsáno a kam.}

Další kroky:
1. Další otázka: /Miro-ghostwriter-interviewer {slug}
{pokud sekce dosáhla prahu:}
2. Sekce {X} je kompletní. Zkus sekci {Y}: /Miro-ghostwriter-interviewer {slug} --section {Y}
{pokud všechny L1 sekce kompletní:}
3. Profil je připravený pro writer skill.
```

Vždy nabídni re-invokaci skillu pro další otázku.

---

## Konvence cest

- **Profily:** `agents/personas/ghostwriter-profiles/{slug}-style.md`
- **Schéma:** `agents/personas/ghostwriter-profiles/_schema.md`
- **Reference:** `{skill_dir}/references/` (tento skill adresář)
- **slug:** malá písmena, bez diakritiky, pomlčky místo mezer
  - "Jan Toborik" -> `jan-toborik`
  - "Miroslav" -> `miroslav`
  - "Tereza Svobodova" -> `tereza-svobodova`

---

## Omezení a hranice

- Tento skill **doplňuje** existující profil rozhovorem. Neanalyzuje vzorky.
- Pro analýzu vzorků použij `Miro-ghostwriter-profiler`.
- Pro psaní obsahu hlasem osoby bude sloužit budoucí `Miro-ghostwriter-writer`.
- Každá invokace = jeden cyklus (jedna otázka + odpověď + zápis).
  Pro další otázku uživatel re-invokuje skill.
- Profil soubor JE stav - není třeba externí paměť.
