Install
openclaw skills install @kikikari/program-derivationFührt Architekturanalyse, Komplexitätsmessung, Abstraktionsschicht-Design, Vendor Lock-in Bewertung, Refactoring-Planung und Software-Qualitätsbewertung durch.
openclaw skills install @kikikari/program-derivationDeutsch: Lade diesen Skill bei:
English: Load this skill for:
Führe die Analyse in drei Phasen durch. Sprache der Ausgabe: Sprache des Nutzers (de/en).
Identifiziere alle Schnittstellen zu externen Systemen.
Ausgabe-Tabelle / Output table:
| Schnittstelle | Typ | Protokoll | Authentifizierung | Fehlerbehandlung |
|---|---|---|---|---|
| ... | REST-API / DB / Browser-API / FS | HTTPS/JSON / SQLite / In-Process | Bearer / Key / keine | ja (Retry) / teilweise / nein |
Bewerte jede externe Abhängigkeit: Ist sie austauschbar ohne Core-Code-Änderungen?
Skala: 1 = hardgecoded, kein Interface | 3 = Interface vorhanden, aber spezifische Typen | 5 = vollständig abstrakt, Provider-agnostisch
Bewertung: HOCH (hardgecoded URL + Model + Response-Parsing) | MITTEL (teilweise abstrahiert) | NIEDRIG (Web-Standard oder austauschbar)
Identifiziere Verletzungen: Business-Logik in Routing-Schicht, duplizierte Logik mit abweichenden Konstanten, Datenbankzugriff ohne Interface-Nutzung.
I = Ce / (Ca + Ce) — 0 = stabil, 1 = instabilIdentifiziere konkrete Fälle:
Welche Wrappers/Facades fehlen? Für jeden Vorschlag:
Priorisiere die 3–5 wichtigsten Stellen nach:
Erstelle vollständige Interface-Definitionen in der Zielsprache (TypeScript / Python ABC / Java Interface). Muster:
// Beispiel: Austauschbarer Vision-Provider
export interface IVisionProvider {
readonly providerName: string;
isAvailable(config: ApiKeyConfig): boolean;
analyze(inputs: AnalysisInput[], prompt: string, config: ApiKeyConfig): Promise<AnalysisResult>;
}
// Konkrete Implementierungen: OpenAIProvider, AnthropicProvider, FallbackProvider
CC = Entscheidungspunkte + 1
Zähle als Entscheidungspunkt: if, else if, for, while, do-while, case, catch, &&, ||, ternärer Operator, ??.
Bewertung:
| CC | Testbarkeit |
|---|---|
| 1–4 | Sehr gut — einfach unit-testbar |
| 5–7 | Gut — testbar mit wenigen Cases |
| 8–10 | Mittel — refactoring empfohlen |
| 11–15 | Schlecht — aufteilen |
| >15 | Kritisch — sofortiger Refactoring-Bedarf |
LCOM4: Anzahl der unverbundenen Komponentengruppen in einer Klasse/Modul.
| Modul | CC (max) | LCOM4 | I-Index | SoC-Verletzungen | Priorität |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | Hoch/Mittel/Niedrig |
Strukturiere die Ausgabe immer so:
Für jedes Interface immer vollständige TypeScript/Python/Java-Definition, nicht nur den Namen.
Detaillierte Checklisten und Beispiele:
references/boundary-checklist.md — Grenzschichten-Checklistereferences/interface-templates.md — Interface-Vorlagen für häufige Musterreferences/metrics-examples.md — CC/LCOM Berechnungsbeispiele