# Prompt Pipeline Sync System

## Überblick

Alle Pipeline-Prompts sind im Repo versioniert unter `prompts/`. Bei Änderungen werden sie automatisch zu den OpenClaw Cron-Jobs synchronisiert.

## Architektur

```
prompts/*.md (Source of Truth)
       ↓
   Git Commit
       ↓
 Pre-Commit Hook (optional: Merge mit Cron)
       ↓
   Git Push
       ↓
 GitHub Action (sync-cron.yml)
       ↓
 openclaw cron edit → Cron Job aktualisiert
```

## Cron Job IDs

| Prompt | Cron Job ID |
|--------|-------------|
| s1a-akquise-discovery.md | e85af041-6e72-4773-9513-1a2f0ca1a8c1 |
| s1d-data-collection.md | 6081d890-bd1a-4006-8ebe-a9fc5380d7eb |
| s1g-creative-design-review.md | 563f0e79-dd38-4d2f-9b95-9cc164b81210 |
| s2-website-builder.md | 6addbf93-d671-4880-acb9-05b70d2072af |
| s3-qa-review.md | a4b18a30-0f01-48c1-8fae-0a34cd16c0ea |
| s4-design-review.md | a012907e-66f3-42a8-91f4-5b280159eda9 |
| s6a-akquise-vorbereitung.md | 6ab77edf-2738-4190-acbc-b03a7e10b2d0 |
| s6b-email-timer.md | f7a72879-eef9-4af3-b1c5-df6b95753d14 |
| s7-site-health.md | TODO-S7-CRON-ID-NACH-OPENCLAW-REGISTRIERUNG |

## Prompt bearbeiten

1. **Über GitHub Editor** (einfachste Methode):
   - Öffne https://github.com/Minicon-eG/website-agentic-website-pipeline/tree/main/prompts
   - Klick auf die Datei → Edit Button
   
2. **Lokal bearbeiten**:
   ```bash
   cd C:\working\website-agentic-website-pipeline
   code prompts\s2-website-builder.md
   ```
   
3. **Im Editor öffnen** (vom Pipeline Dashboard):
   - Öffne /pipeline Prompts Seite
   - Klick auf "bearbeiten" Link

## Workflow: Prompt ändern → Cron aktualisieren

### 1. Prompt bearbeiten

```bash
# Lokal editieren
cd C:\working\website-agentic-website-pipeline
# Edit prompts/s2-website-builder.md
```

### 2. Commit (Pre-Commit Hook läuft automatisch)

Der Pre-Commit Hook:
- Liest aktuellen Cron-Prompt via API
- Wenn Cron neuer ist → Merge (Cron → File)
- Führt `git pull --rebase` aus
- Dann kannst du committen

```bash
git add prompts/s2-website-builder.md
git commit -m "fix: S2 Builder - Bilder-Download nach Schritt 3"
git push origin main
```

### 3. GitHub Action synct zu Cron

Die Action `sync-cron.yml` läuft bei:
- Push mit Änderungen in `prompts/**`
- Push mit Änderungen in `.github/workflows/sync-cron.yml`
- Manuell über GitHub Actions UI

Action läuft auf `self-hosted` Runner (llm.local) damit `localhost:18789` erreichbar ist.

### 4. Verifikation

```bash
# Cron-Job prüfen
openclaw cron list | Select-String "S2 Builder"
```

## Scripts

| Script | Beschreibung |
|--------|--------------|
| `scripts/sync-cron.ps1` | Sync einzelne oder alle Prompts zu Cron Jobs |
| `scripts/pre-commit-hook.ps1` | Pre-Commit Hook für Merge + Pull |
| `scripts/sync-via-websocket.js` | Alternative WebSocket-Sync (backup) |

## Troubleshooting

### Pre-Commit Hook blockiert

```bash
# Hook temporär überspringen
git commit --no-verify -m "..."
```

### Sync schlägt fehl

```bash
# Manuell syncen
cd C:\working\website-agentic-website-pipeline
.\scripts\sync-cron.ps1 -PromptFile "s2-website-builder.md"
```

### Cron Job hat alten Prompt

```bash
# Alle Prompts syncen
.\scripts\sync-cron.ps1
```

## Cron Job direkt editieren (Notfall)

```bash
# Einzelner Cron
openclaw cron edit <cron-id> --message "neuer prompt text"

# Alle Cron Jobs anzeigen
openclaw cron list
```
