fskill-creator
目标
统一创建(create)与迁移(migrate)两条路线,生成一个自包含、可审查、可测试的函数式智能体技能目录。主技能负责路由、蓝图标准化、共享工件生成、运行时能力提供、文件写入与验证;子技能仅处理各自输入形式的预分析。
当用户想要“生成一个函数式技能”、“创建一个函数式技能”、“为现有函数式技能添加函数”或“将已有的传统技能目录迁移为函数式技能”时,使用此技能。
原则
- 主
SKILL.md仅编排共享的创建/迁移/增强/验证工作流。 - “创建”和“迁移”是两条预路线;它们必须首先汇聚成一个统一的
skill_blueprint。 - 函数特定的行为存放在
functions/*.md中;创建/迁移特定的预处理行为存放在sub-skills/*/functions/*.md中。 - 共享词汇、策略和模式保存在
references/*.md中。 - 确定性的解析、格式化、验证和机械性转换存放在
scripts/中。 - 报告、单元测试、查看器和测试用例能力仅在主技能中维护一次,并通过
add_runtime_capabilities引入到目标技能中。 - 保留用户提供的领域约束;迁移路线还须保留遗留行为证据。
- 当用户未明确批准直接修改时,生成的文件应作为提案处理。
子技能
| 子技能 | 触发时机 | 职责 | 输出 |
|---|---|---|---|
sub-skills/create | 用户提供新的技能简要说明,或希望增强现有的函数式技能 | 规范化需求、目标路径、输入/输出、约束和查看器选择 | create_context |
sub-skills/migrate | 用户提供遗留技能目录、单体技能内容或迁移请求 | 加载遗留技能包,识别必须保留的行为,提出函数边界和证据 | migration_context |
子技能不直接写入最终的目标技能文件。其输出必须经过 normalize_skill_blueprint 后才能进入共享工件管道。
参考资料
| 资源 | 加载时机 | 目的 |
|---|---|---|
shared_glossary | 按需 | 稳定的术语表与跨路线字段语义。 |
script_rules | 在设计或起草脚本之前 | 用于决定确定性工作是否应放入 scripts/ 的规则。 |
sub-skills/create | 创建路线 | 从用户简要说明中形成 create_context。 |
sub-skills/migrate | 迁移路线 | 从遗留技能目录中形成 migration_context。 |
外部输入
| 字段 | 来源 | 描述 |
|---|---|---|
task_mode | 用户或推导 | create、migrate、enhance 或 validate;缺失时由 resolve_task_mode 推断。 |
skill_request | 用户 | 用于创建或增强技能的的需求描述。 |
legacy_skill_dir | 用户或仓库 | 现有遗留技能目录的路径,包含 SKILL.md 和可选的配套文件。 |
legacy_skill_path | 用户或仓库 | legacy_skill_dir 的已弃用别名;也可能是指向 SKILL.md 的直接路径,该路径会解析为其父目录。 |
legacy_skill_content | 用户 | 当路径不可访问时提供的遗留技能 markdown 内容。 |
target_skill_path | 用户或推导 | 函数式技能应放置的目录。 |
skill_name | 用户或推导 | 可选的目标技能名称。 |
existing_skill_files | 仓库 | 可选的现有函数式技能文件。 |
migration_constraints | 用户 | 迁移期间必须保留的文件名、语气、平台规则或行为。 |
known_testcases | 用户或仓库 | 现有的示例、追踪记录或预期行为。 |
existing_scripts | 仓库 | 与遗留技能相关的辅助脚本。 |
include_report | 用户 | 是否在目标技能中生成报告日志运行时;默认为 true。 |
include_unittest | 用户 | 是否在目标技能中生成单元测试/测试用例运行器;默认为 true。 |
script_runtime | 环境 | 此技能自身的 Node.js 脚本是否可运行。 |
report_mode | 用户 | off、local 或 remote;默认为 off。 |
查看器根据能力标志生成:当 include_report=true 时生成 tools/log_viewer.mjs;当 include_unittest=true 时生成 tools/tester_viewer.mjs。
执行管道
| 步骤 | 函数 | 目的 | 输入 | 输出 |
|---|---|---|---|---|
| 1 | resolve_task_mode | 确定本次请求应走创建、迁移、增强还是验证路线。 | task_modeskill_requestlegacy_skill_dirlegacy_skill_pathlegacy_skill_contentexisting_skill_files | task_context |
| 2A | sub-skills/create::collect_create_brief | 创建/增强路线:规范化用户简要说明。 | skill_requesttarget_skill_pathskill_name | create_context |
| 2B | sub-skills/migrate::load_legacy_skill + map_existing_behavior + propose_function_split + extract_shared_references | 迁移路线:读取遗留技能包,提取行为和迁移证据。 | legacy_skill_dirlegacy_skill_pathlegacy_skill_contentmigration_constraintsinclude_reportinclude_unittestscript_runtime | migration_context |
| 3 | normalize_skill_blueprint | 将创建/迁移/增强输入汇聚为统一的蓝图。 | task_contextcreate_contextmigration_contexttarget_skill_pathinclude_reportinclude_unittest | skill_blueprint |
| 4 | design_skill_structure | 基于蓝图设计函数管道、参考资料、脚本、测试用例和文件布局。 | skill_blueprintexisting_skill_filesscript_rules | skill_structurescript_plantool_plan |
| 5 | draft_skill_artifacts | 起草 SKILL.md、函数合约、参考资料、脚本规范和测试用例建议。 | skill_blueprintskill_structurescript_plan | skill_artifacts |
| 6 | add_runtime_capabilities | 根据包含标志提供报告日志、运行时包装器、单元测试用例运行器、查看器和冒烟测试。 | skill_blueprint.include_reportskill_blueprint.include_unittestskill_artifacts | runtime_artifactsskill_artifacts |
| 7 | assemble_skill_files | 生成或更新目标技能目录的文件。 | target_skill_pathskill_structureskill_artifactsruntime_artifactsscript_runtime | file_plancreated_filesupdated_files |
| 8 | validate_skill | 验证函数式技能的结构、运行时能力、测试用例以及迁移行为保留情况。 | target_skill_pathfile_planskill_blueprintreport_mode | validation_result |
输出范围
此技能可以读取遗留技能,并在 target_skill_path 下创建或修改函数式技能文件。除非用户明确要求删除,否则不要删除原始的遗留技能;除非用户明确要求项目级集成,否则不要修改无关的仓库文件。