Agent Plugins Marketplace
All plugins

ai-dlc

v1.14.0

AI-DLC — 一条产研自闭环的软件开发流水线,做成 Claude Code 插件:世界 → 本体 → 契约 → 标准 → 计划 → 实现 → 验收 → 交付 → 学习,每一步的产物要么能被脚本检,要么被一道只能人签的门挡住,没有第三种。30 个 skill 组织成九环 + 一根脊柱(docs/ARCHITECTURE.md)。 三条主线。**上半段建世界**:/psl 把体验性需求写成六层 Product Specification Language,/psl-derive 推出 DOS 提案 / workflow / 形态草案(每条决策引用一个 PSL-ID)并用 N 次隔离推导的分歧集当 G1 议程。**下半段收敛交付**:/issue → /donewhen-extract(或 /acceptance-spec)→ G2 哈希冻结判据 → /plan-cards 切成自包含任务卡 → /implement 隔离实现 + /commit 三道闸 → /acceptance-fleet 并行派发六个审查 skill → /meta-judge 合成四态棘轮 → /pr → /review-loop(评论当待验证主张)→ /release → 归档。**横切**:/dos-extract 与 /invariant-extract 管本体与不变量,routing.yaml 管失败按层回流与分层预算,/retro 与 /tune 管度量与环参数。 设计上不肯让步的几条。**路由确定化,质量交给模型**:状态机、路由表、执行图、六个环契约全是数据,由脚本强制,引擎只提议——`aidlc_state.py advance` 对着状态检前置条件,不对着模型的说法检。**判据先于代码且冻结**:done_when.yaml v2 是唯一契约 schema,G2 签它、L5 再签一次测试,之后改锁内文件必须附变更提案。**评估者与被评估者分离**:实现者只见卡 + AC 子集 + 红基线,看不到评审判据与隐藏集。**声明了但没求值 ≠ 通过**:分析器跑不了退出 3,审查没跑完记为 unevaluated,两者都不许报绿。**失败归层不原地重试**:同指纹两次、震荡、平台期分别路由到方案层或任务层,预算耗尽写失败报告交人。**账本只增不删**:产物可回滚,判据与失败记录不回滚。**三道门只能人签**:G1 世界裁决 / G2 判据冻结 / G3 例外复核,`--autopilot` 与自治阶梯都不代签。 v1.0.0 起流程按三个正交旋钮伸缩(借鉴 AWS AI-DLC 2.0 的 scope grid,见 docs/reports/aidlc-gap-2026-09-07.md):**广度**是 sizing.yaml 的阶段网格,由 next_allowed / prereqs 强制、verify_sizing.py 九条 lint 核验,never_skippable 把三道门挡在旋钮之外,跳过要用可数的证据换、每次写一条带理由的账本行;**测试量**是下界,derive_counts.py --strategy 检,低于地板退出 4;**深度**只是声明,因为没有脚本能判「这份文档够不够细」——文档如实标注,不假装它是闸。同版新增解释日记(notes.md 四格:Interpretations / Deviations / Tradeoffs / Open questions,门禁前逐字呈现不筛选,Open questions 不晋升,晋升的规则下一次 init 才编译进去)、审查完成度闸 verify_review_complete.py、跨制品术语传感器 verify_vocabulary.py(B 档)、自治阶梯 autonomy、启动前算有效规模的 plan、装置健康度 doctor。 证据等级诚实登记:全部 skill 为 static_only —— 结构过审 + 脚本在 fixture 上冒烟(条数以 `eval/smoke.sh` 结尾行为准,不手抄;关键行为配变异证明),**带 / 不带这套纪律的行为层对照只跑过一轮十题**,且出题人与被测者同源。能说什么、不能说什么写在 docs/evaluation.md。 v1.6.0(2026-09-12)按「它是不是一条闭环」重读一遍,修了七处声明与代码不一致:逃逸缺陷有了登记入口(`aidlc_state.py escape`:计到归因层、追加 escape-defects.md、镜像进归档——此前没有任何命令写 escape 事件,复盘的逃逸率结构上永远是 0);`meets_done_when` 由 `meets_done_when.py` 比对阈值得出且不可 set(R010 从 not_enforced 变 system);`advance` 对着文件检不对着 flag 检(implement 自己跑 lint_cards.py、pr 读 final-state.json、archive 读 post-deploy 行、四个阶段重验锁);`card_retries` 按卡计不按层计;`--evidence` 先归一化再取指纹;M 档的两人审查子集只认推导来的档位;红→绿证据有了另一半(`verify_red_green.py`:消失的红测试算不绿)。同版第二遍按「没有断点」再走一次每个阶段的前置:G2 的裁决在 implement 再查(S 档跳过 cards 不跳签字)、l5 锁与红基线是 implement 的前置、红→绿证据与锁历史回放是 pr 的前置、校准报告按档编译进 acceptance、评审出口读 pr-poll 写的裁决文件、merge.sha 与 release.tag 问 git、契约有 human AC 时 G3 关不掉。冒烟主链跑在一个真的 git 仓库里。 v1.7.0(2026-09-15)把插件放进一个真实团队仓库(Electron 桌面端,自带 harness)用了一遍,修了九处「默认假设和人家的仓库对不上」:`verify_pr.py --sections` 把 PR 语义槽映射到团队自己的模板(槽键封闭集、豁免要理由且逐条 flag、issue 链接 / 验证 / AC 映射只能挪不能免);同步检查的远端与 base 由跟踪分支和 `<remote>/HEAD` 解析,多远端无跟踪时记跳过而不是去比 origin;契约新增 `constraints.test_globs`,`advance g2` 带 `--repo` 检 forbidden_paths 是否真盖住了仓库里的测试文件(就近放 `*.spec.ts` 的仓库里 `tests/**` 一条都盖不住);`verify_release.py --scheme semver|calver|external`,SemVer 不再接受前导零;`doctor` 报会话里装的插件版本是否落后、宿主里与子 skill 同名 / 近名的 skill;scope 目录不存在时说出来;`verify_agent_map.py` 核对 `file:` 来路(文件在、行号不越界、`#"原文"` 仍逐字在源文件里)。每条都有正反两面的冒烟期望和变异证明。 v1.10.0(2026-09-15,随 1.9.x 一起发)在 vana-builder 上真跑 /dos-extract 时,`inventory.py` 把 478 个 Vue 单文件组件扫成了零、把 spec 文件里的 mock 与全大写常量当成名词,而报告对此一声不吭:现在读 SFC 的 `<script>` 块,测试文件默认跳过并计数(`--include-tests`),常量进剪枝组,没有提取规则的语言按扩展名报「not scanned」。同一轮起草 agent-map 时发现 `verify_agent_map.py --probe` 会照跑一条清空本机应用数据的 E2E 命令:期望列 `no-probe: <理由>` 的行跳过并记 flag,理由必填,全套测试不许。probe 前比对 `.nvmrc` / `.node-version` 与当前 Node,不一致时出 flag 并在失败条目里提示先排除环境(vana 的 `npm test` 在 Node 25 上全挂,22.23.2 上 3147 条全过)。v1.11.0(2026-09-20)堵上「直接说冻结」这个口子:一张带未裁冲突的不变量卡,`lock_done_when.py sign` 原本照签不误、退出码 0——草稿该有的未决项被当成已定的法冻上了。现在 `verify_card.py --ready-to-sign` 把未裁的冲突 / 没人裁过的低置信条目 / 未过存活测试的条目从「草稿的未决项」升成拒并点名;`sign` 按形状认出不变量卡(有 `territory_id` + `hard_invariants`)自己去跑它,不过就拒签,`--force-unresolved --reason` 强签时把理由与未决项清单写进锁——一个没写下来的例外,和一次疏忽长得一模一样。 v1.12.0(2026-09-20)加第 30 个 skill `/ratify`:V-15 让 `sign` 拒签带未决项的卡之后,缺的是把人**带过**这段仪式的东西——用户原话「还是需要 skill 的吧?不然我怎么同意呢?我不想手打命令」。纪律:未决项由 `agenda.py` 从**文件**里逐条读出呈现(不做有趣度筛选,同 notes --for-gate)、一条一条当场裁、裁决盖姓名与日期写回、再跑一次判据、最后才签;拖延(待定 / TBD)被脚本拒——它不是坏答案而是另一个去处(进 open_questions 带负责人)。签字只有两种身份:人自己签,或**受委托签署**且把人的授权原话写进锁文件;模型以 human 身份签字是伪造签名,不是省事。 前身叫 sdlc,2026-09-08 改名;归档目录与历史报告保持原样未改写。

