Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kanfu-panda/pdlc-skills --skill pdlc-retrogit clone --depth 1 https://github.com/kanfu-panda/pdlc-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kanfu-panda/pdlc-skills/pdlc-retro)<a href="https://agentmods.dev/skills/kanfu-panda/pdlc-skills/pdlc-retro"><img src="https://agentmods.dev/badge/skills/kanfu-panda/pdlc-skills/pdlc-retro/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kanfu-panda/pdlc-skills/pdlc-retro"><img src="https://agentmods.dev/badge/skills/kanfu-panda/pdlc-skills/pdlc-retro.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01495 |
| Opus 5 | $0.00000 | $0.00747 |
| Sonnet 5 | $0.00000 | $0.00299 |
| Haiku 4.5 | $0.00000 | $0.00150 |
Grade A, and why
pdlc-retro scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PDLC 迭代复盘
读取 docs/.pdlc-state/ 下的状态机历史,按时间范围聚合,生成趋势复盘报告。
段一:聚合统计
1.1 参数解析
--range <N>d | all:时间窗口(默认30d)--feature <feature-id>:只看单个功能的时间线(输出 history 详情而非聚合)
1.2 读取与过滤
- 列出
docs/.pdlc-state/*.json(跳过_前缀的索引文件与statusline.json) - 跑契约体检(见上方「读状态机之前:先做契约体检」),结果写进报告开头的「输入契约体检」节
- 按
created_at过滤到时间窗口内。缺created_at的文件改用history末条done_at——这是口径替换,必须计入体检块,不得静默 - 解析每份文件的
history数组
1.3 计算指标
对时间窗口内的所有功能聚合:
交付量:
- 完成功能数:
current_stage以_done结尾——判终态的唯一依据,不看terminal_state(它是目标不是事实)、不用封闭列表 - 修复缺陷数:
feature_id以B开头(契约口径)。体检报id-prefix-mismatch的文件在体检块点名,不据此改口径——两个口径打架时,报出来比悄悄挑一个更有用
质量趋势:
- 每阶段自检通过率(
passed / (passed + failed + manual));某阶段一条自检记录都没有 → 写「无数据」,不写 0% - 各阶段自检平均
failed、manual数 - 行按阶段短名:
stage-alias按别名→短名归一化后计数(归一化了哪些写进体检块);stage-unknown单独成行,不并入任何阶段
阶段耗时:
- 相邻 history 条目的
done_at差值作为阶段耗时,输出各阶段中位数 - 任一端时间戳没有时刻(体检报
timestamp-no-time)→ 该间隔不可测,不计入中位数;全部不可测 → 整节写「不可测:<原因>」。不得输出 0.0h——它会被读成「快到不耗时」,实际是精度不够
卡点案例:
- 自检
failed > 2或manual > 1的阶段 - 同一阶段耗时 > 3 天的功能
段二:自检
复盘报告自检清单:
- 时间窗口正确(参数解析无误)
- 数值可加总(交付量、质量趋势)
- 列出了至少 1 个卡点案例或明确说明"无卡点"
- 体检有偏差时,报告开头有「输入契约体检」节,且后文计算没有再用已声明忽略的字段(如
terminal_state) - 阶段耗时没有把「不可测」写成 0.0h
段三:生成报告文件
- 确定输出路径:
docs/07_reviews/retro/<YYYY-MM>-retro.md(按当月归档) - 写入模板:
# <YYYY-MM> PDLC 迭代复盘
> 时间窗口:<起> ~ <止>
> 生成时间:<ISO 时间>
## 输入契约体检
(仅在体检有偏差或无法体检时出现;按「偏差类 × 份数 × 处理方式」汇总,放在全文最前面)
## 交付量
- 完成功能:<N> 个
- 修复缺陷:<M> 个
## 质量趋势
| 阶段 | 自检通过率 | 平均失败数 | 平均人工介入数 |
|------|----------|------------|--------------|
| requirements | XX% | N.N | N.N |
| design | XX% | N.N | N.N |
| tdd | XX% | N.N | N.N |
| impl | XX% | N.N | N.N |
| review | XX% | N.N | N.N |
## 阶段耗时中位数
- 需求: X.Xh 设计: X.Xh TDD: X.Xh 实现: X.Xh 评审: X.Xh
(时间戳缺时刻导致不可测时,写「不可测:<原因>」,不写 0.0h)
## 卡点案例
- <feature-id> 在 <stage> 阶段: <原因>
## 值得保留的做法
- <从高通过率/低耗时的功能中提炼>
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +11 lines 91e25dbb39a8
- 12d ago First seen · 117 lines · 0 tokens per session scan A 3415eab67ae4
pdlc-retro is a skill published in the GitHub repository kanfu-panda/pdlc-skills (13 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,495 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
postgres-database-migration
Use this skill for planning, testing, and safely executing PostgreSQL schema migrations — especially when working with production data or shared databases. Trigger when user asks to: Test a schema migration before applying it to production Add, remove, or rename columns safely on a live table Change a column's data…
setup-timescaledb-hypertables
Use this skill when creating database schemas or tables for Timescale, TimescaleDB, TigerData, or Tiger Cloud, especially for time-series, IoT, metrics, events, or log data. Use this to improve the performance of any insert-heavy table. Trigger when user asks to: Create or design SQL schemas/tables AND…
design-postgis-tables
Comprehensive PostGIS spatial table design reference covering geometry types, coordinate systems, spatial indexing, and performance patterns for location-based applications.
migrate-postgres-tables-to-hypertables
Use this skill to migrate identified PostgreSQL tables to Timescale/TimescaleDB hypertables with optimal configuration and validation. Trigger when user asks to: Migrate or convert PostgreSQL tables to hypertables Execute hypertable migration with minimal downtime Plan blue-green migration for large tables Validate…
pgvector-semantic-search
Use this skill for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search. Trigger when user asks to: Store or search vector embeddings in PostgreSQL Set up semantic search, similarity search, or nearest neighbor search Create HNSW or IVFFlat indexes for vectors…
find-hypertable-candidates
Use this skill to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables. Trigger when user asks to: Analyze database tables for hypertable conversion potential Identify time-series or event tables in an existing schema Evaluate if a table would…