diff --git a/.github/genome/Concept Genome Engine.md b/.github/genome/Concept Genome Engine.md
index 3e5f812..4b744ae 100644
--- a/.github/genome/Concept Genome Engine.md
+++ b/.github/genome/Concept Genome Engine.md
@@ -2,14 +2,14 @@
## Ziel
-Automatische Erkennung evolutionärer Verbesserungen an Copilot-Customization-Dateien (Skills, Agents, Prompts, Instructions) über Git-History hinweg. Die erkannten Verbesserungen werden destilliert, bewertet und als Propagation-Vorschläge für andere Projekte bereitgestellt.
+Automatische Erkennung von Verbesserungen an KI-Tooling-Dateien (Skills, Agents, Prompts, Instructions) über Git-History hinweg. Die erkannten Improvements werden destilliert, bewertet und als Transfer-Vorschläge für andere Projekte bereitgestellt.
```mermaid
graph LR
A[Repo A
Verbesserungen] -->|Git-History| E[Extraction]
- E -->|raw-mutations| D[Distillation]
- D -->|Growth Vectors| P[Propagation]
- P -->|Patches| B[Repo B
aktualisiert]
+ E -->|raw improvements| D[Distillation]
+ D -->|Insights| T[Transfer]
+ T -->|Patches| B[Repo B
aktualisiert]
```
---
@@ -18,25 +18,25 @@ graph LR
```mermaid
graph TD
- G[🧬 Genome
Gesamtheit aller Traits] --> T1[Trait: Skill]
- G --> T2[Trait: Agent]
- G --> T3[Trait: Prompt]
- G --> T4[Trait: Instructions]
- T1 -->|Git-Delta| M1[Mutation]
- T3 -->|Git-Delta| M2[Mutation]
- M1 -->|destilliert| GV1[Growth Vector
Score 8/10 🟡]
- M2 -->|destilliert| GV2[Growth Vector
Score 9/10 🔴]
- GV1 --> PR[Propagation
Konkrete Patches]
+ G[🧬 Genome
Gesamtheit aller Capabilities] --> T1[Capability: Skill]
+ G --> T2[Capability: Agent]
+ G --> T3[Capability: Prompt]
+ G --> T4[Capability: Instructions]
+ T1 -->|Git-Delta| M1[Improvement]
+ T3 -->|Git-Delta| M2[Improvement]
+ M1 -->|destilliert| GV1[Insight
Score 8/10 🟡]
+ M2 -->|destilliert| GV2[Insight
Score 9/10 🔴]
+ GV1 --> PR[Transfer
Konkrete Patches]
GV2 --> PR
```
-| Begriff | Bedeutung |
-| ----------------- | ----------------------------------------------------------------------------------------- |
-| **Trait** | Ein Skill, Agent, Prompt(-Verbund) oder Instructions-File inkl. aller zugehörigen Dateien |
-| **Genome** | Die Gesamtheit aller Traits eines Projekts |
-| **Mutation** | Ein Git-Commit-Delta an einem Trait (siehe Mutation-Typen) |
-| **Growth Vector** | Destillierte, bewertete Mutation (bereinigt, klassifiziert, gescored) |
-| **Propagation** | Konkreter Änderungsvorschlag für ein Ziel-Genome |
+| Begriff | Bedeutung |
+| ---------------- | -------------------------------------------------------------------------------------------- |
+| **Capability** | Ein Skill, Agent, Prompt(-Verbund) oder Instructions-File inkl. aller zugehörigen Dateien |
+| **Genome** | Die Gesamtheit aller Capabilities eines Projekts – das "KI-Wissen" eines Repos |
+| **Improvement** | Ein Git-Commit-Delta an einer Capability – eine konkrete Verbesserung am KI-Tooling |
+| **Insight** | Destilliertes, bewertetes Improvement (bereinigt, klassifiziert, gescored, übertragbar) |
+| **Transfer** | Konkreter Änderungsvorschlag, um ein Insight auf ein Ziel-Genome anzuwenden |
---
@@ -52,9 +52,9 @@ Folgende Pfade bilden das Genome:
---
-## Trait-Erkennung
+## Capability-Erkennung
-Traits werden aus dem Dateipfad abgeleitet. Die Granularität hängt vom Trait-Typ ab:
+Capabilities werden aus dem Dateipfad abgeleitet. Die Granularität hängt vom Capability-Typ ab:
```mermaid
graph TD
@@ -69,27 +69,27 @@ graph TD
### Skills
-Ein Skill besteht aus einem Ordner mit mehreren zusammengehörigen Dateien (SKILL.md, Scripte, Templates). Der **Ordnername** ist der Trait-Schlüssel.
+Ein Skill besteht aus einem Ordner mit mehreren zusammengehörigen Dateien (SKILL.md, Scripte, Templates). Der **Ordnername** ist der Capability-Schlüssel.
```
-.github/skills/gh-tickets/SKILL.md → trait: skill/gh-tickets
-.github/skills/gh-tickets/queries.graphql → trait: skill/gh-tickets
-.github/skills/android-build/SKILL.md → trait: skill/android-build
-.github/skills/android-build/android-dev.ps1 → trait: skill/android-build
+.github/skills/gh-tickets/SKILL.md → capability: skill/gh-tickets
+.github/skills/gh-tickets/queries.graphql → capability: skill/gh-tickets
+.github/skills/android-build/SKILL.md → capability: skill/android-build
+.github/skills/android-build/android-dev.ps1 → capability: skill/android-build
```
-**Regel:** `skill/` – alle Dateien im Ordner gehören zum selben Trait.
+**Regel:** `skill/` – alle Dateien im Ordner gehören zur selben Capability.
### Agents
-Ein Agent besteht aus genau einer Datei. Der **vollständige Dateiname** (ohne Pfad, ohne Extension) ist der Trait-Schlüssel.
+Ein Agent besteht aus genau einer Datei. Der **vollständige Dateiname** (ohne Pfad, ohne Extension) ist der Capability-Schlüssel.
```
-.github/agents/android-implementer.agent.md → trait: agent/android-implementer
-.github/agents/code-reviewer.agent.md → trait: agent/code-reviewer
+.github/agents/android-implementer.agent.md → capability: agent/android-implementer
+.github/agents/code-reviewer.agent.md → capability: agent/code-reviewer
```
-**Regel:** `agent/` – 1:1-Zuordnung Datei → Trait.
+**Regel:** `agent/` – 1:1-Zuordnung Datei → Capability.
### Prompts
@@ -97,49 +97,49 @@ Prompts unterscheiden zwei Varianten: **Standalone** und **Verbund**.
#### Standalone-Prompts
-Einzeldateien ohne Router-Beziehung. Der **Dateiname** ist der Trait-Schlüssel.
+Einzeldateien ohne Router-Beziehung. Der **Dateiname** ist der Capability-Schlüssel.
```
-.github/prompts/commit.prompt.md → trait: prompt/commit
-.github/prompts/ship.prompt.md → trait: prompt/ship
-.github/prompts/publish.prompt.md → trait: prompt/publish
+.github/prompts/commit.prompt.md → capability: prompt/commit
+.github/prompts/ship.prompt.md → capability: prompt/ship
+.github/prompts/publish.prompt.md → capability: prompt/publish
```
-**Regel:** `prompt/` – 1:1-Zuordnung Datei → Trait.
+**Regel:** `prompt/` – 1:1-Zuordnung Datei → Capability.
#### Verbund-Prompts (Router + Sub-Workflows)
-Wenn eine Prompt-Datei eine Routing-Tabelle mit Verweisen auf andere `.prompt.md`-Dateien enthält, bilden Router + referenzierte Dateien **einen** Trait. Der **Router-Name** ist der Trait-Schlüssel.
+Wenn eine Prompt-Datei eine Routing-Tabelle mit Verweisen auf andere `.prompt.md`-Dateien enthält, bilden Router + referenzierte Dateien **eine** Capability. Der **Router-Name** ist der Capability-Schlüssel.
```
-.github/prompts/nextstep.prompt.md → trait: prompt/nextstep
-.github/prompts/nextstep-implementation.prompt.md → trait: prompt/nextstep
-.github/prompts/nextstep-planning.prompt.md → trait: prompt/nextstep
-.github/prompts/nextstep-tech-decision.prompt.md → trait: prompt/nextstep
+.github/prompts/nextstep.prompt.md → capability: prompt/nextstep
+.github/prompts/nextstep-implementation.prompt.md → capability: prompt/nextstep
+.github/prompts/nextstep-planning.prompt.md → capability: prompt/nextstep
+.github/prompts/nextstep-tech-decision.prompt.md → capability: prompt/nextstep
```
-**Verbund-Erkennung:** Eine Datei `.prompt.md` ist ein Router, wenn Dateien `-*.prompt.md` im selben Verzeichnis existieren. Alle gehören zum selben Verbund-Trait.
+**Verbund-Erkennung:** Eine Datei `.prompt.md` ist ein Router, wenn Dateien `-*.prompt.md` im selben Verzeichnis existieren. Alle gehören zur selben Verbund-Capability.
### Instructions
-Instructions-Dateien sind Einzeldateien. Der **Dateiname** ist der Trait-Schlüssel.
+Instructions-Dateien sind Einzeldateien. Der **Dateiname** ist der Capability-Schlüssel.
```
-.github/copilot-instructions.md → trait: instructions/copilot-instructions
-.github/kotlin-conventions.instructions.md → trait: instructions/kotlin-conventions
+.github/copilot-instructions.md → capability: instructions/copilot-instructions
+.github/kotlin-conventions.instructions.md → capability: instructions/kotlin-conventions
```
-**Regel:** `instructions/` – 1:1-Zuordnung Datei → Trait.
+**Regel:** `instructions/` – 1:1-Zuordnung Datei → Capability.
---
-## Mutation-Typen
+## Improvement-Typen
-| Typ | Bedeutung | Beispiel |
-| ---------------- | ------------------------------------ | ----------------------------------------------------- |
-| `content-change` | Inhalt einer Datei im Trait geändert | `nextstep-implementation.prompt.md` optimiert |
-| `member-added` | Neue Datei zum Trait hinzugefügt | Neuer `nextstep-migration.prompt.md` + Router-Eintrag |
-| `member-removed` | Datei aus dem Trait entfernt | `nextstep-test.prompt.md` gelöscht |
+| Typ | Bedeutung | Beispiel |
+| ---------------- | -------------------------------------------- | ----------------------------------------------------- |
+| `content-change` | Inhalt einer Datei in der Capability geändert | `nextstep-implementation.prompt.md` optimiert |
+| `member-added` | Neue Datei zur Capability hinzugefügt | Neuer `nextstep-migration.prompt.md` + Router-Eintrag |
+| `member-removed` | Datei aus der Capability entfernt | `nextstep-test.prompt.md` gelöscht |
---
@@ -150,16 +150,16 @@ flowchart LR
subgraph "Phase 1: Extraction"
direction TB
GIT[(Git-History)] --> SCRIPT[genome-extract.py]
- SCRIPT --> RAW[raw-mutations.md]
+ SCRIPT --> RAW[raw-improvements.md]
end
subgraph "Phase 2: Distillation"
direction TB
- RAW2[raw-mutations.md] --> AGENT1[KI-Agent]
- AGENT1 --> |"Klassifizieren\nScoren\nSanitizen"| DIST[distilled-mutations.md]
+ RAW2[raw-improvements.md] --> AGENT1[KI-Agent]
+ AGENT1 --> |"Klassifizieren\nScoren\nSanitizen"| DIST[distilled-insights.md]
end
- subgraph "Phase 3: Propagation"
+ subgraph "Phase 3: Transfer"
direction TB
- DIST2[distilled-mutations.md] --> AGENT2[KI-Agent]
+ DIST2[distilled-insights.md] --> AGENT2[KI-Agent]
ZIEL[Ziel-Genome] --> AGENT2
AGENT2 --> PATCHES[Konkrete Patches]
end
@@ -170,22 +170,22 @@ flowchart LR
### Phase 1: Extraction (Script)
**Input:** Repo-Pfad + Zeitspanne (z.B. `--since "7 days ago"`)
-**Output:** `raw-mutations.md`
+**Output:** `raw-improvements.md`
- Scannt `git log` für Änderungen im Genome-Scope
-- Gruppiert Diffs nach Trait (siehe Trait-Erkennung oben)
-- Gibt pro Trait alle Commits mit Diff, Message und Autor aus
+- Gruppiert Diffs nach Capability (siehe Capability-Erkennung oben)
+- Gibt pro Capability alle Commits mit Diff, Message und Autor aus
**Tool:** `genome-extract.py` (Python)
### Phase 2: Distillation (Agent)
-**Input:** `raw-mutations.md`
-**Output:** `distilled-mutations.md`
+**Input:** `raw-improvements.md`
+**Output:** `distilled-insights.md`
```mermaid
flowchart TD
- M[Mutation] --> K{Klassifizierung}
+ M[Improvement] --> K{Klassifizierung}
K -->|Bugfix für alle| C[🔴 Critical]
K -->|Generelle Verbesserung| E[🟡 Evolution]
K -->|Nur dieses Projekt| S[⚪ Specialized]
@@ -193,23 +193,23 @@ flowchart TD
E --> SC
S --> X[❌ Entfernt]
SC --> SAN[Sanitization
Pfade, Tokens, IDs ersetzen]
- SAN --> |Score ≥ 4| OUT[→ distilled-mutations.md]
+ SAN --> |Score ≥ 4| OUT[→ distilled-insights.md]
SAN --> |Score < 4| X
```
-- Scored jede Mutation (1–10) nach Übertragungswert
+- Scored jedes Improvement (1–10) nach Übertragungswert
- Filtert sensitive Daten (Usernames, Maschinenpfade, Tokens, projektspezifische IDs)
-- Specialized Mutations werden komplett entfernt
+- Specialized Improvements werden komplett entfernt
**Tool:** `genome-distill.prompt.md`
-### Phase 3: Propagation (Agent)
+### Phase 3: Transfer (Agent)
-**Input:** `distilled-mutations.md` + Ziel-Genome
-**Output:** `propagation-proposals.md`
+**Input:** `distilled-insights.md` + Ziel-Genome
+**Output:** `transfer-proposals.md`
-- Matched Traits zwischen Quell- und Ziel-Genome
-- Erstellt konkrete Änderungsvorschläge pro Trait
+- Matched Capabilities zwischen Quell- und Ziel-Genome
+- Erstellt konkrete Änderungsvorschläge pro Capability
- Formatiert als Checkliste mit Default-Auswahl:
| Kategorie | Default | Bedingung |
@@ -232,7 +232,7 @@ sequenceDiagram
Note over T: Letzter .github/-Commit = T_target
R->>R: git log --since T_target
R->>R: 12 Commits an .github/ gefunden
- R-->>T: Mutations extrahiert → Distillation → Propagation
+ R-->>T: Improvements extrahiert → Distillation → Transfer
```
1. Letzter `.github/`-Commit im Ziel-Repo ermitteln → `T_target`
@@ -255,12 +255,12 @@ graph TD
PR[genome-propagate.prompt.md
Phase 3]
end
subgraph ".github/genome/output/"
- RM[raw-mutations.md
generiert]
- DM[distilled-mutations.md
generiert]
- PP[propagation-proposals.md
generiert]
+ RM[raw-improvements.md
generiert]
+ DM[distilled-insights.md
generiert]
+ PP[transfer-proposals.md
generiert]
end
- subgraph "docs/"
- CO[genome-engine.md
Dieses Konzept]
+ subgraph ".github/genome/"
+ CO[Concept Genome Engine.md
Dieses Konzept]
end
OR -->|"ruft auf"| EX
OR -->|"delegiert an"| DI
@@ -280,9 +280,9 @@ graph TD
| 4 | `genome-propagate.prompt.md` | Prompt | `.github/prompts/` |
| 5 | `SKILL.md` | Skill-Doku | `.github/skills/genome/` |
| 6 | `genome-engine.md` | Konzept | `docs/` |
-| 7 | `raw-mutations.md` | Generiert | `.github/genome/output/` |
-| 8 | `distilled-mutations.md` | Generiert | `.github/genome/output/` |
-| 9 | `propagation-proposals.md` | Generiert | `.github/genome/output/` |
+| 7 | `raw-improvements.md` | Generiert | `.github/genome/output/` |
+| 8 | `distilled-insights.md` | Generiert | `.github/genome/output/` |
+| 9 | `transfer-proposals.md` | Generiert | `.github/genome/output/` |
> Generierte Dateien (7–9) sind gitignored.
@@ -290,7 +290,7 @@ graph TD
## Zukünftige Erweiterungen
-- Multi-Repo-Registry: Zentrale Sammlung von Growth Vectors aus vielen Projekten
-- Automatische Erkennung des Evolutionszeitraums über Repo-Vergleich
-- CI-Integration: Propagation-Check bei jedem Push
-- Community-Sharing: Öffentliche Growth Vectors als "Trait Packages"
+- Multi-Repo-Registry: Zentrale Sammlung von Insights aus vielen Projekten
+- Automatische Erkennung des Transfer-Zeitraums über Repo-Vergleich
+- CI-Integration: Transfer-Check bei jedem Push
+- Community-Sharing: Öffentliche Insights als "Capability Packages"
diff --git a/.github/prompts/genome-distill.prompt.md b/.github/prompts/genome-distill.prompt.md
index bc9fc4c..3f1f2ef 100644
--- a/.github/prompts/genome-distill.prompt.md
+++ b/.github/prompts/genome-distill.prompt.md
@@ -1,20 +1,20 @@
---
-description: "Genome Engine Phase 2: Distilliert raw-mutations.md – klassifiziert, scored und bereinigt Mutations für Cross-Repo-Propagation."
+description: "Genome Engine Phase 2: Destilliert raw-improvements.md – klassifiziert, scored und bereinigt Improvements für Cross-Repo-Transfer."
model: Claude Opus 4.6 (copilot)
tools: [read, edit]
---
# Genome Distillation
-Du erhältst eine Datei mit rohen Git-Mutations aus Copilot-Customization-Dateien. Deine Aufgabe: **klassifizieren, scoren, bereinigen** – damit nur übertragbare Verbesserungen übrig bleiben.
+Du erhältst eine Datei mit rohen Git-Improvements aus KI-Tooling-Dateien. Deine Aufgabe: **klassifizieren, scoren, bereinigen** – damit nur übertragbare Verbesserungen übrig bleiben.
## Input
-Lies die Datei `.github/genome/output/raw-mutations.md`.
+Lies die Datei `.github/genome/output/raw-improvements.md`.
## Aufgabe
-Für **jeden Trait** und jede Mutation darin:
+Für **jede Capability** und jedes Improvement darin:
### 1. Klassifizierung
@@ -26,7 +26,7 @@ Für **jeden Trait** und jede Mutation darin:
### 2. Scoring (1–10)
-Bewerte den **Übertragungswert** jeder Critical/Evolution-Mutation:
+Bewerte den **Übertragungswert** jedes Critical/Evolution-Improvements:
- **9–10:** Universell wertvoll, jedes Repo profitiert
- **7–8:** Breit anwendbar, gutes Pattern
@@ -64,7 +64,7 @@ Ersetze in den Diffs:
### 4. Filterung
-- **Specialized** Mutations: komplett entfernen (nicht in Output aufnehmen)
+- **Specialized** Improvements: komplett entfernen (nicht in Output aufnehmen)
- **Reine Formatting-Änderungen** (nur Whitespace/Tabellenausrichtung): entfernen
- **Renames ohne inhaltliche Änderung**: entfernen
@@ -72,16 +72,16 @@ Ersetze in den Diffs:
### Fehler 1: `member-added` pauschal als Specialized verwerfen
-Neue Dateien (`member-added`) sind oft die **wertvollsten** Mutations. Ein neuer Skill, Prompt oder Agent ist nach Sanitization häufig hochgradig übertragbar. Prüfe:
+Neue Dateien (`member-added`) sind oft die **wertvollsten** Improvements. Ein neuer Skill, Prompt oder Agent ist nach Sanitization häufig hochgradig übertragbar. Prüfe:
- Enthält die Datei ein **allgemeines Pattern** (z.B. Checkliste, Workflow-Struktur, Fehlerklassen-Katalog)?
- Ist sie nach Pfad-/Namen-Sanitization auf andere Projekte anwendbar?
- → Wenn ja: **Evolution** (Score 7–9), nicht Specialized.
**Nur** als Specialized werten, wenn der **gesamte Inhalt** projektspezifisch ist (z.B. nur eine Entity-Definition für eine bestimmte App).
-### Fehler 2: Nur den ersten Teil der raw-mutations lesen
+### Fehler 2: Nur den ersten Teil der raw-improvements lesen
-Die raw-mutations-Datei kann **tausende Zeilen** lang sein. Skills, Scripts und neue Traits stehen oft am Ende. **Lies die GESAMTE Datei** bevor du klassifizierst – nicht nur die ersten 1000–2000 Zeilen.
+Die raw-improvements-Datei kann **tausende Zeilen** lang sein. Skills, Scripts und neue Capabilities stehen oft am Ende. **Lies die GESAMTE Datei** bevor du klassifizierst – nicht nur die ersten 1000–2000 Zeilen.
### Fehler 3: Mehrteilige Commits nicht trennen
@@ -98,7 +98,7 @@ PowerShell/Python-Scripts die ein **universelles DevOps-Problem** lösen (z.B. E
### Fehler 5: Zu konservativ scoren
-Eine Conversion-Rate von < 10% ist ein Warnsignal. Bei typischen aktiven Repos mit 20+ Traits sollte die Rate bei **15–30%** liegen (bezogen auf Traits mit mindestens einer Evolution, nicht auf Mutations-Gesamtzahl).
+Eine Conversion-Rate von < 10% ist ein Warnsignal. Bei typischen aktiven Repos mit 20+ Capabilities sollte die Rate bei **15–30%** liegen (bezogen auf Capabilities mit mindestens einer Evolution, nicht auf Improvements-Gesamtzahl).
## Regeln zur Diff-Analyse
@@ -125,13 +125,13 @@ Gehe für jeden Commit wie folgt vor:
## Output-Format
-Schreibe das Ergebnis in `.github/genome/output/distilled-mutations.md` mit folgendem Format:
+Schreibe das Ergebnis in `.github/genome/output/distilled-insights.md` mit folgendem Format:
````markdown
-# Distilled Mutations
+# Distilled Insights
**Quelle:**
-**Zeitraum:**
+**Zeitraum:**
**Distilliert:**
**Ergebnis:** X Critical, Y Evolution (Z Specialized entfernt)
@@ -139,7 +139,7 @@ Schreibe das Ergebnis in `.github/genome/output/distilled-mutations.md` mit folg
## 🔴 Critical
-### Trait: ``
+### Capability: ``
**Score:** N/10
**Zusammenfassung:** <1-Satz was gefixt wurde>
@@ -153,7 +153,7 @@ Schreibe das Ergebnis in `.github/genome/output/distilled-mutations.md` mit folg
## 🟡 Evolution
-### Trait: ``
+### Capability: ``
**Score:** N/10
**Zusammenfassung:** <1-Satz was verbessert wurde>
@@ -167,11 +167,11 @@ Schreibe das Ergebnis in `.github/genome/output/distilled-mutations.md` mit folg
## Regeln
-- Fasse mehrere Commits am selben Trait zu EINER Mutation zusammen, wenn sie dasselbe verbessern
+- Fasse mehrere Commits an derselben Capability zu EINEM Improvement zusammen, wenn sie dasselbe verbessern
- Bei Score < 4: nicht aufnehmen (zu wenig Übertragungswert)
- Sortiere innerhalb jeder Klasse absteigend nach Score
- Halte Zusammenfassungen auf 1 Satz
- Das "Pattern"-Feld bei Evolution beschreibt die **generalisierte Verbesserung**, nicht den konkreten Change
- Diffs dürfen gekürzt werden – nur die relevanten Hunks behalten
-- Schreibe am Ende einen **Analyse-Bericht** in den Chat (nicht in die Datei): `Traits: N | Mutations: M | Critical: A | Evolution: B | Specialized entfernt: C | Churn-Commits übersprungen: D`
+- Schreibe am Ende einen **Analyse-Bericht** in den Chat (nicht in die Datei): `Capabilities: N | Improvements: M | Critical: A | Evolution: B | Specialized entfernt: C | Churn-Commits übersprungen: D`
```
diff --git a/.github/prompts/genome-propagate.prompt.md b/.github/prompts/genome-propagate.prompt.md
index a66b757..0b45c6e 100644
--- a/.github/prompts/genome-propagate.prompt.md
+++ b/.github/prompts/genome-propagate.prompt.md
@@ -1,47 +1,47 @@
---
-description: "Genome Engine Phase 3: Propagiert distilled Mutations auf ein Ziel-Genome – erstellt konkrete Änderungsvorschläge als Checkliste."
+description: "Genome Engine Phase 3: Transferiert distilled Insights auf ein Ziel-Genome – erstellt konkrete Änderungsvorschläge als Checkliste."
model: Claude Opus 4.6 (copilot)
tools: [read, edit, search]
---
-# Genome Propagation
+# Genome Transfer
-Du erhältst destillierte Mutations (klassifiziert, gescored, bereinigt) und sollst konkrete Änderungsvorschläge für das **aktuelle Repo** erstellen.
+Du erhältst destillierte Insights (klassifiziert, gescored, bereinigt) und sollst konkrete Änderungsvorschläge für das **aktuelle Repo** erstellen.
## Input
-1. Lies `.github/genome/output/distilled-mutations.md` (die Growth Vectors)
+1. Lies `.github/genome/output/distilled-insights.md` (die Insights)
2. Scanne das Ziel-Genome dieses Repos: `.github/skills/`, `.github/agents/`, `.github/prompts/`, `.github/copilot-instructions.md`
## Aufgabe
-### 1. Trait-Matching
+### 1. Capability-Matching
-Für jeden Growth Vector aus `distilled-mutations.md`:
+Für jeden Insight aus `distilled-insights.md`:
-- Prüfe ob ein **gleichnamiger Trait** im Ziel-Genome existiert → direktes Match
-- Prüfe ob ein **funktional äquivalenter Trait** existiert (anderer Name, gleicher Zweck) → adaptiertes Match
-- Kein Match → **neuer Trait** (nur bei Score ≥ 8 in die Checkliste aufnehmen, aber IMMER als "neu" kennzeichnen – nie automatisch anwenden)
+- Prüfe ob eine **gleichnamige Capability** im Ziel-Genome existiert → direktes Match
+- Prüfe ob eine **funktional äquivalente Capability** existiert (anderer Name, gleicher Zweck) → adaptiertes Match
+- Kein Match → **neue Capability** (nur bei Score ≥ 8 in die Checkliste aufnehmen, aber IMMER als "neu" kennzeichnen – nie automatisch anwenden)
### 2. Patch-Generierung
Erstelle für jedes Match einen konkreten Änderungsvorschlag:
-- **Bestehender Trait:** Zeige den Ist-Zustand (relevanter Ausschnitt) und den vorgeschlagenen Soll-Zustand
-- **Neuer Trait:** Zeige die vollständige neue Datei
+- **Bestehende Capability:** Zeige den Ist-Zustand (relevanter Ausschnitt) und den vorgeschlagenen Soll-Zustand
+- **Neue Capability:** Zeige die vollständige neue Datei
- Passe Platzhalter (``, `` etc.) an die Werte dieses Repos an
### 3. Checkliste formatieren
## Output-Format
-Schreibe das Ergebnis in `.github/genome/output/propagation-proposals.md`:
+Schreibe das Ergebnis in `.github/genome/output/transfer-proposals.md`:
````markdown
-# Propagation Proposals
+# Transfer Proposals
**Ziel-Repo:**
-**Quelle:**
+**Quelle:**
**Erstellt:**
**Vorschläge:** X Critical, Y Evolution
@@ -51,7 +51,7 @@ Schreibe das Ergebnis in `.github/genome/output/propagation-proposals.md`:
### 🔴 Critical
-- [x] **``** (Score N/10) –
+- [x] **``** (Score N/10) –
Änderung anzeigen
@@ -67,7 +67,7 @@ Schreibe das Ergebnis in `.github/genome/output/propagation-proposals.md`:
### 🟡 Evolution (Score ≥ 7)
-- [x] **``** (Score N/10) –
+- [x] **``** (Score N/10) –
Änderung anzeigen
@@ -82,7 +82,7 @@ Schreibe das Ergebnis in `.github/genome/output/propagation-proposals.md`:
### 🟡 Evolution (Score < 7)
-- [ ] **``** (Score N/10) –
+- [ ] **``** (Score N/10) –
Änderung anzeigen
@@ -104,21 +104,21 @@ Frage den User:
Wende dann die ausgewählten Patches an – mit folgenden Einschränkungen:
-### Neue Traits: Bestätigung erforderlich
+### Neue Capabilities: Bestätigung erforderlich
-Bevor ein neuer Trait (kein Match im Ziel-Genome) angelegt wird, **immer einzeln bestätigen lassen**:
+Bevor eine neue Capability (kein Match im Ziel-Genome) angelegt wird, **immer einzeln bestätigen lassen**:
-> Soll ich `` als neuen Trait in `.github/` anlegen?
+> Soll ich `` als neue Capability in `.github/` anlegen?
> Inhalt:
-Ers nach expliziter Bestätigung anlegen. Nie mehrere neue Traits auf einmal ohne Bestätigung.
+Erst nach expliziter Bestätigung anlegen. Nie mehrere neue Capabilities auf einmal ohne Bestätigung.
## Regeln
- Default-Auswahl: Critical = an, Evolution ≥ 7 = an, Evolution < 7 = aus
-- Überspringe Vorschläge, bei denen der Ziel-Trait bereits den gleichen Stand hat (kein Diff)
+- Überspringe Vorschläge, bei denen die Ziel-Capability bereits den gleichen Stand hat (kein Diff)
- Bei Konflikten (Ziel-Datei hat abweichende Struktur): markiere als ⚠️ und zeige beide Varianten
-- Erstelle KEINE neuen Traits mit Score < 8
-- Neue Traits immer einzeln bestätigen lassen – auch wenn mehrere selektiert wurden
+- Erstelle KEINE neuen Capabilities mit Score < 8
+- Neue Capabilities immer einzeln bestätigen lassen – auch wenn mehrere selektiert wurden
- Passe Einrückung und Stil an die Konventionen des Ziel-Repos an
```
diff --git a/.github/prompts/genome.prompt.md b/.github/prompts/genome.prompt.md
index 8322e34..bd2d1db 100644
--- a/.github/prompts/genome.prompt.md
+++ b/.github/prompts/genome.prompt.md
@@ -45,31 +45,31 @@ Stelle dem User zu Beginn **immer** folgende Fragen über das `vscode_askQuestio
Warte auf die Antworten, bevor du mit Phase 1 beginnst.
-> Wenn Quell- und Ziel-Repo identisch sind: Extraction + Distillation durchführen, aber Propagation überspringen (sinnlos auf sich selbst).
+> Wenn Quell- und Ziel-Repo identisch sind: Extraction + Distillation durchführen, aber Transfer überspringen (sinnlos auf sich selbst).
## Phase 1: Extraction
Führe das Extraction-Script aus:
```bash
-python .github/skills/genome/genome-extract.py --since "" --repo "" --output ".github/genome/output/raw-mutations.md"
+python .github/skills/genome/genome-extract.py --since "" --repo "" --output ".github/genome/output/raw-improvements.md"
```
Prüfe das Ergebnis:
-- Wenn 0 Traits gefunden: Melde "Keine Mutations im Zeitraum" und stoppe.
-- Sonst: Zeige kurze Zusammenfassung (Anzahl Traits, Anzahl Mutations) und weiter zu Phase 2.
+- Wenn 0 Capabilities gefunden: Melde "Keine Improvements im Zeitraum" und stoppe.
+- Sonst: Zeige kurze Zusammenfassung (Anzahl Capabilities, Anzahl Improvements) und weiter zu Phase 2.
## Phase 2: Distillation
Führe jetzt die Distillation durch. Folge den Anweisungen aus `.github/prompts/genome-distill.prompt.md`:
-1. Lies `.github/genome/output/raw-mutations.md`
-2. Klassifiziere jede Mutation (🔴 Critical / 🟡 Evolution / ⚪ Specialized)
+1. Lies `.github/genome/output/raw-improvements.md`
+2. Klassifiziere jedes Improvement (🔴 Critical / 🟡 Evolution / ⚪ Specialized)
3. Score den Übertragungswert (1–10)
4. Sanitize sensitive Daten
5. Filtere Specialized + Score < 4
-6. Schreibe `.github/genome/output/distilled-mutations.md`
+6. Schreibe `.github/genome/output/distilled-insights.md`
Zeige dem User eine Zusammenfassung:
@@ -77,17 +77,17 @@ Zeige dem User eine Zusammenfassung:
Distillation: X Critical, Y Evolution (Z Specialized entfernt)
```
-Wenn 0 Critical + 0 Evolution übrig: Melde "Keine übertragbaren Mutations" und stoppe.
+Wenn 0 Critical + 0 Evolution übrig: Melde "Keine übertragbaren Insights" und stoppe.
-## Phase 3: Propagation
+## Phase 3: Transfer
> **Nur wenn Quell-Repo ≠ Ziel-Repo.**
-Führe die Propagation durch. Folge den Anweisungen aus `.github/prompts/genome-propagate.prompt.md`:
+Führe den Transfer durch. Folge den Anweisungen aus `.github/prompts/genome-propagate.prompt.md`:
-1. Lies `.github/genome/output/distilled-mutations.md`
+1. Lies `.github/genome/output/distilled-insights.md`
2. Scanne das Ziel-Genome (`.github/` des Ziel-Repos)
-3. Matche Traits und generiere Patches
+3. Matche Capabilities und generiere Patches
4. Zeige die Checkliste:
- `[x]` Critical (default an)
- `[x]` Evolution mit Score ≥ 7 (default an)
diff --git a/.github/skills/genome/SKILL.md b/.github/skills/genome/SKILL.md
index 4b03a51..8d483db 100644
--- a/.github/skills/genome/SKILL.md
+++ b/.github/skills/genome/SKILL.md
@@ -1,30 +1,30 @@
# Genome Engine
-Automatische Erkennung und Übertragung evolutionärer Verbesserungen an Copilot-Customization-Dateien (Skills, Agents, Prompts, Instructions) zwischen Repositories.
+Automatische Erkennung und Übertragung von Verbesserungen am KI-Tooling (Skills, Agents, Prompts, Instructions) zwischen Repositories.
## Trigger-Phrasen
-`genome`, `propagate`, `mutations übertragen`, `traits synchronisieren`, `genome extract`, `genome propagate`
+`genome`, `transfer`, `improvements übertragen`, `capabilities synchronisieren`, `genome extract`, `genome transfer`
## Konzept
-Die Genome Engine erkennt Verbesserungen an Copilot-Konfigurationsdateien über Git-History, destilliert sie in übertragbare "Growth Vectors" und schlägt konkrete Patches für andere Repos vor.
+Die Genome Engine erkennt Verbesserungen an KI-Konfigurationsdateien über Git-History, destilliert sie in übertragbare "Insights" und schlägt konkrete Patches für andere Repos vor.
**Begriffe:**
-- **Trait** – Ein Skill, Agent, Prompt(-Verbund) oder Instructions-File
-- **Genome** – Die Gesamtheit aller Traits eines Projekts
-- **Mutation** – Ein Git-Commit-Delta an einem Trait
-- **Growth Vector** – Destillierte, bewertete Mutation (bereinigt, klassifiziert, gescored)
-- **Propagation** – Konkreter Änderungsvorschlag für ein Ziel-Genome
+- **Capability** – Ein Skill, Agent, Prompt(-Verbund) oder Instructions-File
+- **Genome** – Die Gesamtheit aller Capabilities eines Projekts
+- **Improvement** – Ein Git-Commit-Delta an einer Capability
+- **Insight** – Destilliertes, bewertetes Improvement (bereinigt, klassifiziert, gescored)
+- **Transfer** – Konkreter Änderungsvorschlag für ein Ziel-Genome
## Pipeline
-| Phase | Tool | Input → Output |
-| --------------- | ---------------------------- | ------------------------------------------------ |
-| 1. Extraction | `genome-extract.py` | Git-History → `raw-mutations.md` |
-| 2. Distillation | `genome-distill.prompt.md` | `raw-mutations.md` → `distilled-mutations.md` |
-| 3. Propagation | `genome-propagate.prompt.md` | `distilled-mutations.md` + Ziel-Genome → Patches |
+| Phase | Tool | Input → Output |
+| --------------- | ---------------------------- | --------------------------------------------------- |
+| 1. Extraction | `genome-extract.py` | Git-History → `raw-improvements.md` |
+| 2. Distillation | `genome-distill.prompt.md` | `raw-improvements.md` → `distilled-insights.md` |
+| 3. Transfer | `genome-propagate.prompt.md` | `distilled-insights.md` + Ziel-Genome → Patches |
## Usage
@@ -36,18 +36,18 @@ Der Router-Prompt fragt nach Quell-Repo und Zeitspanne, dann orchestriert er all
## Dateien
-| Datei | Ort | Zweck |
-| ---------------------------- | ------------------------ | --------------------------------------- |
-| `SKILL.md` | `.github/skills/genome/` | Diese Dokumentation |
-| `genome-extract.py` | `.github/skills/genome/` | Phase 1: Git-Scanning + Trait-Erkennung |
-| `genome.prompt.md` | `.github/prompts/` | Orchestrator (Router für alle 3 Phasen) |
-| `genome-distill.prompt.md` | `.github/prompts/` | Phase 2: Klassifizierung + Scoring |
-| `genome-propagate.prompt.md` | `.github/prompts/` | Phase 3: Patch-Generierung für Ziel |
-| `Concept Genome Engine.md` | `.github/genome/` | Vollständiges Konzept-Dokument |
+| Datei | Ort | Zweck |
+| ---------------------------- | ------------------------ | --------------------------------------------- |
+| `SKILL.md` | `.github/skills/genome/` | Diese Dokumentation |
+| `genome-extract.py` | `.github/skills/genome/` | Phase 1: Git-Scanning + Capability-Erkennung |
+| `genome.prompt.md` | `.github/prompts/` | Orchestrator (Router für alle 3 Phasen) |
+| `genome-distill.prompt.md` | `.github/prompts/` | Phase 2: Klassifizierung + Scoring |
+| `genome-propagate.prompt.md` | `.github/prompts/` | Phase 3: Transfer-Vorschläge für Ziel |
+| `Concept Genome Engine.md` | `.github/genome/` | Vollständiges Konzept-Dokument |
-## Trait-Erkennung
+## Capability-Erkennung
-Pfade werden automatisch zu Trait-Keys aufgelöst:
+Pfade werden automatisch zu Capability-Keys aufgelöst:
```
.github/skills/gh-tickets/SKILL.md → skill/gh-tickets
diff --git a/.github/skills/genome/genome-extract.py b/.github/skills/genome/genome-extract.py
index 1cff82e..a33a9d1 100644
--- a/.github/skills/genome/genome-extract.py
+++ b/.github/skills/genome/genome-extract.py
@@ -2,9 +2,9 @@
"""
Genome Engine – Phase 1: Extraction
-Extrahiert Mutations aus der Git-History für Copilot-Customization-Dateien.
+Extrahiert Improvements aus der Git-History für KI-Tooling-Dateien.
Scannt git log für Änderungen im Genome-Scope (.github/skills, agents, prompts, instructions).
-Gruppiert Diffs nach Trait und gibt strukturiertes Markdown aus.
+Gruppiert Diffs nach Capability und gibt strukturiertes Markdown aus.
Usage:
python .github/skills/genome/genome-extract.py --since "7 days ago"
@@ -64,7 +64,7 @@ def is_in_genome_scope(filepath: str) -> bool:
def get_trait_key(filepath: str, repo_path: str) -> str | None:
- """Leitet den Trait-Key aus einem Dateipfad ab."""
+ """Leitet den Capability-Key aus einem Dateipfad ab."""
# Skills: skill/
m = re.match(r"^\.github/skills/([^/]+)/", filepath)
@@ -107,7 +107,7 @@ def get_trait_key(filepath: str, repo_path: str) -> str | None:
def get_mutation_type(status: str) -> str:
- """Bestimmt den Mutation-Typ aus dem Git-Status-Buchstaben."""
+ """Bestimmt den Improvement-Typ aus dem Git-Status-Buchstaben."""
if status.startswith("A"):
return "member-added"
elif status.startswith("D"):
@@ -117,7 +117,7 @@ def get_mutation_type(status: str) -> str:
def extract_mutations(repo_path: str, since: str) -> dict[str, list[dict]]:
- """Extrahiert alle Mutations aus der Git-History."""
+ """Extrahiert alle Improvements aus der Git-History."""
mutations: dict[str, list[dict]] = defaultdict(list)
# Git-Log abrufen
@@ -201,26 +201,26 @@ def extract_mutations(repo_path: str, since: str) -> dict[str, list[dict]]:
def generate_markdown(mutations: dict[str, list[dict]], repo_path: str, since: str) -> str:
"""Generiert die Markdown-Ausgabe."""
lines = []
- lines.append("# Raw Mutations")
+ lines.append("# Raw Improvements")
lines.append("")
lines.append(f"**Extrahiert:** {datetime.now().strftime('%Y-%m-%d %H:%M')}")
lines.append(f"**Zeitraum:** seit {since}")
lines.append(f"**Repository:** {Path(repo_path).resolve().name}")
- lines.append(f"**Traits mit Mutations:** {len(mutations)}")
+ lines.append(f"**Capabilities mit Improvements:** {len(mutations)}")
lines.append("")
lines.append("---")
lines.append("")
if not mutations:
- lines.append("*Keine Mutations im angegebenen Zeitraum gefunden.*")
+ lines.append("*Keine Improvements im angegebenen Zeitraum gefunden.*")
else:
for trait_key in sorted(mutations.keys()):
trait_mutations = mutations[trait_key]
- lines.append(f"## Trait: `{trait_key}`")
+ lines.append(f"## Capability: `{trait_key}`")
lines.append("")
- lines.append("| Mutations | Dateien |")
- lines.append("|-----------|---------|")
+ lines.append("| Improvements | Dateien |")
+ lines.append("|-------------|---------|")
unique_files = sorted(set(m["file"] for m in trait_mutations))
lines.append(f"| {len(trait_mutations)} | {', '.join(unique_files)} |")
@@ -259,11 +259,11 @@ def main():
parser = argparse.ArgumentParser(description="Genome Engine – Extraction")
parser.add_argument("--since", default="7 days ago", help='Zeitspanne (z.B. "7 days ago")')
parser.add_argument("--repo", default=".", help="Pfad zum Repository")
- parser.add_argument("--output", default="", help="Output-Pfad (default: .github/genome/output/raw-mutations.md)")
+ parser.add_argument("--output", default="", help="Output-Pfad (default: .github/genome/output/raw-improvements.md)")
args = parser.parse_args()
repo_path = os.path.abspath(args.repo)
- output_path = args.output or os.path.join(repo_path, ".github/genome/output/raw-mutations.md")
+ output_path = args.output or os.path.join(repo_path, ".github/genome/output/raw-improvements.md")
print(f"Genome Extract: Scanning commits since '{args.since}'...")
@@ -278,9 +278,9 @@ def main():
total_mutations = sum(len(v) for v in mutations.values())
print()
print("Extraction abgeschlossen:")
- print(f" Traits: {len(mutations)}")
- print(f" Mutations: {total_mutations}")
- print(f" Output: {output_path}")
+ print(f" Capabilities: {len(mutations)}")
+ print(f" Improvements: {total_mutations}")
+ print(f" Output: {output_path}")
if __name__ == "__main__":