Claude Code18 Skills

By XRenSiuLicense: MIT2 GitHub starsUpdated 3 days ago

Directory evidence

Runtimes
Claude Code
Parsed components
18 skill or MCP entries
Source updated
Sep 21, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology

Install ai-dlc for Claude Code

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install ai-dlc@agent-plugin-marketplace

Paste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/XRenSiu/claude-code-forge

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/ai-dlc/.

Plugin files

plugins/ai-dlc/
├── .claude-plugin/plugin.json
├── skills/acceptance-spec/SKILL.md
├── skills/ai-dlc/SKILL.md
├── skills/commit/SKILL.md
├── skills/grill/SKILL.md
├── skills/implement/SKILL.md
├── skills/invariant-extract/SKILL.md
├── skills/issue/SKILL.md
├── skills/plan-cards/SKILL.md
├── skills/pr/SKILL.md
├── skills/pr-review/SKILL.md
├── skills/psl/SKILL.md
├── skills/psl-derive/SKILL.md
├── skills/ratchet/SKILL.md
├── skills/ratify/SKILL.md
├── skills/release/SKILL.md
├── skills/retro/SKILL.md
├── skills/review-loop/SKILL.md
└── skills/tune/SKILL.md

Included Skills18

acceptance-specskills/acceptance-spec/SKILL.md

