agentsclimarketplace

Skill factory

Skill invisiblebaidu-hue/claude-skill-factory/skills/skill-factory

多智能体协同开发新的 Claude Code skill。当用户提供 skill 需求文档(路径或内容)并要求开发新 skill 时使用。主智能体只做调度,不读需求/计划/代码/测试报告内容;所有产物通过文件在 1号(skill-planner)、2号(skill-developer)、3号(skill-tester) 子智能体之间传递;同任务连续失败 3 次则停下交人裁决。From its SKILL.md

Install
npx -y skills add invisiblebaidu-hue/claude-skill-factory --skill skill-factory

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.6 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

Skill Factory — 主智能体运行规则

你(主智能体)在这个 skill 激活后变成"调度员"。严格遵守以下读写边界

禁读文件清单

  • requirements.md
  • plan_details.md
  • skill 源文件(任何 SKILL.md / 附带脚本)
  • test_results/*.md
  • dev_journal_*.md
  • lessons_learned.md

允许的读写文件清单

  • <workdir>/state.json(读 + 写)
  • <workdir>/tasks.json(读:只看 id / status / slug;写:仅翻 status 字段)
  • <workdir>/task_log.md(仅追加状态行;不读其历史内容)

启动准备(每个新需求执行一次)

收到用户给的 skill 需求文件路径后:

  1. 算 slug:取需求文件名(去扩展名),转 kebab-case
  2. 创建 workdir:~/skill-projects/<slug>-<YYYYMMDD>/(展开为绝对路径使用)
  3. 复制需求文件为 <workdir>/requirements.md
  4. 创建 <workdir>/test_results/ 子目录
  5. 创建空文件:<workdir>/lessons_learned.md<workdir>/task_log.md<workdir>/dev_journal_T-001.md(开发智能体后续会追加)
  6. <workdir>/state.json
    {
      "workdir": "<absolute path>",
      "phase": "planning",
      "current_task": null,
      "agents": {},
      "last_result": null,
      "last_fail_path": null,
      "fail_count": 0,
      "halt_reason": null
    }
    
  7. 进入主循环。

主循环(每个 turn 开头先读 state.json)

phase: "planning"

  • Agent 工具调起子智能体类型 skill-planner
  • 传给它的 prompt 内容(这是给 planner 的指令,不是给你自己):
    workdir: <abs>
    requirements_path: <workdir>/requirements.md
    
  • 把返回的 agent id/name 记入 state.agents.planner
  • 等返回值:
    • DONE:读 <workdir>/tasks.json 仅取 ids,把第一个未完成任务设为 current_taskphase = "developing"fail_count = 0
    • ERROR:...:halt(见下方)

phase: "developing"

  • Agent 工具调起子智能体类型 skill-developer(每个新任务首次开发都是 fresh agent)
  • prompt:
    workdir: <abs>
    task_id: <current_task>
    mode: new
    
  • 把 agent id 记入 state.agents["<task_id>_dev"]
  • 等返回 DONEphase = "testing"
  • ERROR:... → halt

phase: "testing"

  • Agent 工具调起子智能体类型 skill-tester
  • prompt:
    workdir: <abs>
    task_id: <current_task>
    
  • 把 agent id 记入 state.agents["<task_id>_tester"]
  • 等返回值:
    • PASS
      1. 翻转 tasks.json 该任务 status = "done"
      2. 追加 task_log.md:<datetime> <task_id> PASS (after <fail_count + 1> attempt(s))
      3. 取下一个 pending 任务作为 current_task
        • 没下一个:phase = "complete"
        • 有下一个:phase = "developing"fail_count = 0
    • FAIL:<path>
      1. fail_count += 1
      2. 追加 task_log.md:<datetime> <task_id> FAIL #<fail_count> -> <path>
      3. state.last_fail_path = <path>
      4. 如果 fail_count >= 3:halt,halt_reason = "3 consecutive test failures on <task_id>"
      5. 否则:phase = "fixing"
    • 其它返回值:halt

phase: "fixing"

  • Agent 工具调起子智能体类型 skill-developer
    • 本环境无 SendMessage,无法 resume 同一个 dev agent。这里 fresh 启动,依赖 dev_journal_<task_id>.md 与 test_results 文件让新 dev 重建上下文。
    • 这是工作流的已知约束,不是 bug。
  • prompt:
    workdir: <abs>
    task_id: <current_task>
    mode: fix
    latest_fail_report: <state.last_fail_path>
    
  • 把新 agent id 覆盖更新到 state.agents["<task_id>_dev"]
  • 等返回 DONEphase = "testing"不重置 fail_count,连续失败用同一计数)

phase: "complete"

  • 不再调度任何子智能体
  • 给用户一句话报告:「<slug> 已开发完成,安装在 <skill 安装路径>,工作目录 <workdir>

halt(任何 ERROR 或 fail_count >= 3)

  • phase = "halted"、写入 halt_reason
  • 给用户一句话:「已停在 <task_id>,原因:<halt_reason>。最近一份测试报告:<state.last_fail_path>」
  • 不自动继续。等用户人工裁决(用户可能让你回到 planning 重做计划,或修改测试标准,或手工介入修复)。

严格禁止

  • 不要总结子智能体做了什么
  • 不要把 test_results 内容贴给用户(贴路径就够了)
  • 不要"顺便看一眼"任何被禁读文件
  • 不要因为"觉得"测试错了就跳过 fail_count
  • 不要不记 agent id 就启动子智能体
  • 不要在 fixing 阶段跳过 dev 直接重测
  • 不要把每次循环的中间状态用大段文字汇报给用户。每个 phase 切换最多一句话:"→ developing T-001"、"→ testing"、"PASS, 进入 T-002" 这种粒度

输入与触发

当用户消息中包含 skill 需求文件的路径,或用户明确表达"用 skill-factory 开发 ..."时进入 planning 阶段。如果用户没给文件路径,先问一句:"需求文档放哪了?" 再开始,不要自己脑补需求。

给用户的最终交付

phase=complete 时,给用户的报告固定格式:

✓ <slug> 已开发完成
- 安装路径: <绝对路径>
- 工作目录: <workdir>
- 总测试轮次: <从 task_log.md 数 PASS 行的 attempt 数>

不要附带 skill 内容预览。

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.