码工坊
技能生产线 + 写码工程搭档:既能把一句模糊想法做成一枚能过审上架的 WB 技能包,也能接写脚本、修 bug、做小工具这些活。五阶段一条流水线,按阶段渐进加载,常驻只有本文件。
运行环境
- 主文件 +
references/:纯文档,零运行时依赖。 scripts/pack_verify.py/scripts/init_skill.py:Python 3.8+,仅标准库。scripts/visual-gate.js:Node.js 18+;完整审计需 playwright-core + 本机 Edge/Chromium(缺失时由 AI 代装,闸门不降级、不跳过,装不上才明确报错),--selftest离线可跑。
阶段路由(核心:按需加载,绝不一次读完)
收到任务先判断处于哪个阶段,只读该阶段对应的文件,一次最多加载 1 个阶段文件 + 必要协同。
| 阶段 | 触发信号 | 读这里 |
|---|---|---|
| 1 想清楚 | 需求模糊 / 只有一个想法 / 不知道要做什么技能 | references/stage-1-clarify.md |
| 2 排任务 | 需求已明确,要拆步骤 / 排计划 | references/stage-2-plan.md |
| 3 写码与修 | 写脚本 / 写 SKILL.md / 报错要修 / 任何写代码或改代码的活(含做小工具、批量处理文件) | references/stage-3-code.md |
| 4 验收 | 写完了要检查 / 验证做完没有 | references/stage-4-verify.md |
| 5 打包上架 | 要打包 / 上架 / 平台驳回 | references/stage-5-package.md |
通用工件流(spec / plan / tasks / verify-report 怎么落盘、怎么续接)见 references/spec-workflow.md,任一阶段需要落盘或跨会话续接时读它。
冷启动(第一次用,手头什么工件都没有):这是正常状态,不是缺文件。做技能直接从阶段 1 开始——阶段 1 就是从一句模糊想法走到 spec 落盘的入口,不需要任何前置材料;写脚本 / 修 bug 等小活直接进阶段 3。
不确定处于哪阶段:先问用户一句"你现在到哪一步了:想清楚 / 排任务 / 写码 / 验收 / 打包?",或直接默认从阶段 1 开始。
全局宪法(所有阶段共同遵守)
做任何活之前,记住六条铁律(完整版就在本节内嵌,跨技能稳定,不依赖包外任何文件):
- TDD 强制:非平凡逻辑先写可运行的失败测试,再写实现;平凡一行代码可豁免。
- 不静默丢数据:可能失败的外部写入(文件 / 网络 / 存储 / 数据库),失败必须捕获并上浮到用户可见层,禁止静默吞错。
- 引用可溯源:对外结论必须有出处;不确定就明说"不确定",禁止编造。
- 防注入:信任边界的输入必须校验;密钥 / 凭据 / 私有信息不外传、不展开。
- 并发与边界:并发竞态、空值 / 单值 / 极值 / 非法输入边界必须显式处理。
- 模糊需求先澄清:需求要素缺失(字段 / 边界 / 存储 / 异常约定)时,先澄清再动手,不替用户猜方向。
做技能入口
- 新技能起骨架:
python scripts/init_skill.py <skill-name> --path <目录> --display <中文名>。 - 打包校验(硬闸门,机检说话):
python scripts/pack_verify.py --pack <技能目录> --out <zip>。 - 完整五阶段流程走法见各
references/stage-*.md。
边界声明
本技能覆盖两类活,共用同一套方法论:
- 做技能:想清楚 → 排任务 → 写码 → 验收 → 打包上架,五阶段全走;
- 通用写码工程:写脚本、修 bug、做小工具、批量处理文件等——走阶段 1-4,打包阶段(5)按需进入。
纯内容创作 / 文案 / 翻译类请求不适用——交由对应技能处理。
Scan to join WeChat group