sshlg-skills 1.71.0 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## v1.72.0 (2026-10-20): task-pipeline 1.98.0, the proportional run
2
+
3
+ - **Pin: task-pipeline 1.98.0.** A small change takes the short path by itself
4
+ (`scripts/short_path.py`); a run reads `SKILL.md` at entry and each reference on its
5
+ trigger (reading floor 236 KB to 35 KB on the short path); an R1 node certifies with one
6
+ verifier tier, a repeat round on an unchanged tree is refused and the ceiling parks the
7
+ node; the retro floor has a 12 KB budget (`scripts/retro_budget.py`), entries name a Class
8
+ and a Cost, and `learned.md` gains rules 33 to 39 from the 2026-10-20 survey of 54
9
+ retrospectives. Its three descriptions fell to 386-399 characters (B-154 closed).
10
+ - **Ratchets:** family description total 17,601 to 16,103; the 500 reserve's tight count 17 to 14.
11
+ - **Board:** B-242, a member installed in user plus local scopes is never upgraded.
12
+
1
13
  ## v1.71.0 (2026-10-20): ten members re-trimmed, the listing fits again
2
14
 
3
15
  - **Pins:** make-skill 0.33.0 (a description is a router: target 400, warning above 500,
package/README.md CHANGED
@@ -47,7 +47,7 @@ scripts. No services, no telemetry, no API keys.
47
47
  | Skill | Version | What it does |
48
48
  |---|---|---|
49
49
  | **[super-ux](https://github.com/ssheleg/super-ux)** | 0.63.0 | Scenario-driven UI development. A versioned design chain in `docs/ux/` — the product vision → personas and jobs → user flows → a screens-and-states map with Figma frames → traced scenarios → evidence-backed audits → fix plans, plus `docs/brand/` for how the product speaks. One `/ux` entry point that reaches every skill, two doc-drift linters and a contract doctor. |
50
- | **[task-pipeline](https://github.com/ssheleg/task-pipeline)** | 1.97.1 | Full-cycle delivery orchestrator. An intake grill interrogates the request into a complete brief, then **ten gated stages** carry it — docs, brainstorm and decompose, spec, plan, build, tests, deploy, post-deploy, wiki, acceptance — refusing to advance until each gate passes. Documentation is a deliverable with its own portable gate, and the retrospective it leaves behind is traceable to the commit that earned each lesson. Ships `project-audit`: a cold-start audit of a whole project — discovery, probes whose unmet needs read `blind` rather than clean, production evidence including one artefact served under two channels, and an HTML report beside a JSON sidecar that says what moved. |
50
+ | **[task-pipeline](https://github.com/ssheleg/task-pipeline)** | 1.98.0 | Full-cycle delivery orchestrator. An intake grill interrogates the request into a complete brief, then **ten gated stages** carry it — docs, brainstorm and decompose, spec, plan, build, tests, deploy, post-deploy, wiki, acceptance — refusing to advance until each gate passes. Documentation is a deliverable with its own portable gate, and the retrospective it leaves behind is traceable to the commit that earned each lesson. Ships `project-audit`: a cold-start audit of a whole project — discovery, probes whose unmet needs read `blind` rather than clean, production evidence including one artefact served under two channels, and an HTML report beside a JSON sidecar that says what moved. |
51
51
  | **[agent-sync](https://github.com/ssheleg/agent-sync)** | 1.23.0 | Several agents, one repository, no collisions. Leases with a TTL so two agents cannot claim the same work, race-free id reservation, a run journal and a generated board — over a pluggable knowledge cloud. The answer to "two sessions just committed over each other". |
52
52
  | **[make-skill](https://github.com/ssheleg/make-skill)** | 0.33.0 | A skill that builds skills. Create, retrofit, audit and publish agent skills and Claude Code plugins: conformance to the [Agent Skills](https://agentskills.io/specification) open standard, [Anthropic's platform rules](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) (per-surface runtime limits, the Skills API, evals) and the [Claude Code plugin reference](https://code.claude.com/docs/en/plugins-reference), marketplace layout, version sync, validator + CI, every distribution channel, the review checklist for third-party skills, and what a *skill author* must know about MCP and A2A — the protocols themselves live in `agent-stack`. |
53
53
  | **[sheleg-design](https://github.com/ssheleg/sheleg-design-skill)** | 1.66.0 | The taste layer. Cinematic scroll-driven landing pages — one scroll clock, motion that degrades to calm, WebGL particle formations — plus product-UI style packs each shipping a ready token layer, and the Figma border: tokens as variables, design to code without hand-copied values. |
@@ -1063,16 +1063,16 @@
1063
1063
  {
1064
1064
  "name": "task-pipeline",
1065
1065
  "repo": "ssheleg/task-pipeline",
1066
- "commit": "67715b0bf741f45a5040a581afee08d115bac580",
1067
- "version": "1.97.1",
1066
+ "commit": "53b322118d48c5cca42c73515a2a399943b188ef",
1067
+ "version": "1.98.0",
1068
1068
  "pluginInstall": "task-pipeline@task-pipeline",
1069
1069
  "pluginPath": "plugins/task-pipeline",
1070
1070
  "entry": {
1071
1071
  "name": "task-pipeline",
1072
1072
  "displayName": "Task Pipeline",
1073
1073
  "source": "./plugins/task-pipeline",
1074
- "description": "Runs a substantial task through a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine is built into the skill — no companion plugin required — with typed auto/judgment/manual gates, a frozen requirement spine that closes with evidence, a work board and a verification ledger that outlive a run, an exposure line naming what shipped unconfirmed, a progress rail computed from the project's own config, a loop guard whose review ceiling measures rather than stops, and stage-3 tracks for what a product does, how it sounds and how it looks. Two modes need no task: `checkup` (what is unverified) and `setup` (audit existing docs); a third, `waves`, takes the whole board and closes it in waves that each finish in one pass. Retro insights can publish upstream as issues, opt-in and redacted.",
1075
- "version": "1.97.1",
1074
+ "description": "Runs a substantial task through a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine is built into the skill — no companion plugin required — with typed auto/judgment/manual gates, a frozen requirement spine that closes with evidence, a work board and a verification ledger that outlive a run, an exposure line naming what shipped unconfirmed, a progress rail computed from the project's own config, a proportional short path for small changes, a loop guard whose ceilings stop and record a blocker, and stage-3 tracks for what a product does, how it sounds and how it looks. Two modes need no task: `checkup` (what is unverified) and `setup` (audit existing docs); a third, `waves`, takes the whole board and closes it in waves that each finish in one pass. Retro insights can publish upstream as issues, opt-in and redacted.",
1075
+ "version": "1.98.0",
1076
1076
  "author": {
1077
1077
  "name": "ssheleg",
1078
1078
  "url": "https://x.com/sshlg93"
@@ -1095,8 +1095,8 @@
1095
1095
  "files": [
1096
1096
  {
1097
1097
  "path": ".claude-plugin/plugin.json",
1098
- "sha256": "7fa2ae0fa4730563c288ecb6ee986d9b59602e0db91bf7dddda49cea4f3e1ddd",
1099
- "bytes": 1490
1098
+ "sha256": "712a8bf0bb8b9309a7bab54e59564d4516715f06007f2a8557f24b7cf42f05c2",
1099
+ "bytes": 1528
1100
1100
  },
1101
1101
  {
1102
1102
  "path": "agents/verifier-product.md",
@@ -1130,8 +1130,8 @@
1130
1130
  },
1131
1131
  {
1132
1132
  "path": "commands/task-pipeline.md",
1133
- "sha256": "90172d1b2d325e56e8d365e37023e1d21528d1ca1f06c9a1b7ecf501cb37a872",
1134
- "bytes": 14045
1133
+ "sha256": "7b73fbd7138a10d528e212d0b86215aa843a8c495abf4a840c7a01ac2d699eba",
1134
+ "bytes": 1481
1135
1135
  },
1136
1136
  {
1137
1137
  "path": "hooks/build-gate.sh",
@@ -1175,8 +1175,8 @@
1175
1175
  },
1176
1176
  {
1177
1177
  "path": "skills/evidence-docs/references/GENERATED.md",
1178
- "sha256": "352c733cda7175a39247dc5a43b573445c002be900ca13a85ded5f6d2cc9cf6b",
1179
- "bytes": 599
1178
+ "sha256": "5db1755db9a4e67ad79062c6fe7366b9adc807b3ad6972d890faafb93146fb76",
1179
+ "bytes": 684
1180
1180
  },
1181
1181
  {
1182
1182
  "path": "skills/evidence-docs/references/hooks.md",
@@ -1185,13 +1185,13 @@
1185
1185
  },
1186
1186
  {
1187
1187
  "path": "skills/evidence-docs/references/learned.md",
1188
- "sha256": "ca133eb8669e33ffc800139472c594d55b1ad91f4555251a4162c49bbb34bcd6",
1189
- "bytes": 33093
1188
+ "sha256": "a5b84167ae86772741b589c1dfd19a9df6e077e406f4dcb777d99b2375d8789e",
1189
+ "bytes": 36435
1190
1190
  },
1191
1191
  {
1192
1192
  "path": "skills/evidence-docs/references/retrospective.md",
1193
- "sha256": "9e3b0623d0ed5b4b141f271d7d3ccdbae4fc6b3fb181b7614de1b3c54c638b4f",
1194
- "bytes": 34725
1193
+ "sha256": "c9f1ba9467c92d7dcd4cb3a0cf280116e5678c7946d7100215892f51f0de889f",
1194
+ "bytes": 1300
1195
1195
  },
1196
1196
  {
1197
1197
  "path": "skills/evidence-docs/references/setup.md",
@@ -1200,8 +1200,8 @@
1200
1200
  },
1201
1201
  {
1202
1202
  "path": "skills/evidence-docs/SKILL.md",
1203
- "sha256": "f656ed03bc4dfec4e7a0809022838dc18e8a876905a26603ddb36b447fb83aee",
1204
- "bytes": 9294
1203
+ "sha256": "b8dbb0d19b07ea3c5f6e5934fcbe56b1b1717a2438ba92edc216ec48a1c509c1",
1204
+ "bytes": 9846
1205
1205
  },
1206
1206
  {
1207
1207
  "path": "skills/evidence-docs/templates/decisions.md",
@@ -1230,8 +1230,8 @@
1230
1230
  },
1231
1231
  {
1232
1232
  "path": "skills/project-audit/SKILL.md",
1233
- "sha256": "2578d22abc3fc6ffccfc55b9c63ed95edbb017b5cb61600a81553d910819fc5d",
1234
- "bytes": 19408
1233
+ "sha256": "858c7deebaa0b532551ddc3747bd5f3ce7eaa8f59ed88c4f1d541658dcfd92e9",
1234
+ "bytes": 19982
1235
1235
  },
1236
1236
  {
1237
1237
  "path": "skills/task-pipeline/assets/verifier-product.md",
@@ -1285,23 +1285,23 @@
1285
1285
  },
1286
1286
  {
1287
1287
  "path": "skills/task-pipeline/graph.schema.json",
1288
- "sha256": "72b6cb94f5b6eaefa6b7f6d1a1373284cfe2fe315526dd7be79bbfb82b5b4c55",
1289
- "bytes": 27411
1288
+ "sha256": "29d41d1b7b22df87c7e5cf88c19253814d67b612470e2cd439c15293d0a86e09",
1289
+ "bytes": 27505
1290
1290
  },
1291
1291
  {
1292
1292
  "path": "skills/task-pipeline/pipeline.example.json",
1293
- "sha256": "4a67e7259e6414c53a269baa579935026c955355ea1090aea575418be05b0069",
1294
- "bytes": 25596
1293
+ "sha256": "253d7f3b83516933660b61e55b8756019caae182d759a2f1c5a21af9a0aba6d4",
1294
+ "bytes": 25974
1295
1295
  },
1296
1296
  {
1297
1297
  "path": "skills/task-pipeline/pipeline.schema.json",
1298
- "sha256": "4ce237089c9c3c507e5d3fa36f093feca4f5289f6d0867debf2645c4959bd9d3",
1299
- "bytes": 20061
1298
+ "sha256": "c48334fcc20bf73e9660870db299d4f4ea4c537a9f06800d681e6e0ff7245a3a",
1299
+ "bytes": 20488
1300
1300
  },
1301
1301
  {
1302
1302
  "path": "skills/task-pipeline/references/acceptance.md",
1303
- "sha256": "dc162d9b16b166d1e7aa306d7e89d5632d4ba9ff0c0d2e559345dca114f63ae3",
1304
- "bytes": 25794
1303
+ "sha256": "5d98f140690375b943885fc504f013da702231cce60dfb19b160be1405c39b23",
1304
+ "bytes": 25790
1305
1305
  },
1306
1306
  {
1307
1307
  "path": "skills/task-pipeline/references/adoption.md",
@@ -1325,8 +1325,8 @@
1325
1325
  },
1326
1326
  {
1327
1327
  "path": "skills/task-pipeline/references/brainstorm.md",
1328
- "sha256": "7fd80a8eaa369800831c6c264f2f618e9dca84946240bca48aa1ed9ebbfab544",
1329
- "bytes": 9047
1328
+ "sha256": "8ccdb35e99868a2558540bea4562b9fb39f50ef0cc0d1dbb4e748b9ea36006ed",
1329
+ "bytes": 9138
1330
1330
  },
1331
1331
  {
1332
1332
  "path": "skills/task-pipeline/references/browser.md",
@@ -1335,13 +1335,13 @@
1335
1335
  },
1336
1336
  {
1337
1337
  "path": "skills/task-pipeline/references/build.md",
1338
- "sha256": "871f6cbf23b1a8fb4f90b995790212b70861c48b1f532a132119d71d34d2734c",
1339
- "bytes": 39260
1338
+ "sha256": "eae704e0f2d6ddf7cca80ee6a7a3c1a123f2cdedd3ea48994a1df65f78250f83",
1339
+ "bytes": 39315
1340
1340
  },
1341
1341
  {
1342
1342
  "path": "skills/task-pipeline/references/certification.md",
1343
- "sha256": "f2e17340db35ef2bd4c8da54c1c289d3e54a4f11a5f6a445ba2055a02c48e672",
1344
- "bytes": 17267
1343
+ "sha256": "fe75a55722dac2eb49e1038623affec2e0cf7564eb095f3bf9147fa67d48a9e6",
1344
+ "bytes": 17981
1345
1345
  },
1346
1346
  {
1347
1347
  "path": "skills/task-pipeline/references/companion-skills.md",
@@ -1370,8 +1370,8 @@
1370
1370
  },
1371
1371
  {
1372
1372
  "path": "skills/task-pipeline/references/doctrine-map.md",
1373
- "sha256": "8c2a4ebb23f00068ed351dd890e12cd44eec5df86b5f735f559c1a43cc82e9ea",
1374
- "bytes": 5187
1373
+ "sha256": "7a3d933f1bc0f01701d073cbc1af8168ad78e4891f62767c8d67b99402e88f6c",
1374
+ "bytes": 5188
1375
1375
  },
1376
1376
  {
1377
1377
  "path": "skills/task-pipeline/references/documentation.md",
@@ -1385,8 +1385,8 @@
1385
1385
  },
1386
1386
  {
1387
1387
  "path": "skills/task-pipeline/references/finish-line.md",
1388
- "sha256": "a63a4e6997451b5ba96aaa140bfaef638349fc657f04c6e18dbbb3b3a7a9139c",
1389
- "bytes": 6975
1388
+ "sha256": "f44e710fcb5a7dc99a3cc7ea977c7942c4ce0f53b87969d6bd1f6807fffb8300",
1389
+ "bytes": 7304
1390
1390
  },
1391
1391
  {
1392
1392
  "path": "skills/task-pipeline/references/gates.md",
@@ -1405,8 +1405,8 @@
1405
1405
  },
1406
1406
  {
1407
1407
  "path": "skills/task-pipeline/references/iteration.md",
1408
- "sha256": "c325d6e0981865966019830a01d292762df1b32dfed44485d2b685fb0bab5c68",
1409
- "bytes": 25480
1408
+ "sha256": "c6bdb1f0c6537185a0fb3855c2a01b358b3cb91df564f19a9a28731d6d9a5af8",
1409
+ "bytes": 25116
1410
1410
  },
1411
1411
  {
1412
1412
  "path": "skills/task-pipeline/references/knowledge-graph.md",
@@ -1415,18 +1415,18 @@
1415
1415
  },
1416
1416
  {
1417
1417
  "path": "skills/task-pipeline/references/knowledge-sources.md",
1418
- "sha256": "0bb0364f1993ad3e825f6f8425165c437f21cafce558983385b0eaf78df38a24",
1419
- "bytes": 24700
1418
+ "sha256": "0b88ab79bb07570c03c5889bdf96d1643d39d4c39ab97cacc84e3fb4d0fdbe3f",
1419
+ "bytes": 24949
1420
1420
  },
1421
1421
  {
1422
1422
  "path": "skills/task-pipeline/references/learned.md",
1423
- "sha256": "cbc5d5c53275875df97dabf7bbd409b7cfa400cf0f1dcb2704e83a5e5c9bb247",
1424
- "bytes": 31938
1423
+ "sha256": "ff82150a71ec1f39031ed1d48c6f37ee7fb23d7a1ec20aadf4e081babde57283",
1424
+ "bytes": 35175
1425
1425
  },
1426
1426
  {
1427
1427
  "path": "skills/task-pipeline/references/loop-guard.md",
1428
- "sha256": "1a62dde018bc1783baf6ecd1a808ce46065185007090e275aad8a50e48cbb961",
1429
- "bytes": 11797
1428
+ "sha256": "f11c0e8974e6f938fcc8d9552e8801a0bd424309fa7857057e7046928572a3f2",
1429
+ "bytes": 12455
1430
1430
  },
1431
1431
  {
1432
1432
  "path": "skills/task-pipeline/references/model-tiering.md",
@@ -1465,8 +1465,8 @@
1465
1465
  },
1466
1466
  {
1467
1467
  "path": "skills/task-pipeline/references/retrospective.md",
1468
- "sha256": "4b8c6b3ccc156252847c65947aa3b2fdf66e1d9ab4bc2853765f421337010fac",
1469
- "bytes": 33913
1468
+ "sha256": "98f7c681065604e347531075b0f711d03d21be0d004f486b1d0d58b9a8f95247",
1469
+ "bytes": 37119
1470
1470
  },
1471
1471
  {
1472
1472
  "path": "skills/task-pipeline/references/review.md",
@@ -1480,13 +1480,13 @@
1480
1480
  },
1481
1481
  {
1482
1482
  "path": "skills/task-pipeline/references/spec.md",
1483
- "sha256": "d2651b02ac11392903b1ba5510869cec499d3f96a89e0c61b7e5ab5fac24b425",
1484
- "bytes": 19215
1483
+ "sha256": "f1bd6684f57b6314a3dcd85370e1e8e2fe640c9a4bedc62b00a73776442ec03d",
1484
+ "bytes": 19382
1485
1485
  },
1486
1486
  {
1487
1487
  "path": "skills/task-pipeline/references/stage-00-intake.md",
1488
- "sha256": "4e255a02436c329d22c4b37e0aa4110d16fbc4870148c891f7331e67db553e0c",
1489
- "bytes": 11576
1488
+ "sha256": "0a16e432a2b1a1f7bdb19b9e58594173df79ca3eb4d23230434a3fe08cc1efb0",
1489
+ "bytes": 12814
1490
1490
  },
1491
1491
  {
1492
1492
  "path": "skills/task-pipeline/references/stage-01-docs-study.md",
@@ -1510,8 +1510,8 @@
1510
1510
  },
1511
1511
  {
1512
1512
  "path": "skills/task-pipeline/references/stage-05-dev.md",
1513
- "sha256": "53fb7e15760fd42b0a17ef20c4be8a5d5bc3e911dc469d6d255b3d700c11b648",
1514
- "bytes": 4227
1513
+ "sha256": "b8e9087ec9c463e9f26929f2227d0c62425031524b8c1c9298915b140b9c9014",
1514
+ "bytes": 4228
1515
1515
  },
1516
1516
  {
1517
1517
  "path": "skills/task-pipeline/references/stage-06-tests.md",
@@ -1540,8 +1540,8 @@
1540
1540
  },
1541
1541
  {
1542
1542
  "path": "skills/task-pipeline/references/stages.md",
1543
- "sha256": "d3b504e5c5718727acabd3fe7d546cb4f419ad153575915fbf980f4ba4d1a985",
1544
- "bytes": 35867
1543
+ "sha256": "367dc50da058fada142ee8bf4b3036bf7f00c92d58700f547083656caea09622",
1544
+ "bytes": 36835
1545
1545
  },
1546
1546
  {
1547
1547
  "path": "skills/task-pipeline/references/tdd.md",
@@ -1555,8 +1555,8 @@
1555
1555
  },
1556
1556
  {
1557
1557
  "path": "skills/task-pipeline/references/waves.md",
1558
- "sha256": "0540ba5a052c1ab69065d6012ebf8ec69a3494fbd229cf7226ba3517af06bfa1",
1559
- "bytes": 17641
1558
+ "sha256": "bb436d30ca6c773602f5a3d1cd4a8f9996b3ac6c89fc2797e7a16d484df1c117",
1559
+ "bytes": 17799
1560
1560
  },
1561
1561
  {
1562
1562
  "path": "skills/task-pipeline/references/work-graph.md",
@@ -1580,8 +1580,8 @@
1580
1580
  },
1581
1581
  {
1582
1582
  "path": "skills/task-pipeline/scripts/graph.py",
1583
- "sha256": "f07abf42a455676a7ca8e733bcaab371cecedb29fb16f594895b9c15a1b4b736",
1584
- "bytes": 111655
1583
+ "sha256": "fa9f7c50284c2e813191a037306e80d3f89e7d50d78bc66fe118fecf7d7403c6",
1584
+ "bytes": 114945
1585
1585
  },
1586
1586
  {
1587
1587
  "path": "skills/task-pipeline/scripts/lessons.py",
@@ -1598,6 +1598,16 @@
1598
1598
  "sha256": "0c1c2a55b9907147c9f8f5dc9075f67b050df6d79581eef4dca4c89ec33e8728",
1599
1599
  "bytes": 17215
1600
1600
  },
1601
+ {
1602
+ "path": "skills/task-pipeline/scripts/retro_budget.py",
1603
+ "sha256": "0ceaec6a7d041616293923a7b4b83bfca09fe778c6e88950a0893e40a4e80e6a",
1604
+ "bytes": 11828
1605
+ },
1606
+ {
1607
+ "path": "skills/task-pipeline/scripts/short_path.py",
1608
+ "sha256": "f68c572d4c016fa9809b7ee84c8746e6235ec475b60a6caf3fe8c555e54dcfbf",
1609
+ "bytes": 2671
1610
+ },
1601
1611
  {
1602
1612
  "path": "skills/task-pipeline/scripts/stage_checkpoint.py",
1603
1613
  "sha256": "5515ea6640751c4856f56e8416eb3020df6cf5a33831aef07e4a601d72547adc",
@@ -1610,13 +1620,13 @@
1610
1620
  },
1611
1621
  {
1612
1622
  "path": "skills/task-pipeline/scripts/waves.py",
1613
- "sha256": "937bd11092e0765cde2bda4f84a4932f056fc8b3cad8233678241e24f3a18223",
1614
- "bytes": 39837
1623
+ "sha256": "1d90fca5959679bbcd99c3f25f3b3e9e95c0a7673d0fe3d6a4b1583f819e4538",
1624
+ "bytes": 40718
1615
1625
  },
1616
1626
  {
1617
1627
  "path": "skills/task-pipeline/SKILL.md",
1618
- "sha256": "3054cbd174efd2779df62facb2b199ffda275e34eb0d7d39f3abb834596c19c3",
1619
- "bytes": 21033
1628
+ "sha256": "6bcf25482327802ea5beffd78bc221d0011a4288db460eb78deb4737e902d3c0",
1629
+ "bytes": 16195
1620
1630
  },
1621
1631
  {
1622
1632
  "path": "skills/task-pipeline/templates/adr.md",
@@ -1645,8 +1655,8 @@
1645
1655
  },
1646
1656
  {
1647
1657
  "path": "skills/task-pipeline/templates/canvas.md",
1648
- "sha256": "2538229860f9f21f0d47a55b865db1487d1ea594e160364d91b3b786b23bd179",
1649
- "bytes": 3485
1658
+ "sha256": "4bfb2c40ccbea5b422f7371fabf4f42933d369f710f2a5536ffb47e204fb5c00",
1659
+ "bytes": 3495
1650
1660
  },
1651
1661
  {
1652
1662
  "path": "skills/task-pipeline/templates/carryover.md",
@@ -1730,13 +1740,13 @@
1730
1740
  },
1731
1741
  {
1732
1742
  "path": "skills/task-pipeline/templates/retro-archive.md",
1733
- "sha256": "8028077cf0b1a77a4b2d00155faf4ae133992748e079dc847f76f2df797bd35b",
1734
- "bytes": 2453
1743
+ "sha256": "5a2b7993e9f528ebf9b061b2031a5ad88e89bd4423222e3d9d2397305e50fce4",
1744
+ "bytes": 2912
1735
1745
  },
1736
1746
  {
1737
1747
  "path": "skills/task-pipeline/templates/retro.md",
1738
- "sha256": "118a4f44fc2dbd41310b626ab96bce3c5314044ebee9de106d1bbc3a752c6e43",
1739
- "bytes": 4384
1748
+ "sha256": "e513514cba82caed82b46a6c751eaeda412630d628d8a1d41da744b0e9d330e8",
1749
+ "bytes": 5031
1740
1750
  },
1741
1751
  {
1742
1752
  "path": "skills/task-pipeline/templates/routing-rule.md",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sshlg-skills",
3
- "version": "1.71.0",
3
+ "version": "1.72.0",
4
4
  "skillsCli": "skills@1.7.2",
5
5
  "description": "The ssheleg harness skill layer: routing, delivery gates, specialist skills and durable handoffs for coding agents.",
6
6
  "bin": {
package/skills.json CHANGED
@@ -76,13 +76,13 @@
76
76
  "evidence-docs",
77
77
  "project-audit"
78
78
  ],
79
- "version": "1.97.1",
79
+ "version": "1.98.0",
80
80
  "entry": "/task-pipeline",
81
81
  "role": "how a change reaches the repository",
82
82
  "npm": "task-pipeline-skill",
83
83
  "shape": "static",
84
84
  "shapeWhy": "The stage list is decided before the run and stays decided, because stage 10 has to account for what ran. THREE places discover structure, and they do not land the same way: the module map and the carry-over ledger are committed artifacts, and since v1.69.0 the work graph is a third — `.task-pipeline/graph.json`, mutated mid-run by `graph.py add` and deliberately NOT committed. Every mutation records why it happened, which is what keeps a run from explaining its completion by a plan that existed only at the end; that the graph itself does not survive the run is an open row rather than a settled decision.",
85
- "commit": "67715b0bf741f45a5040a581afee08d115bac580"
85
+ "commit": "53b322118d48c5cca42c73515a2a399943b188ef"
86
86
  },
87
87
  {
88
88
  "name": "agent-sync",