6 Tasks: Verzeichnisgerüst + Gedächtnis-Seeds, CLAUDE.md, Skill bewerbung-schreiben, Nutzer-Übergabe (Vorgaben + Cowork-Skill), Skill projekt-anlegen integrieren, Abschlussverifikation + Push. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
14 KiB
bewerb-Umgebung Implementierungsplan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Eine versionierte Claude-Code-Umgebung unter /home/tlg/mkt/bewerb aufbauen, die Freiberufler-Projekte im EspoCRM erfasst und KI-gestützte Bewerbungen mit persistentem Gedächtnis schreibt.
Architecture: Reine Struktur-/Inhaltsumgebung: Verzeichnisbaum + Markdown-Dateien + zwei Claude-Code-Skills. Das Gedächtnis liegt versioniert in gedaechtnis/. Kein Code/Build, daher ersetzen konkrete Verifikationsschritte (Datei-, Git- und Skill-Erkennbarkeitsprüfungen) klassische Tests. Zwei Tasks sind Übergabepunkte, an denen der Nutzer Bestandsdateien beisteuert.
Tech Stack: Git (sha256, Remote auf DesTEngS-Gitea), Markdown, Claude-Code-Skills (.claude/skills/<name>/SKILL.md), EspoCRM REST-API (Zugang in .secrets/espocrm-api.md).
Referenz-Spec: docs/superpowers/specs/2026-06-12-bewerb-umgebung-design.md
Dateistruktur (Überblick)
Neu anzulegen in diesem Plan:
bewerb/
├── CLAUDE.md # Task 2
├── vorgaben/.gitkeep # Task 1 (Inhalt vom Nutzer: Task 5)
├── bewerbungen/index.md # Task 1
├── gedaechtnis/stil.md # Task 1
├── gedaechtnis/inhalte.md # Task 1
├── gedaechtnis/schwerpunkte.md # Task 1
├── gedaechtnis/log.md # Task 1
├── .claude/skills/bewerbung-schreiben/SKILL.md # Task 3
└── .claude/skills/projekt-anlegen/SKILL.md # Task 5 (Inhalt vom Nutzer)
Bereits vorhanden: .git/, .gitignore, .secrets/espocrm-api.md, .claude/settings.local.json, die beiden Doku-Dateien unter docs/superpowers/.
Alle Befehle gehen davon aus, dass das Arbeitsverzeichnis /home/tlg/mkt/bewerb ist.
Task 1: Verzeichnisgerüst + Gedächtnis-Seeds + Register
Files:
-
Create:
vorgaben/.gitkeep -
Create:
bewerbungen/index.md -
Create:
gedaechtnis/stil.md -
Create:
gedaechtnis/inhalte.md -
Create:
gedaechtnis/schwerpunkte.md -
Create:
gedaechtnis/log.md -
Step 1: Verzeichnisse anlegen
mkdir -p vorgaben bewerbungen gedaechtnis .claude/skills/bewerbung-schreiben .claude/skills/projekt-anlegen
touch vorgaben/.gitkeep
- Step 2:
bewerbungen/index.mdschreiben
# Bewerbungs-Register
Eine Zeile je Bewerbung. **Schwerpunkte** ausschließlich aus
`gedaechtnis/schwerpunkte.md` verwenden. Beim Schreiben einer neuen Bewerbung
hier nach überlappenden Schwerpunkten suchen und nur die **finale Fassung**
passender Einträge als Vorlage nutzen.
| Datum | Käufer | Projekttitel | Einsatzort | Schwerpunkte | finale Fassung | Status |
|---|---|---|---|---|---|---|
- Step 3:
gedaechtnis/schwerpunkte.mdschreiben
# Schwerpunkte (kontrolliertes Vokabular)
Erlaubte Schlagworte zur Klassifikation von Projekten und Bewerbungen.
Beim Schreiben einer Bewerbung **nur** Schlagworte aus dieser Liste verwenden.
Fehlt ein passendes Schlagwort, hier ergänzen (mit Kurzdefinition) und im
Commit begründen. Ziel: gleiche Schwerpunkte immer gleich benennen
(kein „ML" vs. „Machine Learning" vs. „KI").
| Schlagwort | Definition |
|---|---|
| _(wächst mit der Zeit)_ | |
- Step 4:
gedaechtnis/stil.mdschreiben
# Schreibstil (gelernt)
Übertragbare Regeln für Bewerbungstexte. Wird am Ende jeder Bewerbungssession
aktualisiert. Nur **übertragbares** Wissen, keine projektspezifischen Einmaligkeiten.
## Tonalität
_(noch keine Einträge)_
## Anrede & Form
_(noch keine Einträge)_
## Formulierungen – bevorzugt
_(noch keine Einträge)_
## Formulierungen – vermeiden
_(noch keine Einträge)_
- Step 5:
gedaechtnis/inhalte.mdschreiben
# Inhaltliche Bausteine (geprüft)
Bewährte, faktisch korrekte Inhalte und Formulierungen zu Erfahrungen/Skills.
Was hier steht, ist verifiziert richtig. Wird am Ende jeder Session aktualisiert.
## Korrekte Fakten
_(noch keine Einträge)_
## Bewährte Bausteine
_(noch keine Einträge)_
## Nicht zutreffend / nicht behaupten
_(noch keine Einträge)_
- Step 6:
gedaechtnis/log.mdschreiben
# Gedächtnis-Chronik
Datierte Einträge: was wurde am Gedächtnis geändert und **warum**.
## 2026-06-12 — Initialisierung
- Gedächtnisstruktur angelegt (`stil.md`, `inhalte.md`, `schwerpunkte.md`, `log.md`)
und Register `bewerbungen/index.md`. Noch keine inhaltlichen Lerneinträge.
- Step 7: Verifizieren
Run: ls -1 vorgaben/.gitkeep bewerbungen/index.md gedaechtnis/*.md && echo OK
Expected: alle sechs Pfade werden gelistet, danach OK.
- Step 8: Commit
git add vorgaben/.gitkeep bewerbungen/index.md gedaechtnis/
git commit -m "Verzeichnisgerüst, Gedächtnis-Seeds und Bewerbungs-Register anlegen"
Task 2: CLAUDE.md (operative Projekt-Anleitung)
Files:
-
Create:
CLAUDE.md -
Step 1:
CLAUDE.mdschreiben
# bewerb — Projekt-Anleitung
Diese Umgebung unterstützt zwei Arbeitsabläufe:
1. **Freiberufler-Projekte bewerten und im EspoCRM erfassen** → Skill `projekt-anlegen`.
2. **Bewerbungen mit KI-Unterstützung schreiben** → Skill `bewerbung-schreiben`.
Sprache: **Deutsch** (Texte, Gedächtnis, Commits).
## Verzeichnisse
- `vorgaben/` — feste Quellen: `lebenslauf.md`, `marketing.md`. Referenz; nicht ohne Auftrag ändern.
- `bewerbungen/` — je Bewerbung ein Ordner; `bewerbungen/index.md` ist das zentrale Register.
- `gedaechtnis/` — versioniertes Gedächtnis: `stil.md`, `inhalte.md`, `schwerpunkte.md`, `log.md`.
- `.claude/skills/` — die beiden Skills.
- `.secrets/espocrm-api.md` — CRM-Zugang (NICHT versioniert, NICHT teilen, nur bei konkretem CRM-Auftrag lesen).
## Gedächtnis-Regeln (verbindlich)
**Vor** Arbeit an einer Bewerbung lesen: `gedaechtnis/stil.md`, `gedaechtnis/inhalte.md`,
`gedaechtnis/schwerpunkte.md` sowie `vorgaben/lebenslauf.md` und `vorgaben/marketing.md`.
**Am Ende** einer Bewerbungssession (Text versandreif):
1. Übertragbare Stil-Erkenntnisse → `gedaechtnis/stil.md`
2. Geprüfte inhaltliche Fakten/Bausteine → `gedaechtnis/inhalte.md`
3. Neue Schwerpunkt-Schlagworte → `gedaechtnis/schwerpunkte.md`
4. Datierter Eintrag (was/warum) → `gedaechtnis/log.md`
5. Register `bewerbungen/index.md` aktualisieren
6. Alles committen (und pushen)
Nur **übertragbares** Wissen ins Gedächtnis — keine projektspezifischen Einmaligkeiten.
## Git
- Branch `main`, Remote `origin` (DesTEngS-Gitea, `ssh://git@git.destengs.com:8085/tlg/bewerb.git`, Objektformat sha256).
- Inhaltliche Änderungen committen; `.secrets/` bleibt durch `.gitignore` ausgeschlossen.
- Step 2: Verifizieren
Run: test -f CLAUDE.md && grep -q "Gedächtnis-Regeln" CLAUDE.md && echo OK
Expected: OK
- Step 3: Commit
git add CLAUDE.md
git commit -m "CLAUDE.md mit Workflow- und Gedächtnis-Regeln anlegen"
Task 3: Skill bewerbung-schreiben
Files:
-
Create:
.claude/skills/bewerbung-schreiben/SKILL.md -
Step 1:
SKILL.mdschreiben
---
name: bewerbung-schreiben
description: Use when writing or revising a job application (Bewerbung/Anschreiben) for a freelance project. Loads CV, marketing, style memory and matching past applications, drafts and iterates the text with the user, then updates the memory. Trigger on "Bewerbung schreiben", "Anschreiben", "bewirb mich".
---
# Bewerbung schreiben
Wiederholbarer Workflow für eine KI-gestützte Bewerbung mit Gedächtnis.
## 1. Kontext laden
Lies zwingend:
- `vorgaben/lebenslauf.md`, `vorgaben/marketing.md`
- `gedaechtnis/stil.md`, `gedaechtnis/inhalte.md`, `gedaechtnis/schwerpunkte.md`
## 2. Schwerpunkte bestimmen
Bestimme die Schwerpunkte des aktuellen Projekts als Schlagworte aus
`gedaechtnis/schwerpunkte.md`. Fehlt ein passendes Schlagwort, ergänze es dort
mit Kurzdefinition (und begründe es später im Commit).
## 3. Vorlage wählen (Matching)
Öffne `bewerbungen/index.md`. Suche Zeilen mit **überlappenden** Schwerpunkten.
Nutze nur die **finale Fassung** passender Einträge als Vorlage. Kein Treffer →
ohne Vorlage schreiben (nur Vorgaben + Gedächtnis).
## 4. Ordner anlegen
Schema: `bewerbungen/YYYY-MM-DD_<Käufer>_<Projekttitel>_<Einsatzort>/`
- **Käufer:** Agentur (verkauft die Leistung weiter) oder bei Direktbeauftragung der Endkunde.
- **Projekttitel:** Titel aus der Projektbeschreibung.
- **Einsatzort:** `Remote`, `Hybrid-<Stadt>` oder `<Stadt>`.
- **Normalisierung:** Leerzeichen → Bindestrich; Slashes, Klammern und Zusätze wie
`(m/w/d)` entfernen; sonstiger Wortlaut bleibt erhalten.
- Beispiel: `2026-06-10_Aristo-Recruitment_AI-Engineer-Medical-Imaging_Remote`
Lege darin den Entwurf `entwurf.md` an.
## 5. Iterieren
Schreibe gemäß Stil-Gedächtnis und Vorgaben. Iteriere mit dem Nutzer bis
versandreif. Speichere die finale Fassung als `bewerbung.md` im Ordner.
## 6. Gedächtnis aktualisieren (Session-Ende)
- Stil-Erkenntnisse → `gedaechtnis/stil.md`
- geprüfte Inhalte → `gedaechtnis/inhalte.md`
- neue Schlagworte → `gedaechtnis/schwerpunkte.md`
- datierter Eintrag (was/warum) → `gedaechtnis/log.md`
- neue Zeile → `bewerbungen/index.md` (Datum, Käufer, Projekttitel, Einsatzort,
Schwerpunkte, finale Fassung, Status)
- committen (und pushen)
- Step 2: Verifizieren, dass die Skill-Datei valide Frontmatter hat
Run: head -4 .claude/skills/bewerbung-schreiben/SKILL.md
Expected: erste Zeile ---, dann name: bewerbung-schreiben, eine description:-Zeile, dann ---.
- Step 3: Verifizieren, dass Claude Code den Skill erkennt
In einer Claude-Code-Session aus /home/tlg/mkt/bewerb: prüfen, ob bewerbung-schreiben in der Liste verfügbarer Skills erscheint (bzw. /bewerbung-schreiben aufrufbar ist).
Expected: Skill ist gelistet/aufrufbar. (Hinweis: ggf. ist ein Neustart der Session nötig, damit neue Projekt-Skills geladen werden.)
- Step 4: Commit
git add .claude/skills/bewerbung-schreiben/SKILL.md
git commit -m "Skill bewerbung-schreiben anlegen (Workflow inkl. Gedächtnis-Update)"
Task 4: Übergabe — Vorgaben & Cowork-Skill vom Nutzer (Checkpoint)
Dies ist ein Übergabepunkt: Der Nutzer legt jetzt die Bestandsdateien an den vorgesehenen Orten ab. Keine Code-Schritte; Ausführung pausiert hier bis die Dateien vorliegen.
-
Step 1: Nutzer ablegen lassen
vorgaben/lebenslauf.md(Lebenslauf, Markdown)vorgaben/marketing.md(Marketing-Beschreibung, Markdown)- Inhalt des bestehenden Cowork-Skills nach
.claude/skills/projekt-anlegen/SKILL.md
-
Step 2: Vorhandensein prüfen
Run: ls -1 vorgaben/lebenslauf.md vorgaben/marketing.md .claude/skills/projekt-anlegen/SKILL.md && echo VORHANDEN
Expected: alle drei Pfade gelistet, danach VORHANDEN. Fehlt etwas → beim Nutzer nachfordern, bevor Task 5 startet.
Task 5: Skill projekt-anlegen integrieren & kompatibel machen
Der vom Nutzer beigesteuerte Cowork-Skill wird als Claude-Code-Skill nutzbar gemacht. Cowork- und Claude-Code-Skills verwenden beide YAML-Frontmatter mit name/description; ggf. ist nur eine Anpassung der Frontmatter nötig.
Files:
-
Modify:
.claude/skills/projekt-anlegen/SKILL.md -
Step 1: Frontmatter prüfen/setzen
Sicherstellen, dass die Datei mit gültiger Frontmatter beginnt. Falls name/description fehlen oder unpassend sind, an den Anfang setzen bzw. anpassen:
---
name: projekt-anlegen
description: Use when evaluating a freelance project and recording it in the EspoCRM (Opportunity, Contact, Account). Reads CRM access from .secrets/espocrm-api.md, does a Must/Nice-to-have match against the CV, and creates/updates the CRM records. Trigger on "Projekt bewerten", "Projekt anlegen", "ins CRM".
---
Den fachlichen Body (Bewertungslogik, CRM-Felder) aus dem Cowork-Skill unverändert übernehmen.
- Step 2: CRM-Bezug prüfen
Run: grep -n "espocrm-api.md\|Opportunity\|X-Api-Key" .claude/skills/projekt-anlegen/SKILL.md || echo "Hinweis: kein CRM-Bezug gefunden — Body prüfen"
Expected: mindestens ein Treffer auf den CRM-Zugang/Entitäten; sonst Body mit dem Nutzer abgleichen.
- Step 3: Frontmatter-Validität prüfen
Run: head -4 .claude/skills/projekt-anlegen/SKILL.md
Expected: gültige Frontmatter (---, name: projekt-anlegen, description:, ---).
- Step 4: Commit
git add .claude/skills/projekt-anlegen/SKILL.md
git commit -m "Skill projekt-anlegen aus Cowork übernehmen und für Claude Code anpassen"
Task 6: Abschlussverifikation & Push
- Step 1: Gesamtstruktur prüfen
Run:
test -f CLAUDE.md \
&& test -f bewerbungen/index.md \
&& test -f gedaechtnis/stil.md && test -f gedaechtnis/inhalte.md \
&& test -f gedaechtnis/schwerpunkte.md && test -f gedaechtnis/log.md \
&& test -f .claude/skills/bewerbung-schreiben/SKILL.md \
&& test -f .claude/skills/projekt-anlegen/SKILL.md \
&& test -f vorgaben/lebenslauf.md && test -f vorgaben/marketing.md \
&& echo "STRUKTUR VOLLSTÄNDIG"
Expected: STRUKTUR VOLLSTÄNDIG
- Step 2:
.secrets-Ausschluss erneut prüfen
Run: git check-ignore -q .secrets/espocrm-api.md && echo "secrets ignoriert" || echo "WARNUNG"
Expected: secrets ignoriert
- Step 3: Sauberer Arbeitsbaum & Push
git status --short
git push origin main
git rev-list --left-right --count HEAD...@{u}
Expected: keine ungetrackten inhaltlichen Änderungen; Push erfolgreich; Zähler 0 0 (in Sync).
Selbstreview (gegen die Spec)
- Spec §2 Verzeichnisstruktur → Tasks 1–3, 5 (alle Ordner/Dateien). ✓
- Spec §3 Gedächtnis (stil/inhalte/schwerpunkte/log + Lebenszyklus) → Task 1 (Seeds), Task 2 (Regeln in CLAUDE.md), Task 3 (Update-Schritt im Skill). ✓
- Spec §4.1 projekt-anlegen → Tasks 4–5 (Übernahme + Kompatibilität). ✓
- Spec §4.2 bewerbung-schreiben → Task 3 (vollständiger Workflow). ✓
- Spec §5 Register & Namensschema → Task 1 (index.md), Task 3 (Schema + Normalisierung im Skill). ✓
- Spec §6 Git → Task 6 (Push), Commits in jedem Task. ✓
- Spec §8 offene Punkte (Bestandsdateien, Cowork-Skill) → Task 4 (Übergabe). ✓
Keine Platzhalter; Datei- und Skill-Namen über alle Tasks konsistent (bewerbung-schreiben, projekt-anlegen, gedaechtnis/*, bewerbungen/index.md).