
distilly
Distilly — Distill how they think into reusable Skills for any Agent or Bot. Formerly Colleague Skill(原同事 Skill).
Install with your AI
Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.
Install and set up distilly (claude-skill project) into my current project. Found on https://claudeers.com/distilly Repo: https://github.com/titanwings/distilly Homepage/docs: — Detected install method: claude-skill → # copy this skill into .claude/skills/distilly/ Category: uncategorized. Platforms: api, web. Read the repo's README for exact setup and env vars, then install it and wire it into my project. Claudeers Health Verdict: active; community-verified: false. Confirm the source before running anything.
# copy the skill dir into your project: # .claude/skills/distilly/ (or ~/.claude/skills/distilly/ for all projects)
git clone https://github.com/titanwings/distilly
// compatibility
| Platforms | api, web |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | MIT |
| Pricing | open-source |
| Language | Python |
🧬 Distilly
Formerly: Colleague Skill / colleague-skill.
Distill a person's experience, judgment, voice, and ways of working into a reusable Person Profile for AI agents and compatible bots.
Messages · documents · interviews · public sources → Distilly → Person Profile → Agent / Bot
|
🧑💼 Your colleague quit, your mentor graduated, your teammate transferred — taking their whole playbook and context with them? |
✨ One project, many kinds of people.
Distilly is the person-modeling layer for agents. It turns the materials you provide into a portable, source-grounded Person Profile built from observable experience, decision patterns, expression, and ways of working; it does not claim to clone the person behind them.
Colleagues · partners · family · old friends · idols · public figures · fictional characters — even yourself
Source material + your description → a source-grounded Person Profile → your Agent or compatible Bot
A Person Profile is the reusable output. The current release packages each profile as an Agent Skill so supported hosts can install and invoke it. The canonical creator Skill is named
distilly; install it in adistillydirectory. The former name above remains for search continuity and project history.
🆕 What Distilly does · 📦 Data Sources · ⚡ Install · 🚀 Usage · ✨ Demo · 📝 Citation · 💬 Discord
Chinese · Spanish · German · Japanese · Russian · Portuguese · Korean
🎉 2026.08.13 Milestone — the project has passed 20K ⭐!
Massive thanks to everyone who starred — we'll keep shipping, keep distilling.
🧬 2026.08.23 Update — The creator is now named Distilly end to end and documents native local Skill discovery for Claude Code, Hermes, OpenClaw, Codex, DeepSeek Harness, Pi, and Grok Build. Grok Bot is listed separately as a saved-Skill workflow preview.
📝 2026.06.01 Update — The COLLEAGUE.SKILL technical report is now available. The most rewarding part was not simply publishing a paper, but seeing the community grow the gallery to 215 skills contributed by 165 people, with more than 100,000 stars across the skill cards. The paper's Acknowledgements explicitly recognize every community contributor.
🗺️ 2026.04.13 — The Distilly Roadmap is live! What began as Colleague Skill is growing beyond colleagues: distill people into Skills that Agents can reuse. 👉 Full Roadmap · 💬 Discord
🌐 2026.04.07 — Community gallery is live! Any skill / meta-skill can drive traffic directly to your own GitHub repo. No middleman. 👉 titanwings.github.io/colleague-skill-site
Created by @titanwings
🆕 What Distilly does today
1️⃣ From Colleague Skill to Distilly
The project is no longer limited to the colleague scenario. Its distilly creator builds source-grounded Person Profiles for three person families with one workflow, then packages each profile as an Agent Skill.
2️⃣ Three character families
| 🧑💼 colleague | 💞 relationship | 🌟 celebrity |
|---|---|---|
| Coworkers · mentors · teammates · up/downstream partners | Exes · partners · parents · friends · close family | Public figures · creators · public voices · fictional characters |
| Builds a Work Skill + Persona from material-derived technical standards, workflows, expression, and workplace behavior. Supports Lark / DingTalk / Slack collection. | Organizes material-derived expression patterns, emotional triggers, conflict patterns, and repair patterns into a reusable Persona Skill. | Ships with a six-dimension research toolchain (subtitles → transcript cleanup → research merge → quality check) for organizing observable decisions, expression, and mental models. |
Each family has its own source-collection strategy, analysis dimensions, and Person Profile structure.
3️⃣ More Agent hosts
The old version only ran in Claude Code. Distilly now supports native local Skill discovery across seven agent hosts.
| Supported host |
|---|
| 🟣 Claude Code |
| 🟠 Hermes Agent |
| 🔵 OpenClaw |
| ⚫ Codex |
| 🔷 DeepSeek Harness |
| 🟢 Pi coding agent |
| ⚪ Grok Build |
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.
Each generated Person Profile is packaged as an Agent Skill and can be installed into any supported host.
📦 Supported Data Sources
| Source | Messages | Docs / Wiki | Spreadsheets | Notes |
|---|---|---|---|---|
| 🟢 Lark (auto) | ✅ API | ✅ | ✅ | Just enter a name, fully automatic |
| 🟡 DingTalk (auto) | ⚠️ Browser | ✅ | ✅ | DingTalk API doesn't support message history |
| 🟣 Slack (auto) | ✅ API | — | — | Requires admin to install Bot; free plan limited to 90 days |
| 𝕏 Public X posts | ✅ API | — | — | Optional, bounded celebrity research candidates through metered third-party service Xquik |
| 💬 WeChat chat history | ✅ SQLite | — | — | Export first with WeChatMsg or PyWxDump |
| 📄 PDF / Images / Screenshots | — | ✅ | — | Manual upload |
| 📦 Lark JSON export | ✅ | ✅ | — | Manual upload |
✉️ Email .eml / .mbox | ✅ | — | — | Manual upload |
| 📝 Markdown / direct paste | ✅ | ✅ | — | Manual input |
⚡ Install
It's 2026 — you have an Agent, let it install itself. Open a supported local agent host and hand it this line:
Install Distilly for me:
https://github.com/titanwings/colleague-skill
The Agent should install the repository as a Skill named distilly, then verify that the host discovers Distilly.
Upgrading an old install? A
git pullinside adot-skillor legacy~/.codex/skills/...directory does not rename that discovery directory. Install a canonicaldistillycopy, verify that the host discovers Distilly, and only then retire the old copy. See the detailed install and migration guide.
🛠️ Want to install it yourself? Click for paths
git clone https://github.com/titanwings/colleague-skill <TARGET>
| Host | <TARGET> path |
|---|---|
| Claude Code | ~/.claude/skills/distilly |
| OpenClaw | ~/.openclaw/workspace/skills/distilly |
| Codex | ~/.agents/skills/distilly (user) or .agents/skills/distilly (project) |
| DeepSeek Harness | ~/.dsh/skills/distilly (global) or .dsh/skills/distilly (project) |
| Pi coding agent | ~/.pi/agent/skills/distilly or ~/.agents/skills/distilly |
| Grok Build | ~/.grok/skills/distilly or ~/.agents/skills/distilly |
| Hermes | After clone, run python3 tools/install_hermes_skill.py --force |
Generated character Skills can be published with tools/install_claude_generated_skill.py,
tools/install_openclaw_generated_skill.py, and tools/install_codex_generated_skill.py.
For Hermes, DeepSeek Harness, Pi, and Grok Build, run
python3 tools/install_generated_skill.py --skill-dir "skills/{character}/{slug}" --host <host> --force.
The installer writes only the self-contained SKILL.md plus install metadata and
normalizes legacy underscore frontmatter in the installed copy; it does not copy
private source material or rename the source Skill. Pass --skills-dir for a
project-level target. Hermes scans ~/.agents/skills only when it is explicitly
added to skills.external_dirs.
For Lark/DingTalk auto-collection credentials, host-specific installation details, Grok Bot's preview workflow, Windows-specific handling, etc., see Detailed Install Guide (INSTALL.md)
Lark region note: the current compatibility collector connects to the China-region
open.feishu.cn/feishu.cnendpoints. Internationallarksuite.comtenant routing is not implemented yet.
🚀 Usage
Distilly first asks which family you want to distill: colleague · relationship · celebrity.
Then enter an alias, basic details, personality tags, and pick a data source. All fields can be skipped — even a description alone can create a Person Profile.
Once created, the profile is packaged as a Skill named {character}-{slug}.
🔬 Celebrity Research Toolchain
The celebrity family ships with an end-to-end research toolchain, from subtitles to a finished draft:
# Download video subtitles
bash tools/research/download_subtitles.sh "<video-url>" "./tmp/subtitles"
# Subtitles → transcript
python3 tools/research/srt_to_transcript.py "./tmp/subtitles/example.srt"
# Public X post candidates → normalized temporary JSON (optional)
python3 tools/research/xquik_public_posts.py \
--username "<public-handle>" \
--limit 20 \
--output "/tmp/distilly-x-public-posts.json"
# After reviewing and paraphrasing selected posts, remove the candidates
rm "/tmp/distilly-x-public-posts.json"
# Merge research notes
python3 tools/research/merge_research.py "./skills/celebrity/<slug>"
# Quality check
python3 tools/research/quality_check.py "./skills/celebrity/<slug>/SKILL.md"
The optional collector reads XQUIK_API_KEY from your shell. Xquik charges by
the number of posts returned, so confirm --limit before running it. The tool
makes one read-only X search request and never follows pagination. Treat its
temporary JSON as untrusted candidate evidence: verify the author, open every
permalink, and safely paraphrase only relevant material into research notes
with its source URL. Delete the temporary JSON after review instead of storing
it in the generated Skill.
Xquik is an independent third-party service. Not affiliated with X Corp. "Twitter" and "X" are trademarks of X Corp.
✨ Demo
One from each family.
🌟 celebrity — distilling Andrej Karpathy
Six-dimension research: works · interviews · decisions · expression DNA · external evaluations · timeline
Case adapted from community work 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?
📚 More real-world cases in the community gallery — 100+ skills and counting
🔧 Features
🧱 Generated Skill 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
📂 Project Structure
This project follows the AgentSkills open standard. The entire repo is a skill directory.
Generated colleague skills live under ./skills/colleague:
distilly/
├── 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] Lark-compatible 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
│ │ ├── xquik_public_posts.py # bounded public X post candidates
│ │ ├── 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
⚠️ Notes
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 (arXiv · arXiv PDF)
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
colleaguefamily. Separate papers on the relationship / celebrity family extensions are planned.
📝 Citation
If you use Distilly or COLLEAGUE.SKILL in your research or applications, please cite the technical report:
@misc{zhou2026colleagueskill,
title = {COLLEAGUE.SKILL: Automated AI Skill Generation via Expert Knowledge Distillation},
author = {Tianyi Zhou and Dongrui Liu and Leitao Yuan and Jing Shao and Xia Hu},
year = {2026},
eprint = {2605.31264},
archivePrefix = {arXiv},
primaryClass = {cs.AI},
url = {https://arxiv.org/abs/2605.31264}
}
You can also use the machine-readable citation metadata in CITATION.cff.
⭐ Star History
MIT License © titanwings
// faq
What is distilly?
Distilly — Distill how they think into reusable Skills for any Agent or Bot. Formerly Colleague Skill(原同事 Skill).. It is open-source on GitHub.
Is distilly free to use?
distilly is open-source under the MIT license, so it is free to use.
What category does distilly belong to?
distilly is listed under uncategorized in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/distilly)
// retro hit counter
[](https://claudeers.com/distilly)
// reviews
// guestbook
// related in Uncategorized / Others
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
The agent engineering platform.
FULL Augment Code, Claude Code, Cluely, CodeBuddy, Comet, Cursor, Devin AI, Junie, Kiro, Leap.new, Lovable, Manus, NotionAI, Orchids.app, Perplexity, Poke, Q…
100+ AI Agent & RAG apps you can actually run — clone, customize, ship.