Turn a fuzzy natural-language requirement into a machine-verifiable acceptance contract. Drafts EARS-format requirements (five sentence types), runs a strict clarify loop (only three question types allowed: ambiguity / missing edge / undefined term; 2-3 rounds, 3-5 questions per round, max 5 rounds total) to remove every [?] marker, then writes five files: proposal.md, spec.md (EARS with stable REQ-IDs), tasks.md (decomposed work), done_when.yaml (the contract that test-suite-generator and acceptance-fleet will consume), and spec-robustness.md (S2.5 self-adversarial pass output — anti-gaming companion that /acceptance-fleet hands to /spec-gaming-detector). Covers Steps 1-3 of the done_when pipeline. Triggers: "spec this requirement" / "draft EARS" / "done_when for X" / "clarify this feature" / "acceptance criteria" / "write the contract" / "/acceptance-spec".

ai-dlcskills/ai-dlc/SKILL.md

补引擎自己给不出的三个缺口:跨会话的生命周期状态(SKILL.state 式的充分统计量——脚本校验 迁移,引擎只提议,历史进只增不删的账本)、失败按层归因回流而不是"塞回实现层再试一次"的 路由表 + 分层预算 + 指纹终止(X2),以及三道只能人签的门(G1 世界裁决 / G2 判据冻结 / G3 例外复核)的不可跳过绑定。效果:一句需求或一个 issue → 双轨判定 → issue → 分支 → done_when 冻结 → 任务卡 → 按卡实现 + 提交 → PR → review 跟进 → 合入归档 → 逃逸缺陷登记, 每一步的产物要么能被机器检,要么被一道门挡住。Use when: "走一遍完整开发流程" / "从需求到 合入" / "aidlc" / "按流水线做这个需求" / "帮我把这个 issue 做完提 PR" / "resume AI-DLC" / "ship this feature end to end" / "run the lifecycle"。NOT for: 只想提交一次 commit(/commit)、 只想发 PR(/pr)、只想审别人的 PR(/pr-review)、只想盯一个已有 PR 的评论(/review-loop)—— 单点动作直接用对应 skill,进流水线反而慢。前置:git 仓库内、gh 已认证、python3。

commitskills/commit/SKILL.md

补引擎自己给不出的缺口:一次提交什么时候算"原子且可审"(一个关注点、消息按 Conventional Commits、只暂存相关文件、不带调试代码与 secrets),以及 diff 落地前的三道机械闸——卡的可改 文件白名单(溢出即停)、G2 锁文件哈希(改契约必须附变更提案)、暂存 hunk 的 secret / 调试 代码扫描——全部编译在 verify_commit.py 里,不靠"记得检查"。Use when: "提交" / "commit 这些改动" / "帮我写 commit message" / "把这个 diff 提了" / "commit" / 引擎准备 `git add -A && git commit -m "update"` 时。NOT for: 推送与建 PR(/pr)、 合并分支、改写已推送的历史(本 skill 禁止)。前置:git 仓库内。

grillskills/grill/SKILL.md

补引擎自己给不出的缺口:把"逐节点陪 Agent 对齐需求"(grill-me 的 BFS)和"让 Agent 自己 grill 到它 觉得对齐"(AFK 环)都换成一个停机不靠自评的对齐环——问题集来自形状(PSL 六层的承重槽 · DOS 词表 闭包 · AC 的 happy/unhappy 孪生),不是 Agent 临时想到的树;通过条件来自 N 个隔离读者的分歧率与一份 逐条有来路的待定清单,不是"我觉得清楚了";每条槽只能以三种方式离开清单(物料来路可核对 / 人答 / 明确 留给人),默认值被脚本硬拒。效果:一句需求 → `/psl --afk` 无人值守建世界 → `/psl-derive --n 3` 分歧集 → `grill_loop.py pending` 抽清单 → 机器先回仓库找来路、找不到才 defer → 人只裁 needs_human 行 → 拿答案重推一轮 → converged 进 G1。Use when: "自动 grill" / "AFK 对齐需求" / "grill 这个需求但别一个个问我" / "先把能从代码里答的答了再来问我" / "align the requirement unattended" / "run the grill loop"。 NOT for: 交互式逐题逼问(用 grill-me 类技能)、确定性需求(PRD 够用,双轨判据在 /issue 入口拦)、 写 PSL 本身(/psl)、推导本身(/psl-derive)。前置:python3 + pyyaml;仓库里最好有 dos.yaml / decisions.md(没有时来路只能来自代码与文档,清单会长,这是诚实不是失败)。

implementskills/implement/SKILL.md

