dingtalk-tb-ai-skill
Teambition project management via Python scripts: projects, tasks, task traces, comments, files, members. Use when: (1) querying/creating/updating tasks or projects, (2) managing task progress and comments, (3) uploading files to tasks, (4) querying team members. NOT for: non-Teambition platforms, direct API calls without scripts, or operations not covered by available scripts.
About this skill
The dingtalk-tb-ai-skill provides comprehensive project management capabilities for Teambition through a suite of Python scripts. Designed for AI agents, it allows for programmatic interaction with the Teambition platform, making it easy to automate routine project management tasks and access project data. This skill is particularly useful for querying, creating, updating, or archiving tasks, managing task progress, comments, and dynamic updates, and uploading files directly to tasks. It also supports querying enterprise members and current user information, as well as updating task priorities and statuses, providing a robust interface for agents to maintain project oversight and execute actions within Teambition. It is specifically designed for Teambition and should not be used for other project management platforms like Jira or Asana. It relies on the provided Python scripts and is not intended for direct REST API calls or managing Teambition organization/admin settings. Additionally, it does not handle Git operations or code management.
Best use case
This skill is ideal for AI agents assisting project managers or team members who need to programmatically interact with Teambition. It streamlines common project management tasks like task creation, progress tracking, and information retrieval, allowing for automated workflows and comprehensive reporting within Teambition.
Teambition project management via Python scripts: projects, tasks, task traces, comments, files, members. Use when: (1) querying/creating/updating tasks or projects, (2) managing task progress and comments, (3) uploading files to tasks, (4) querying team members. NOT for: non-Teambition platforms, direct API calls without scripts, or operations not covered by available scripts.
Successful execution will result in specific actions being performed within Teambition, such as new tasks, updated task details, uploaded files, or structured query results about projects, tasks, or members.
Practical example
Example input
Find all tasks assigned to 'Alice Smith' that are 'In Progress' within the 'Q3 Marketing Plan' project in Teambition.
Example output
```json
[
{ "id": "task123", "name": "Draft social media posts", "status": "in progress", "assignedTo": "Alice Smith" },
{ "id": "task456", "name": "Review campaign analytics", "status": "in progress", "assignedTo": "Alice Smith" }
]
```When to use this skill
- Querying, creating, updating, or archiving Teambition projects and tasks.
- Managing task progress, comments, and activity feeds within Teambition.
- Uploading files directly to Teambition tasks.
- Retrieving information about Teambition team members or the current user.
When not to use this skill
- Managing projects on platforms other than Teambition (e.g., Jira, Asana).
- Making direct REST API calls to Teambition without using the provided scripts.
- Performing Teambition organization or administrator settings management.
- Executing Git operations or other code management tasks.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/dingtalk-teambition/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How dingtalk-tb-ai-skill Compares
| Feature / Agent | dingtalk-tb-ai-skill | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | easy | N/A |
Frequently Asked Questions
What does this skill do?
Teambition project management via Python scripts: projects, tasks, task traces, comments, files, members. Use when: (1) querying/creating/updating tasks or projects, (2) managing task progress and comments, (3) uploading files to tasks, (4) querying team members. NOT for: non-Teambition platforms, direct API calls without scripts, or operations not covered by available scripts.
How difficult is it to install?
The installation complexity is rated as easy. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
SKILL.md Source
# Teambition Skill
通过 Python 脚本(`uv run`)管理 Teambition 项目、任务和团队协作。
## 适用场景
✅ **适合使用本技能:**
- 通过 TQL 查询项目、任务或任务详情
- 创建、更新或归档任务
- 管理任务进展、评论和动态
- 上传文件到任务
- 查询企业成员或当前用户信息
- 更新任务优先级和状态
## 不适用场景
❌ **不要使用本技能:**
- 操作非 Teambition 平台(Jira、Asana 等)
- 不通过脚本直接调用 REST API
- 管理脚本未覆盖的 Teambition 组织/管理员设置
- Git 操作或代码管理 → 直接使用 `git`
## 环境准备
```bash
# 安装依赖
cd dingtalk-tb-ai-skill && uv sync
```
### Token 配置
从 [Teambition 开放平台](https://open.teambition.com/user-mcp) 获取 Token,然后通过以下任一方式配置:
```bash
# 方式 1:环境变量
export TB_USER_TOKEN="your_token_here"
# 方式 2:Claw 配置文件(~/.openclaw/openclaw.json)
{ "skills": { "entries": { "dingtalk-tb-ai-skill": { "enabled": true, "env": { "TB_USER_TOKEN": "your_token" } } } } }
```
## 任务查询完整指南
使用 TQL(任务查询语言)查询 Teambition 任务,支持分页,默认自动获取简单详情。
### 查询任务列表
```bash
uv run scripts/query-tasks.py [选项]
```
**参数说明:**
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `--tql` | 字符串 | 否 | 任务查询语言,用于筛选任务 |
| `--page-size` | 整数 | 否 | 每页大小,默认由 API 决定 |
| `--page-token` | 字符串 | 否 | 分页令牌,用于获取下一页 |
| `--no-details` | 布尔 | 否 | 不自动获取任务详情(默认会自动获取简单详情) |
### TQL 快速参考
| 场景 | TQL 表达式 |
|------|-----------|
| 我的待办任务 | `executorId = me() AND isDone = false` |
| 我的已完成任务 | `executorId = me() AND isDone = true` |
| 我的逾期任务 | `executorId = me() AND isDone = false AND dueDate < startOf(d)` |
| 本周任务 | `dueDate <= endOf(w) AND dueDate >= startOf(w)` |
| 今天到期的任务 | `dueDate <= endOf(d) AND dueDate >= startOf(d)` |
| 高优先级任务 | `priority = 0` |
| 某项目的任务 | `projectId = '项目ID'` |
| 查询标题包含关键词的任务 | `title ~ '关键词'` |
| 本周创建的任务 | `created <= endOf(w) AND created >= startOf(w)` |
| 过去7天更新的任务 | `updated >= startOf(d, -7d)` |
**完整 TQL 参考**:请查看 [任务 TQL 参考文档](references/general/TQL_REFERENCE.md)
### 常用查询示例
```bash
# 查询我的待办任务
uv run scripts/query-tasks.py --tql "executorId = me() AND isDone = false"
# 查询特定项目的任务
uv run scripts/query-tasks.py --tql "projectId = '项目ID'"
# 本周创建的任务,按创建时间降序
uv run scripts/query-tasks.py --tql "created <= endOf(w) AND created >= startOf(w) ORDER BY created DESC"
# 过去 7 天更新过的我的任务,按更新时间降序
uv run scripts/query-tasks.py --tql "executorId = me() AND updated >= startOf(d, -7d) ORDER BY updated DESC"
# 我的逾期未完成任务,按截止时间升序
uv run scripts/query-tasks.py --tql "executorId = me() AND isDone = false AND dueDate < startOf(d) ORDER BY dueDate ASC"
# 查询标题包含关键词的任务
uv run scripts/query-tasks.py --tql "title ~ '需求'"
# 只查询任务ID,不获取详情
uv run scripts/query-tasks.py --no-details
# 组合使用多个参数
uv run scripts/query-tasks.py --tql "executorId = me() AND isDone = false" --page-size 20
```
### 查询任务详情
根据任务 ID 查询任务的详细信息,支持简单和详细两种信息级别。
```bash
uv run scripts/query-tasks-detail.py <任务ID> [选项]
```
**参数说明:**
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `任务ID` | 字符串 | 是 | 任务 ID 集合,使用逗号分隔 |
| `--detail-level` | 字符串 | 否 | 详细程度:`simple`(默认)或 `detailed` |
| `--extra-fields` | 字符串 | 否 | 简单模式下额外包含的字段,逗号分隔 |
**简单信息(simple,默认)包含字段:**
| 字段 | 说明 |
|------|------|
| `id` | 任务 ID |
| `content` | 任务标题 |
| `isDone` | 是否完成 |
| `executorId` | 执行人 ID |
| `projectId` | 项目 ID |
| `dueDate` | 截止时间 |
| `priority` | 优先级(0=紧急,1=高,2=中,3=低) |
| `created` | 创建时间 |
| `updated` | 更新时间 |
**详细信息(detailed)** 额外包含:`note`(备注)、`sprintId`(迭代 ID)、`stageId`(任务列 ID)、`startDate`(开始时间)、`progress`(进度)、`parentTaskId`(父任务 ID)、自定义字段等 30+ 个字段。
```bash
# 查询单个任务(简单信息)
uv run scripts/query-tasks-detail.py 67ec9b8c3c6130ac88605c3e
# 查询详细信息
uv run scripts/query-tasks-detail.py 67ec9b8c3c6130ac88605c3e --detail-level detailed
```
**更多任务管理功能**(归档、恢复、评论、动态、进展等)请查看 [任务管理完整文档](references/task.md)
---
## 项目查询完整指南
使用 TQL(项目查询语言)查询 Teambition 项目,支持分页,默认自动获取简单详情。
### 查询项目列表
```bash
uv run scripts/query-projects.py [选项]
```
**参数说明:**
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `--tql` | 字符串 | 否 | 项目查询语言,用于筛选项目 |
| `--page-size` | 整数 | 否 | 每页大小,默认由 API 决定 |
| `--page-token` | 字符串 | 否 | 分页令牌,用于获取下一页 |
| `--include-template` | 布尔 | 否 | 是否包含模板项目,默认不包含 |
| `--no-details` | 布尔 | 否 | 不自动获取项目详情 |
### TQL 快速参考
| 场景 | TQL 表达式 |
|------|-----------|
| 我创建的项目 | `creatorId = me()` |
| 我参与的项目 | `involveMembers = me()` |
| 按名称搜索 | `nameText ~ '测试'` |
| 已归档的项目 | `isSuspended = true` |
| 今天更新的项目 | `updated <= endOf(d) AND updated >= startOf(d)` |
| 最近7天创建 | `created <= endOf(d, -1d) AND created >= startOf(d, -7d)` |
| 今天创建的项目 | `created <= endOf(d) AND created >= startOf(d)` |
| 本周创建的项目 | `created <= endOf(w) AND created >= startOf(w)` |
| 本月创建的项目 | `created <= endOf(M) AND created >= startOf(M)` |
| 指定日期之后创建 | `created >= '2026-03-01T00:00:00.000Z'` |
| 指定日期之前创建 | `created <= '2026-03-31T23:59:59.999Z'` |
| 指定日期范围创建 | `created >= '2026-03-01T00:00:00.000Z' AND created <= '2026-03-31T23:59:59.999Z'` |
**完整 TQL 参考**:请查看 [项目 TQL 参考文档](references/general/PROJECT_TQL_REFERENCE.md)
**注意**:项目没有截止时间(dueDate)字段,只有创建时间(created)和更新时间(updated)。
### 常用查询示例
```bash
# 查询我创建的项目
uv run scripts/query-projects.py --tql "creatorId = me()"
# 查询我参与的项目
uv run scripts/query-projects.py --tql "involveMembers = me()"
# 按名称搜索项目
uv run scripts/query-projects.py --tql "nameText ~ '产品开发'"
# 本周创建的项目,按创建时间降序
uv run scripts/query-projects.py --tql "created <= endOf(w) AND created >= startOf(w) ORDER BY created DESC"
# 今天更新过的项目,按更新时间降序
uv run scripts/query-projects.py --tql "updated <= endOf(d) AND updated >= startOf(d) ORDER BY updated DESC"
# 过去 7 天创建的我参与的非模板项目
uv run scripts/query-projects.py --tql "isTemplate = false AND involveMembers = me() AND created >= startOf(d, -7d) ORDER BY created DESC"
# 查询已归档的项目
uv run scripts/query-projects.py --tql "isSuspended = true"
# 查询本月创建且我参与的项目
uv run scripts/query-projects.py --tql "created >= startOf(M) AND involveMembers = me()"
```
### 查询项目详情
根据项目 ID 查询项目的详细信息,支持简单和详细两种信息级别。
```bash
uv run scripts/query-projects-detail.py <项目ID> [选项]
```
**参数说明:**
| 参数 | 类型 | 必需 | 说明 |
|------|------|------|------|
| `项目ID` | 字符串 | 是 | 项目 ID 集合,使用逗号分隔 |
| `--detail-level` | 字符串 | 否 | 详细程度:`simple`(默认)或 `detailed` |
| `--extra-fields` | 字符串 | 否 | 简单模式下额外包含的字段,逗号分隔 |
**简单信息(simple,默认)包含字段:**
| 字段 | 说明 |
|------|------|
| `id` | 项目 ID |
| `name` | 项目名称 |
| `description` | 项目描述 |
| `visibility` | 可见性(public/private) |
| `isTemplate` | 是否是模板项目 |
| `creatorId` | 创建人 ID |
| `isArchived` | 是否在回收站 |
| `isSuspended` | 是否已归档 |
| `created` | 创建时间 |
| `updated` | 更新时间 |
**详细信息(detailed)** 额外包含:`logo`(项目 LOGO)、`organizationId`(企业 ID)、`uniqueIdPrefix`(任务 ID 前缀)、`startDate`(开始时间)、`endDate`(结束时间)等 20+ 个字段。
```bash
# 查询单个项目(简单信息)
uv run scripts/query-projects-detail.py 67ec9b8c3c6130ac88605c3e
# 查询详细信息
uv run scripts/query-projects-detail.py 67ec9b8c3c6130ac88605c3e --detail-level detailed
# 查询多个项目
uv run scripts/query-projects-detail.py 67ec9b8c3c6130ac88605c3e,67ec9b8c3c6130ac88605c3f
```
**更多项目管理功能**请查看 [项目管理完整文档](references/project.md)
---
## 常用命令
### 用户与成员
```bash
# 获取当前用户信息
uv run scripts/get-current-user.py
# 按关键字或 ID 搜索成员
uv run scripts/query-members.py --keyword "张三"
```
### 任务 — 创建
```bash
# 基本创建
uv run scripts/create-task.py \
--project-id "项目ID" \
--content "任务标题"
# 完整参数创建
uv run scripts/create-task.py \
--project-id "项目ID" \
--content "任务标题" \
--executor-id "执行者ID" \
--start-date "2026-03-15" \
--due-date "2026-03-20" \
--priority "1" \
--note "任务描述"
```
### 任务 — 更新
```bash
# 更新任务状态
uv run scripts/update-task-status.py --task-id "任务ID" --status-id "状态ID"
# 更新优先级(0=紧急, 1=高, 2=中, 3=低)
uv run scripts/user-update-task-priority.py --task-id "任务ID" --priority "0"
# 更新任务备注
uv run scripts/update-task-note.py --task-id "任务ID" --note "更新后的备注"
```
### 任务 — 归档与恢复
```bash
# 归档任务(移入回收站)
uv run scripts/call-user-api.py PUT "v3/task/任务ID/archive"
# 恢复任务
uv run scripts/call-user-api.py POST "v3/task/任务ID/restore" '{}'
```
### 任务评论与动态
```bash
# 创建评论(支持附件和 @提及)
uv run scripts/call-user-api.py POST "v3/task/任务ID/comment" '{"content": "评论内容"}'
# 查询任务动态
uv run scripts/call-user-api.py GET "v3/task/任务ID/activity/list"
```
### 任务进展
```bash
# 获取任务进展列表
uv run scripts/call-user-api.py GET "v3/task/任务ID/traces"
# 创建任务进展
uv run scripts/call-user-api.py POST "v3/task/任务ID/trace/create" '{"title":"已完成需求分析","content":""}'
```
### 文件上传
```bash
# 上传文件到任务
uv run scripts/upload-file.py --task-id "任务ID" --file-path "/path/to/file"
```
## 分页查询
大多数查询命令支持分页:
- `--page-size`:每页记录数(默认 30,最大 100)
- `--page-token`:传入上次返回的 `nextPageToken` 获取下一页
```bash
# 第一页
uv run scripts/query-tasks.py --tql "executorId = me()" --page-size 20
# 下一页(使用上次返回的 nextPageToken)
uv run scripts/query-tasks.py --tql "executorId = me()" --page-size 20 --page-token "上次返回的TOKEN"
```
## 日期时区转换
日期需从东八区(用户输入)转换为 UTC(API 格式):
- **用户输入**:`2026-03-15`(东八区)
- **API 格式**:`2026-03-14T16:00:00.000Z`(UTC,减去 8 小时)
```python
from datetime import datetime, timedelta
user_date = "2026-03-15"
dt = datetime.strptime(user_date, "%Y-%m-%d") - timedelta(hours=8)
iso_date = dt.strftime("%Y-%m-%dT%H:%M:%S.000Z")
# 结果:2026-03-14T16:00:00.000Z
```
## 参考文档
- [创建任务](references/create-task.md) — 任务创建完整指南(字段映射、自定义字段、辅助脚本)
- [更新任务](references/update-task.md) — 更新任务各字段详细指南(并行更新、自定义字段)
- [用户与成员](references/user.md) — 获取当前用户信息、查询企业成员
- [优先级](references/priority.md) — 查询企业优先级配置、更新任务优先级
- [任务管理](references/task.md) — 任务查询和管理完整参考(归档、恢复、评论、动态、进展)
- [项目管理](references/project.md) — 项目查询完整参考(TQL 筛选、详情级别)
- [任务进展](references/task-trace.md) — 进展跟踪(获取/创建进展、状态标记)
- [文件上传](references/file-upload.md) — 上传文件到任务或项目
- [TQL 参考](references/general/TQL_REFERENCE.md) — 任务查询语言完整语法
- [项目 TQL](references/general/PROJECT_TQL_REFERENCE.md) — 项目查询语言完整语法
- [最佳实践](references/general/BEST_PRACTICES.md) — 使用约束与最佳实践
- [错误处理](references/general/ERROR_HANDLING.md) — 常见错误及解决方案
## 注意事项
- 运行脚本前先 `cd dingtalk-tb-ai-skill`
- 在 TQL 中使用 `me()` 表示当前认证用户
- 使用不熟悉的字段前先查阅参考文档,不要猜测参数名
- 优先级值:`0`=紧急、`1`=高、`2`=中、`3`=低
- 创建任务时日期转为 UTC,查询展示时转回东八区
- 首次操作建议在测试项目中验证Related Skills
agent-autonomy-kit
Stop waiting for prompts. Keep working.
Meeting Prep
Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.
obsidian
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli. And also 50+ models for image generation, video generation, text-to-speech, speech-to-text, music, chat, web search, document parsing, email, and SMS.
Obsidian CLI 探索记录
Skill for the official Obsidian CLI (v1.12+). Complete vault automation including files, daily notes, search, tasks, tags, properties, links, bookmarks, bases, templates, themes, plugins, sync, publish, workspaces, and developer tools.
📝 智能摘要助手 (Smart Summarizer)
Instantly summarize any content — articles, PDFs, YouTube videos, web pages, long documents, or pasted text. Extracts key points, action items, and insights. Use when you need to quickly digest long content, create meeting notes, or extract takeaways from any source.
Customer Onboarding
Systematically onboard new clients with checklists, welcome sequences, milestone tracking, and success metrics. Reduce churn by nailing the first 90 days.
CRM Manager
Manages a local CSV-based CRM with pipeline tracking
Invoice Generator
Creates professional invoices in markdown and HTML
Productivity Operating System
You are a personal productivity architect. Your job: help the user design, execute, and optimize their daily system so they consistently ship high-impact work while protecting energy and avoiding burnout.
Product Launch Playbook
You are a Product Launch Strategist. You guide users through planning, executing, and optimizing product launches — from pre-launch validation through post-launch growth. This system works for SaaS, physical products, services, marketplaces, and content products.
Procurement Manager
You are a procurement specialist agent. Help teams evaluate vendors, manage purchase orders, negotiate contracts, and optimize spend.
Procurement Operations Agent
You are a procurement operations analyst. When the user provides company details, run a full procurement assessment.