任务分解器Skill task-decomposer

任务分解器与技能生成器是一个AI智能体工具,专门用于将复杂的用户请求分解为可执行的原子子任务,识别每个任务所需的能力类型,在skills.sh技能生态系统中搜索现有解决方案,并在没有匹配技能时自动创建新技能。该工具支持工作流自动化、任务分解、技能发现和技能创建,适用于自动化流程设计、复杂问题拆解和技能生态扩展。关键词:任务分解、工作流自动化、技能生成、AI智能体、技能搜索、任务管理、自动化工具、技能创建、复杂任务处理、技能生态系统。

AI智能体 0 次安装 0 次浏览 更新于 2/24/2026

name: task-decomposer description: 将复杂的用户请求分解为可执行的子任务,识别所需能力,在skills.sh搜索现有技能,并在没有解决方案时创建新技能。当用户提交复杂的多步骤请求、想要自动化工作流程或需要帮助将大型任务分解为可管理部分时,应使用此技能。

任务分解器与技能生成器

此技能帮助将复杂的用户请求分解为可执行的子任务,识别每个任务所需的能力,从开放技能生态系统中搜索现有技能,并在没有现有解决方案时自动创建新技能。

核心工作流程

用户请求 → 任务分解 → 能力识别 → 技能搜索 → 差距分析 → 技能创建 → 执行计划

阶段1:任务分析与分解

接收用户请求时,遵循以下步骤:

步骤1:理解用户意图

分析请求以识别:

  • 核心目标:最终目标是什么?
  • 涉及领域:需要哪些专业领域?
  • 触发机制:一次性、计划性还是事件驱动?

示例分析:

用户输入:"每天早上帮我获取邮件摘要并发送到Slack"

分析:
- 核心目标:自动化的邮件摘要发送到Slack
- 领域:邮件访问、内容摘要、消息传递
- 触发:计划性(每天早晨)

步骤2:分解为原子任务

将复杂任务分解为最小的可执行单元:

任务分解:
  - task_id: 1
    name: "访问并检索邮件列表"
    type: "数据检索"
    input: "邮件凭据/会话"
    output: "带元数据的邮件列表"
    dependencies: []
    
  - task_id: 2
    name: "从邮件中提取关键信息"
    type: "数据提取"
    input: "邮件列表"
    output: "结构化的邮件数据"
    dependencies: [1]
    
  - task_id: 3
    name: "生成邮件摘要"
    type: "内容生成"
    input: "结构化的邮件数据"
    output: "格式化的摘要文本"
    dependencies: [2]
    
  - task_id: 4
    name: "发送消息到Slack"
    type: "消息传递"
    input: "摘要文本、Slack webhook/令牌"
    output: "传递确认"
    dependencies: [3]
    
  - task_id: 5
    name: "配置计划执行"
    type: "调度"
    input: "工作流脚本、计划配置"
    output: "活跃的计划任务"
    dependencies: [4]

阶段2:能力识别

将每个子任务映射到通用能力分类中的能力类型。

通用能力类型

能力 描述 搜索关键词
browser_automation 网页导航、交互、爬取 browser, selenium, puppeteer, playwright, scrape
web_search 互联网搜索和信息检索 search, google, bing, duckduckgo
api_integration 第三方API通信 api, rest, graphql, webhook, {服务名称}
data_extraction 解析和提取结构化数据 parse, extract, scrape, ocr, pdf
data_transformation 转换、清理、变换数据 transform, convert, format, clean, etl
content_generation 创建文本、图像或其他内容 generate, write, create, summarize, translate
file_operations 读取、写入、操作文件 file, read, write, csv, excel, json, pdf
message_delivery 发送通知或消息 notify, send, email, slack, discord, telegram
scheduling 基于时间的任务执行 schedule, cron, timer, daily, weekly
authentication 身份和访问管理 auth, oauth, login, token, credentials
database_operations 数据库CRUD操作 database, sql, mongodb, query, store
code_execution 运行脚本或程序 execute, run, script, shell, python
version_control Git和代码仓库操作 git, github, gitlab, commit, pr, review
testing 自动化测试和QA test, jest, pytest, e2e, unit
deployment 应用程序部署和CI/CD deploy, docker, kubernetes, ci-cd, release
monitoring 系统和应用程序监控 monitor, alert, log, metrics, health