补引擎自己给不出的缺口:按一张卡实现时的隔离与纪律——实现者只看到卡 + 状态摘要 + AC 子集 (不看评审判据、不看隐藏集、不看其他卡),改动落地前过白名单执行器与 G2 锁,复现测试先红后绿, 每张卡一个或多个原子 commit 并登记到状态机;单卡预算 3、同指纹失败立即升级到方案层而不是原地重试。 效果:卡进、diff + commit + 卡状态出。Use when: "按卡实现" / "做 CARD-03" / "implement this card" / "开始写代码" 且已有卡与冻结契约时。NOT for: 拆卡(/plan-cards)、修 review 评论(/review-loop 的 comment-fixer)、跑到达标为止的优化循环(/ratchet)、整体验收(/acceptance-fleet)。

invariant-extractskills/invariant-extract/SKILL.md

Use when a Territory's □-class resident invariants are MISSING — when "what this block must always hold, on every Run" lives only in people's heads or in scars from past failures, not as written, traceable, verifiable rules. invariant-extract recovers them by ABDUCTION from the Territory's failure memory (the load-bearing channel — a violation is the most reliable signal an invariant exists) and by DEDUCTION from its code execution points. It is the symmetric counterpart of dos-extract (which deductively reverse-engineers a system's constitution + ontology from a static repo); this one abductively recovers ONE Territory's resident invariants from the failures it paid for. Triggers: "抽不变量" / "提取不变量" / "责任级不变量" / "□ 不变量" / "从失败里总结规则" / "把失败变成不变量" / "为这块领地立常驻法" / "invariant-extract" / "harden this territory's invariants". Do NOT use for: binding / claim-resolution (orthogonal, human-set), ontology / boundary (that is dos-extract), or task-level done_when (that is acceptance-spec).

issueskills/issue/SKILL.md

补引擎自己给不出的缺口:一条 issue 什么时候算"可证伪的 TASK 雏形"而不是一段愿望(形容词 换成阈值、每条 happy 路径带 unhappy 孪生、验收写观察边界不写文件路径、范围四项非空、假设进 台账);一个需求该走 PSL 轨还是 TASK 轨的双轨判据(含 DOS 词表闭包这个客观触发);以及 "先给人看再 gh 建"的确认门。效果:一句需求 / 一个 bug / 一条逃逸缺陷 → 结构化 GitHub issue, 经 verify_issue.py 机械预门后创建。Use when: "建个 issue" / "把这个需求写成 issue" / "开个 bug" / "登记逃逸缺陷" / "create an issue for" / "file a bug" / "write this up as an issue" / 引擎准备直接 `gh issue create --body "<一句话>"` 时。NOT for: 写完整 done_when.yaml 契约(/acceptance-spec)、写产品世界(/psl)、只想看 issue 列表(gh issue list 即可)。 前置:gh 已认证、在目标仓库内。

plan-cardsskills/plan-cards/SKILL.md

补引擎自己给不出的缺口:把一份冻结的判据契约拆成"单独丢给一个没有任何上下文的 agent 也能干完"的 任务卡——每张卡带 REQ 归属、AC 子集、DOS 切片、可改/禁改文件白名单、上下文预估与预算;以及三项 机器校验(REQ 全覆盖且无重复归属 · 卡间无文件写冲突含共享文件归属 · 名词能被 DOS 切片解析)、 上下文 ≤ 40k 必拆的 lint、以及"投影与其数据源同卡"(渲染/报告脚本必须声明 reads_from,跨卡要 depends_on + 接缝说明),全部编译在 lint_cards.py。Use when: "拆任务卡" / "PLAN" / "拆成能并行做的卡" / "split into cards" / "task cards" / 契约已 G2 冻结、准备实现之前。NOT for: 写契约(/donewhen-extract)、 写测试(/test-suite-generator)、实现卡(/implement)。前置:`.done_when.lock` 存在(G2 已签)。

prskills/pr/SKILL.md

