home / skills / svenja-dev / claude-code-skills / kaizen
npx playbooks add skill svenja-dev/claude-code-skills --skill kaizenReview the files below or copy the command above to add this skill to your agents.
---
name: kaizen
description: Manufacturing-fokussierter Continuous Improvement Skill fuer fabrikIQ. Implementiert Lean Manufacturing Prinzipien (5 Whys, Ishikawa, PDCA) fuer systematische Problemloesung und Qualitaetsverbesserung. Aktivieren bei Bug-Analyse, Refactoring, Code Review, Production Incidents.
triggers:
- /why
- /cause-and-effect
- /plan-do-check-act
- /kaizen
---
# Kaizen - Continuous Improvement Skill
Dieser Skill bringt bewaehrte Lean Manufacturing Methoden in die Softwareentwicklung. Entwickelt fuer fabrikIQ, anwendbar auf jedes TypeScript/React Projekt.
## Die 4 Saeulen des Kaizen
### 1. Continuous Improvement (Kaizen)
Kleine, inkrementelle Aenderungen statt Big Bang Refactoring.
**Prinzip**: Jeder Commit sollte den Code minimal besser hinterlassen als vorgefunden.
```typescript
// VORHER: Grosses Refactoring geplant
// "Ich refactore mal schnell die ganze Auth-Logik"
// KAIZEN: Kleine Schritte
// Commit 1: Extrahiere validateToken() aus auth.ts
// Commit 2: Fuege Typen fuer TokenPayload hinzu
// Commit 3: Ersetze any mit unknown + Type Guard
// Commit 4: Schreibe Unit Test fuer validateToken()
```
### 2. Poka-Yoke (Error Proofing)
Fehler durch Design verhindern, nicht durch Disziplin.
**TypeScript Constraints**:
```typescript
// FALSCH: Runtime Check (Fehler moeglich)
function processOrder(status: string) {
if (status !== 'pending' && status !== 'approved') {
throw new Error('Invalid status');
}
}
// POKA-YOKE: Compile-Time Constraint (Fehler unmoeglich)
type OrderStatus = 'pending' | 'approved' | 'shipped' | 'cancelled';
function processOrder(status: OrderStatus) {
// TypeScript verhindert ungueltige Werte
}
```
**Fail-Fast Pattern**:
```typescript
// FALSCH: Spaete Fehlererkennung
async function analyzeData(file: File) {
const data = await parseFile(file); // 10 Sekunden
const result = await geminiAnalyze(data); // 30 Sekunden
if (!data.hasRequiredColumns()) { // Fehler erst nach 40 Sekunden!
throw new Error('Missing columns');
}
}
// POKA-YOKE: Fail-Fast (fruehe Validierung)
async function analyzeData(file: File) {
// Validierung ZUERST (< 1ms)
const preview = await parseFilePreview(file, 10);
if (!preview.hasRequiredColumns()) {
throw new Error('Missing columns'); // Sofort!
}
// Teure Operationen NUR wenn valide
const data = await parseFile(file);
const result = await geminiAnalyze(data);
}
```
### 3. Standardized Work
Konsistente Patterns reduzieren kognitive Last und Fehler.
**API Response Pattern (fabrikIQ Standard)**:
```typescript
// Standard Response Format
interface ApiResponse<T> {
success: boolean;
data?: T;
error?: {
code: string;
message: string;
details?: unknown;
};
meta?: {
timestamp: string;
duration_ms: number;
region: 'fra1'; // DSGVO
};
}
// Alle Endpoints nutzen dieses Format
export async function handler(req: Request): Promise<Response> {
const start = Date.now();
try {
const result = await processRequest(req);
return Response.json({
success: true,
data: result,
meta: {
timestamp: new Date().toISOString(),
duration_ms: Date.now() - start,
region: 'fra1'
}
});
} catch (error) {
return Response.json({
success: false,
error: {
code: error.code ?? 'UNKNOWN_ERROR',
message: error.message
}
}, { status: error.status ?? 500 });
}
}
```
### 4. Just-In-Time (YAGNI)
Implementiere nur was JETZT gebraucht wird.
```typescript
// FALSCH: "Vielleicht brauchen wir das spaeter"
interface User {
id: string;
email: string;
name: string;
// "Fuer spaeter"
avatar?: string;
preferences?: UserPreferences;
notifications?: NotificationSettings;
integrations?: ExternalIntegrations;
analytics?: UserAnalytics;
}
// YAGNI: Nur aktuelle Requirements
interface User {
id: string;
email: string;
name: string;
}
// Erweitern wenn tatsaechlich benoetigt (mit eigenem Commit)
```
---
## Befehle
### /why - 5-Whys Root Cause Analysis
**Trigger**: `/why`, `5 whys`, `root cause`, `warum passiert`
**Anwendung**: Bei Bugs, Production Incidents, wiederkehrenden Problemen
**Workflow**:
1. **Problem definieren** (konkret, messbar)
```
Problem: API Timeout bei SECOM-Dataset (504 nach 60s)
```
2. **5x "Warum?" fragen**
```
Why 1: Warum Timeout?
→ Gemini API braucht >60s fuer Antwort
Why 2: Warum >60s?
→ Prompt enthaelt 590 Spalten x 1567 Zeilen
Why 3: Warum so viele Daten?
→ Kein Column Sampling implementiert
Why 4: Warum kein Sampling?
→ Urspruenglich nur kleine CSVs erwartet
Why 5: Warum nicht angepasst?
→ Keine automatischen Performance-Tests mit grossen Dateien
```
3. **Root Cause identifizieren**
```
Root Cause: Fehlende Performance-Testabdeckung fuer grosse Datasets
```
4. **Countermeasure definieren**
```
Massnahme 1: Column Sampling (MAX_COLUMNS = 50) implementieren
Massnahme 2: Performance-Test mit SECOM in CI/CD hinzufuegen
Massnahme 3: Timeout-Monitoring mit Alerting einrichten
```
**Output-Format**:
```markdown
## 5-Whys Analyse
**Problem**: [Konkrete Beschreibung]
**Datum**: [ISO-8601]
**Betroffene Komponente**: [Datei/Service]
### Analyse
| Level | Frage | Antwort |
|-------|-------|---------|
| Why 1 | Warum [Symptom]? | [Antwort] |
| Why 2 | Warum [Antwort 1]? | [Antwort] |
| Why 3 | Warum [Antwort 2]? | [Antwort] |
| Why 4 | Warum [Antwort 3]? | [Antwort] |
| Why 5 | Warum [Antwort 4]? | [Antwort] |
### Root Cause
[Kernursache in einem Satz]
### Countermeasures
1. **Sofort** (< 1 Tag): [Quick Fix]
2. **Kurzfristig** (< 1 Woche): [Strukturelle Loesung]
3. **Langfristig** (< 1 Monat): [Praevention]
```
---
### /cause-and-effect - Ishikawa Diagram
**Trigger**: `/cause-and-effect`, `/ishikawa`, `/fishbone`, `ursache-wirkung`
**Anwendung**: Bei komplexen Problemen mit mehreren moeglichen Ursachen
**Die 6 M-Kategorien (Manufacturing)**:
1. **Mensch** (People): Skills, Training, Kommunikation
2. **Maschine** (Machine): Hardware, Tools, Infrastructure
3. **Material** (Material): Input-Daten, Dependencies
4. **Methode** (Method): Prozesse, Workflows, Patterns
5. **Messung** (Measurement): Monitoring, Tests, Metriken
6. **Milieu** (Environment): Production, Staging, Local
**Workflow**:
1. **Effekt definieren** (rechts)
```
Effekt: Login schlaegt intermittierend fehl
```
2. **Ursachen nach Kategorie sammeln**
```
MENSCH:
├── Nutzer loescht Cookies manuell
└── Admin aendert Session-TTL ohne Kommunikation
MASCHINE:
├── Vercel Cold Start > Session Check
└── KV Storage Latenz-Spikes
MATERIAL:
├── JWT Secret Rotation nicht synchron
└── OAuth Token abgelaufen
METHODE:
├── Kein Retry bei Session-Validierung
└── Keine Graceful Degradation
MESSUNG:
├── Keine Login-Erfolgsrate-Metrik
└── Kein Alerting bei Auth-Fehlern
MILIEU:
├── Production vs Preview unterschiedliche KV
└── Lokale Entwicklung ohne echte Auth
```
3. **Wahrscheinlichste Ursachen priorisieren**
4. **Validierung planen** (Hypothesen testen)
**Output-Format**:
```
┌─────────────────────────────────────────────────────┐
│ │
┌───────────┐ │ ┌───────────┐ ┌───────────┐ │
│ MENSCH │───┼───│ MASCHINE │ │ MATERIAL │────────────────┤
└───────────┘ │ └───────────┘ └───────────┘ │
│ │ │ │ │
┌────┴────┐ │ ┌────┴────┐ ┌────┴────┐ │
│ Cookies │ │ │ Cold │ │ JWT │ ▼
│ geloescht│ │ │ Start │ │ Rotation│ ┌──────────────┐
└─────────┘ │ └─────────┘ └─────────┘ │ LOGIN │
│ │ FEHLER │
┌───────────┐ │ ┌───────────┐ ┌───────────┐ └──────────────┘
│ METHODE │───┼───│ MESSUNG │ │ MILIEU │────────────────┤
└───────────┘ │ └───────────┘ └───────────┘ │
│ │ │ │ │
┌────┴────┐ │ ┌────┴────┐ ┌────┴────┐ │
│ Kein │ │ │ Keine │ │ Prod vs │ │
│ Retry │ │ │ Alerting│ │ Preview │ │
└─────────┘ │ └─────────┘ └─────────┘ │
│ │
└─────────────────────────────────────────────────────┘
## Priorisierte Hypothesen
| # | Kategorie | Ursache | Wahrscheinlichkeit | Validierung |
|---|-----------|---------|-------------------|-------------|
| 1 | Maschine | Cold Start | Hoch | Logs auf "first request" pruefen |
| 2 | Material | JWT Rotation | Mittel | Secret-Aenderungshistorie pruefen |
| 3 | Methode | Kein Retry | Mittel | Retry-Logik implementieren, messen |
```
---
### /plan-do-check-act - PDCA Zyklus
**Trigger**: `/pdca`, `/plan-do-check-act`, `deming cycle`, `verbesserungszyklus`
**Anwendung**: Bei Feature-Implementierung, Refactoring, Process Improvement
**Workflow**:
```
┌─────────────────────┐
│ │
│ ┌─────┐ ───────► ┌─────┐
│ │PLAN │ │ DO │
│ └─────┘ ◄─────── └─────┘
│ ▲ │
│ │ ▼
│ ┌─────┐ ┌─────┐
│ │ ACT │ ◄─────── │CHECK│
│ └─────┘ └─────┘
│ │
└─────────────────────┘
(Iterate)
```
**Phase 1: PLAN**
- Ziel definieren (SMART: Specific, Measurable, Achievable, Relevant, Time-bound)
- Hypothese formulieren
- Erfolgskriterien festlegen
- Risiken identifizieren
```markdown
## PLAN
**Ziel**: API Response Time < 10s fuer 95% der Requests (aktuell: 30s)
**Deadline**: 2025-01-15
**Hypothese**: Column Sampling auf 50 Spalten reduziert Tokens um 80%
**Erfolgskriterien**:
- [ ] P95 Latency < 10s
- [ ] Keine Qualitaetsverlust in Analyse-Output
- [ ] SECOM-Dataset funktioniert ohne Timeout
**Risiken**:
- Sampling koennte wichtige Spalten ausschliessen
- Nutzer erwarten alle Spalten in Analyse
```
**Phase 2: DO**
- Implementierung in kleinen Schritten
- Dokumentation waehrend der Umsetzung
- Isolierte Aenderungen (Feature Branch)
```markdown
## DO
**Branch**: feature/column-sampling
**Commits**:
1. `feat: add MAX_COLUMNS constant (50)`
2. `feat: implement column sampling in fileParser`
3. `test: add SECOM sampling test`
4. `docs: update AGENTS.md with sampling details`
**Notizen**:
- Erste 50 Spalten genommen (alphabetisch)
- TODO: Smarter Algorithmus (Varianz-basiert)
```
**Phase 3: CHECK**
- Ergebnisse messen vs. Erfolgskriterien
- Unerwartete Nebenwirkungen dokumentieren
- Lessons Learned sammeln
```markdown
## CHECK
**Messungen**:
| Metrik | Ziel | Ist | Status |
|--------|------|-----|--------|
| P95 Latency | < 10s | 8.2s | OK |
| SECOM Timeout | 0 | 0 | OK |
| Analyse-Qualitaet | Keine Regression | Minor | WARNUNG |
**Beobachtungen**:
- Qualitaet leicht gesunken (fehlende Korrelationen)
- Erste 50 Spalten nicht optimal (viele NaN-Spalten)
**Lessons Learned**:
- Alphabetische Auswahl ist suboptimal
- Varianz-basierte Auswahl wuerde bessere Spalten finden
```
**Phase 4: ACT**
- Entscheiden: Standardisieren oder Iterieren?
- Prozess anpassen basierend auf Learnings
- Naechsten PDCA-Zyklus planen
```markdown
## ACT
**Entscheidung**: ITERIEREN (nicht standardisieren)
**Verbesserungen fuer naechsten Zyklus**:
1. Varianz-basierte Spaltenauswahl implementieren
2. Nutzer-Feedback zu Analyse-Qualitaet einholen
3. A/B-Test: 50 vs 75 Spalten
**Naechster PDCA-Zyklus**:
- Start: 2025-01-16
- Fokus: Smart Column Selection Algorithm
```
---
## Integration mit fabrikIQ
### Wann welchen Befehl nutzen?
| Situation | Befehl | Begruendung |
|-----------|--------|-------------|
| Production Bug | `/why` | Schnelle Root Cause Analyse |
| Komplexer Bug mit vielen Faktoren | `/cause-and-effect` | Strukturierte Ursachensammlung |
| Neues Feature planen | `/plan-do-check-act` | Iterative Implementierung |
| Refactoring | `/plan-do-check-act` | Messbare Verbesserung |
| Wiederkehrender Fehler | `/why` dann `/cause-and-effect` | Kombinierte Analyse |
### Automatische Trigger
Dieser Skill aktiviert sich automatisch bei:
- `git log` mit Muster "fix:" oder "hotfix:"
- Vercel Deployment Failures
- Test-Failures in CI/CD
- Keywords: "bug", "fehler", "timeout", "crash", "regression"
### Quality Gate Integration
Nach jedem PDCA-Zyklus:
```bash
npx tsc --noEmit # TypeScript Check
npm run build # Build
npm run test # Unit Tests
npm run test:e2e # E2E (optional)
```
---
## Checkliste vor Code-Aenderungen
- [ ] **Continuous Improvement**: Ist die Aenderung inkrementell? (Max 1 Feature pro Commit)
- [ ] **Poka-Yoke**: Sind Fehler durch Typen verhindert? (Keine Runtime-Validierung wo Compile-Time moeglich)
- [ ] **Standardized Work**: Folgt der Code etablierten Patterns? (API Response Format, Error Handling)
- [ ] **Just-In-Time**: Wird nur das implementiert was JETZT gebraucht wird? (Kein "fuer spaeter")
## Dokumentation
Nach jeder Analyse:
1. Ergebnis in `docs/kaizen/` ablegen
2. Commit Message mit Kaizen-Referenz: `fix: resolve timeout (5-Whys #12)`
3. Lessons Learned in CHANGELOG.md
---
## Ressourcen
- [Toyota Production System](https://www.toyota-global.com/company/vision_philosophy/toyota_production_system/)
- [Lean Manufacturing Principles](https://www.lean.org/explore-lean/what-is-lean/)
- [The Toyota Way - Jeffrey Liker](https://www.mheducation.com/highered/product/toyota-way-liker/M9780071392310.html)
---
*Entwickelt fuer fabrikIQ - Manufacturing Intelligence Platform*
*DSGVO-konform | Region fra1 | Dresden AI Insights*