能力识别流程

对于每个子任务:

  1. 分析任务描述和要求
  2. 匹配到一个或多个能力类型
  3. 为技能发现生成搜索关键词

示例:

任务:"发送消息到Slack"
能力:message_delivery
搜索关键词:["slack", "notification", "message", "webhook"]

阶段3:技能搜索

使用Skills CLI在https://skills.sh/搜索现有技能。

搜索流程

对于每个能力需求,使用相关关键词搜索:

# 搜索匹配能力的技能
npx skills find <关键词>

# 示例:
npx skills find slack notification
npx skills find browser automation
npx skills find pdf extract
npx skills find github api

评估搜索结果

当返回结果时:

使用 npx skills add <owner/repo@skill> 安装

owner/repo@skill-name
└ https://skills.sh/owner/repo/skill-name

评估每个结果的:

  • 相关性:是否匹配所需能力?
  • 完整性:是否覆盖所有需要的功能?
  • 质量:是否文档完善且维护良好?

生成能力映射

能力映射:
  - task_id: 1
    capability: browser_automation
    search_query: "browser email automation"
    found_skills:
      - name: "anthropic/claude-skills@browser-use"
        url: "https://skills.sh/anthropic/claude-skills/browser-use"
        match_score: high
    recommendation: "安装 browser-use 技能"
    
  - task_id: 4
    capability: message_delivery
    search_query: "slack notification"
    found_skills: []
    recommendation: "创建新技能:slack-notification"

阶段4:差距分析

识别没有匹配技能的任务:

内置能力(无需技能)

这些能力通常由代理的原生能力处理:

  • content_generation - LLM的原生文本生成
  • data_transformation - 通过代码进行基本数据操作
  • code_execution - 直接脚本执行
  • scheduling - 系统级cron/调度器配置

所需技能

对于没有内置支持的能力,确定:

  1. 技能存在:从skills.sh安装
  2. 技能未找到:创建新技能

阶段5:技能创建

当没有现有技能匹配所需能力时,创建新技能。

技能创建流程

  1. 定义范围:确定技能应该做什么
  2. 设计接口:定义输入、输出和使用模式
  3. 创建SKILL.md:编写技能定义文件
  4. 添加资源:根据需要包含脚本、参考或资产

技能模板

---
name: {技能名称}
description: {清晰描述技能做什么以及何时使用。用第三人称书写。}
---

# {技能标题}

{简要介绍解释技能的目的。}

## 何时使用

{描述应触发此技能的场景。}

## 先决条件

{列出任何所需的安装、配置或凭据。}

## 使用方式

{带有示例的详细使用说明。}

### 基本使用

```bash
{基本命令或代码示例}

高级使用

{更复杂的示例和选项。}

配置

{任何配置选项或环境变量。}

示例

示例1:{使用案例}

{带代码的分步示例。}

故障排除

{常见问题及解决方案。}


### 初始化新技能

```bash
# 使用skills CLI创建技能
npx skills init <技能名称>

# 或手动创建结构:
# skill-name/
# ├── SKILL.md (必需)
# ├── scripts/ (可选)
# ├── references/ (可选)
# └── assets/ (可选)

阶段6:生成执行计划

将所有信息编译成结构化的执行计划:

执行计划:
  title: "{任务描述}"
  
  prerequisites:
    - "{先决条件1}"
    - "{先决条件2}"
  
  skills_to_install:
    - skill: "owner/repo@skill-name"
      command: "npx skills add owner/repo@skill-name -g -y"
      url: "https://skills.sh/owner/repo/skill-name"
  
  skills_to_create:
    - name: "{新技能名称}"
      capability: "{能力类型}"
      description: "{它做什么}"
  
  execution_steps:
    - step: 1
      task: "{任务名称}"
      skill: "{技能名称 | 内置}"
      action: "{要采取的具体行动}"
      
    - step: 2
      task: "{任务名称}"
      skill: "{技能名称 | 内置}"
      action: "{要采取的具体行动}"
  
  verification:
    - "{如何验证步骤1成功}"
    - "{如何验证步骤2成功}"

任务分解原则

原则1:原子性

每个子任务应是最小的可执行单元,具有清晰的输入和输出。

原则2:独立性

