skills/hillstone-networks/agent-skills/agent-roles-and-subagents

agent-roles-and-subagents

SKILL.md

Agent 角色规划与子代理创建

本技能做两件事:一、按场景规划并生成多角色定义(JSON/MD + 校验);二、将角色定义转为 Cursor 子代理(或兼容的 Claude/Codex 子代理)。子代理是专门化的 AI 助手,主 Agent 可将任务委派给它们,在独立上下文中运行并返回结果。格式与行为遵循 Cursor 子代理文档

用户说「Help me create this subagent for Cursor」或明确要基于某角色创建子代理时,走「第二部分:创建子代理」。


何时使用本技能

场景 说明
规划多角色 新项目、多领域,需划分角色、职责与产出,生成角色清单与各角色规范(JSON/MD)
创建子代理 已有角色定义(如 backend-engineer.json),要生成 Cursor 子代理文件(.md)
阶段建议 角色规划建议在项目初始阶段;进行中项目仅在有明确需求时做增量角色或子代理

子代理 vs 技能(何时用哪个)

按 Cursor 文档,二者适用场景不同:

更适合用子代理… 更适合用技能…
长时间研究、需上下文隔离 单一用途(如生成 changelog、格式化)
需并行运行多个工作流 快速、可重复的一次性操作
多步骤且需专业知识 任务可一次性完成
需对结果做独立验收/校验 不需要单独上下文窗口

若只是简单、单一用途(如「生成 changelog」「整理 import」),建议用 Skill,不必建子代理。


第一部分:生成角色定义

1. 确认场景与约束

向用户确认并记录:

  • 场景:系统/产品开发、数据分析、运维与 SRE、安全审计、内容创作、客服与运营等(未说明时可给选项)
  • 协作:串行(需求→设计→开发)或并行(多端同时开发)
  • 规模与角色:团队规模、必选/可选角色、已有规范或模板
  • 限制与规定(务必询问):技术栈/工具/输出格式限制、公司或团队规范、角色数量与命名、与现有技能/AGENTS.md/项目文档的对齐要求

若有规定,写入各角色的「约束」或「inputExpectation」,并在生成物中标注遵从项。

2. 规划角色清单

按场景从 references/REFERENCE.md 的「常见场景与角色映射」选取并裁剪角色,为每个角色标明职责与主要产出。

示例(系统开发)

角色 id 显示名 职责概要 主要产出
product-analyst 产品需求分析师 澄清需求、PRD、验收标准 PRD、用户故事、验收清单
architect 架构设计师 技术选型、模块与接口设计 架构图、技术方案、API 契约
backend-engineer 后端开发工程师 接口、数据模型、领域逻辑 代码、API 文档、数据模型说明
frontend-engineer 前端开发工程师 页面与交互、联调与体验 页面/组件、交互说明、联调清单
qa-engineer 测试工程师 用例、自动化与回归 测试用例、测试报告、缺陷列表
devops-engineer 运维/DevOps 部署、监控、发布流程 部署文档、CI/CD、运维手册

3. 为每个角色填规范

使用 assets/role-template.json 结构,为每个角色填写:iddisplayNamescopeinputExpectationconstraintsoutputSpechandoff(详见 REFERENCE 与模板)。

4. 输出与质量

  • 文档:Markdown,含角色名、职责、输入要求、约束、输出规范、交接说明;API/数据模型需写清字段与示例
  • 配置:JSON/YAML 符合 role-template,可用 scripts/validate_roles.py 校验
  • 一致性:同一项目内角色名、产出物名、阶段名保持一致

5. 生成物清单

一次完整生成应包含:(1) 角色清单表;(2) 各角色说明(建议 roles/<role-id>.mdroles/<role-id>.json);(3) 场景总览(角色顺序、依赖、交接点,可 Mermaid);(4) 可选 agents.config.json 等汇总配置。

校验

