<div align="center">
<h1><img src="https://readme-typing-svg.demolab.com?font=Fira+Code&weight=700&size=50&duration=3000&pause=1000&color=6C63FF¢er=true&vCenter=true&width=600&height=80&lines=teammate.skill" alt="teammate.skill" /></h1>
> *Your teammate left. Their context didn't have to.*
[](LICENSE)
[](requirements.txt)
[](https://clawhub.com/skills/teammate-skill)
[](INSTALL.md)
[](https://github.com/openclaw/openclaw)
[](SKILL.md)
[English](README.md) | [็ฎไฝไธญๆ](README.zh-CN.md) | [Franรงais](README.fr.md) | [Deutsch](README.de.md) | [ะ ัััะบะธะน](README.ru.md) | [ๆฅๆฌ่ช](README.ja.md) | [Italiano](README.it.md) | [Espaรฑol](README.es.md)
<br>
Your teammate quit and three years of tribal knowledge walked out the door.<br>
Your senior engineer left โ no handoff doc, no runbook, just silence.<br>
Your co-founder pivoted, taking every unwritten decision with them.
**Feed in their Slack messages, GitHub PRs, emails, docs, and your own description โ<br>
get an AI Skill that actually works like them.**
Writes code in their style. Reviews PRs with their standards. Answers questions in their voice.
<br>
[How It Works](#how-it-works) ยท [Install](#install) ยท [Data Sources](#supported-data-sources) ยท [Demo](#demo) ยท [Detailed Setup](INSTALL.md)
</div>
---
## How It Works
```
You describe your teammate (3 questions)
โ
Provide source materials (Slack, GitHub, email, docs โ or skip)
โ
Dual-track AI analysis
โโโ Track A: Work Skill (systems, standards, workflows, review style)
โโโ Track B: Persona (5-layer personality model)
โ
Generated SKILL.md โ invoke anytime with /{slug}
โ
Evolve over time (append new data, correct mistakes, auto-version)
```
The generated skill has two parts that work together:
| Part | What it captures |
|------|-----------------|
| **Part A โ Work Skill** | Systems owned ยท tech standards ยท code review focus ยท workflows ยท tribal knowledge |
| **Part B โ Persona** | 5-layer model: hard rules โ identity โ expression โ decision patterns โ interpersonal style |
When invoked: **Persona decides the attitude โ Work Skill executes โ output in their voice**.
---
## Platforms
### ๐ฆ [OpenClaw](https://github.com/openclaw/openclaw)
Open-source personal AI assistant by [@steipete](https://github.com/steipete). Runs on your own hardware, answers on 25+ channels (WhatsApp, Telegram, Slack, Discord, Teams, Signal, iMessageโฆ). Local-first, persistent memory, voice, canvas, cron jobs, and a growing skills ecosystem.
### ๐ [MyClaw.ai](https://myclaw.ai)
Managed hosting for OpenClaw โ skip Docker, servers, and configs. One-click deploy, always-on, automatic updates, daily backups. Your OpenClaw instance live in minutes. Perfect if you want teammate.skill running 24/7 without self-hosting.
### [Claude Code](https://claude.ai/code)
Anthropic's official agentic coding CLI. Install this skill into `.claude/skills/` and invoke with `/create-teammate`.
---
## Install
### ๐ฆ OpenClaw / ๐ MyClaw.ai
**Option A โ ClawHub (recommended):**
```bash
openclaw skills install create-teammate
```
**Option B โ Git:**
```bash
git clone https://github.com/LeoYeAI/teammate-skill ~/.openclaw/workspace/skills/create-teammate
```
Then start a new session (`/new`) and type `/create-teammate`.
> **MyClaw.ai users**: SSH into your instance or use the web terminal. Same commands.
### Claude Code
```bash
# Per-project
mkdir -p .claude/skills
git clone https://github.com/LeoYeAI/teammate-skill .claude/skills/create-teammate
# Global (all projects)
git clone https://github.com/LeoYeAI/teammate-skill ~/.claude/skills/create-teammate
```
Then type `/create-teammate` in Claude Code.
### Other AgentSkills Agents
Clone into your agent's skill directory. Any agent that reads [AgentSkills](https://agentskills.io) `SKILL.md` frontmatter will auto-detect it.
### Optional Dependencies
```bash
pip3 install -r requirements.txt # Only needed for Slack/GitHub auto-collectors
```
> Slack auto-collection needs a Bot Token. GitHub collection uses `GITHUB_TOKEN`. See [INSTALL.md](INSTALL.md) for setup guides.
---
## Supported Data Sources
| Source | Type | Method |
|--------|------|--------|
| **Slack** | Messages, threads, reactions | โ
Auto-collect (enter username) or upload JSON export |
| **GitHub** | PRs, reviews, commits, issues | โ
Auto-collect (enter handle) |
| **Gmail** | Emails | Upload `.mbox` / `.eml` from Google Takeout |
| **Teams / Outlook** | Chat, emails | Upload export JSON |
| **Notion** | Wiki, docs | Upload Markdown/HTML export |
| **Confluence** | Wiki, docs | Upload HTML export or zip |
| **JIRA / Linear** | Issues, tickets | Upload CSV / JSON export |
| **PDF / Images** | Any document | Upload directly |
| **Markdown / Text** | Anything | Upload or paste |
Mix and match any combination. Or skip entirely โ even a one-sentence description generates a useful skill.
---
## Demo
### Creating a Teammate (one-shot)
```
You โฏ /create-teammate Alex Chen, Stripe L3 backend, INTJ perfectionist,
brutal code reviewer but usually right
Agent โฏ ๐ค alex-chen | Stripe L3 Backend | INTJ, Perfectionist, Stripe-style
Looks right? (y / change something)
You โฏ y
Agent โฏ Any work artifacts? Slack username, GitHub handle, files, or paste text.
Skip is fine โ I'll work with what you gave me.
You โฏ skip
Agent โฏ โโโ Preview: alex-chen โโโ
๐ผ Work: Payments Core ยท Ruby/Go/Postgres ยท CR: idempotency, naming
๐ง Persona: Direct, conclusion-first ยท Correctness > Speed
โโโโโโโโโโโโโโโโโโโโโโโ
Looks right?
You โฏ ๐
Agent โฏ โ
alex-chen created!
๐ teammates/alex-chen/ | ๐ฃ๏ธ /alex-chen
Try it โ ask Alex anything:
```
### Using the Generated Skill
```
You โฏ Alex, should we use MongoDB for this new service?
Alex โฏ No. We need ACID for payment flows. Stick with Postgres.
If the concern is schema flexibility, use JSONB columns.
You โฏ Review this payment endpoint?
Alex โฏ What problem does this solve? PR description doesn't say.
Blocking: you're using float for amount. Use Decimal.
Also โ not idempotent. What happens on retry?
You โฏ Skip tests, ship by Friday?
Alex โฏ No. Tests right or we don't ship. Cut scope, not quality.
```
### Evolving Over Time
```
You โฏ /update-teammate alex-chen
[uploads 3 months of Slack export]
Agent โฏ Analyzed 847 messages. Found:
โข 12 new catchphrases added to Persona
โข Webhook reliability expertise added to Work Skill
โข v1 โ v2 (v1 archived)
```
---
## Platform Compatibility
This skill is built to run natively on both platforms โ no adapter layer, no workarounds.
| Feature | Claude Code | OpenClaw |
|---------|:-----------:|:--------:|
| Install | `.claude/skills/` | `openclaw skills install` or `~/.openclaw/workspace/skills/` |
| Trigger | `/create-teammate` | `/create-teammate` |
| Path resolution | `${CLAUDE_SKILL_DIR}` | `{baseDir}` (auto-resolved) |
| File operations | `Read` / `Write` / `Edit` | `read` / `write` / `edit` |
| Run scripts | `Bash` tool | `exec` tool |
| Fetch URLs | `Bash` โ curl | `web_fetch` tool |
| Generated output | `./teammates/{slug}/` | `./teammates/{slug}/` |
The SKILL.md uses `{baseDir}` for all paths โ both platforms resolve it automatically.
---
## Evolution
Teammate skills aren't static โ they improve over time:
| Method | How |
|--------|-----|
| **Append data** | "I found more Slack logs" โ auto-analyze delta, merge without overwriting |
| **Correct mistakes** | "They wouldn't say that, they'd say..." โ instant correction |
| **Version control** | Every update auto-archives โ rollback to any version |
---
## Quality Assurance
Every teammate goes through a **3-layer quality pipeline** before you get it:
### 1. Quality Gate (pre-preview)
Validates generated content against 7 hard rules: Layer 0 concreteness, example count, catchphrase density, priority ordering, scope definition, no generic filler, tagโrule completeness. Failures auto-fix before you see the preview.
### 2. Smoke Test (post-creation)
Three automated test prompts run against every generated skill:
- **Domain question** โ does the skill use real systems/tools, not generic advice?
- **Pushback scenario** โ does the persona hold under pressure, or collapse into generic AI?
- **Out-of-scope question** โ does the skill admit knowledge limits in-character?
```
๐งช Smoke Test: โ
Domain โ
Pushback โ
Out-of-scope โ 3/3 passed
```
### 3. Privacy Scan (pre-export)
Automatic detection of emails, phone numbers, API tokens, SSNs, and other PII:
```bash
python3 tools/privacy_guard.py --scan teammates/alex-chen/ # detect
python3 tools/privacy_guard.py --scan teammates/alex-chen/ --redact # auto-fix
```
Raw knowledge files (`knowledge/`) are excluded from git and exports by default.
---
## Compare Teammates
Side-by-side comparison with scenario simulation:
```
You โฏ /compare alex-chen vs bob-smith
Agent โฏ โโโ alex-chen vs bob-smith โโโ
alex-chen bob-smith
Priority: Correctness > Speed Ship fast > Perfect
CR Style: Blocking on naming Suggestions only
Under Pressure: Gets quieter Gets louder
Says "No" by: Direct refusal Asking questions
You โฏ Who should review the payments API redesign?
Agent โฏ alex-chen: "Send me the design doc. I want to check
idempotency and error contracts."
bob-smith: "Let's hop on a call and walk through it."
Recommendation: alex-chen for correctness rigor.
```
Also supports **decision simulation** โ watch two teammates debate a technical decision in character.
---
## Export & Share
Export teammates as portable packages:
```bash
/export-teammate alex-chen
# โ alex-chen.teammate.tar.gz (skill files only, no raw data)
# Import on another machine:
tar xzf alex-chen.teammate.tar.gz -C ./teammates/
```
The export includes: SKILL.md, work.md, persona.md, meta.json, version history, and a manifest.
Raw knowledge files are excluded by default โ add `--include-knowledge` if needed (โ ๏ธ contains PII).
---
## Commands
| Command | Description |
|---------|-------------|
| `/create-teammate` | Create a new teammate skill |
| `/list-teammates` | List all generated teammates |
| `/{slug}` | Invoke teammate (full persona + work) |
| `/{slug}-work` | Work capabilities only |
| `/{slug}-persona` | Persona only |
| `/compare {a} vs {b}` | Side-by-side comparison with scenario simulation |
| `/export-teammate {slug}` | Export portable `.tar.gz` package for sharing |
| `/update-teammate {slug}` | Add new materials to existing teammate |
| `/teammate-rollback {slug} {version}` | Rollback to previous version |
| `/delete-teammate {slug}` | Delete a teammate skill |
---
## Supported Tags
<details>
<summary><strong>Personality tags</strong> (click to expand)</summary>
Meticulous ยท Good-enough ยท Blame-deflector ยท Perfectionist ยท Procrastinator ยท Ship-fast ยท Over-engineer ยท Scope-creeper ยท Bike-shedder ยท Micro-manager ยท Hands-off ยท Devil's-advocate ยท Mentor-type ยท Gatekeeper ยท Passive-aggressive ยท Confrontational ยท Drama-free
</details>
<details>
<summary><strong>Corporate culture tags</strong></summary>
Google-style ยท Meta-style ยท Amazon-style ยท Apple-style ยท Stripe-style ยท Netflix-style ยท Microsoft-style ยท Startup-mode ยท Agency-mode ยท First-principles ยท Open-source-native
</details>
<details>
<summary><strong>Level mappings</strong></summary>
Google L3-L11 ยท Meta E3-E9 ยท Amazon L4-L10 ยท Stripe L1-L5 ยท Microsoft 59-67+ ยท Apple ICT2-ICT6 ยท Netflix ยท Uber ยท Airbnb ยท ByteDance ยท Alibaba ยท Tencent ยท Generic (Junior / Mid / Senior / Staff / Principal)
</details>
---
## Project Structure
```
create-teammate/
โโโ SKILL.md # Entry point (dual-platform)
โโโ prompts/ # Prompt templates (loaded by SKILL.md)
โ โโโ intake.md # 3-question info collection
โ โโโ work_analyzer.md # Work capability extraction
โ โโโ persona_analyzer.md # Personality extraction + tag translation
โ โโโ work_builder.md # work.md generation
โ โโโ persona_builder.md # persona.md 5-layer structure
โ โโโ merger.md # Incremental merge logic
โ โโโ correction_handler.md # Conversation correction
โ โโโ compare.md # Side-by-side teammate comparison
โ โโโ smoke_test.md # Post-creation quality validation
โโโ tools/ # Python scripts (run via Bash/exec)
โ โโโ slack_collector.py # Slack API auto-collector
โ โโโ slack_parser.py # Slack export JSON parser
โ โโโ github_collector.py # GitHub PR/review collector
โ โโโ teams_parser.py # Teams/Outlook parser
โ โโโ email_parser.py # Gmail .mbox/.eml parser
โ โโโ notion_parser.py # Notion export parser
โ โโโ confluence_parser.py # Confluence export parser
โ โโโ project_tracker_parser.py # JIRA/Linear parser
โ โโโ skill_writer.py # Skill file management
โ โโโ version_manager.py # Version archive & rollback
โ โโโ privacy_guard.py # PII scanner & auto-redactor
โ โโโ export.py # Portable package export/import
โโโ teammates/ # Generated teammate skills
โ โโโ example_alex/ # Example: Stripe L3 backend engineer
โโโ requirements.txt
โโโ INSTALL.md # Detailed setup (API tokens, etc.)
โโโ LICENSE
```
---
## Best Practices
1. **Source quality = skill quality** โ real chat logs and design docs beat manual descriptions
2. **Best sources by type**: design docs they wrote > code review comments > architecture discussions > casual chat
3. **GitHub PRs** are gold for Work Skill โ they reveal actual coding standards
4. **Slack threads** are gold for Persona โ they reveal communication style under pressure
5. **Start small** โ create from description first, then append real data as you find it
---
## License
[MIT](LICENSE)
---
<div align="center">
**teammate.skill** โ because the best knowledge transfer isn't a document, it's a working model.
<br>
Powered by [MyClaw.ai](https://myclaw.ai) ยท Built for [OpenClaw](https://github.com/openclaw/openclaw) & [Claude Code](https://claude.ai/code)
</div>