mcpField
R
role-creator

role-creator

github.com/jsonlee12138Agent 工作流3388 次安装32 周前更新
代码仓库

关于 role-creator

通过 agent-team 创建角色技能包的技能,涵盖角色范围定义、技能选择、文件生成与校验,并支持发布、团队或自定义输出目录。

主要功能

  1. 01生成角色字段供确认
  2. 02推荐并选择技能
  3. 03使用 agent-team 创建角色包
  4. 04校验三个受管理文件
  5. 05选择输出目录

适用场景

  1. 01创建用于开源发布的角色包
  2. 02在 .agent-team/teams 中设置团队角色
  3. 03在自定义本地路径生成角色

安装

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

$npx skills add https://github.com/jsonlee12138/agent-team --skill role-creator

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

详细介绍

role-creator

按照固定契约生成角色技能包:

  • <target>/SKILL.md
  • <target>/references/role.yaml
  • <target>/system.md

目标目录选项:

  • skills/<role-name>/ — 用于开源发布(默认)
  • .agent-team/teams/<role-name>/ — 与 agent-team 配合使用
  • <custom-path>/<role-name>/ — 用于自定义本地输出路径

必需工作流

  1. 规范化输入 — 验证角色名称是否为 kebab-case。
  2. 生成角色字段 — 自动生成字段;若遭到拒绝,则委派给 /brainstorming。
  3. 选择技能 — 使用 find-skills 获取推荐,由用户选择并手动添加。
  4. 执行 CLI — 使用已批准的参数运行 agent-team role create。
  5. 验证输出 — 确认三个受管理文件符合预期的模板结构。

步骤 1:规范化输入

  • role-name 必须为 kebab-case。当前 CLI 要求将其作为位置参数传入。
  • 如果输入不是 kebab-case,请提出规范化后的名称并与用户确认。

步骤 2:生成角色字段

  1. 自动生成以下字段(默认不要求用户起草):
    • description
    • system goal
    • in-scope(逗号分隔)
    • out-of-scope(逗号分隔)
  2. 将生成的字段提交给用户审批。
  3. 如果用户拒绝,或 AI 置信度较低(范围含糊、边界冲突、目标模糊),则委派给 /brainstorming 技能进行结构化完善。
  4. 字段获批后,询问用户目标目录(skills、.agent-team/teams 或自定义路径)。
  5. 如果目标是 skills 或 .agent-team/teams,请说明 CLI 会检查 ~/.agents/roles/ 中匹配的全局角色,除非传入 --force。如果找到匹配项,CLI 会询问是否继续创建本地角色。

步骤 3:选择技能

  1. 运行 find-skills 获取推荐候选项。
  2. 展示推荐列表,并让用户选择所需技能。
  3. 用户选择后,询问是否手动添加技能。
  4. 确认最终技能标识符时,如果技能来自远程来源,优先使用完整的远程标识符(例如 jsonlee12138/prompts@design-patterns-principles)。
  5. 只有在找不到匹配的远程技能,且技能仅存在于本地时,才使用本地短名称(例如 design-patterns-principles)。
  6. 对所选技能和手动添加的技能去重并合并,然后确认最终列表。
  7. 最终技能列表可以为空——此时会在 references/role.yaml 中保存为 skills: [];否则使用上述优先规则保存为 skills[{name, description}]。

如果 find-skills 不可用或返回空结果,则跳过推荐,仅询问用户手动添加。在此备用流程中,如果用户已提供完整的远程标识符,仍优先使用该标识符;否则,仅对本地技能使用本地短名称。

步骤 4:执行 CLI

CLI 参考
标志类型必填默认值描述
<role-name>参数是—角色名称(kebab-case)
--description字符串是—角色描述
--system-goal字符串是—system.md 的主要目标
--in-scope字符串[]否(根据描述生成)范围内的项目(可重复,逗号分隔)
--out-of-scope字符串[]否回退文本范围外的项目(可重复,逗号分隔)
--skills字符串否""最终选定的技能(逗号分隔)
--recommended-skills字符串否""find-skills 推荐的技能
--add-skills字符串否""在所选技能基础上添加的技能
--remove-skills字符串否""从候选列表中移除的技能
--manual-skills字符串否""无法获取推荐时使用的手动回退选项
--target-dir字符串否skills目标:skills、.agent-team/teams 或自定义路径
--overwrite字符串否ask覆盖模式:ask/yes/no
--repo-root字符串否.仓库根目录路径
--force布尔值否false跳过全局重复检查

技能解析优先级:--skills > --recommended-skills > --manual-skills,然后追加 --add-skills,排除 --remove-skills。

示例

用于开源发布(默认):

agent-team role create frontend-dev \
  --description "Frontend role for UI implementation" \
  --system-goal "Ship accessible and maintainable UI work" \
  --in-scope "Build components,Improve accessibility" \
  --out-of-scope "Database migrations,Backend API ownership" \
  --skills "ui-ux-pro-max,better-icons"

用于团队(agent-team 集成):

agent-team role create frontend-dev \
  --target-dir .agent-team/teams \
  --description "Frontend role for UI implementation" \
  --system-goal "Ship accessible and maintainable UI work" \
  --in-scope "Build components,Improve accessibility" \
  --out-of-scope "Database migrations,Backend API ownership" \
  --skills "ui-ux-pro-max,better-icons"

空技能示例:

agent-team role create product-manager \
  --description "Product role for roadmap and PRD work" \
  --system-goal "Define clear product requirements and priorities"

步骤 5:验证输出

根据实际模板结构验证以下三个文件:

  1. SKILL.md — 包含角色名称、生成的描述 frontmatter,以及指向 references/role.yaml 和 system.md 的链接。
  2. references/role.yaml — 必须包含:
    • name — 角色名称
    • description — 角色描述
    • system_prompt_file: system.md
    • scope.in_scope — 范围内项目列表
    • scope.out_of_scope — 范围外项目列表
    • constraints.single_role_focus: true
    • skills — 以包含 name 和 description 的对象形式列出的已选技能(或空的 [])
  3. system.md — 包含系统目标和操作约束。

如果任何文件缺失,或其内容与当前模板不符,则报告差异并提出重新生成。

覆盖行为

  • 由 --overwrite 标志(ask/yes/no)控制。
  • 当前 CLI 覆盖文件时不会创建备份目录。
  • 只覆盖受管理的文件(SKILL.md、references/role.yaml、system.md);角色目录中的其他文件会保留。
  • 生成后,如果存在旧版根目录级 role.yaml,则将其删除。

运行时技能发现(角色使用指南)

生成的角色在运行时应遵循以下行为:

  1. 当角色收到的任务需要使用 references/role.yaml 中未列出的技能时,应调用 find-skills 搜索匹配的技能。
  2. 如果找到合适的技能,只能尝试在项目级别安装,或使用已有的本地/项目缓存技能。
  3. 工作线程/运行时解析不允许进行全局安装。
  4. 如果本地仍无法使用该技能,则发出警告,说明原因并建议后续步骤,然后继续尽力执行。
  5. 成功使用后,建议通过重新生成角色,将该技能添加到角色的 references/role.yaml,以供后续会话使用。
  6. 如果 find-skills 不可用或未找到匹配项,角色应告知用户,并尽力继续执行。

评论

支持 Markdown