Distill a colleague into a reusable AI skill (work + persona) using tool connections — Slack, Slack AI, Jira, GHE, Bitbucket, Confluence, SharePoint, Teams, Outlook, Notion, Linear, Google Docs, and more — without manual paste. Use when the user wants a colleague skill, digital twin of a coworker, or capture of someone's technical voice from workplace systems. Requires tool_connections + 10xProductivity verified_connections (or equivalent .env).
Canonical copy:
~/git_repos/the-genesis/.genesis/skills/colleague-distillation/SKILL.md. This file is a mirror for Cursor when the workspace is 10xProductivity only; prefer editing Genesis first, then re-copy if needed.
Produce a colleague skill: structured work knowledge (systems, standards, review style) plus persona (tone, decisions, interpersonal habits), using APIs and search already wired in tool_connections / 10xProductivity — not hand-pasted exports.
Output layout matches the open colleague-skill convention so results can coexist with that generator:
colleagues/{slug}/work.mdcolleagues/{slug}/persona.mdcolleagues/{slug}/meta.jsoncolleagues/{slug}/SKILL.md (merged invocable skill)Optional: Clone colleague-skill for its prompts/work_analyzer.md, persona_analyzer.md, work_builder.md, persona_builder.md if you want identical extraction templates; this skill defines what to fetch and where to write.
tool_connections — $GENESIS_DIRECTORY/.genesis/skills/tool_connections/SKILL.md, or if GENESIS_DIRECTORY is unset use ~/git_repos/the-genesis/.genesis/skills/tool_connections/SKILL.md.~/git_repos/10xProductivity/verified_connections.md — only call tools listed there (or documented in 10xProductivity/tool_connections/ / personal/).jira — $GENESIS_DIRECTORY/.genesis/skills/jira/SKILL.md or ~/git_repos/the-genesis/.genesis/skills/jira/SKILL.md for all Jira JQL and REST.source or load ~/git_repos/10xProductivity/.env (or project .env) before curl / scripts. Never commit secrets.| Environment | Where to put generated files | How this skill is loaded |
|---|---|---|
| Cursor | Repo root: colleagues/{slug}/ (e.g. 10xProductivity or the-genesis) | .cursor/skills/colleague-distillation/SKILL.md |
| Claude Code | Same colleagues/{slug}/ under the active project | .claude/skills/colleague-distillation/SKILL.md |
Use the same slug and folder layout in both; only the skill install path differs.
michael_donnelly, michael_donnelly_2, … (ASCII, underscores)._2, _3, or a distinct codename.meta.json, not only in the slug.Before searching, pin who the colleague is:
verified_connections.md, use Slack API recipes to resolve @handle → user id (U…) for from:@user / from:U… search syntax.jira skill.Record: slack_user_id, jira_account_id, email, ad_cn (as available).
Gather raw excerpts (save under colleagues/{slug}/knowledge/raw/ as .md or .json snippets) with source + URL/ticket/channel + date in each chunk header. Cap volume per source (e.g. last 90–180 days) unless the user asks for full history.
| Source | What to fetch | Why |
|---|---|---|
| Slack | search.messages: from:user, date range, in:#relevant-channels; thread URLs they participated in | Tone, decisions, pushback, on-call voice |
| Slack AI (Slackbot DM) | Targeted questions: e.g. “Summarize how [Name] argues for design decisions in threads about [topic]” | Fast synthesis over large Slack corpus |
| Jira | JQL: assignee, reporter, comment ~, component/team filters; descriptions, comments, status transitions | Work scope, prioritization, written precision |
| GHE | PRs authored, reviewed (/pulls, review comments API); issues filed | Code review voice, technical standards |
| Bitbucket Server | Same pattern as GHE when Bitbucket Server is the primary Git host | Same |
| Source | What to fetch | Why |
|---|---|---|
| Confluence | Pages created by or substantially edited by them (CQL / search); team runbooks they own | Long-form standards, architecture voice |
| Notion | Pages they authored or commented on | Long-form async thinking, project context |
| SharePoint | Docs and wikis they own or edited | Standards docs, team handbooks |
| Source | When |
|---|---|
| Google Drive | Docs/slides they own (if verified in verified_connections.md) |
| PagerDuty | Oncall/incident behavior |
| Console / IAHub | Release/ops ownership if building an ops-heavy persona |
| Microsoft Teams / Outlook | If verified — email/thread tone (handle consent carefully) |
| Gmail (personal recipe) | Only if user explicitly wants email and connection is verified |
Work (work.md): Systems, stacks, coding/review conventions, doc habits, Jira/workflow patterns, incident/release behavior — cite patterns, not one-off jokes.
Persona (persona.md): Use a layered structure compatible with colleague-skill:
Grounding: Prefer quoted paraphrases with source pointers; flag low-confidence traits when sample size is small.
meta.json (minimal){
"name": "Display Name",
"slug": "michael_donnelly",
"created_at": "<ISO8601 UTC>",
"updated_at": "<ISO8601 UTC>",
"version": "v1",
"profile": {
"company": "",
"level": "",
"role": "",
"email": ""
},
"ids": {
"slack_user_id": "",
"jira_account_id": ""
},
"knowledge_sources": ["slack", "jira", "ghe"],
"corrections_count": 0
}
SKILL.md (invocable)YAML frontmatter:
---