initial: claude code workflow bundle (plan-start, status, handoff, adr)

This commit is contained in:
Kristian
2026-04-17 07:28:49 +02:00
commit 20a0ab38f2
16 changed files with 978 additions and 0 deletions
+173
View File
@@ -0,0 +1,173 @@
# Claude Code Workflow — Universal Bundle
Ein minimaler Satz von vier Skills plus Templates für einen nachvollziehbaren
Planungs-, Bau- und Übergabe-Workflow in Claude Code. Ziel: Projektstatus lebt
auf der Platte (in `docs/`), nicht im Sitzungskontext — und die Skills sorgen
dafür, dass diese Dateien konsistent wachsen statt chaotisch.
Dieses Bundle ist **rechnerübergreifend portabel**: du klonst / kopierst diesen
Ordner auf jede neue Maschine und installierst den globalen Teil mit einem
einzigen Kopier- bzw. Symlink-Schritt.
---
## Speicherorte auf einen Blick
Die Skills teilen sich in zwei Ebenen. Wichtig: in diesem Bundle liegt aktuell
**nur der globale Teil**. Projektspezifische Skills entstehen pro Projekt direkt
im jeweiligen Repo (siehe unten) und gehören nicht hierher, weil sie projekt-
spezifischen Kontext tragen.
| Was | Quelle in diesem Bundle | Ziel auf deinem Rechner | Scope |
|---|---|---|---|
| Globale Skills (plan-start, status, handoff, adr) | `global-skills/` | `~/.claude/skills/` | maschinenweit, alle Projekte |
| Projekt-Wegweiser | wird von `plan-start` erzeugt | `<projekt>/CLAUDE.md` | nur dieses Projekt |
| Projekt-Doku | wird von `plan-start` erzeugt | `<projekt>/docs/` | nur dieses Projekt |
| Projektspezifische Skills (optional) | — (im Projekt anlegen) | `<projekt>/.claude/skills/` | nur dieses Projekt |
Die Trennung ist bewusst: alles unter `~/.claude/skills/` ist **Verb** (Prozess,
überall gleich), alles unter `<projekt>/` ist **Kontext** (Inhalt, projekt-
spezifisch). Skills im Projekt-Repo werden mitcommittet und sind Teil der
Dokumentation.
---
## Installation (pro Rechner, einmalig)
### Option A — symlinken (empfohlen)
Wenn du dieses Bundle per Git versionierst und auf mehreren Rechnern spiegelst,
sind Symlinks der saubere Weg. Änderungen werden zentral gepflegt, jeder
Rechner zieht nach `git pull` automatisch mit.
```bash
# einmalig anlegen
mkdir -p ~/.claude/skills
# für jeden Skill einen Symlink — Pfad auf dein geklontes Bundle anpassen
ln -s "$PWD/global-skills/plan-start" ~/.claude/skills/plan-start
ln -s "$PWD/global-skills/status" ~/.claude/skills/status
ln -s "$PWD/global-skills/handoff" ~/.claude/skills/handoff
ln -s "$PWD/global-skills/adr" ~/.claude/skills/adr
```
### Option B — kopieren
Wenn du lieber unabhängige Kopien willst (z. B. weil du pro Rechner abweichend
tunen möchtest):
```bash
mkdir -p ~/.claude/skills
cp -r global-skills/plan-start ~/.claude/skills/
cp -r global-skills/status ~/.claude/skills/
cp -r global-skills/handoff ~/.claude/skills/
cp -r global-skills/adr ~/.claude/skills/
```
### Prüfen
Nach Install sollte in Claude Code die Skill-Liste die vier Namen enthalten.
Grobe Kontrolle auf der Shell:
```bash
ls ~/.claude/skills/
# plan-start status handoff adr
```
---
## Die vier Skills im Überblick
| Skill | Phase | Was er tut |
|---|---|---|
| `plan-start` | Projektstart | Legt `CLAUDE.md`, `docs/`-Struktur und erste Dateien nach Template an. Einmal pro Projekt. |
| `status` | Wiedereinstieg | Liest `docs/90-status.md` + letztes Session-Log, fasst in 510 Zeilen zusammen. Dein „Wo stehen wir?"-Befehl. |
| `handoff` | Sessionende | Fragt drei kurze Reflexionsfragen, schreibt Session-Log nach `docs/sessions/`, aktualisiert `docs/90-status.md`. |
| `adr` | nach Architektur-Entscheidung | Legt nummerierten ADR nach `docs/30-decisions/` an. Kontext, Entscheidung, Konsequenzen, Alternativen. |
Nicht dabei (bewusst): `/debug-log` und `/concept-lock`. Die baust du nach zwei,
drei Wochen Praxis — dann weißt du, wie sie konkret aussehen müssen. Alles
andere wäre hypothetisch.
---
## Was `plan-start` im Projekt erzeugt
```
<projekt>/
├── CLAUDE.md # Wegweiser, verweist auf docs/90-status.md
├── .claude/
│ └── skills/ # leer — hier landen später projektspezifische Skills
└── docs/
├── 00-overview.md # Zweck, Ziele, Nicht-Ziele
├── 10-plan.md # Phasen, Milestones, aktueller Fokus
├── 20-architecture.md # Stack, Entscheidungen in Kurzform
├── 30-decisions/ # ADRs, einer pro Datei, nummeriert
├── 40-workflows/ # Deploy-, Backup-, Debug-Prozeduren
├── 90-status.md # Single Source of Truth: aktueller Stand
└── sessions/ # Session-Logs chronologisch, YYYY-MM-DD-<slug>.md
```
Die Nummerierung ist kein Selbstzweck — sie sortiert alphabetisch in der
Lese-Reihenfolge, in der eine frische Claude-Code-Instanz die Dateien beim
Scannen wahrnimmt, und gibt dir visuelle Hierarchie im Editor.
`90-status.md` steht bewusst ganz unten: die eine Datei, die du immer
aktualisierst und die jede neue Session zuerst liest.
---
## Projektspezifische Skills (optional, pro Repo)
Wenn du in einem konkreten Projekt merkst, dass du immer wieder denselben
projektspezifischen Handgriff ausführst (z. B. „Deploy-Pipeline prüfen",
„Testdaten regenerieren"), lege ihn als Skill in diesem Repo an:
```
<projekt>/.claude/skills/<skill-name>/SKILL.md
```
Commit mit. Damit ist der Skill Teil der Projekt-Doku — und andere Rechner /
Mitwirkende haben ihn automatisch.
---
## Konventionen, die das Ganze tragen
- **Sprache**: Prosa auf Deutsch, Code / Pfade / Kommandos / Skill-Namen auf
Englisch. Das gilt in allen Templates und Skills konsistent.
- **Single Source of Truth**: `docs/90-status.md`. Kein anderer Ort beschreibt
„wo wir gerade stehen".
- **ADRs sind append-only**: einmal geschrieben, nur noch durch neue ADRs
ersetzt (`Supersedes: 0003`). Nie rückwirkend umschreiben — das killt die
Nachvollziehbarkeit.
- **Session-Logs sind verpflichtend**: `handoff` am Ende jeder relevanten
Session. Wer das überspringt, hat nach drei Sessions wieder das alte Problem
— nur mit mehr Dateien drumherum.
- **CLAUDE.md bleibt schlank** (~5080 Zeilen): Navigation, nicht Enzyklopädie.
Sie verweist auf `docs/`, sie enthält keine Inhalte, die dort hingehören.
---
## Erste Schritte in einem neuen Projekt
```bash
cd ~/projekte/mein-neues-ding
# in Claude Code:
# skill: plan-start "Kurzbeschreibung der Idee"
```
`plan-start` fragt ein paar Basics ab (Name, Zweck, Stack-Hinweise),
generiert die Ordnerstruktur und schreibt eine erste `CLAUDE.md` sowie
`docs/00-overview.md`, `docs/10-plan.md` und `docs/90-status.md`.
Am Ende der Session: `skill: handoff`.
Beim nächsten Einstieg: `skill: status`.
Das ist der komplette Kreislauf.
---
## Lizenz / Umgang
Internes Tooling, keine formelle Lizenz. Passe die Templates an deinen Stil
an — sie sind als Ausgangspunkt gedacht, nicht als Dogma.