diff --git a/README.md b/README.md index b78802e..a77b31e 100644 --- a/README.md +++ b/README.md @@ -188,3 +188,198 @@ create-colleague/ MIT License © [titanwings](https://github.com/titanwings) + +--- + +
+ +# colleague.skill + +> *"You AI guys are traitors to the codebase — you've already killed frontend, now you're coming for backend, QA, ops, infosec, chip design, and eventually yourselves and all of humanity"* + +**Distill a colleague's skills and personality into an AI Skill that works like them.** + +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) +[![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org) +[![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blueviolet)](https://claude.ai/code) +[![AgentSkills](https://img.shields.io/badge/AgentSkills-Standard-green)](https://agentskills.io) + +
+ +Provide source materials (Feishu messages, DingTalk docs, emails, screenshots)
+plus your subjective description of the person
+and get an **AI Skill that actually works like them** + +[Install](#install) · [Usage](#usage) · [Demo](#demo) · [Detailed Install](INSTALL.md) + +
+ +--- + +## Install + +### Claude Code + +> **Important**: Claude Code looks for skills in `.claude/skills/` at the **git repo root**. Make sure you run this in the right place. + +```bash +# Install to current project (run at git repo root) +mkdir -p .claude/skills +git clone https://github.com/titanwings/colleague-skill .claude/skills/create-colleague + +# Or install globally (available in all projects) +git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create-colleague +``` + +### OpenClaw + +```bash +git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague +``` + +### Dependencies (optional) + +```bash +pip3 install -r requirements.txt +``` + +> Feishu/DingTalk auto-collection requires App credentials. See [INSTALL.md](INSTALL.md) for details. + +--- + +## Usage + +In Claude Code, type: + +``` +/create-colleague +``` + +Follow the prompts: enter an alias, company/level (e.g. `ByteDance L2-1 backend engineer`), personality tags, then choose a data source. All fields can be skipped — even a description alone can generate a Skill. + +Once created, invoke the colleague Skill with `/{slug}`. + +### Commands + +| Command | Description | +|---------|-------------| +| `/list-colleagues` | List all colleague Skills | +| `/{slug}` | Invoke full Skill (Persona + Work) | +| `/{slug}-work` | Work capabilities only | +| `/{slug}-persona` | Persona only | +| `/colleague-rollback {slug} {version}` | Rollback to a previous version | +| `/delete-colleague {slug}` | Delete | + +--- + +## Demo + +> Input: `ByteDance L2-1 backend engineer, INTJ, blame-shifter, ByteDance-style` + +**Scenario 1: Code Review** + +``` +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. +``` + +**Scenario 2: Blame game** + +``` +User ❯ This bug was introduced by you, right? + +colleague.skill ❯ Does the timeline match? That feature touched multiple places, + there were other changes too. +``` + +--- + +## Features + +### Data Collection + +**Auto-collect** (recommended — just enter a name) + +| Platform | Messages | Docs / Wiki | Spreadsheets | Notes | +|----------|:--------:|:-----------:|:------------:|-------| +| Feishu | ✅ API | ✅ | ✅ | Fully automatic | +| DingTalk | ⚠️ Browser | ✅ | ✅ | DingTalk API doesn't support message history | + +**Manual upload**: `PDF` `Images` `Feishu JSON export` `Email .eml/.mbox` `Markdown` `Paste text` + +### Generated Skill Structure + +Each colleague Skill has two parts that work together: + +| Part | Content | +|------|---------| +| **Part A — Work Skill** | Systems, tech standards, workflows, experience | +| **Part B — Persona** | 5-layer personality: hard rules → identity → expression → decisions → interpersonal | + +Execution: `Receive task → Persona decides attitude → Work Skill executes → Output in their voice` + +### Supported Tags + +**Personality**: Responsible · Blame-shifter · Perfectionist · Good-enough · Procrastinator · PUA master · Office politician · Managing-up expert · Passive-aggressive · Flip-flopper · Quiet · Read-no-reply … + +**Corporate culture**: ByteDance-style · Alibaba-style · Tencent-style · Huawei-style · Baidu-style · Meituan-style · First-principles · OKR-obsessed · Big-corp-pipeline · Startup-mode + +**Levels**: ByteDance 2-1~3-3+ · Alibaba P5~P11 · Tencent T1~T4 · Baidu T5~T9 · Meituan P4~P8 · Huawei 13~21 · NetEase · JD · Xiaomi … + +### Evolution + +- **Append files** → auto-analyze delta → merge into relevant sections, never overwrite existing conclusions +- **Conversation correction** → say "he wouldn't do that, he should be xxx" → writes to Correction layer, takes effect immediately +- **Version control** → auto-archive on every update, rollback to any previous version + +--- + +## Project Structure + +This project follows the [AgentSkills](https://agentskills.io) open standard. The entire repo is a skill directory: + +``` +create-colleague/ +├── SKILL.md # Skill entry point (official frontmatter) +├── prompts/ # Prompt templates +│ ├── intake.md # Dialogue-based info collection +│ ├── work_analyzer.md # Work capability extraction +│ ├── persona_analyzer.md # Personality extraction (with tag translation) +│ ├── work_builder.md # work.md generation template +│ ├── persona_builder.md # persona.md 5-layer structure +│ ├── merger.md # Incremental merge logic +│ └── correction_handler.md # Conversation correction handler +├── tools/ # Python tools +│ ├── feishu_auto_collector.py # Feishu auto-collector +│ ├── feishu_browser.py # Feishu browser method +│ ├── feishu_mcp_client.py # Feishu MCP method +│ ├── dingtalk_auto_collector.py # DingTalk auto-collector +│ ├── email_parser.py # Email parser +│ ├── skill_writer.py # Skill file management +│ └── version_manager.py # Version archive & rollback +├── colleagues/ # Generated colleague Skills (gitignored) +├── docs/PRD.md +├── requirements.txt +└── LICENSE +``` + +--- + +## Notes + +- **Source material quality = Skill quality**: chat logs + long docs > manual description only +- Prioritize collecting: long-form writing **by them** > **decision-making replies** > casual messages +- Feishu auto-collection requires adding the App bot to relevant group chats +- This is still a demo version — please file issues if you find bugs! + +--- + +
+ +MIT License © [titanwings](https://github.com/titanwings) + +