@dzhng: 应大家的要求,我已将用于创建这个发布视频的过程技能化,成为一个新技能,并用它来创建……
摘要
dzhng 发布了一个用于自动化软件开发的可组合 AI 技能库,设计为可与 Claude Code 和 Codex 等各种 harnesses 集成,以构建软件工厂。
查看缓存全文
缓存时间: 2026/09/28 05:31
应大众要求,我已将制作发布视频的流程提炼为一项新技能,并用它制作了自己的宣传视频。请开启声音播放。属于我的技能仓库一部分:https://t.co/WcLfM9NhP6 https://t.co/mHJrtmYEX3 —
dzhng/skills
来源:https://github.com/dzhng/skills
技能
skills.sh (https://skills.sh/dzhng/skills)
用于构建软件工厂的 AI 技能
用于构建软件工厂的 AI 技能。 我个人的领域无关代理技能库,跨每个项目复用。小巧、可组合、可修改——适用于任何支持技能的工具框架:Claude Code、Codex、opencode、Cursor、duet (https://duet.so),以及 70 多个其他框架 (https://github.com/vercel-labs/skills)。
npx skills add dzhng/skills
添加 --list 以选择个别技能,或将任何 skills/<category>/<skill-name>/ 文件夹复制到你的工具框架技能目录中(例如 .claude/skills/)。从克隆仓库运行 npm run install-skills 无需注册表即可完成相同操作:
npm run install-skills # 安装到 ~/.agents/skills,并从 ~/.claude/skills 创建链接
npm run install-skills -- ../my-app # 安装到仓库而非主目录
npm run install-skills -- --only write-spec,review ../my-app # 仅安装特定技能
npm run list-skills # 显示技能名称和分类
.agents/skills/<category>/<skill-name>/ 存放真实文件(扁平、无分类,跨分类链接已重写以匹配);.claude/skills/ 是指向它的相对符号链接,因此两个工具框架读取同一份副本。重新运行会覆盖已安装的副本——若 .claude/skills/ 是真实目录则保持不变,若已是符号链接则原样保留。添加 --dry-run 可先查看执行计划。
为何需要
软件正从执行任务转向构建工厂:能够自主追求目标直至产出可信赖的自主代理。难点不在于将目标分解为任务——而在于将其分解为可独立验证的片段,并知晓这些片段的位置。这些技能运行此循环。
将未知视为战争迷雾:绘制地形,将其划分为可独立构建与验证的区域,并递归地重新划分隐藏更多地图的部分。重新规划不会在规划结束时停止——规格文档是动态文档,在实施过程中,当工作使代理意识到计划已过时时,会随时更新和重新划分。
每个片段都必须证明自身——架构评审、代码评审,以及基于基线的视觉评审——之后循环才会继续。每次迭代都会减少错误,直至目标完成。
一次自主运行——1 天 16 小时追求一个目标
证据:一次无人值守的 Codex 运行,基于这些技能,花费 1 天 16 小时 追求单一目标,不断划分和迭代直至完成。
如何使用
使用链式流水线构建功能,使用研究循环探索可行方案,或按需使用个别技能。每个技能都可独立运行。
完整循环——大型功能,从头到尾
完整循环——探索、规划、无人值守构建、评审选择
- 绘制迷雾。对想法执行
/explore-unknowns。它会逐象限采访你,并为你呈现渲染后的选项、模型和决策表供你回应,而非要求你凭空想象。最终你将明确该功能做什么。 - 固化。对地图执行
/write-spec。大多数决策已在前序步骤完成,因此这一步主要是转录——我通常不读规格文档。遇到真正的新问题时,它会询问而非自行决定。 - 构建。启动循环:
/goal /implement-spec specs/<spec-name>/goal是使工具框架进入循环模式的指令——在 Claude Code 或 Codex 中是相同操作——之后由规格文档驱动。小型功能需数小时,大型功能需两到三天。可根据需要添加限定:on the xyz branch(在 xyz 分支上),或using /codex as the implementer while you stay the parent orchestrator and reviewer(使用 /codex 作为实现者,你保持父级编排者和评审者角色)。 - 评审选择,而非差异。运行结束时整合
specs/<spec-name>/choices.md——代理在规格未规定时做出的每个决策,按置信度从低到高排序。这是评审界面。发回更改,下一次运行会重新审核:每次 AI 编写代码,你都审计其选择。其余部分自动运行:每个片段结束时的/review审核,任何可视化内容的/screenshot-critique和/compare-screenshots,最后一个片段完成时的/close-spec,以及当实施证明计划过时时的计划重划分。
预算:步骤 1-2 耗时 30 分钟至数小时,步骤 4 耗时 30 分钟至数小时。持续两天的运行,两端各耗时约 2-3 小时。你的时间花费在“书夹”部分;中间部分无人值守。
研究——通过快速实验学习
当下一个决策需要实验证据时,使用 Auto Research。它从一个快速、揭示性的任务开始,测试一组简短的假设,检查组合,并在方法改进时扩展覆盖范围。新的失败成为焦点;早期的任务成为回归检查。
/auto-research Reduce cost per task by at least 15% relative to the saved baseline, without reducing task success. Start with one fast development task.
如果评估器、指标、基线或所需改进不明确,技能会在实验前询问。通过评估和达到改进目标是两个独立的要求。输出包括最佳验证工件和参数效应图:测试了什么,在哪里有帮助或损害,以及变化如何相互作用。当研究准备就绪可供实施时,利用该证据指导规格编写。
按需选择——自发路径
- 头脑风暴变成了一个功能。
/explore-unknowns在讨论结束时和开始时一样有用——运行它来扫视你俩都未曾想到的角度,然后从步骤 2 继续循环。 - 任何未源自规格的代码变更。一个影响范围超出预期的临时修复:先执行
/review(重构清理 -> 代码评审 -> 编写文档),然后执行/audit-choices。当差异太大无法阅读时,选择账本是你理解代码库中现有内容的工具。
技能
工程——划分、构建、验证、重复
| 技能 | 功能描述 |
|---|---|
| explore-unknowns | 引导用户逐象限绘制任务的未知项——先已知的已知项,然后通过采访、可反应的工件和盲点扫描——最终生成完整的四象限地图。 |
| auto-research | 通过快速渐进实验进行优化,产出经验证的候选方案和参数效应与权衡图。 |
| write-spec | 将大型功能分解为可独立验证、可供人工评审的片段,具有 API 接缝和可操作的检查点。 |
| implement-spec | 逐步构建现有规格至完成,每次可评审的遍历,并行委派独立片段。 |
| implement-spec-with-codex | 运行 implement-spec,由 Codex 编写代码——你负责编排、集成和评审每次遍历。 |
| close-spec | 归档已交付的规格,并将其从构建计划重写为持久的理由记录,链接回代码。 |
| refactor-clean | 通过将所有权转移到一个清晰概念进行重构,而非在问题旁边堆积兼容性沉积物。 |
| write-tests | 一次编写一个追踪子弹式测试,锁定真实行为——而非实现细节、配置值或幸运样本。 |
| audit-performance | 查找放大或重复但无进展的热点路径,按真实失败风险排序,并优先选择最小的、有界且能保留修复能力的修正。 |
| write-docs | 将文档编写为原则和指针的术语表,而非代码的镜子(代码会腐烂)。 |
| code-review | 审计差异中的过时命名、无效引用、不必要的复杂性以及叙述而非解释的注释——最终给出“清洁/不清洁”的结论。 |
| audit-choices | 审计实现者所做的选择,而非其差异——纯粹的、非阻塞性的审计,其账本披露架构和代表用户做出的决策,评审的是决策而非代码。 |
| eli5 | 用清晰语言解释规格或变更而不失精确度——其他技能借用此 ELI5 规则进行独立、逐步的场景解释。 |
| review | 将完成的变更作为一次遍历收尾——先重构清理,然后代码评审,最后编写文档——序列化为单一结论。 |
| codex | 使用本地 Codex CLI 作为独立的第二代理进行评审和(经明确要求)委派实现。 |
| claude | 使用 Claude Code (claude -p) 作为独立的第二代理进行咨询和(经明确要求)委派实现。 |
| marketing-pages | 按页面类别编写、更新和审计营销页面的规则手册——活动着陆页保持无索引、无链接且只有一个 CTA;其他页面则需赢得其站点地图条目、爬虫轨道链接和规范副本来源。 |
视觉评审——绝不凭感觉接受视觉稿
| 技能 | 功能描述 |
|---|---|
| compare-screenshots | 根据你设定的目标,判断哪个图像错误更少——是定位偏差的遥测,而非基线匹配。提供可复用的差异脚本,也可测量单个截图是否存在空白、空洞或构图问题。 |
| screenshot-critique | 在接受视觉作品前,使用未预置的子代理作为第二双眼睛;在宣布报告的视觉缺陷修复前必须执行。 |
| preview-shots | 在一个 macOS 预览窗口中打开一组精选的图像截图供用户肉眼查看。 |
创作——保持技能本身精炼
| 技能 | 功能描述 |
|---|---|
| write-skills | 创建或修订代理技能:触发器、引导词、渐进式披露,以及需要修剪的故障模式。 |
| eval-skills | 对照黄金案例评估技能——在新子代理中盲测运行、独立评审者、基于差距的编辑。 |
图形
| 技能 | 功能描述 |
|---|---|
| renderer | 使用 TypeGPU/WebGPU 进行 GPU 渲染的架构规则——一个帧编排器、单一所有者、资源注册表、深度和合成契约,以及基于像素的验证。 |
| launch-video | 用代码导演一个展示级别的发布视频——从项目中生长出的一个视觉概念,画面和合成配乐锁定于单一时间源,以及一个能在社交信息流中存活的预览帧。 |
许可证
MIT
David (@dzhng):
介绍 jevgrep - 一个由 @typesafeai 的 jev 驱动的研究代理 CLI,可将你的编码代理成本降低 40%(在 SWE-bench 上验证)。确保使用内置技能,以便你的编码代理知道使用 jg 进行上下文收集。
相似文章
@dzhng: 我厌倦了每次都使用相同的提示要求Fable将Codex作为执行器,于是我添加了一个新的implement-with-codex技能...
Dzhng发布了一个个人库,包含用于自主软件开发的组合式AI Agent技能,其中包括一项新的'implement-spec-with-codex'技能,该技能使用Codex作为执行器。
@dzhng: 将这篇文章输入Fable,我们创建了一个探索未知技能。它扫描你的代码库,然后逐个问题采访你……
一个用于构建软件工厂的可组合AI技能的个人库,包括一个探索未知技能,该技能扫描代码库并采访开发者以消除已知和未知的未知。
@dzhng: 喜欢这个框架。软件工厂不应该要求人类审查每一行代码,但每一个*决策*都应该…
开发者 dzhng 分享了一个 GitHub 仓库,其中包含可组合的 AI 代理技能,用于构建软件工厂,实现自主目标驱动代码生成,并在决策点进行人工审查。
@dzhng:我新的 AI 原生软件工程原则是尽可能多地删掉抽象层,在这一点上,a…
dzhng 分享了他的 AI 原生软件工程原则——删除抽象层、用 Rust 编写应用并编译为 WASM、让编码代理自主运行 12 小时以上——以及他的可组合代理技能开源库(dzhng/skills),用于配合 Claude Code、Codex、Cursor 等 70 多种工具构建软件工厂。
skillhub - 用于AI代理技能的包管理器(兼容Claude Code、Cursor、Codex)
skillhub是一个用于AI代理技能的包管理器,兼容Claude Code、Cursor和Codex。