mcpField
A
agent-creator

agent-creator

github.com/hotovoAgent 工作流1.5k74 次安装今天更新
代码仓库

关于 agent-creator

用于创建 AiderDesk Agent 配置的技能,配置可保存为全局或项目级。它收集需求,提交完整配置供确认,再创建配置文件。

主要功能

  1. 01收集 Agent 用途和行为需求
  2. 02配置提供商、模型和工具组
  3. 03支持子 Agent 设置与筛选
  4. 04设置工具审批策略
  5. 05创建配置文件和规则文件

适用场景

  1. 01创建项目级 Agent 配置
  2. 02设置可委派为子 Agent 的配置
  3. 03配置工具访问权限和审批方式

MCP 相关

配置可通过 `enabledServers` 指定要启用的 MCP 服务。该项属于按需设置的高级选项。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hotovo/aider-desk --skill agent-creator

安装后在 Claude Code 中输入/agent-creator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/examples/
sample-profile.json
assets/templates/
config.json.template
references/
agent-profile-schema.md
profile-examples.md
subagent-guide.md
tool-approval-guide.md

详细介绍

Agent 配置文件创建工具

在 ~/.aider-desk/agents/{name}/(全局)或 {project}/.aider-desk/agents/{name}/(项目级)中创建以 config.json 存储的 Agent 配置文件。

提出配置文件前,请阅读所有参考文件以确保准确:

  • references/agent-profile-schema.md — 完整的属性参考
  • references/subagent-guide.md — 子 Agent 配置、系统提示词、上下文记忆、筛选
  • references/tool-approval-guide.md — 所有工具组、正确的工具键、审批策略
  • references/profile-examples.md — 完整的可用示例

问答流程

提出配置文件前,请收集完整需求。提出有针对性的问题,在内部拟定方案,并仅提交一份最终摘要供用户审批。

步骤 1:目的与行为

询问:“请描述 Agent 的用途以及它应该执行的任务。”

根据回答,在内部拟定:

  • 名称(根据用途确定)
  • 最大迭代次数(默认 0 = 不限;有明确范围的任务使用 250 等有限值,审核/分析等目标明确的任务可使用更低值,如 150)
  • 工具组(根据用途确定,参见步骤 3)
  • 自定义指令(附加到系统提示词中的自由文本指导)
  • 系统提示词 — Agent 是否需要完全自定义的系统提示词来替代默认内置提示词?如果用户描述了具体的行为约束、角色或身份,请考虑设置 systemPrompt。
  • 子 Agent 配置 — 此配置文件是否应可用作子 Agent?如果是,请收集子 Agent 专用的系统提示词、调用模式、颜色、描述和上下文记忆模式。
步骤 2:提供方与模型

询问:“使用哪个提供方/模型?(格式:provider/model,例如:anthropic/claude-sonnet-5)”

  • 按第一个斜杠拆分,获取提供方和模型
  • 按原样使用(仅修正明显的拼写错误)
  • 如果用户未指定,默认使用 anthropic / claude-sonnet-5(与 packages/common/src/agent.ts 中的 DEFAULT_AGENT_PROFILE / DEFAULT_PROVIDER_MODELS 一致)。你可以询问用户偏好的提供方/模型;如果用户未提供,则使用这些默认值。
  • 如果用途涉及精确性(低温度)或创造性(高温度),可选询问 temperature 和 maxTokens
步骤 3:工具组与审批

根据用途,提出要启用的工具组。对每个工具组简要说明理由:

工具组标记描述启用时机
usePowerTools文件读取/写入/编辑、glob、grep、bash、semantic_search、fetch大多数需要访问文件或系统的 Agent
useAiderToolsAider AI 代码生成上下文管理与运行代码生成/重构 Agent
useTodoTools待办列表管理跟踪多步骤工作的 Agent
useSubagents将任务委派给子 Agent编排器/管理器 Agent
useTaskTools创建/列出/获取/删除/搜索任务、运行提示词项目管理 Agent
useMemoryTools存储/检索持久化知识大多数 Agent(无状态 Agent 除外)
useSkillsTools激活技能能从专业技能中受益的 Agent
useExtensionTools已安装扩展提供的工具(默认:true)大多数 Agent;沙盒/隔离配置文件应禁用