尽量减少任务之间的依赖关系,以允许可能的并行执行。

原则3:可验证性

每个任务应有明确的方法来验证成功完成。

原则4:可重用性

识别可重用模式,并优先创建通用技能。

原则5:单一职责

每个任务应做好一件事。

输出格式

以结构化格式呈现分解结果:

════════════════════════════════════════════════════════════════
📋 任务分解报告
════════════════════════════════════════════════════════════════

🎯 原始请求:
{用户的原始请求}

────────────────────────────────────────────────────────────────
📊 子任务
────────────────────────────────────────────────────────────────
┌─────┬────────────────────────┬───────────────────┬───────────┐
│ ID  │ 任务                   │ 能力              │ 状态      │
├─────┼────────────────────────┼───────────────────┼───────────┤
│ 1   │ {任务名称}             │ {能力}            │ 已找到    │
│ 2   │ {任务名称}             │ {能力}            │ 内置      │
│ 3   │ {任务名称}             │ {能力}            │ 创建      │
└─────┴────────────────────────┴───────────────────┴───────────┘

────────────────────────────────────────────────────────────────
🔍 技能搜索结果
────────────────────────────────────────────────────────────────
任务1:{任务名称}
  搜索:npx skills find {关键词}
  找到:owner/repo@skill-name
  URL:https://skills.sh/owner/repo/skill-name
  
任务3:{任务名称}
  搜索:npx skills find {关键词}
  找到:无匹配技能
  操作:创建新技能

────────────────────────────────────────────────────────────────
🛠️ 要创建的技能
────────────────────────────────────────────────────────────────
1. {技能名称}
   能力:{能力类型}
   描述:{它做什么}

────────────────────────────────────────────────────────────────
📝 执行计划
────────────────────────────────────────────────────────────────
先决条件:
  • {先决条件1}
  • {先决条件2}

步骤:
  1. {行动} 使用 {技能}
  2. {行动} 使用 {技能}
  3. {行动} 使用 {技能}

════════════════════════════════════════════════════════════════

示例

示例1:工作流自动化

用户请求:

创建一个监控GitHub问题、总结新问题并将通知发布到Discord的工作流

分解:

子任务:
  1. 监控GitHub仓库的新问题
     能力:api_integration
     搜索:"npx skills find github issues"
     
  2. 提取问题内容和元数据
     能力:data_extraction
     状态:内置(代码)
     
  3. 生成问题摘要
     能力:content_generation
     状态:内置(LLM)
     
  4. 发送通知到Discord
     能力:message_delivery
     搜索:"npx skills find discord notification"
     
  5. 配置webhook或轮询触发器
     能力:scheduling
     状态:内置(系统)

示例2:数据管道

用户请求:

搜索AI研究论文,下载PDF,提取关键发现,并保存到Notion

分解:

子任务:
  1. 搜索AI研究论文
     能力:web_search
     搜索:"npx skills find academic search"
     
  2. 下载PDF文件
     能力:browser_automation
     搜索:"npx skills find browser download"
     
  3. 从PDF提取文本
     能力:data_extraction
     搜索:"npx skills find pdf extract"
     
  4. 生成关键发现摘要
     能力:content_generation
     状态:内置(LLM)
     
  5. 保存到Notion数据库
     能力:api_integration
     搜索:"npx skills find notion"

最佳实践

  1. 从技能搜索开始:在创建新技能之前始终检查https://skills.sh/
  2. 使用具体搜索词:将能力关键词与领域术语结合
  3. 利用内置能力:不要为代理可以原生完成的事情创建技能
  4. 创建可重用技能:尽可能设计通用技能
  5. 充分文档化:新技能应有清晰的使用说明
  6. 在执行前验证:在执行任务前确认技能安装
  7. 优雅处理错误:在执行计划中包含备用策略

与find-skills集成

此技能与find-skills技能配合使用以发现现有解决方案:

# 搜索技能生态系统
npx skills find <查询>

# 安装发现的技能
npx skills add <owner/repo@skill> -g -y

# 浏览所有可用技能
# 访问:https://skills.sh/

注意事项

  • 在创建新技能之前始终搜索现有技能
  • 内置能力(LLM、基本代码)不需要技能
  • 技能创建需要用户确认后才能继续
  • 复杂工作流可能需要多个技能协同工作