Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
369 changes: 73 additions & 296 deletions README.md

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions docs/data-sources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Data sources

[Back to README](../README.md)

Distilly can collect from these sources. Collector setup and credentials are in the [Install Guide](../INSTALL_EN.md#collector-setup).

| Logo | Source | Messages | Docs / Wiki | Notes |
|:----:|--------|:--------:|:-----------:|-------|
| <img src="assets/sources/lark-mark.png" alt="Lark" width="32" height="32"> | Lark (auto) | ✅ API | ✅ | Just enter a name, fully automatic |
| <img src="assets/sources/dingtalk-mark.jpg" alt="DingTalk" width="32" height="32"> | DingTalk (auto) | ⚠️ Browser | ✅ | DingTalk API doesn't support message history |
| <img src="assets/sources/slack-mark.png" alt="Slack" width="32" height="32"> | Slack (auto) | ✅ API | — | Requires admin to install Bot; free plan limited to 90 days |
| <picture><source media="(prefers-color-scheme: dark)" srcset="assets/sources/x-mark-dark.svg"><img src="assets/sources/x-mark-light.svg" alt="X" width="32" height="32"></picture> | Public X posts | ✅ API | — | Optional, bounded celebrity research candidates through metered third-party service Xquik |
| <img src="assets/sources/wechat-mark.jpg" alt="WeChat" width="32" height="32"> | WeChat chat history | ✅ SQLite | — | Export first with WeChatMsg or PyWxDump |
| 📄 | PDF / Images / Screenshots | — | ✅ | Manual upload |
| <img src="assets/sources/lark-mark.png" alt="Lark" width="32" height="32"> | Lark JSON export | ✅ | ✅ | Manual upload |
| ✉️ | Email `.eml` / `.mbox` | ✅ | — | Manual upload |
| 📝 | Markdown / direct paste | ✅ | ✅ | Manual input |
57 changes: 57 additions & 0 deletions docs/examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Examples

[Back to README](../README.md)

One example from each person family.

## 🌟 celebrity — distilling Andrej Karpathy

> Six-dimension research: works · interviews · decisions · expression DNA · external evaluations · timeline<br>
> Case adapted from community work [alchaincyf/karpathy-skill](https://github.com/alchaincyf/karpathy-skill)

```
User ❯ Everyone's talking about Agents now — what do you think the 2026 AI Agent looks like?

celebrity.skill ❯ Everyone's doing demos, nobody's doing eval.
The Agent bottleneck was never model intelligence — it's scaffolding:
a strict evaluation harness, fine-grained error replay,
controllable tool-calling budgets, clean failure-mode analysis.
Most products are still stuck at "wrap an API + a few tools + a system prompt."
That's a demo, not an agent.
In 2026 I'm not betting on the strongest model — I'm betting on the best
scaffolding and the strictest eval.
```

## 🧑‍💼 colleague — distilling a ByteDance L2-1 backend

> Input: `ByteDance L2-1 backend engineer, INTJ, blame-shifter, ByteDance-style`

```
User ❯ Can you review this API design?

colleague.skill ❯ Hold on — what's the impact? You haven't explained the context.
(after reading) N+1 query, fix it. Use the standard
{code, message, data} response format. That's the spec,
don't ask why.

User ❯ This bug was introduced by you, right?

colleague.skill ❯ Does the timeline match? That feature touched multiple places,
there were other changes too.
```

## 💞 relationship — distilling someone you have a crush on

> Upload half a year of chat logs + "sensitive, quiet but stubborn, will actually reply seriously when it matters"

```
User ❯ Did you think about me today?

relationship.skill ❯ ...I did, a little bit. Why are you asking?
```

<div align="center">

📚 More real-world cases in the **[community gallery](https://titanwings.github.io/colleague-skill-site/)** — 100+ skills and counting

</div>
38 changes: 38 additions & 0 deletions docs/hosts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Hosts

[Back to README](../README.md)

## Native Skill hosts

Distilly is discovered natively as a local Skill by eight agent hosts. Install paths for each are in the [Install Guide](../INSTALL_EN.md).

<table>
<tr>
<td align="center" width="25%"><a href="https://claude.ai/code"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/claude-code-wordmark-dark.svg"><img src="assets/hosts/claude-code-wordmark-light.svg" alt="Claude Code" height="28"></picture></a></td>
<td align="center" width="25%"><a href="https://github.com/NousResearch/hermes-agent"><img src="assets/hosts/hermes-agent-wordmark.png" alt="Hermes Agent" height="32"></a></td>
<td align="center" width="25%"><a href="https://github.com/openclaw/openclaw"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/openclaw-wordmark-dark.svg"><img src="assets/hosts/openclaw-wordmark-light.svg" alt="OpenClaw" height="38"></picture></a></td>
<td align="center" width="25%"><a href="https://github.com/openai/codex" title="Codex"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/codex-mark-dark.png"><img src="assets/hosts/codex-mark-light.png" alt="Codex" height="64"></picture></a></td>
</tr>
<tr>
<td align="center" width="25%"><a href="https://github.com/deepseek-ai/deepseek-harness"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/deepseek-wordmark-dark.svg"><img src="assets/hosts/deepseek-wordmark-light.svg" alt="DeepSeek Harness" height="32"></picture></a></td>
<td align="center" width="25%"><a href="https://pi.dev/docs/latest/skills"><img src="assets/hosts/pi-mark.svg" alt="Pi coding agent" height="46"></a></td>
<td align="center" width="25%"><a href="https://docs.x.ai/build/features/skills-plugins-marketplaces"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/grok-build-mark-dark.png"><img src="assets/hosts/grok-build-mark-light.png" alt="Grok Build" height="46"></picture></a></td>
<td align="center" width="25%"><a href="https://opencode.ai/docs/skills"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/opencode-wordmark-dark.svg"><img src="assets/hosts/opencode-wordmark-light.svg" alt="OpenCode" height="32"></picture></a></td>
</tr>
</table>

**Grok Bot preview:** Grok Bot supports saved/private Skills, but its official docs do not describe direct local `SKILL.md` imports. Distilly's workflow can be migrated manually into a saved Skill; direct repo installation is not yet verified.

## Personal agents

Distilly also targets the personal agents people now live with. Each one keeps its own memory and connected accounts, so a Person Profile is meant to carry over into them instead of starting from zero.

<table>
<tr>
<td align="center" width="20%"><a href="https://x.ai"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/grok-build-mark-dark.png"><img src="assets/hosts/grok-build-mark-light.png" alt="Grok Bot" height="46"></picture></a><br><b>Grok Bot</b><br><sub>saved Skill · preview</sub></td>
<td align="center" width="20%"><a href="https://www.meta.ai"><img src="assets/hosts/meta-mark.svg" alt="Meta Muse" height="40"></a><br><b>Meta Muse</b><br><sub>profile handoff · planned</sub></td>
<td align="center" width="20%"><a href="https://openai.com"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/openai-mark-dark.svg"><img src="assets/hosts/openai-mark-light.svg" alt="OpenAI Dots" height="40"></picture></a><br><b>OpenAI Dots</b><br><sub>profile handoff · planned</sub></td>
<td align="center" width="20%"><a href="https://github.com/openclaw/openclaw"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/hosts/openclaw-wordmark-dark.svg"><img src="assets/hosts/openclaw-wordmark-light.svg" alt="OpenClaw" height="38"></picture></a><br><sub>native Skill</sub></td>
<td align="center" width="20%"><a href="https://github.com/NousResearch/hermes-agent"><img src="assets/hosts/hermes-agent-wordmark.png" alt="Hermes Agent" height="32"></a><br><sub>native Skill</sub></td>
</tr>
</table>
81 changes: 81 additions & 0 deletions docs/how-it-works.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# How it works

[Back to README](../README.md)

Distilly turns source material you provide into a source-grounded Person Profile built from observable experience, decision patterns, expression, and ways of working. It does not claim to clone the person behind the material. Each profile is packaged as an Agent Skill so supported hosts can install and invoke it.

## Creating a profile

In your agent, say *"Use Distilly to create a Person Profile for `<person>`."* Then:

1. Choose `colleague`, `relationship`, or `celebrity`.
2. Add a description or source material. Every field is optional.
3. Review the result and let Distilly generate the profile.

The result is packaged as an Agent Skill named `{character}-{slug}`. To profile yourself instead, say *"Use Distilly to set up my profile."*: Distilly interviews you for about five minutes, shows you the profile, then adds a short summary to the file your agent reads every session.

## Person families

The `distilly` creator builds profiles for three person families with one workflow:

<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>Coworkers · mentors · teammates · up/downstream partners</sub></td>
<td align="center"><sub>Exes · partners · parents · friends · close family</sub></td>
<td align="center"><sub>Public figures · creators · public voices · fictional characters</sub></td>
</tr>
<tr>
<td><sub>Builds a Work Skill + Persona from material-derived technical standards, workflows, expression, and workplace behavior. Supports Lark / DingTalk / Slack collection.</sub></td>
<td><sub>Organizes material-derived expression patterns, emotional triggers, conflict patterns, and repair patterns into a reusable Persona Skill.</sub></td>
<td><sub>Ships with a <b>six-dimension research toolchain</b> (subtitles → transcript cleanup → research merge → quality check) for organizing observable decisions, expression, and mental models.</sub></td>
</tr>
</tbody>
</table>

## Generated profile structure

Distilly's current creator uses **Persona** as the universal base, with family-specific modules layered on top:

| Family | Persona Content | Additional Modules |
|--------|-----------------|-------------------|
| 🧑‍💼 **colleague** | 6-layer personality: hard rules → identity → expression → decisions → interpersonal → Correction | ➕ **Work Skill**: scope, workflow, output preferences, experience knowledge base |
| 💞 **relationship** | Expression DNA · emotional triggers · conflict pattern · repair pattern | — |
| 🌟 **celebrity** | Mental models · decision heuristics · expression DNA · external-evaluation contrast | ➕ Six-dimension research dossier (works / interviews / decisions / timeline...) |

> **Execution**: Receive task → Persona selects material-derived preferences and tone → Additional modules fill in execution detail → Produce a source-grounded response

## Evolution

- 📥 **Append files** → auto-analyze delta → merge into relevant sections, never overwrite existing conclusions
- 💬 **Conversation correction** → say "they wouldn't do that, they'd be xxx" → writes to the Correction layer, takes effect immediately
- 🕰️ **Version control** → auto-archive on every update, rollback to any previous version
- 🔬 **Celebrity research pipeline** → subtitles → transcript cleanup → six-dimension research → quality check

## Choosing good source material

**Source material quality = Person Profile quality** — and quality sources differ across families:

| Family | Source priority (high → low) |
|--------|------------------------------|
| 🧑‍💼 **colleague** | Their **own long-form writing** (design docs / review comments) **›** **decision-making replies** **›** casual group chat |
| 💞 **relationship** | Complete chat history **›** letters / social posts / diaries **›** third-party descriptions |
| 🌟 **celebrity** | First-person books / blogs / long interviews **›** decision records (launches, commits, Q&A) **›** verified first-person short-form posts **›** third-party commentary |

- **colleague** Lark-compatible auto-collection: requires adding the App bot to relevant group chats
- **relationship**: longer time spans are better; material covering both conflict and repair is ideal
- **celebrity**: avoid feeding only second-hand interpretations
- This is still a demo version — please file issues if you find bugs!

## Technical report

**[COLLEAGUE.SKILL: Automated AI Skill Generation via Expert Knowledge Distillation](https://arxiv.org/pdf/2605.31264)** ([arXiv](https://arxiv.org/abs/2605.31264) · [arXiv PDF](https://arxiv.org/pdf/2605.31264))

This is the paper for **COLLEAGUE.SKILL / colleague-skill**, Distilly's predecessor. It covers the Work Skill + Persona two-layer architecture, multi-source data collection, and Skill generation mechanics — the theoretical foundation for today's `colleague` family. Separate papers on the relationship / celebrity family extensions are planned.
Loading
Loading