<div align="center">

# 🧬 dot-skill（同事.skill）

### *"Ihr LLM-Bauer seid allesamt Code-Weise! Das Fleisch ist schwach! Steigt auf in den Cyberspace!"*

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org)
[![AgentSkills](https://img.shields.io/badge/AgentSkills-Standard-green)](https://agentskills.io)
[![Stars](https://img.shields.io/github/stars/titanwings/colleague-skill?style=social)](https://github.com/titanwings/colleague-skill/stargazers)

[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://claude.ai/code)
[![Hermes](https://img.shields.io/badge/Hermes-Skill-orange)](https://github.com/titanwings/colleague-skill)
[![OpenClaw](https://img.shields.io/badge/OpenClaw-Skill-teal)](https://github.com/titanwings/colleague-skill)
[![Codex](https://img.shields.io/badge/Codex-Skill-black)](https://github.com/titanwings/colleague-skill)

[![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?logo=discord&logoColor=white)](https://discord.gg/NVX66RxWZv)

<br>

<table>
<tr><td align="left">

🧑‍💼 &nbsp;Dein Kollege hat gekündigt, dein Mentor hat seinen Abschluss gemacht, dein Teamkamerad wurde versetzt — und das ganze Playbook samt Kontext ist mit ihnen verschwunden?<br>
💞 &nbsp;Deine Familie, alte Freunde, dein Partner entfernen sich — und du willst das Gefühl festhalten, mit ihnen zusammen zu sein?<br>
🌟 &nbsp;Dein Lieblingsautor, dein Idol, ein Denker, dem du nie begegnen wirst — aber du willst wissen, was sie zu deiner Frage sagen würden?

</td></tr>
</table>

### ✨ dot-skill löst alle drei Probleme.

<br>

Von **colleague.skill** zu **dot-skill** weiterentwickelt — nicht nur Kollegen, **jede Person** lässt sich zu einem Skill destillieren

Kollegen · Partner · Familie · alte Freunde · Idole · Personen des öffentlichen Lebens · fiktive Figuren — sogar du selbst

**Quellmaterial + deine Beschreibung →  ein KI-Skill, der tatsächlich wie sie denkt**
Denkt in ihrem Rahmen, spricht in ihrer Stimme

<br>

[🆕 Was ist neu](#-was-ist-neu-in-diesem-major-release) · [📦 Datenquellen](#-unterstützte-datenquellen) · [⚡ Installation](#-installation) · [🚀 Nutzung](#-nutzung) · [✨ Demo](#-demo) · [💬 Discord](https://discord.gg/NVX66RxWZv)

[**English**](../../README.md) · [**中文**](README_ZH.md) · [**Español**](README_ES.md) · [**日本語**](README_JA.md) · [**Русский**](README_RU.md) · [**Português**](README_PT.md) · [**한국어**](README_KO.md)

</div>

---

<div align="center">

### 🎉 Meilenstein 2026.04.19 — **dot-skill hat 15k ⭐ geknackt!**

Riesigen Dank an alle, die einen Stern dagelassen haben — wir liefern weiter aus, destillieren weiter.

</div>

> 📢 **Update 2026.05.11** — **WeChat-Gruppe 12 ist online!** Komm vorbei in die dot-skill-Community — teile Skills, diskutiere Features, tausche Tipps aus.
>
> <img src="../assets/wechat-group-qr-12.png" alt="dot-skill WeChat group QR" width="240">
>
> Der QR-Code wird alle 7 Tage erneuert (läuft am 2026-05-18 ab) — wenn abgelaufen, melde dich bei mir auf Discord.

> 🗺️ **2026.04.13** — **Die dot-skill-Roadmap ist da!** colleague.skill entwickelt sich zu **dot-skill** weiter — destilliere jede Person, nicht nur Kollegen. 👉 **[Vollständige Roadmap](../../ROADMAP.md)** · **[💬 Discord](https://discord.gg/NVX66RxWZv)**

> 🌐 **2026.04.07** — Die Community-Galerie ist online! Jeder Skill oder Meta-Skill kann Traffic direkt zu deinem eigenen GitHub-Repo leiten. Kein Mittelsmann. 👉 **[titanwings.github.io/colleague-skill-site](https://titanwings.github.io/colleague-skill-site/)**

<div align="center">

Created by [@titanwings](https://github.com/titanwings) · Powered by **Shanghai AI Lab · AI Safety Center**

</div>

---

## 🆕 Was ist neu in diesem Major-Release?

### 1️⃣ Von colleague-skill zu dot-skill

Nicht mehr nur auf das „Kollegen"-Szenario ausgerichtet. Ein vereinheitlichter `/dot-skill`-Einstiegspunkt sitzt auf einer Allzweck-Skill-Engine — eine Engine destilliert jeden, statt ein kollegenspezifisches Skript zu sein.

### 2️⃣ Drei Charakter-Familien

<table>
<thead>
<tr>
<th width="33%" align="center">🧑‍💼 colleague</th>
<th width="33%" align="center">💞 relationship</th>
<th width="33%" align="center">🌟 celebrity</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><sub>Kollegen · Mentoren · Teamkameraden · vor- und nachgelagerte Partner</sub></td>
<td align="center"><sub>Ex-Partner · Partner · Eltern · Freunde · enge Familie</sub></td>
<td align="center"><sub>Personen des öffentlichen Lebens · Creator · öffentliche Stimmen · fiktive Figuren</sub></td>
</tr>
<tr>
<td><sub>Zwei-Schichten-Architektur Work Skill + Persona — lernt sowohl technische Standards und Workflows als auch Sprechweise und Haltung am Arbeitsplatz. Unterstützt automatische Erfassung über Feishu / DingTalk / Slack.</sub></td>
<td><sub>🆕 <b>Foto-Sharing-Funktion kommt bald</b> — deine destillierte Beziehung beantwortet nicht nur Nachrichten; sie verschickt Fotos und teilt Ausschnitte aus ihrem Tag, so wie es eine echte Person tun würde.</sub></td>
<td><sub>Wird mit einer vollständigen <b>Recherche-Toolchain über sechs Dimensionen</b> ausgeliefert (Untertitel → Transkript-Bereinigung → Recherche-Merge → Qualitätsprüfung). Keine reine Tonimitation — sondern die Reproduktion mentaler Modelle und Entscheidungsrahmen.</sub></td>
</tr>
</tbody>
</table>

Jede Familie hat ihre eigene Prompt-Pipeline, Quellsammelstrategie und Generierungsvorlage.

### 3️⃣ Mehr Agent-Hosts

Die alte Version lief nur in Claude Code. Jetzt ist sie host-übergreifend auf vier Plattformen verfügbar:

| Host | Beschreibung |
|------|--------------|
| 🟣 **Claude Code** | Native Slash-Command-Unterstützung |
| 🟠 **Hermes Agent** | Ein-Befehl-Installation, `/dot-skill` funktioniert direkt |
| 🔵 **OpenClaw** | Vollständig kompatibel |
| ⚫ **Codex** | Aufruf über Skill-Namen |

Generierte Charakter-Skills lassen sich ebenfalls mit einem einzigen Befehl in jeden Host installieren.

---

## 📦 Unterstützte Datenquellen

| Quelle | Nachrichten | Docs / Wiki | Tabellen | Hinweise |
|--------|:-----------:|:-----------:|:--------:|----------|
| 🟢 Feishu (auto) | ✅ API | ✅ | ✅ | Einfach einen Namen eingeben, vollautomatisch |
| 🟡 DingTalk (auto) | ⚠️ Browser | ✅ | ✅ | Die DingTalk-API unterstützt keinen Nachrichtenverlauf |
| 🟣 Slack (auto) | ✅ API | — | — | Admin muss den Bot installieren; kostenloser Plan auf 90 Tage begrenzt |
| 💬 WeChat-Chatverlauf | ✅ SQLite | — | — | Zuerst mit WeChatMsg / PyWxDump / 留痕 exportieren |
| 📄 PDF / Bilder / Screenshots | — | ✅ | — | Manueller Upload |
| 📦 Feishu JSON-Export | ✅ | ✅ | — | Manueller Upload |
| ✉️ E-Mail `.eml` / `.mbox` | ✅ | — | — | Manueller Upload |
| 📝 Markdown / direkt einfügen | ✅ | ✅ | — | Manuelle Eingabe |

---

## ⚡ Installation

Wir schreiben 2026 — du hast einen Agenten, lass ihn sich selbst installieren. Öffne deinen Claude Code / Hermes / OpenClaw / Codex und gib ihm diese Zeile:

> Installiere den dot-skill-Skill für mich: `https://github.com/titanwings/colleague-skill`

Der Agent erkennt das Skills-Verzeichnis des aktuellen Hosts, klont das Repo und registriert den Einstiegspunkt. Sobald das erledigt ist, gib in einem beliebigen Host `/dot-skill` ein, um zu starten.

<details>
<summary><b>🛠️ Lieber selbst installieren? Klicken für die Pfade</b></summary>

<br>

```bash
git clone https://github.com/titanwings/colleague-skill <TARGET>
```

| Host | `<TARGET>`-Pfad |
|------|-----------------|
| Claude Code | `~/.claude/skills/dot-skill` |
| OpenClaw | `~/.openclaw/workspace/skills/dot-skill` |
| Codex | `~/.codex/skills/dot-skill` |
| Hermes | Nach dem Klonen `python3 tools/install_hermes_skill.py --force` ausführen |

</details>

> Für Feishu/DingTalk-Zugangsdaten zur automatischen Erfassung, das Veröffentlichen eines generierten Charakter-Skills in einem beliebigen Host, Windows-spezifische Hinweise usw. siehe **[Ausführliche Installationsanleitung (INSTALL.md)](../../INSTALL.md)**

---

## 🚀 Nutzung

In dem Host, in dem dot-skill installiert ist, startest du es — gib `/dot-skill` ein oder sag deinem Agenten einfach „starte dot-skill".

Er fragt zunächst, welche Familie du destillieren willst: `colleague` · `relationship` · `celebrity`.

Danach folgen Alias, Basisprofil, Persönlichkeits-Tags und die Wahl einer Datenquelle. Alle Felder können übersprungen werden — schon eine Beschreibung allein reicht, um einen Skill zu generieren.

Nach der Erstellung rufst du den generierten Skill mit `/{character}-{slug}` auf.

### 🎛️ Befehle

| Befehl | Beschreibung |
|--------|--------------|
| `/dot-skill` | Kanonischer, vereinheitlichter Einstiegspunkt |
| `/{character}-{slug}` | Vollständigen Skill aufrufen (Persona + Work) |
| `/{character}-{slug}-work` | Nur Arbeitsfähigkeiten |
| `/{character}-{slug}-persona` | Nur Persönlichkeit |
| `python3 tools/skill_writer.py --action list ...` | Generierte Skills aller drei Familien auflisten |
| `python3 tools/version_manager.py --action rollback ...` | Eine Skill-Version zurückrollen |

### 🔬 Celebrity Research Toolchain

Die `celebrity`-Familie wird mit einer durchgehenden Recherche-Toolchain ausgeliefert, von Untertiteln bis zum fertigen Entwurf:

```bash
# Video-Untertitel herunterladen
bash tools/research/download_subtitles.sh "<video-url>" "./tmp/subtitles"

# Untertitel → Transkript
python3 tools/research/srt_to_transcript.py "./tmp/subtitles/example.srt"

# Recherche-Notizen zusammenführen
python3 tools/research/merge_research.py "./skills/celebrity/<slug>"

# Qualitätsprüfung
python3 tools/research/quality_check.py "./skills/celebrity/<slug>/SKILL.md"
```

---

## ✨ Demo

Eines aus jeder Familie.

<br>

### 🌟 celebrity — Andrej Karpathy destillieren

> Recherche über sechs Dimensionen: Werke · Interviews · Entscheidungen · Ausdrucks-DNA · externe Bewertungen · Zeitstrahl<br>
> Fallbeispiel adaptiert aus der Community-Arbeit [alchaincyf/karpathy-skill](https://github.com/alchaincyf/karpathy-skill)

```
User            ❯ Alle reden jetzt über Agents — wie sieht deiner Meinung nach der AI Agent von 2026 aus?

celebrity.skill ❯ Alle machen Demos, niemand macht Eval.
                  Der Flaschenhals bei Agents war nie die Modellintelligenz — es ist das Scaffolding:
                  ein striktes Evaluations-Harness, fein granularer Error-Replay,
                  kontrollierbare Tool-Call-Budgets, saubere Failure-Mode-Analyse.
                  Die meisten Produkte hängen immer noch bei „eine API + ein paar Tools + ein System-Prompt" fest.
                  Das ist eine Demo, kein Agent.
                  In 2026 setze ich nicht auf das stärkste Modell — ich setze auf das beste
                  Scaffolding und die strengste Eval.
```

<br>

### 🧑‍💼 colleague — einen ByteDance L2-1 Backend destillieren

> Input: `ByteDance L2-1 Backend-Engineer, INTJ, Schuldabwälzer, ByteDance-Stil`

```
User            ❯ Kannst du dieses API-Design reviewen?

colleague.skill ❯ Moment — was ist der Impact? Du hast den Kontext nicht erklärt.
                  (nach dem Lesen) N+1-Query, beheben. Verwende das Standard-
                  Response-Format {code, message, data}. Das ist die Spec,
                  frag nicht warum.

User            ❯ Dieser Bug wurde von dir eingeführt, oder?

colleague.skill ❯ Passt der Zeitstrahl? Das Feature hat mehrere Stellen berührt,
                  es gab auch andere Änderungen.
```

<br>

### 💞 relationship — jemanden destillieren, in den du verknallt bist

> Lade ein halbes Jahr Chatverlauf hoch + „sensibel, still aber stur, antwortet aber wirklich ernsthaft, wenn es darauf ankommt"

```
User               ❯ Hast du heute an mich gedacht?

relationship.skill ❯ ...ja, ein bisschen. Warum fragst du?
```

<div align="center">

📚 Weitere reale Fallbeispiele in der **[Community-Galerie](https://titanwings.github.io/colleague-skill-site/)** — 100+ Skills und es werden mehr

</div>

---

## 🔧 Funktionen

### 🧱 Struktur des generierten Skills

dot-skill verwendet **Persona** als universelle Basis, mit familienspezifischen Modulen darüber:

| Familie | Persona-Inhalt | Zusätzliche Module |
|---------|----------------|--------------------|
| 🧑‍💼 **colleague** | 6-Schichten-Persönlichkeit: harte Regeln → Identität → Ausdruck → Entscheidungen → Zwischenmenschliches → Korrektur | ➕ **Work Skill**: Zuständigkeitsbereich, Workflow, Output-Präferenzen, Erfahrungswissensbasis |
| 💞 **relationship** | Ausdrucks-DNA · emotionale Auslöser · Konfliktmuster · Versöhnungsmuster | — |
| 🌟 **celebrity** | Mentale Modelle · Entscheidungsheuristiken · Ausdrucks-DNA · Kontrast zur externen Bewertung | ➕ Recherche-Dossier über sechs Dimensionen (Werke / Interviews / Entscheidungen / Zeitstrahl...) |

> **Ausführung**: Aufgabe empfangen → Persona bestimmt Haltung & Ton → zusätzliche Module liefern Ausführungsdetails → Ausgabe in ihrer Stimme

### 🧬 Evolution

- 📥 **Dateien anfügen** → automatische Delta-Analyse → Merge in die relevanten Abschnitte, überschreibt nie bestehende Schlussfolgerungen
- 💬 **Gesprächskorrektur** → sage „so würden sie das nicht tun, sie wären xxx" → wird in die Korrekturschicht geschrieben, wirkt sofort
- 🕰️ **Versionskontrolle** → automatische Archivierung bei jedem Update, Rollback zu jeder früheren Version
- 🔬 **Celebrity-Recherche-Pipeline** → Untertitel → Transkript-Bereinigung → Recherche über sechs Dimensionen → Qualitätsprüfung

---

## 📂 Projektstruktur

Dieses Projekt folgt dem offenen Standard [AgentSkills](https://agentskills.io). Das gesamte Repo ist ein Skill-Verzeichnis:

```
dot-skill/
├── SKILL.md                        # skill entry point (official frontmatter)
├── prompts/                        # prompt system across three families
│   ├── intake.md                   #   [colleague] info intake
│   ├── work_analyzer.md            #   [colleague] work capability extraction
│   ├── persona_analyzer.md         #   [colleague] personality extraction
│   ├── work_builder.md             #   [colleague] work.md generation
│   ├── persona_builder.md          #   [colleague] persona.md 6-layer structure
│   ├── merger.md                   #   [shared] incremental merge logic
│   ├── correction_handler.md       #   [shared] conversation correction
│   ├── relationship/               #   [relationship] emotion/conflict/repair prompts
│   └── celebrity/                  #   [celebrity] six-dimension research + mental-model prompts
├── tools/                          # Python tools
│   ├── feishu_auto_collector.py    #   [colleague] Feishu auto-collector
│   ├── dingtalk_auto_collector.py  #   [colleague] DingTalk auto-collector
│   ├── slack_auto_collector.py     #   [colleague] Slack auto-collector
│   ├── email_parser.py             #   [shared] email parser
│   ├── research/                   #   [celebrity] celebrity research toolchain
│   │   ├── download_subtitles.sh   #     subtitle download
│   │   ├── transcribe_audio.py     #     audio → text
│   │   ├── srt_to_transcript.py    #     subtitles → transcript
│   │   ├── merge_research.py       #     six-dimension research merge
│   │   └── quality_check.py        #     quality check
│   ├── install_*_skill.py          #   [shared] multi-host one-shot installers
│   ├── skill_writer.py             #   [shared] skill file management
│   └── version_manager.py          #   [shared] version archive & rollback
├── skills/                         # generated Skills (gitignored)
│   ├── colleague/                  #   colleagues
│   ├── relationship/               #   close relationships
│   └── celebrity/                  #   public figures
├── docs/PRD.md
├── requirements.txt
└── LICENSE
```

---

## ⚠️ Hinweise

**Qualität des Quellmaterials = Qualität des Skills** — und gute Quellen unterscheiden sich zwischen den Familien:

| Familie | Quellen-Priorität (hoch → niedrig) |
|---------|------------------------------------|
| 🧑‍💼 **colleague** | **Selbst verfasste Langtexte** (Design-Docs / Review-Kommentare) **›** **Entscheidungsantworten** **›** beiläufiger Gruppenchat |
| 💞 **relationship** | Vollständiger Chatverlauf **›** Briefe / Social-Posts / Tagebücher **›** Beschreibungen durch Dritte |
| 🌟 **celebrity** | Bücher / Blogs / lange Interviews in der ersten Person **›** Entscheidungsaufzeichnungen (Launches, Commits, Q&A) **›** Kommentare Dritter |

- **colleague** Feishu-Auto-Erfassung: Der App-Bot muss den relevanten Gruppenchats hinzugefügt werden
- **relationship**: längere Zeiträume sind besser; Material, das sowohl Konflikt als auch Versöhnung abdeckt, ist ideal
- **celebrity**: füttere nicht nur mit Sekundärinterpretationen
- Dies ist noch eine Demo-Version — bitte erstelle Issues, wenn du Bugs findest!

---

## 📄 Technischer Bericht

> **[Colleague.Skill: Automated AI Skill Generation via Expert Knowledge Distillation](../../colleague_skill.pdf)**
>
> Dies ist das Paper für **colleague.skill**, den Vorgänger von dot-skill. Es behandelt die Zwei-Schichten-Architektur Work Skill + Persona, die Multi-Source-Datenerfassung und die Mechanik der Skill-Generierung — die theoretische Grundlage für die heutige `colleague`-Familie. Separate Papers zu den Erweiterungen der relationship- / celebrity-Familien sind geplant.

---

## ⭐ Star History

<a href="https://www.star-history.com/?repos=titanwings%2Fcolleague-skill&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
   <img alt="Star History Chart" src="https://api.star-history.com/image?repos=titanwings/colleague-skill&type=date&legend=top-left" />
 </picture>
</a>

---

<div align="center">

**MIT License** © [titanwings](https://github.com/titanwings)

<sub>Made with 🧬 for everyone who wants to distill a person into a skill.</sub>

</div>
