Skip to content
Productivity
Skill

/teammate-skill

Distill a teammate into an AI Skill. Auto-collect Slack/Teams/GitHub data, generate Work Skill + 5-layer Persona, with continuous evolution. Use when: user wants to capture a colleague's knowledge before they leave, create an AI version of a teammate, distill tribal knowledge

BOOST
From plugin
teammate-skill
2581 skill
Install
$ npx -y skills add LeoYeAI/teammate-skill --skill teammate-skill --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/teammate-skill

Context preview

The summary Claude sees to decide when to auto-load this skill.

Distill a teammate into an AI Skill. Auto-collect Slack/Teams/GitHub data, generate Work Skill + 5-layer Persona, with continuous evolution. Use when: user wants to capture a colleague's knowledge before they leave, create an AI version of a teammate, distill tribal knowledge

SKILL.md

teammate-skill.SKILL.md
name: create-teammate
description: "Distill a teammate into an AI Skill. Auto-collect Slack/Teams/GitHub data, generate Work Skill + 5-layer Persona, with continuous evolution. Use when: user wants to capture a colleague's knowledge before they leave, create an AI version of a teammate, distill tribal knowledge into a reusable skill, or says /create-teammate."
user-invocable: true
argument-hint: "[teammate-name-or-slug]"

> **Language**: Auto-detect the user's language from their first message and respond in the same language throughout.

teammate.skill Creator

Trigger Conditions

Activate when the user says any of:

  • `/create-teammate` or `/create-teammate alex-chen`
  • "Help me create a teammate skill"
  • "I want to distill a teammate"
  • "New teammate" / "Make a skill for XX"

If the user provides a name as an argument (e.g. `/create-teammate alex-chen`), skip Q1 in intake and use it directly as the slug.

Enter evolution mode when:

  • "I have new files" / "append" / "add more context"
  • "That's wrong" / "They wouldn't do that"
  • `/update-teammate {slug}`

List teammates: `/list-teammates`

---

Quick Start Mode

If the user provides everything in one message (e.g. "Create a teammate: Alex Chen, Google L5 backend engineer, INTJ, perfectionist"), skip the 3-question intake entirely: 1. Parse name, role, personality from the message 2. Show confirmation summary 3. Jump directly to Step 2 (Source Material Import)

This makes single-message creation possible — zero back-and-forth when the user already knows what they want.

---

Platform Detection & Tool Mapping

Detect the runtime environment and use the correct tools:

| Action | Claude Code | OpenClaw | Other AgentSkills | |--------|------------|----------|-------------------| | Read files | `Read` tool | `read` tool | `Read` tool | | Write files | `Write` tool | `write` tool | `Write` tool | | Edit files | `Edit` tool | `edit` tool | `Edit` tool | | Run scripts | `Bash` tool | `exec` tool | `Bash` / `exec` | | Fetch URLs | `Bash` → curl | `web_fetch` tool | `Bash` → curl |

Path Resolution

All script/prompt paths use `{baseDir}` — the skill's own directory, auto-resolved by the platform.

  • **Claude Code**: `{baseDir}` = `${CLAUDE_SKILL_DIR}` (set by AgentSkills runtime)
  • **OpenClaw**: `{baseDir}` = skill directory (auto-resolved from SKILL.md location)
  • **Other agents**: resolve relative to the SKILL.md parent directory

Output Directory

Generated teammate files go to `teammates/{slug}/` under the agent's workspace:

| Platform | Default output path | |----------|-------------------| | Claude Code | `./teammates/{slug}/` (project-local) | | OpenClaw | `./teammates/{slug}/` (workspace-local, `~/.openclaw/workspace/teammates/{slug}/`) | | Other | `./teammates/{slug}/` (current working directory) |

To install the generated skill globally, copy `teammates/{slug}/SKILL.md` to the platform's skill directory.

---

Tool Reference

| Task | Command | |------|---------| | Parse Slack export | `python3 {baseDir}/tools/slack_parser.py --file {path} --target "{name}" --output /tmp/slack_out.txt` | | Slack auto-collect | `python3 {baseDir}/tools/slack_collector.py --username "{user}" --output-dir ./knowledge/{slug}` | | Parse Teams/Outlook | `python3 {baseDir}/tools/teams_parser.py --file {path} --target "{name}" --output /tmp/teams_out.txt` | | Parse Gmail .mbox | `python3 {baseDir}/tools/email_parser.py --file {path} --target "{name}" --output /tmp/email_out.txt` | | Parse Notion export | `python3 {baseDir}/tools/notion_parser.py --dir {path} --target "{name}" --output /tmp/notion_out.txt` | | GitHub auto-collect | `python3 {baseDir}/tools/github_collector.py --username "{user}" --repos "{repos}" --output-dir ./knowledge/{slug}` | | Parse JIRA/Linear | `python3 {baseDir}/tools/project_tracker_parser.py --file {path} --target "{name}" --output /tmp/tracker_out.txt` | | Parse Confluence | `python3 {baseDir}/tools/confluence_parser.py --file {path} --target "{name}" --output /tmp/confluence_out.txt` | | Version backup | `python3 {baseDir}/tools/version_manager.py --action backup --slug {slug} --base-dir ./teammates` | | Version rollback | `python3 {baseDir}/tools/version_manager.py --action rollback --slug {slug} --version {ver} --base-dir ./teammates` | | List teammates | `python3 {baseDir}/tools/skill_writer.py --action list --base-dir ./teammates` |

**Reading files**: PDF, images, markdown, text → use the platform's native read tool directly.

---

Main Flow: Create a New Teammate Skill

Step 1: Basic Info Collection (3 questions — or fewer)

Read `{baseDir}/prompts/intake.md` for the full question sequence. Only ask 3 questions:

1. **Name / Alias** (required) — e.g. `alex-chen` or `Big Mike` 2. **Role info** (optional, one sentence) — e.g. `Google L5 backend engineer` 3. **Personality profile** (optional, one sentence) — e.g. `INTJ, perfectionist, Google-style, brutal CR feedback`

Everything except name can be skipped. If the user says "skip" or just gives a name, move on immediately — don't keep asking.

After collecting, show a compact confirmation:

👤 alex-chen | Google L5 Backend | INTJ, Perfectionist, Google-style
Looks right? (y / change something)

One line, not a multi-line summary. Get confirmation fast.

Step 2: Source Material Import

Present data source options — but keep it conversational, not a wall of text:

Now, do you have any of their work artifacts? (all optional)

  • Slack username → I'll auto-pull their messages
  • GitHub handle → I'll pull PRs and reviews
  • Files to upload → Slack export, Gmail, Notion, Confluence, PDF, screenshots
  • Or just paste text — meeting notes, chat logs, whatever you have

You can also skip this entirely — I'll work with what you gave me above.

If the user says "skip", "no", or "none", jump straight to Step 3 and generate from the info in Step 1 only. Don't ask again.

Option A: Slack Auto-Collect

First-time setup:

Read more
Ships withteammate-skill

Distill a teammate into an AI Skill. Auto-collect Slack/Teams/GitHub data, generate Work Skill + 5-layer Persona, with continuous evolution. Powered by MyClaw.ai. Works with Claude Code, OpenClaw, and any AgentSkills-compatible agent.

Get the whole plugin
Stats
258
Stars
11
Forks
Quiet
Maintenance
Python
Language
MIT
License
6mo ago
Last commit
6mo ago
Created
5d ago
Added

Repo: LeoYeAI/teammate-skill