对每个已启用的工具组,提出工具审批默认值(always、ask、never)。toolApprovals 中仅包含与默认值 "ask" 不同的工具。

如果启用了 useSubagents,请询问:“此 Agent 应使用所有可用的子 Agent,还是只使用特定的子 Agent?”——如果需要筛选,则设置 enabledSubagentIds(全部使用时省略)。

步骤 4:子 Agent 配置

询问:“其他 Agent 是否可以将此配置用作子 Agent?”

如果是,请收集:

  • 子 Agent 系统提示词 — 子 Agent 角色的专用提示词(与主 Agent 的 systemPrompt 不同)
  • 调用模式 — 自动(需要清晰的描述)或按需
  • 上下文记忆 — 关闭(默认)、最近消息或完整上下文
  • 颜色 — 视觉标识
  • 描述 — 自动调用时必填;应包含领域关键词
步骤 5:高级设置(可选)

仅在用户提及以下任一项时询问:

  • 温度(0.1-1.0)
  • 最大 token 数
  • 工具调用的最小间隔时间(速率限制,单位为 ms)
  • 要启用的 MCP 服务(enabledServers)
  • 规则文件(放置在 ~/.aider-desk/agents/{name}/rules/ 中的 Markdown 文件)
  • 自动压缩覆盖项(autoCompactThresholdPercentage、autoCompactThresholdTokens、autoCompactionType)
  • Bash 工具设置(allowedPattern / deniedPattern 正则表达式)

如果用户未提及,则完全跳过此步骤。

步骤 6:位置

询问:“全局配置(适用于所有项目)还是项目专属配置?(默认:全局)”

步骤 7:检查并确认

提供一份完整摘要,列出所有拟定属性:

  • 名称、提供商/模型、温度/最大 token 数(如果已设置)
  • 已启用的工具组及其理由
  • 工具审批(哪些设为“从不”,哪些设为“始终”;其余默认为“询问”)
  • 系统提示词(如果有)
  • 自定义说明(如果有)
  • 子 Agent 配置(如果已启用)
  • 子 Agent 筛选(如适用,列出 enabledSubagentIds)
  • 规则文件(如果有)
  • 位置(全局/项目)

询问:“这是你的 Agent 配置。要创建吗?”

不要逐项请求确认。 只需一次最终批准。

步骤 8:创建

确认后:

  1. 选择唯一且易读的 id(例如 code-reviewer、security-auditor)。无需 UUID——只要唯一,使用与示例类似的易读名称即可。
  2. 构建完整的 config.json——根据 references/profile-examples.md 核对结构
  3. 不要在 config.json 中加入 ruleFiles——系统会从 rules/ 子目录中动态发现规则文件
  4. 不要加入 isSubagent——它是运行时标志
  5. 创建目录并写入 config.json
  6. 如果用户请求了规则文件,则在 config.json 同级的 rules/ 子目录中将它们创建为 .md 文件

工具审批策略

键:{group}---{tool}(使用三个连字符作为分隔符)

默认值为“询问”。仅显式设置:

  • “从不”:与 Agent 用途完全无关的工具
  • “始终”:安全、必要、只读的操作

不要包含应保持默认值(“询问”)的工具。

仅包含 references/tool-approval-guide.md 中存在的工具键。

系统提示词策略

存在两个不同的系统提示词字段:

  1. 顶层 systemPrompt — 当此配置作为主 Agent运行时,覆盖默认的内置系统提示词。规则文件和 customInstructions 仍会追加。适用于 Agent 需要完全不同的身份或行为框架的情况。

  2. subagent.systemPrompt — 当此配置作为子 Agent运行时使用。它会直接传递给子 Agent 的大模型。如果为空,则回退使用顶层 systemPrompt。