python scripts/validate_roles.py path/to/roles/*.json

通过即表示结构符合规范,可继续用于创建子代理。


第二部分:创建子代理

触发:用户说「Help me create this subagent for Cursor」或要求基于某角色定义(如 backend-engineer.json)创建子代理。默认平台为 Cursor;格式兼容 Claude/Codex(见下方「文件位置」)。

子代理在独立上下文中运行,可并行、可复用;Agent 会根据 description 决定是否委派,也可通过 /name 或自然语言显式调用。

1. 确认目录与位置

  • 先确认项目是否已有子代理目录;无则创建并在该目录下写入子代理。默认使用 项目级 目录。
  • 文件位置(与 Cursor 文档 一致):
类型 位置 适用范围
项目子代理 .cursor/agents/ 仅当前项目(推荐,可版本管理)
.claude/agents/ 仅当前项目(Claude 兼容)
.codex/agents/ 仅当前项目(Codex 兼容)
用户子代理 ~/.cursor/agents/ 当前用户所有项目
~/.claude/agents/ 当前用户所有项目(Claude)
~/.codex/agents/ 当前用户所有项目(Codex)

名称冲突时:项目优先于用户;同目录下 .cursor/ 优先于 .claude/.codex/。未指定时默认使用项目级 .cursor/agents/

2. 从角色定义生成子代理

  • 输入:角色定义文件(如 backend-engineer.jsonroles/<role-id>.json)。
  • 步骤:(1) 读取 JSON 中的 iddisplayNamescopeinputExpectationconstraintsoutputSpechandoff;(2) 按下方格式生成 .md 文件;(3) 写入已确认的目录。文件名建议与 name 一致,如 backend-engineer.md

3. 子代理文件格式

每个子代理一个 Markdown 文件,含 YAML frontmatter + 正文(system prompt)。与 Cursor 官方格式一致。

Frontmatter 配置字段

字段 必填 说明
name 推荐 唯一标识,小写字母与连字符,与角色 id 一致;不填则默认为文件名(去扩展名)
description 推荐 何时委派给该子代理。Agent 据此决定是否委派;可写 "use proactively"、"always use for …" 等促进自动委派
model fastinherit 或具体模型 ID;默认 inherit
readonly true 时子代理以受限写入权限运行
background true 时子代理在后台运行,不阻塞父代理

正文:Markdown 形式的 system prompt,由角色定义转写,包含:职责与边界(scope)、期望输入(inputExpectation)、必须遵守的约束(constraints)、产出物与质量标准(outputSpec)、交接说明(handoff)。保持简洁、具体,避免冗长。

模板参考:assets/subagent-cursor-template.md

4. 使用方式(与 Cursor 文档一致)

  • 自动委派:Agent 根据任务复杂度、子代理的 description 和当前上下文决定是否委派。
  • 显式调用:在提示中用 /name,如 /verifier confirm the auth flow;或在对话中自然提及「用 verifier 子代理确认……」。
  • 并行:可同时启动多个子代理处理不同部分。

5. 最佳实践与反模式(来自 Cursor 文档)

建议:每个子代理只负责一类事、职责清晰;花精力写好 description;提示简洁直接;将 .cursor/agents/ 纳入版本控制;可先让 Agent 起草再自行打磨。

避免:创建大量泛泛的「万能」子代理;description 含糊(如 "Use for general tasks");提示词过长;与单一用途 slash command 重复;子代理数量过多(建议先从 2–3 个聚焦明确的开始)。

6. 小结

项目 要求
平台/目录 默认 Cursor、项目级 .cursor/agents/;兼容 .claude/.codex
先决检查 确认/创建子代理目录后再写入
格式 .md,YAML frontmatter(name, description, model, readonly, background)+ Markdown 正文
name 小写字母与连字符
description 具体,且说明何时委派给该子代理

资产与参考

资源 用途
assets/role-template.json 角色 JSON 结构模板
assets/scenario-roles-example.json 场景→角色示例
assets/subagent-cursor-template.md 子代理 .md 转写参考
references/REFERENCE.md 场景与角色映射、字段说明、依赖顺序
Cursor 子代理文档 子代理概念、位置、格式、最佳实践
scripts/validate_roles.py 校验角色 JSON:python scripts/validate_roles.py roles/*.json
Weekly Installs
3
First Seen
5 days ago
Installed on
amp3
cline3
opencode3
cursor3
kimi-cli3
codex3