补引擎自己给不出的缺口:PR 描述必须呈现的产物序(范围声明 → Closes #N → 变更 → 验证证据 → AC→证据映射 → 风险与回滚 → 审阅焦点),它是 review 阶段判"越界"的基准、是 A 档验收的输入; PR 体量分级与"XL 必拆"的判据;push 前的预检(不在 base 上、与 base 同步、自检绿、提交都合规)—— 全部编译在 verify_pr.py 里。效果:`gh pr create --fill` 变成一个能被机器检、能被 reviewer 按图索骥的 PR。Use when: "发 PR" / "开个 pull request" / "把分支提上去 review" / "create a PR" / "open a pull request" / 引擎准备 `gh pr create --fill` 时。NOT for: 单次 commit (/commit)、跟进 PR 评论(/review-loop)、审别人的 PR(/pr-review)、直接合并(人类动作)。 前置:gh 已认证、在目标仓库内、分支已有至少一个 commit。

pr-reviewskills/pr-review/SKILL.md

补引擎自己给不出的缺口:审 PR 时什么算一条"能落地的发现"(P0/P1 必带复现场景、自我反驳一遍 再发、上限 5 条不凑数、空结果也要给走过的路径)、发现按 A 机械 / B 结构 / C 判断三档归位 (只有 A 档一票否决,B 有界可进,C 请求人工)、以及 Detective Loop(自己决定下一步读什么, 不按清单走)。效果:PR# / ref 范围 / diff 文件 → findings.yaml → 可选发成 GitHub review (行内评论;永不 approve)。Use when: "审一下这个 PR" / "review PR #12" / "看看这个 diff 有 没有 bug" / "code review" / "帮我找问题" / 引擎准备只回"看起来不错"时。NOT for: 需求合规 (/pm-reviewer)、真跑测试(/qa-reviewer)、契约作弊检测(/spec-gaming-detector)、 你是 PR 作者要处理评论(/review-loop)。借鉴 done-when-pipeline `/code-reviewer` v1.0.0。

pslskills/psl/SKILL.md

把一个需求背后的「产品世界」写成完整 PSL(Product Specification Language),并在世界填不满时主动向用户提问, 最终必产出一份完整 PSL。PSL 写「这个世界为什么这样运转」(生成规则),不是「应该造什么」(功能规格)。 Use this skill whenever a requirement is experiential / semantically fuzzy(记忆、人格、关系、内容组织、推荐、 搜索意图、社交动态…),或当你预感 Agent 照字面实现会用默认值把世界填错(典型症状:交出一个「技术正确、产品错误」 的东西,如「按时间搜索」被做成日历筛选器)。也用于判断一个 PRD 该不该改写为 PSL。 触发词:PSL、产品世界、世界建模、把需求写成世界、"这需求 Agent 会不会做偏"、体验说不清、生成规则 vs 功能规格。 NOT for deterministic requirements(支付校验 / 合规字段 / 报表列宽)——那里 PRD 的精确恰好够用,套世界模型是过填。

psl-deriveskills/psl-derive/SKILL.md

补引擎自己给不出的缺口:读完一份 PSL 之后,先产三样东西再产代码(DOS 提案 / Workflow / 形态草案), 且每条形态决策必须引用它从哪条 PSL 规律推出来(PSL-ID 格式硬约束,否则 G1 里"推错了 vs 规律错了" 全靠口头);以及把"推导不可复现"从残余风险变成信号——N 次独立推导取分歧集,一致的部分是 PSL 真正 约束住的,分歧集就是 G1 的议程。效果:功能级 PSL → derived/{dos-proposal.yaml, workflow.md, form-draft.md, divergence.md},经 verify_derived.py 机械预门后交 G1 人裁决。Use when: "从 PSL 推 形态" / "推导产物" / "先出形态草案再写代码" / "psl-derive" / "derive the form from the PSL" / "G1 要审什么" / 写完 PSL 之后、建 issue 之前。NOT for: 写 PSL 本身(/psl)、从代码抽本体 (/dos-extract)、写验收契约(/donewhen-extract)、直接实现(那正是本 skill 要拦的)。

ratchetskills/ratchet/SKILL.md

目标驱动的多智能体持久化优化系统。融合 Goal-Driven 的 master/subagent 分离架构 与 AutoResearch 的信号设计方法论,实现"独立评估 + 杀死重启 + 棘轮式进步"的 自主迭代循环。 当用户描述一个想要优化/改进/实现的目标时触发此 skill。 触发词包括但不限于:ratchet、棘轮优化、目标驱动、goal-driven、 "帮我持续优化 X 直到达标"、"我想让 X 达到 Y 标准"、 "帮我实现一个 X 并且要通过 Y 验证"、"自动跑到达标为止"。 也适用于:长时间自主编程任务、需要可验证产出的复杂工程任务、 任何需要 agent 持续迭代直到满足明确验收标准的场景。 即使用户只是模糊地说"我想把这个做好"或"帮我优化这个",也应触发此 skill。 与 autoresearch 的区别:ratchet 有独立评估者、自动杀死重启、明确的终止条件, 适合更大规模、更长时间的自主任务。autoresearch 更适合单文件的轻量迭代。

ratifyskills/ratify/SKILL.md

补引擎自己给不出的缺口:把一份还带着未决项的制品(不变量卡、契约、签字版形态草案)从草稿变成**被冻结的法** 的那段仪式——未决项逐条从文件里读出来呈给人(不是凭记忆挑几条)、一条一条当场裁、裁决带姓名与日期写回制品、 再跑一次判据、最后才签;签字要么人自己来,要么以**受委托签署**落地并把人的授权原话写进锁文件。效果:人只回答 「这条怎么办」,不需要记得还剩什么没定,也不需要敲命令。Use when: "冻结这张卡" / "签了吧" / "批准" / "立法" / "ratify" / "freeze the invariant card" / "把不变量定下来" / 抽完不变量或写完契约准备签字时。NOT for: 起草不变量(/invariant-extract)、写契约(/donewhen-extract)、一次交付运行里的 G2(那是 `aidlc_state.py gate g2`, 有 slug 与状态机)。前置:有一份可锁的制品文件、python3 + pyyaml。

releaseskills/release/SKILL.md

补引擎自己给不出的缺口:合入之后到"交付完成"之间的产物序与不可逆动作的门——版本号按 SemVer 从 Conventional Commits 推导、CHANGELOG 条目与 tag 一致、发布说明必须带回滚方案与验证清单、部署后 验证先于宣布完成、逃逸缺陷登记入口在发布说明里可达——由 verify_release.py 检产物。效果:merge sha 进, tag + changelog + release notes + 部署验证记录出。Use when: "发版" / "打 tag" / "写 changelog" / "部署" / "release" / "ship it" / 合入之后。NOT for: 建 PR(/pr)、合并(人类动作)、登记线上缺陷 (/issue --escape,本 skill 只放入口)。前置:merge 已完成,在目标仓库内。

retroskills/retro/SKILL.md

补引擎自己给不出的缺口:把归档目录、账本、逃逸缺陷、发布记录读成"流程病在哪一层"的证据(回流分布、 G1 拦截率、human AC 占比、返工轮次、逃逸缺陷率、豁免数),并把每条发现路由到能改的那一层——PSL 规律 / DOS 修订 / 不变量候选 / AC 收紧 / 路由预算 / skill 的 fix_list——而不是写一篇感想。产物:带日期的基线 + 提案清单,每条提案有去向与验收方式。Use when: "复盘" / "retro" / "这次为什么返工这么多" / "看看流程哪里 出问题" / "度量" / 一个或多个 feature 归档之后。NOT for: 单次 bug 的根因(/adversarial-debugging 类)、 改 skill 本身(skill-evolve 邻居)。前置:`specs/*/` 至少一个归档。

review-loopskills/review-loop/SKILL.md

补引擎自身给不出的三个缺口:零 token 的阻塞等待(模型层轮询每次都烧 token)、把 reviewer 评论当"待验证主张"而非指令的裁决判据、以及编译态的循环终止绑定(无终止绑定的自动回帖会与 bot reviewer 无限对喷)。效果:PR 发出后自动跟进 review——逐条评估评论,成立就修复、提交、 回帖并 resolve 该线程,不成立就有理有据回帖、把线程留给 reviewer 定夺——直到 PR 合并/关闭、 获得批准、或预算耗尽。Use when: "盯着这个 PR 的评论" / "自动处理 review comments" / "跟进 review" / "address review feedback automatically" / "PR autopilot" / "review loop" / "把这个改动发个 PR,评论你自己看着处理"。NOT for: GitLab / Gitea(依赖 gh CLI)、只想看或 总结评论(gh pr view 即可)、你是 reviewer 一侧(/pr-review)、只回一条评论(gh api 即可)。 前置:gh 已认证、jq 可用、当前目录是目标 git 仓库。改编自 vana-builder 的 pr-review-loop v0.4.0。

tuneskills/tune/SKILL.md

补引擎自己给不出的缺口:把六个环留下的 trace(归档的 state / ledger / trace.jsonl、review-loop 的证据日志与 计数器、ratchet 的 results.tsv)读成"每个环的预算用了几成、哪条路由规则最常升级、review 的 verdict 分布是不是 一边倒",并把每条发现变成一条**只改 harness 参数**的提案——routing 预算 / 指纹阈值 / MAX_ROUNDS / 隔离等级 / 某 skill 的 fix_list——带证据、预期指标变化、验收方式,产出 diff 或 patch 由人开 PR。它是 LangChain 四层里的 Hill-Climbing Loop:"返回箭头伸进去改 agent loop 本身",但改动先过人审。效果:归档目录进, `tune/harness-proposals-<date>.yaml` + 可 `git apply` 的 patch 出;归档 < 2 个只出基线。Use when: "调一下预算" / "review 是不是太顺了" / "tune" / "这些环的参数该改吗" / "harness 调参" / 每周 cron / retro 之后。NOT for: 改契约或世界(/retro 的提案去向)、改代码(/implement)、改 skill 正文(skill-evolve 邻居)、单次 bug 根因。 前置:`specs/*/` ≥ 2 个归档(少于 2 个只记基线)。

Plugin manifests1

plugins/ai-dlc/.claude-plugin/plugin.json
{
  "name": "ai-dlc",
  "description": "AI-DLC — 一条产研自闭环的软件开发流水线,做成 Claude Code 插件:世界 → 本体 → 契约 → 标准 → 计划 → 实现 → 验收 → 交付 → 学习,每一步的产物要么能被脚本检,要么被一道只能人签的门挡住,没有第三种。30 个 skill 组织成九环 + 一根脊柱(docs/ARCHITECTURE.md)。\n\n三条主线。**上半段建世界**:/psl 把体验性需求写成六层 Product Specification Language,/psl-derive 推出 DOS 提案 / workflow / 形态草案(每条决策引用一个 PSL-ID)并用 N 次隔离推导的分歧集当 G1 议程。**下半段收敛交付**:/issue → /donewhen-extract(或 /acceptance-spec)→ G2 哈希冻结判据 → /plan-cards 切成自包含任务卡 → /implement 隔离实现 + /commit 三道闸 → /acceptance-fleet 并行派发六个审查 skill → /meta-judge 合成四态棘轮 → /pr → /review-loop(评论当待验证主张)→ /release → 归档。**横切**:/dos-extract 与 /invariant-extract 管本体与不变量,routing.yaml 管失败按层回流与分层预算,/retro 与 /tune 管度量与环参数。\n\n设计上不肯让步的几条。**路由确定化,质量交给模型**:状态机、路由表、执行图、六个环契约全是数据,由脚本强制,引擎只提议——`aidlc_state.py advance` 对着状态检前置条件,不对着模型的说法检。**判据先于代码且冻结**:done_when.yaml v2 是唯一契约 schema,G2 签它、L5 再签一次测试,之后改锁内文件必须附变更提案。**评估者与被评估者分离**:实现者只见卡 + AC 子集 + 红基线,看不到评审判据与隐藏集。**声明了但没求值 ≠ 通过**:分析器跑不了退出 3,审查没跑完记为 unevaluated,两者都不许报绿。**失败归层不原地重试**:同指纹两次、震荡、平台期分别路由到方案层或任务层,预算耗尽写失败报告交人。**账本只增不删**:产物可回滚,判据与失败记录不回滚。**三道门只能人签**:G1 世界裁决 / G2 判据冻结 / G3 例外复核,`--autopilot` 与自治阶梯都不代签。\n\nv1.0.0 起流程按三个正交旋钮伸缩(借鉴 AWS AI-DLC 2.0 的 scope grid,见 docs/reports/aidlc-gap-2026-09-07.md):**广度**是 sizing.yaml 的阶段网格,由 next_allowed / prereqs 强制、verify_sizing.py 九条 lint 核验,never_skippable 把三道门挡在旋钮之外,跳过要用可数的证据换、每次写一条带理由的账本行;**测试量**是下界,derive_counts.py --strategy 检,低于地板退出 4;**深度**只是声明,因为没有脚本能判「这份文档够不够细」——文档如实标注,不假装它是闸。同版新增解释日记(notes.md 四格:Interpretations / Deviations / Tradeoffs / Open questions,门禁前逐字呈现不筛选,Open questions 不晋升,晋升的规则下一次 init 才编译进去)、审查完成度闸 verify_review_complete.py、跨制品术语传感器 verify_vocabulary.py(B 档)、自治阶梯 autonomy、启动前算有效规模的 plan、装置健康度 doctor。\n\n证据等级诚实登记:全部 skill 为 static_only —— 结构过审 + 脚本在 fixture 上冒烟(条数以 `eval/smoke.sh` 结尾行为准,不手抄;关键行为配变异证明),**带 / 不带这套纪律的行为层对照只跑过一轮十题**,且出题人与被测者同源。能说什么、不能说什么写在 docs/evaluation.md。\n\nv1.6.0(2026-09-12)按「它是不是一条闭环」重读一遍,修了七处声明与代码不一致:逃逸缺陷有了登记入口(`aidlc_state.py escape`:计到归因层、追加 escape-defects.md、镜像进归档——此前没有任何命令写 escape 事件,复盘的逃逸率结构上永远是 0);`meets_done_when` 由 `meets_done_when.py` 比对阈值得出且不可 set(R010 从 not_enforced 变 system);`advance` 对着文件检不对着 flag 检(implement 自己跑 lint_cards.py、pr 读 final-state.json、archive 读 post-deploy 行、四个阶段重验锁);`card_retries` 按卡计不按层计;`--evidence` 先归一化再取指纹;M 档的两人审查子集只认推导来的档位;红→绿证据有了另一半(`verify_red_green.py`:消失的红测试算不绿)。同版第二遍按「没有断点」再走一次每个阶段的前置:G2 的裁决在 implement 再查(S 档跳过 cards 不跳签字)、l5 锁与红基线是 implement 的前置、红→绿证据与锁历史回放是 pr 的前置、校准报告按档编译进 acceptance、评审出口读 pr-poll 写的裁决文件、merge.sha 与 release.tag 问 git、契约有 human AC 时 G3 关不掉。冒烟主链跑在一个真的 git 仓库里。\n\nv1.7.0(2026-09-15)把插件放进一个真实团队仓库(Electron 桌面端,自带 harness)用了一遍,修了九处「默认假设和人家的仓库对不上」:`verify_pr.py --sections` 把 PR 语义槽映射到团队自己的模板(槽键封闭集、豁免要理由且逐条 flag、issue 链接 / 验证 / AC 映射只能挪不能免);同步检查的远端与 base 由跟踪分支和 `<remote>/HEAD` 解析,多远端无跟踪时记跳过而不是去比 origin;契约新增 `constraints.test_globs`,`advance g2` 带 `--repo` 检 forbidden_paths 是否真盖住了仓库里的测试文件(就近放 `*.spec.ts` 的仓库里 `tests/**` 一条都盖不住);`verify_release.py --scheme semver|calver|external`,SemVer 不再接受前导零;`doctor` 报会话里装的插件版本是否落后、宿主里与子 skill 同名 / 近名的 skill;scope 目录不存在时说出来;`verify_agent_map.py` 核对 `file:` 来路(文件在、行号不越界、`#\"原文\"` 仍逐字在源文件里)。每条都有正反两面的冒烟期望和变异证明。\n\nv1.10.0(2026-09-15,随 1.9.x 一起发)在 vana-builder 上真跑 /dos-extract 时,`inventory.py` 把 478 个 Vue 单文件组件扫成了零、把 spec 文件里的 mock 与全大写常量当成名词,而报告对此一声不吭:现在读 SFC 的 `<script>` 块,测试文件默认跳过并计数(`--include-tests`),常量进剪枝组,没有提取规则的语言按扩展名报「not scanned」。同一轮起草 agent-map 时发现 `verify_agent_map.py --probe` 会照跑一条清空本机应用数据的 E2E 命令:期望列 `no-probe: <理由>` 的行跳过并记 flag,理由必填,全套测试不许。probe 前比对 `.nvmrc` / `.node-version` 与当前 Node,不一致时出 flag 并在失败条目里提示先排除环境(vana 的 `npm test` 在 Node 25 上全挂,22.23.2 上 3147 条全过)。v1.11.0(2026-09-20)堵上「直接说冻结」这个口子:一张带未裁冲突的不变量卡,`lock_done_when.py sign` 原本照签不误、退出码 0——草稿该有的未决项被当成已定的法冻上了。现在 `verify_card.py --ready-to-sign` 把未裁的冲突 / 没人裁过的低置信条目 / 未过存活测试的条目从「草稿的未决项」升成拒并点名;`sign` 按形状认出不变量卡(有 `territory_id` + `hard_invariants`)自己去跑它,不过就拒签,`--force-unresolved --reason` 强签时把理由与未决项清单写进锁——一个没写下来的例外,和一次疏忽长得一模一样。\n\nv1.12.0(2026-09-20)加第 30 个 skill `/ratify`:V-15 让 `sign` 拒签带未决项的卡之后,缺的是把人**带过**这段仪式的东西——用户原话「还是需要 skill 的吧?不然我怎么同意呢?我不想手打命令」。纪律:未决项由 `agenda.py` 从**文件**里逐条读出呈现(不做有趣度筛选,同 notes --for-gate)、一条一条当场裁、裁决盖姓名与日期写回、再跑一次判据、最后才签;拖延(待定 / TBD)被脚本拒——它不是坏答案而是另一个去处(进 open_questions 带负责人)。签字只有两种身份:人自己签,或**受委托签署**且把人的授权原话写进锁文件;模型以 human 身份签字是伪造签名,不是省事。\n\n前身叫 sdlc,2026-09-08 改名;归档目录与历史报告保持原样未改写。",
  "version": "1.14.0",
  "author": {
    "name": "XRenSiu",
    "email": "[email protected]"
  },
  "homepage": "https://github.com/XRenSiu/claude-code-forge/tree/main/plugins/ai-dlc",
  "repository": "https://github.com/XRenSiu/claude-code-forge",
  "license": "MIT",
  "keywords": [
    "ai-dlc",
    "software-development-lifecycle",
    "github-issue",
    "conventional-commits",
    "pull-request",
    "pr-review-loop",
    "code-review",
    "review-autopilot",
    "done-when",
    "hash-lock",
    "task-cards",
    "failure-routing",
    "layered-budgets",
    "fingerprint-termination",
    "human-gates",
    "append-only-ledger",
    "skill-state",
    "wikiskill",
    "spec-loop",
    "static-only",
    "psl",
    "product-specification-language",
    "psl-derive",
    "derivation",
    "divergence-set",
    "dos-extract",
    "design-ontology-spec",
    "invariant-extract",
    "donewhen-extract",
    "spec-compile",
    "decidability-ladder",
    "calibrate",
    "mutation-score",
    "meta-gate",
    "world-adjudication",
    "acceptance-spec",
    "test-suite-generator",
    "acceptance-fleet",
    "code-reviewer",
    "qa-reviewer",
    "pm-reviewer",
    "spec-drift-detector",
    "spec-gaming-detector",
    "meta-judge",
    "ratchet",
    "four-state-ratchet",
    "ears-syntax",
    "reward-hacking-detection",
    "plan-cards",
    "implement",
    "release",
    "semver",
    "changelog",
    "rollback",
    "retro",
    "metrics",
    "done-when-v2",
    "two-stage-lock",
    "nine-rings",
    "loop-engineering",
    "graph-engineering",
    "execution-graph",
    "loop-contracts",
    "convergence-detection",
    "oscillation",
    "plateau",
    "impossible-under-contract",
    "decision-trace",
    "typed-edges",
    "hill-climbing",
    "tune",
    "harness-tuning",
    "native-triggers",
    "goal-loop",
    "stop-hook",
    "pre-review",
    "known-issues"
  ]
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[ai-dlc on Agent Plugins Marketplace](https://pluginsmp.com/plugins/ai-dlc)