何时使用哪个:

  • Agent 仅作为主 Agent 工作 → 设置顶层 systemPrompt
  • Agent 仅作为子 Agent 工作 → 设置 subagent.systemPrompt
  • Agent 同时承担两种角色 → 两者都设置;可根据上下文采用不同内容
  • Agent 不需要自定义提示词 → 两者都留空;使用默认系统提示词

子 Agent 配置

每个 Agent 都可以作为子 Agent。设置 subagent.enabled: true 以允许委派。

上下文记忆模式:

  • "off" — 每次都使用全新上下文(大多数 Agent 的默认值)
  • "last-message" — 接收上一次运行的最后结果
  • "full-context" — 完整对话历史(用于复杂的迭代分析)

**子 Agent 筛选:**父配置文件中的 enabledSubagentIds?: string[] 控制它可以使用哪些子 Agent。省略则允许使用所有子 Agent。设置为配置文件 id 值的数组即可进行限制。注意:enabledSubagentIds 保存的是配置文件的 id 值(即每个配置文件设置的同一个 id 字段),而不是目录名称——只有在目录名称恰好与配置文件 id 相同时才会匹配。

详细指南请参阅 references/subagent-guide.md。

最简 config.json 结构

{
  "id": "my-agent",
  "name": "my-agent",
  "provider": "anthropic",
  "model": "claude-sonnet-5",
  "maxIterations": 0,
  "minTimeBetweenToolCalls": 0,
  "enabledServers": [],
  "toolApprovals": {
    "power---file_read": "always",
    "power---bash": "ask"
  },
  "toolSettings": {},
  "includeContextFiles": false,
  "includeRepoMap": false,
  "usePowerTools": true,
  "useAiderTools": false,
  "useTodoTools": true,
  "useSubagents": false,
  "useTaskTools": false,
  "useMemoryTools": true,
  "useSkillsTools": true,
  "useExtensionTools": true,
  "disabledExtensionTools": [],
  "customInstructions": "",
  "subagent": {
    "enabled": true,
    "contextMemory": "off",
    "systemPrompt": "",
    "invocationMode": "on-demand",
    "color": "#3368a8",
    "description": ""
  }
}

关于以上默认值的说明:id 可以是任何唯一且易读的字符串(无需 UUID)。用户未指定提供方/模型时,默认使用 anthropic / claude-sonnet-5。maxIterations: 0 表示不限制迭代次数。includeContextFiles 和 includeRepoMap 的默认值均为 false——以上值为默认值;只有在需要包含上下文文件/仓库映射时才设为 true。子 Agent 的 color 默认值为 #3368a8。

验证清单

写入 config.json 之前:

  • 名称唯一
  • id 唯一且易读(无需 UUID)
  • 已填写提供方/模型(按原样使用;未指定时默认使用 anthropic/claude-sonnet-5)
  • 工具键采用 {group}---{tool} 格式,包含三个连字符
  • 工具审批值为 "always"、"ask" 或 "never"
  • toolApprovals 中仅包含 references/tool-approval-guide.md 里的工具
  • 仅在需要自定义行为时设置 systemPrompt
  • subagent.enabled 反映此配置文件是否应允许被委派
  • 如果 subagent.invocationMode 为 "automatic",则 description 不为空
  • 如果 useSubagents 为 true 且需要筛选,则设置 enabledSubagentIds
  • 包含 useExtensionTools 和 disabledExtensionTools(默认值:true / [])
  • config.json 中不得包含 ruleFiles(动态发现)
  • config.json 中不得包含 isSubagent(运行时标记)
  • 包含所有布尔型工具组标记
  • 目录位置符合用户偏好(全局/项目)

资源

  • references/agent-profile-schema.md — 包含所有属性和类型的完整架构
  • references/subagent-guide.md — 子 Agent 配置、上下文记忆、筛选和系统提示词
  • references/tool-approval-guide.md — 所有工具组及正确的工具键
  • references/profile-examples.md — 完整的可运行示例
  • assets/templates/config.json.template — 模板
  • assets/examples/sample-profile.json — 配置文件示例

评论

支持 Markdown