skilldrop-cli 1.3.0 → 1.4.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.
Files changed (172) hide show
  1. package/README.md +4 -4
  2. package/catalogue.json +4 -4
  3. package/model-routing.json +62 -70
  4. package/package.json +1 -1
  5. package/packs/ai-engineering/skills/agent-adoption-stage/SKILL.md +0 -1
  6. package/packs/ai-engineering/skills/agent-adoption-stage/manifest.json +3 -4
  7. package/packs/ai-engineering/skills/ai-adoption-rollout/SKILL.md +0 -1
  8. package/packs/ai-engineering/skills/ai-adoption-rollout/manifest.json +3 -4
  9. package/packs/ai-engineering/skills/ai-readiness-assessment/SKILL.md +0 -1
  10. package/packs/ai-engineering/skills/ai-readiness-assessment/manifest.json +1 -2
  11. package/packs/ai-engineering/skills/ai-use-case-triage/manifest.json +3 -3
  12. package/packs/ai-engineering/skills/judge-audit/SKILL.md +1 -2
  13. package/packs/ai-engineering/skills/judge-audit/manifest.json +1 -2
  14. package/packs/ai-engineering/skills/llm-eval-harness/SKILL.md +1 -2
  15. package/packs/ai-engineering/skills/llm-eval-harness/manifest.json +3 -3
  16. package/packs/api-builder/skills/tool-use-schema-writer/manifest.json +2 -2
  17. package/packs/career/loops/apply/evals/evals.json +28 -0
  18. package/packs/career/loops/apply/evals/files/apply-candidate-decided-full-run/application-form.md +10 -0
  19. package/packs/career/loops/apply/evals/files/apply-candidate-decided-full-run/job-posting.md +33 -0
  20. package/packs/career/loops/apply/evals/files/apply-candidate-decided-full-run/resume.md +34 -0
  21. package/packs/career/loops/apply/evals/files/apply-fit-gate-hard-requirement/cv.md +27 -0
  22. package/packs/career/loops/apply/evals/files/apply-fit-gate-hard-requirement/warehouse-supervisor.md +30 -0
  23. package/packs/career/skills/application-form-answers/manifest.json +3 -3
  24. package/packs/career/skills/cover-letter/manifest.json +3 -3
  25. package/packs/career/skills/resume-tailor/manifest.json +3 -3
  26. package/packs/converters/skills/md-to-docx/manifest.json +3 -3
  27. package/packs/core/loops/ship-a-draft/evals/evals.json +28 -0
  28. package/packs/core/loops/ship-a-draft/evals/files/ship-a-draft-adr-from-thread/slack-thread.txt +47 -0
  29. package/packs/core/loops/ship-a-draft/evals/files/ship-a-draft-announcement-unsettled/ticket-PRD-412.md +44 -0
  30. package/packs/core/skills/output-hygiene/manifest.json +3 -3
  31. package/packs/data-analytics/loops/measure/evals/evals.json +30 -0
  32. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/schema.md +43 -0
  33. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/sql/finance_active_customers.sql +7 -0
  34. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/sql/growth_active_customers.sql +9 -0
  35. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/thread.md +30 -0
  36. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/request.md +34 -0
  37. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/schema.md +58 -0
  38. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/sql/active_subscribers.sql +17 -0
  39. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/sql/net_revenue_by_plan.sql +15 -0
  40. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/sql/weekly_churn_rate.sql +34 -0
  41. package/packs/data-analytics/skills/dashboard-spec/SKILL.md +0 -1
  42. package/packs/data-analytics/skills/dashboard-spec/manifest.json +1 -2
  43. package/packs/design/skills/slide-outliner/manifest.json +2 -2
  44. package/packs/dev-team/loops/build/evals/evals.json +28 -0
  45. package/packs/dev-team/loops/build/evals/files/build-promo-codes/.github/workflows/ci.yml.fixture +19 -0
  46. package/packs/dev-team/loops/build/evals/files/build-promo-codes/cartcalc/__init__.py +4 -0
  47. package/packs/dev-team/loops/build/evals/files/build-promo-codes/cartcalc/pricing.py +47 -0
  48. package/packs/dev-team/loops/build/evals/files/build-promo-codes/pyproject.toml.fixture +9 -0
  49. package/packs/dev-team/loops/build/evals/files/build-promo-codes/story.md +61 -0
  50. package/packs/dev-team/loops/build/evals/files/build-promo-codes/tests/__init__.py +0 -0
  51. package/packs/dev-team/loops/build/evals/files/build-promo-codes/tests/test_pricing.py +49 -0
  52. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/.github/workflows/ci.yml.fixture +19 -0
  53. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/bug-report.md +25 -0
  54. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/pr-description.md +42 -0
  55. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/pyproject.toml.fixture +9 -0
  56. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/ratelimit/__init__.py +4 -0
  57. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/ratelimit/bucket.py +49 -0
  58. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/tests/__init__.py +0 -0
  59. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/tests/test_bucket.py +63 -0
  60. package/packs/dev-team/loops/modernize/evals/evals.json +30 -0
  61. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/.github/workflows/ci.yml.fixture +11 -0
  62. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/README.md +17 -0
  63. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/docs/adr/0004-late-fee-calculation.md +25 -0
  64. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/legacy/feecalc.py +74 -0
  65. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/samples/accounts_2026-10.txt +10 -0
  66. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/samples/accounts_edge.txt +11 -0
  67. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/tests/test_feecalc_smoke.py +21 -0
  68. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/.github/workflows/ci.yml.fixture +11 -0
  69. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/PR-412.md +24 -0
  70. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/README.md +17 -0
  71. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/docs/adr/0004-late-fee-calculation.md +25 -0
  72. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/__init__.py +1 -0
  73. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/cli.py +33 -0
  74. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/extract.py +33 -0
  75. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/rules.py +39 -0
  76. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/legacy/feecalc.py +74 -0
  77. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/samples/accounts_2026-10.txt +10 -0
  78. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/samples/accounts_edge.txt +11 -0
  79. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/tests/test_feecalc_smoke.py +21 -0
  80. package/packs/dev-team/loops/release/evals/eval_queries.json +10 -0
  81. package/packs/dev-team/loops/release/evals/evals.json +34 -0
  82. package/packs/dev-team/loops/release/evals/files/release-irreversible-tomorrow/0061_switch_to_haldrin_tokens.sql +22 -0
  83. package/packs/dev-team/loops/release/evals/files/release-irreversible-tomorrow/eng-notes.md +40 -0
  84. package/packs/dev-team/loops/release/evals/files/release-irreversible-tomorrow/merged-prs.md +13 -0
  85. package/packs/dev-team/loops/release/evals/files/release-saved-searches/merged-prs.md +13 -0
  86. package/packs/dev-team/loops/release/evals/files/release-saved-searches/readiness-evidence.md +27 -0
  87. package/packs/dev-team/loops/release/evals/files/release-saved-searches/traffic-baseline.md +23 -0
  88. package/packs/dev-team/skills/feature-implement-loop/manifest.json +2 -2
  89. package/packs/dev-team/skills/pr-description-writer/manifest.json +3 -3
  90. package/packs/dev-team/skills/pre-merge-review/manifest.json +2 -2
  91. package/packs/dev-team/skills/release-notes/manifest.json +2 -2
  92. package/packs/dev-team/skills/test-plan-generator/manifest.json +2 -2
  93. package/packs/experience-design/skills/service-blueprint/manifest.json +3 -3
  94. package/packs/experience-design/skills/ux-writing/manifest.json +3 -3
  95. package/packs/grc/loops/comply/evals/evals.json +29 -0
  96. package/packs/grc/loops/comply/evals/files/comply-chat-vendor-launch/vendor-brief.md +72 -0
  97. package/packs/grc/loops/comply/evals/files/comply-loyalty-app-unowned-risks/launch-note.md +31 -0
  98. package/packs/grc/loops/comply/evals/files/comply-loyalty-app-unowned-risks/risk-register.csv +6 -0
  99. package/packs/infra-as-code/skills/terraform-module/manifest.json +3 -3
  100. package/packs/product-manager/loops/discover/evals/evals.json +28 -0
  101. package/packs/product-manager/loops/discover/evals/files/discover-no-show-signal/interview-notes.md +63 -0
  102. package/packs/product-manager/loops/discover/evals/files/discover-no-show-signal/support-tickets.csv +13 -0
  103. package/packs/product-manager/loops/discover/evals/files/discover-vp-loyalty-no-evidence/vp-message.txt +13 -0
  104. package/packs/product-manager/skills/user-journey-map/manifest.json +2 -2
  105. package/packs/research/loops/research/evals/evals.json +28 -0
  106. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t1-ticket-volume.md +15 -0
  107. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t2-release-notes-4-2.md +11 -0
  108. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t3-billing-migration.md +12 -0
  109. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t4-agent-poll.md +11 -0
  110. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t5-app-store-reviews.md +12 -0
  111. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s1-analytics-export.md +29 -0
  112. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s2-email-delivery-report.md +25 -0
  113. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s3-pricing-changelog.md +9 -0
  114. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s4-trial-interview-notes.md +21 -0
  115. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s5-competitor-note.md +9 -0
  116. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s6-weekly-growth-recap.md +7 -0
  117. package/packs/research/skills/research-plan/manifest.json +3 -3
  118. package/packs/research/skills/source-synthesis/manifest.json +3 -3
  119. package/packs/skill-engineering/skills/skill-author/manifest.json +3 -3
  120. package/packs/solution-architect/loops/design/evals/evals.json +28 -0
  121. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/adr/0001-postgres-system-of-record.md +23 -0
  122. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/adr/0002-background-work-via-job-queue.md +23 -0
  123. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/adr/0003-tenant-isolation-row-level.md +25 -0
  124. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/prd-bulk-export.md +50 -0
  125. package/packs/solution-architect/loops/design/evals/files/design-draft-prd-webhooks/adr/0002-background-work-via-job-queue.md +23 -0
  126. package/packs/solution-architect/loops/design/evals/files/design-draft-prd-webhooks/adr/0004-new-stateful-infra-needs-platform-signoff.md +22 -0
  127. package/packs/solution-architect/loops/design/evals/files/design-draft-prd-webhooks/prd-partner-webhooks.md +36 -0
  128. package/packs/solution-architect/skills/api-contract-draft/manifest.json +3 -3
  129. package/packs/solution-architect/skills/architecture-diagrams/manifest.json +3 -3
  130. package/packs/solution-architect/skills/design-doc/manifest.json +2 -2
  131. package/packs/solution-architect/skills/figma-diagrams/manifest.json +3 -3
  132. package/packs/sre-oncall/loops/operate/evals/evals.json +28 -0
  133. package/packs/sre-oncall/loops/operate/evals/files/operate-export-service-first-outage/alerts.log +22 -0
  134. package/packs/sre-oncall/loops/operate/evals/files/operate-export-service-first-outage/incident-chat.txt +27 -0
  135. package/packs/sre-oncall/loops/operate/evals/files/operate-export-service-first-outage/service-notes.md +46 -0
  136. package/packs/sre-oncall/loops/operate/evals/files/operate-incident-still-open/oncall-log.txt +17 -0
  137. package/packs/sre-oncall/loops/operate/evals/files/operate-incident-still-open/runbook-webhooks.md +38 -0
  138. package/packs/sre-oncall/skills/cloud-cost-review/SKILL.md +0 -1
  139. package/packs/sre-oncall/skills/cloud-cost-review/manifest.json +1 -2
  140. package/packs/sre-oncall/skills/delivery-metrics-report/SKILL.md +0 -1
  141. package/packs/sre-oncall/skills/delivery-metrics-report/manifest.json +1 -2
  142. package/packs/sre-oncall/skills/incident-comms/manifest.json +2 -2
  143. package/packs/sre-oncall/skills/postmortem-generator/manifest.json +2 -2
  144. package/packs/stakeholder-comms/skills/decision-log/manifest.json +2 -2
  145. package/packs/trackers/skills/team-status-report/manifest.json +3 -3
  146. package/packs/ai-engineering/skills/ai-usage-report/SKILL.md +0 -111
  147. package/packs/ai-engineering/skills/ai-usage-report/evals/eval_queries.json +0 -30
  148. package/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +0 -46
  149. package/packs/ai-engineering/skills/ai-usage-report/evals/files/1/northwind-ai-events.csv +0 -4213
  150. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/draftwell-events.csv +0 -249
  151. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/export-note.md +0 -9
  152. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/published-assets.csv +0 -44
  153. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/team-roster.md +0 -10
  154. package/packs/ai-engineering/skills/ai-usage-report/examples/weekly-engineering-team.md +0 -133
  155. package/packs/ai-engineering/skills/ai-usage-report/manifest.json +0 -12
  156. package/packs/ai-engineering/skills/ai-usage-report/scripts/build_report.py +0 -453
  157. package/packs/ai-engineering/skills/ai-usage-report/templates/report-per-user.md +0 -42
  158. package/packs/ai-engineering/skills/ai-usage-report/templates/report-team-rollup.md +0 -49
  159. package/packs/ai-engineering/skills/ai-usage-report/templates/usage-event-schema.md +0 -76
  160. package/packs/product-manager/skills/lean-canvas/SKILL.md +0 -162
  161. package/packs/product-manager/skills/lean-canvas/evals/eval_queries.json +0 -42
  162. package/packs/product-manager/skills/lean-canvas/evals/evals.json +0 -82
  163. package/packs/product-manager/skills/lean-canvas/evals/files/1/pawpass-notes.md +0 -54
  164. package/packs/product-manager/skills/lean-canvas/evals/files/3/lunchloop-pitch.md +0 -30
  165. package/packs/product-manager/skills/lean-canvas/evals/files/4/clubkit-notes.md +0 -44
  166. package/packs/product-manager/skills/lean-canvas/evals/files/5/cost-model.csv +0 -5
  167. package/packs/product-manager/skills/lean-canvas/evals/files/5/proposal.md +0 -40
  168. package/packs/product-manager/skills/lean-canvas/evals/files/5/stakeholder-emails.txt +0 -18
  169. package/packs/product-manager/skills/lean-canvas/examples/bike-repair.md +0 -72
  170. package/packs/product-manager/skills/lean-canvas/manifest.json +0 -34
  171. package/packs/product-manager/skills/lean-canvas/reference.md +0 -102
  172. package/packs/product-manager/skills/lean-canvas/scripts/unit_economics.py +0 -211
package/README.md CHANGED
@@ -15,13 +15,13 @@ npx skilldrop-cli install --pack dev-team # or product-manager, solution-arc
15
15
 
16
16
  From a held-out eval, written blind from the skill's description:
17
17
 
18
- > *"We're taking ClaimLens to the investment committee on Thursday… Can you build a lean canvas for it and set out our riskiest assumptions and how we'd test them?"*
18
+ > *"Our design agency sent the Figma file for Ostwick Museum's new signage as a JSON export… Can you (1) list the pages and the frames on each, (2) check the Final page against what the Brief page asks for, and (3) draft the comments I should leave for the agency on any frames with problems — one line each."*
19
19
 
20
- | Plain Claude Code | With [`lean-canvas`](https://sananthanarayan.github.io/skilldrop/skills/lean-canvas/) |
20
+ | Plain Claude Code | With [`figma-diagrams`](https://sananthanarayan.github.io/skilldrop/skills/figma-diagrams/) |
21
21
  |---|---|
22
- | Finds the corrected break-even (~225 seats), then recommends *"scope the ask to Claims-only Phase 1"*. | *"Corrected, break-even is 225 seats — more than all three departments combined (215), so full rollout still doesn't cover running costs at £40/seat."* |
22
+ | Finds the same three problems, then drafts comments of two sentences or more, and adds a fourth one about the Archive page that the file doesn't support. | *"The cover email is wrong on both counts. The Sign Types page has 11 frames, not 12, and Type 07 is missing."* Then one line per frame with a problem. |
23
23
 
24
- The blind judge picked the skill's answer: *"A misses this and recommends a Claims-only phase that cannot break even."*
24
+ Both blind judges picked the skill's answer: *"A keeps each comment to a single sentence as asked, while B's main comments run to two sentences and its fourth comment is speculative."*
25
25
 
26
26
  ## The receipts
27
27
 
package/catalogue.json CHANGED
@@ -18,8 +18,7 @@
18
18
  "success-metrics",
19
19
  "user-story-splitter",
20
20
  "user-journey-map",
21
- "feedback-synthesis",
22
- "lean-canvas"
21
+ "feedback-synthesis"
23
22
  ]
24
23
  },
25
24
  "design-the-system": {
@@ -124,7 +123,6 @@
124
123
  "ai-adoption-rollout",
125
124
  "ai-usage-policy",
126
125
  "agent-adoption-stage",
127
- "ai-usage-report",
128
126
  "agent-config-review",
129
127
  "agent-incident-response"
130
128
  ]
@@ -217,6 +215,8 @@
217
215
  "md-to-html": { "in": "1.2.0", "why": "On its held-out evals, in each of two trials and with both blind judges, the agent without it made the better page: the skill's script showed raw HTML as text and its security policy blocked embeds, and it adds no rule the agent breaks." },
218
216
  "mermaid-render": { "in": "1.2.0", "why": "On its held-out evals, in each of two trials and with both blind judges, the agent without it fixed the same diagrams, ran the Mermaid CLI itself and said plainly what it had not rendered; the skill adds no rule it breaks." },
219
217
  "marketing-flyer": { "in": "1.2.0", "why": "On its held-out evals, in each of two trials and with both blind judges, the agent without it built the whole flyer with placeholders where the skill stopped or used a generic template; it adds no rule the agent breaks." },
220
- "deck-builder": { "in": "1.2.0", "why": "On its held-out evals the agent without it built the better deck in each of two trials; rebuilt rule-first, with its script able to run, it still lost on fresh evals (judges 2 and 1 of 4; 69% of checks against 81%).", "instead": "md-to-pptx" }
218
+ "deck-builder": { "in": "1.2.0", "why": "On its held-out evals the agent without it built the better deck in each of two trials; rebuilt rule-first, with its script able to run, it still lost on fresh evals (judges 2 and 1 of 4; 69% of checks against 81%).", "instead": "md-to-pptx" },
219
+ "ai-usage-report": { "in": "1.4.0", "why": "On its held-out evals, over three trials and with both blind judges, the agent without it made the better report: it kept every rule the skill teaches (counts show activity, not quality; missing data is not zero; no leaderboard), while the skill refused to rank when asked, hid names the manager had supplied, and its script read neither eval's export." },
220
+ "lean-canvas": { "in": "1.4.0", "why": "On its held-out evals, in each of three trials and with both blind judges, the agent without it made the better canvas: it caught the same errors and went further, while the skill's lead on checks came from its own format and its script's break-even left out the cost of replacing lost customers.", "instead": "business-case" }
221
221
  }
222
222
  }
@@ -107,8 +107,8 @@
107
107
  "rationale": "Structures a decision into MADR/Nygard. Some judgment on title/consequences; not adversarial."
108
108
  },
109
109
  "agent-adoption-stage": {
110
- "tier": "standard",
111
- "rationale": "Places a team on a fixed 5-stage ladder from observables and routes one unlock. Bounded diagnosis against a rubric; escalate via ambiguous-input when the observables are contradictory or the distribution is heavily skewed."
110
+ "tier": "light",
111
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 79% and 86% of checks in two tier trials, against standard's 82% and heavy's 79% and 79%, within 5 points of the best both times."
112
112
  },
113
113
  "agent-budget": {
114
114
  "tier": "standard",
@@ -135,8 +135,8 @@
135
135
  "rationale": "Repo inspection plus synthesis against a fixed section order and line budget — the same shape as reverse-architecture. The judgment is the counterfactual test on each convention line, which is bounded; escalate via large-input on monorepos."
136
136
  },
137
137
  "ai-adoption-rollout": {
138
- "tier": "standard",
139
- "rationale": "Generates a phased people-rollout with gates and enablement from a stated tool and population. Structured planning against a fixed shape; escalate via ambiguous-input for large or politically contested rollouts."
138
+ "tier": "light",
139
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 79% and 71% of checks in two tier trials, against standard's 75% and heavy's 64% and 64%, within 5 points of the best both times."
140
140
  },
141
141
  "ai-readiness-assessment": {
142
142
  "tier": "standard",
@@ -146,25 +146,21 @@
146
146
  "tier": "standard",
147
147
  "rationale": "Drafts a policy document against a fixed structure (tiers, behaviours, review matrix, exception route). Bounded generation; escalate via ambiguous-input where a regulatory regime is named or contested."
148
148
  },
149
- "ai-usage-report": {
150
- "tier": "standard",
151
- "rationale": "Tabulates telemetry into a report. Mostly mechanical, but the 'AI theater' effectiveness call needs judgment."
152
- },
153
149
  "ai-use-case-triage": {
154
- "tier": "standard",
155
- "rationale": "Scores candidates on weighted axes and forces a rejection list. Structured comparison with stated weights; escalate via ambiguous-input when candidates are numerous or the value data is contested."
150
+ "tier": "light",
151
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 83% and 92% of checks in two tier trials, against standard's 81% and heavy's 85% and 92%, within 5 points of the best both times."
156
152
  },
157
153
  "api-contract-draft": {
158
- "tier": "standard",
159
- "rationale": "Schema synthesis against fixed conventions. The resource modeling needs judgment; the conventions bound it. Escalate via ambiguous-input on contested multi-team contracts."
154
+ "tier": "light",
155
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 76% and 92% of checks in two tier trials, against standard's 69% and heavy's 69% and 76%, within 5 points of the best both times."
160
156
  },
161
157
  "application-form-answers": {
162
- "tier": "standard",
163
- "rationale": "Sorts questions into three kinds and drafts short answers from the resume. The hard rule is mechanical: a declaration is never answered for the person."
158
+ "tier": "light",
159
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 88% and 94% of checks in two tier trials, against standard's 88% and heavy's 81% and 81%, within 5 points of the best both times."
164
160
  },
165
161
  "architecture-diagrams": {
166
- "tier": "standard",
167
- "rationale": "Translates prose to diagram syntax. Correctness matters; reasoning is bounded."
162
+ "tier": "light",
163
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 93% and 100% of checks in two tier trials, against standard's 93% and heavy's 93% and 93%, within 5 points of the best both times."
168
164
  },
169
165
  "audience-profile": {
170
166
  "tier": "light",
@@ -219,8 +215,8 @@
219
215
  "rationale": "Multi-perspective deliberation + weighted reconciliation across distinct expert seats. Cheaper models collapse the seats into one voice and either manufacture or miss the real cruxes. Never downgrade."
220
216
  },
221
217
  "cover-letter": {
222
- "tier": "standard",
223
- "rationale": "A short letter from supplied facts, with a script listing every figure and name the person's material doesn't contain."
218
+ "tier": "light",
219
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 100% and 100% of checks in two tier trials, against standard's 100% and heavy's 100% and 100%, within 5 points of the best both times."
224
220
  },
225
221
  "dashboard-spec": {
226
222
  "tier": "standard",
@@ -231,8 +227,8 @@
231
227
  "rationale": "Schema + SLA synthesis against fixed quality dimensions and an evolution matrix. Semantics capture needs care; bounded by the catalog. Escalate via large-input on wide schemas."
232
228
  },
233
229
  "decision-log": {
234
- "tier": "light",
235
- "rationale": "Extracts decisions/owners/dates from notes. Pattern extraction; escalate on long transcripts via large-input rule."
230
+ "tier": "standard",
231
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier fell more than 5 points behind the best in both tier trials (79% and 61% against standard's 79%); one step up, to standard."
236
232
  },
237
233
  "delivery-metrics-report": {
238
234
  "tier": "standard",
@@ -243,8 +239,8 @@
243
239
  "rationale": "Reads a version diff, changelogs and CI evidence against a fixed checklist; the merge verdict follows from what is verified, not open-ended judgment."
244
240
  },
245
241
  "design-doc": {
246
- "tier": "standard",
247
- "rationale": "Synthesizes a design doc from a brief. Escalate to heavy via large-input or ambiguous-input when alternatives are genuinely contested."
242
+ "tier": "light",
243
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 88% and 88% of checks in two tier trials, against standard's 92% and heavy's 91% and 91%, within 5 points of the best both times."
248
244
  },
249
245
  "design-system-spec": {
250
246
  "tier": "standard",
@@ -276,16 +272,16 @@
276
272
  "rationale": "Compression to one page. Needs to keep the right signal; escalate on very long source docs."
277
273
  },
278
274
  "feature-implement-loop": {
279
- "tier": "standard",
280
- "rationale": "Code + test generation against acceptance criteria. The adversarial pass delegates to devils-advocate (heavy) where available; the loop itself is generation."
275
+ "tier": "light",
276
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 85% and 85% of checks in two tier trials, against standard's 85% and heavy's 76% and 85%, within 5 points of the best both times."
281
277
  },
282
278
  "feedback-synthesis": {
283
279
  "tier": "standard",
284
280
  "rationale": "Coding feedback into themes is bounded judgment; the counts by distinct person and segment come from its script."
285
281
  },
286
282
  "figma-diagrams": {
287
- "tier": "standard",
288
- "rationale": "API calls + spec generation. Bounded transformation."
283
+ "tier": "light",
284
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 92% and 92% of checks in two tier trials, against standard's 92% and heavy's 75% and 92%, within 5 points of the best both times."
289
285
  },
290
286
  "file-to-markdown": {
291
287
  "tier": "light",
@@ -300,8 +296,8 @@
300
296
  "rationale": "Judgment-heavy: generating real rivals, rating every evidence-hypothesis cell honestly and resisting the favourite theory is where a fast pass fails; the script only does the arithmetic."
301
297
  },
302
298
  "incident-comms": {
303
- "tier": "standard",
304
- "rationale": "Audience-segmented message generation under a strict don't-retract discipline. Same shape as exec-summary/audience-profile — translation and altitude, not adversarial reasoning."
299
+ "tier": "light",
300
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 93% and 100% of checks in two tier trials, against standard's 85% and heavy's 92% and 93%, within 5 points of the best both times."
305
301
  },
306
302
  "information-architecture": {
307
303
  "tier": "standard",
@@ -323,13 +319,9 @@
323
319
  "tier": "standard",
324
320
  "rationale": "Checks evidence against a fixed checklist. Bounded synthesis, not adversarial review."
325
321
  },
326
- "lean-canvas": {
327
- "tier": "standard",
328
- "rationale": "Filling the canvas is structured; the value is in ranking assumptions by risk and naming the cheapest test that could kill the riskiest one."
329
- },
330
322
  "llm-eval-harness": {
331
- "tier": "standard",
332
- "rationale": "Methodology synthesis against a fixed decision tree and pitfall catalog. Grading-method and metric choices need judgment but are bounded; escalate via ambiguous-input on novel task types."
323
+ "tier": "light",
324
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 71% and 71% of checks in two tier trials, against standard's 71% and heavy's 71% and 71%, within 5 points of the best both times."
333
325
  },
334
326
  "mcp-pairing": {
335
327
  "tier": "standard",
@@ -340,8 +332,8 @@
340
332
  "rationale": "Mechanical conversion to Confluence storage format done by its script, with an optional publish; the model checks what was dropped and what will be overwritten."
341
333
  },
342
334
  "md-to-docx": {
343
- "tier": "standard",
344
- "rationale": "A stdlib script does the conversion; the model restructures the Markdown so it converts cleanly (heading levels, footnotes, HTML), reads each warning and explains the losses. Bounded editing, no open-ended generation."
335
+ "tier": "heavy",
336
+ "rationale": "Measured (RFC-0073): on its held-out evals the heavy tier met 79% and 93% of checks in two tier trials, against standard's 64% and light's 71% and 79%, more than 5 points ahead both times."
345
337
  },
346
338
  "md-to-pptx": {
347
339
  "tier": "light",
@@ -368,24 +360,24 @@
368
360
  "rationale": "Structured derivation against a fixed roll-up discipline; the causal-sentence and gap judgments need care but the template bounds them. Escalate via ambiguous-input when the company objectives themselves are contested."
369
361
  },
370
362
  "output-hygiene": {
371
- "tier": "standard",
372
- "rationale": "The mechanical pass is a deterministic script; the model does bounded rewriting of flagged prose against a fixed tell list, not adversarial review."
363
+ "tier": "light",
364
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 100% and 100% of checks in two tier trials, against standard's 92% and heavy's 100% and 92%, within 5 points of the best both times."
373
365
  },
374
366
  "postmortem-generator": {
375
- "tier": "standard",
376
- "rationale": "Synthesizes a structured doc from incident notes. Contributing-factor chains need judgment but are bounded; escalate via large-input on huge scrollbacks."
367
+ "tier": "light",
368
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 93% and 91% of checks in two tier trials, against standard's 92% and heavy's 90% and 87%, within 5 points of the best both times."
377
369
  },
378
370
  "pr-description-writer": {
379
- "tier": "standard",
380
- "rationale": "Reads a diff and rewrites it for a reviewer. Bounded by the diff; the judgment is in picking what a reviewer needs first."
371
+ "tier": "light",
372
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 85% and 85% of checks in two tier trials, against standard's 85% and heavy's 77% and 85%, within 5 points of the best both times."
381
373
  },
382
374
  "prd-draft": {
383
375
  "tier": "standard",
384
376
  "rationale": "Synthesizes a structured requirements doc from a brief. The solution-language discipline needs care; bounded by the template. Escalate via ambiguous-input on contested scope."
385
377
  },
386
378
  "pre-merge-review": {
387
- "tier": "standard",
388
- "rationale": "Orchestration: runs a deterministic gate script, dispatches the (heavy) reviewer subagents, and renders a rule-based go/no-go. The adversarial reasoning is delegated to the panel, so the skill itself is coordination."
379
+ "tier": "light",
380
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 93% and 93% of checks in two tier trials, against standard's 86% and heavy's 93% and 93%, within 5 points of the best both times."
389
381
  },
390
382
  "prfaq": {
391
383
  "tier": "standard",
@@ -400,8 +392,8 @@
400
392
  "rationale": "Sequencing behaviour-preserving steps follows known patterns (characterise, parallel change, strangle); escalate via ambiguous-input for contested rewrites."
401
393
  },
402
394
  "release-notes": {
403
- "tier": "standard",
404
- "rationale": "Classifies commits and rewrites them for a reader. The audience translation needs judgment; escalate via large-input on very long ranges."
395
+ "tier": "light",
396
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 96% and 96% of checks in two tier trials, against standard's 91% and heavy's 100% and 98%, within 5 points of the best both times."
405
397
  },
406
398
  "rendering-strategy": {
407
399
  "tier": "standard",
@@ -412,12 +404,12 @@
412
404
  "rationale": "Question banks are rubric-shaped, but ranking by design impact and deriving falsification conditions for the specific feature is synthesis — above light."
413
405
  },
414
406
  "research-plan": {
415
- "tier": "standard",
416
- "rationale": "Structured planning against a fixed shape (decision, sub-questions, methods, criteria, stopping rule); needs judgment to cut scope but no adversarial reasoning."
407
+ "tier": "light",
408
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 79% and 79% of checks in two tier trials, against standard's 79% and heavy's 79% and 79%, within 5 points of the best both times."
417
409
  },
418
410
  "resume-tailor": {
419
- "tier": "standard",
420
- "rationale": "Reorders and rewords existing content against a posting, with a script listing every figure and name the original doesn't contain."
411
+ "tier": "light",
412
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 100% and 100% of checks in two tier trials, against standard's 100% and heavy's 100% and 100%, within 5 points of the best both times."
421
413
  },
422
414
  "reverse-architecture": {
423
415
  "tier": "standard",
@@ -444,20 +436,20 @@
444
436
  "rationale": "Matches questions to evidence and writes short answers. The hard rule is mechanical: no evidence, no answer."
445
437
  },
446
438
  "service-blueprint": {
447
- "tier": "standard",
448
- "rationale": "Structured mapping of a described service into fixed lanes, with fail points, waits and a ranking. Tracing causes needs judgment, but the lane structure and the input bound it."
439
+ "tier": "light",
440
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 100% and 92% of checks in two tier trials, against standard's 92% and heavy's 85% and 92%, within 5 points of the best both times."
449
441
  },
450
442
  "skill-author": {
451
- "tier": "standard",
452
- "rationale": "Structured authoring against a fixed anatomy. The judgment is in the description and sibling boundaries, which the interview anchors; skill-review is the adversarial pass."
443
+ "tier": "light",
444
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 100% and 93% of checks in two tier trials, against standard's 93% and heavy's 100% and 92%, within 5 points of the best both times."
453
445
  },
454
446
  "skill-review": {
455
447
  "tier": "heavy",
456
448
  "rationale": "Adversarial audit with a verdict: routing collisions and paraphrased safety issues are what a fast pass misses, and the lint script covers only the mechanical half."
457
449
  },
458
450
  "slide-outliner": {
459
- "tier": "standard",
460
- "rationale": "Outlines a deck to a time budget. Structuring, not deep reasoning."
451
+ "tier": "light",
452
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 86% and 90% of checks in two tier trials, against standard's 83% and heavy's 83% and 93%, within 5 points of the best both times."
461
453
  },
462
454
  "slo-spec": {
463
455
  "tier": "standard",
@@ -476,8 +468,8 @@
476
468
  "rationale": "Formats Sonar API findings into a report. The hard analysis is Sonar's; this is synthesis. Escalate on very large diffs."
477
469
  },
478
470
  "source-synthesis": {
479
- "tier": "standard",
480
- "rationale": "Bounded synthesis over supplied text with a fixed citation format and strength criteria; the citation checker catches the mechanical failures, so mid-tier judgment is enough."
471
+ "tier": "light",
472
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 83% and 78% of checks in two tier trials, against standard's 76% and heavy's 85% and 82%, within 5 points of the best both times."
481
473
  },
482
474
  "sql-review": {
483
475
  "tier": "heavy",
@@ -496,24 +488,24 @@
496
488
  "rationale": "Structured measurement design; the primary-metric and counter-metric choices need judgment but the template bounds it. Escalate via ambiguous-input when the goal itself is contested."
497
489
  },
498
490
  "team-status-report": {
499
- "tier": "standard",
500
- "rationale": "A script computes every count and the suggested RAG; the model writes plain-language summaries, attributes outside facts and frames risks and asks. Bounded writing over computed numbers."
491
+ "tier": "light",
492
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 93% and 93% of checks in two tier trials, against standard's 93% and heavy's 93% and 93%, within 5 points of the best both times."
501
493
  },
502
494
  "tech-debt-register": {
503
495
  "tier": "standard",
504
496
  "rationale": "Structures and ranks items against stated evidence. Judgment is bounded: a cost with no evidence is recorded as unknown, not estimated."
505
497
  },
506
498
  "terraform-module": {
507
- "tier": "standard",
508
- "rationale": "Structured generation against fixed module conventions and a secure-defaults checklist; the judgment is bounded to choosing defaults and validation rules for a described need."
499
+ "tier": "light",
500
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 100% and 100% of checks in two tier trials, against standard's 92% and heavy's 83% and 100%, within 5 points of the best both times."
509
501
  },
510
502
  "terraform-plan-review": {
511
503
  "tier": "heavy",
512
504
  "rationale": "Adversarial review of a destructive change: judging which replacements lose data, which access changes widen exposure, and what is out of scope needs careful reasoning; a missed destroy costs far more than the model."
513
505
  },
514
506
  "test-plan-generator": {
515
- "tier": "standard",
516
- "rationale": "Synthesizes a structured plan from a change description. Risk ranking needs judgment but is bounded; escalate via ambiguous-input on contested or high-stakes releases."
507
+ "tier": "light",
508
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 76% and 92% of checks in two tier trials, against standard's 76% and heavy's 61% and 54%, within 5 points of the best both times."
517
509
  },
518
510
  "threat-model": {
519
511
  "tier": "heavy",
@@ -524,24 +516,24 @@
524
516
  "rationale": "Arithmetic breakdown plus heuristic judgment on dominant cost drivers — standard fits."
525
517
  },
526
518
  "tool-use-schema-writer": {
527
- "tier": "standard",
528
- "rationale": "Schema generation from natural-language description — structured output task that fits standard tier."
519
+ "tier": "light",
520
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 94% and 94% of checks in two tier trials, against standard's 96% and heavy's 97% and 97%, within 5 points of the best both times."
529
521
  },
530
522
  "tracker-brief-sync": {
531
523
  "tier": "standard",
532
524
  "rationale": "Maps doc sections to items and writes acceptance criteria that restate requirements; a script checks the spec, writes the import file and computes drift. Bounded transformation with a deterministic check."
533
525
  },
534
526
  "user-journey-map": {
535
- "tier": "standard",
536
- "rationale": "Structured synthesis into a fixed four-row stage model plus bounded ranking judgment. Escalate via ambiguous-input when the persona or outcome is contested or research inputs conflict."
527
+ "tier": "heavy",
528
+ "rationale": "Measured (RFC-0073): on its held-out evals the heavy tier met 83% and 83% of checks in two tier trials, against standard's 75% and light's 67% and 75%, more than 5 points ahead both times."
537
529
  },
538
530
  "user-story-splitter": {
539
531
  "tier": "standard",
540
532
  "rationale": "Decomposes an epic into INVEST slices with testable ACs. Structured synthesis; escalation rules cover large or contradictory PRDs."
541
533
  },
542
534
  "ux-writing": {
543
- "tier": "standard",
544
- "rationale": "Short-form writing to fixed slot rules and character budgets, plus a terminology consistency pass. Bounded generation with clear checks."
535
+ "tier": "light",
536
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 92% and 92% of checks in two tier trials, against standard's 83% and heavy's 75% and 83%, within 5 points of the best both times."
545
537
  },
546
538
  "web-performance-review": {
547
539
  "tier": "standard",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skilldrop-cli",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Portable AI-agent skills, measured against the agent without them. ADRs, PRDs, runbooks, decks and reviews, installable into Claude Code, Cursor, Kiro, and any IDE that takes custom instructions. One command per skill or per role-based pack.",
5
5
  "author": {
6
6
  "name": "Sanjay Ananthanarayan",
@@ -82,7 +82,6 @@ The load-bearing idea: **the bottleneck moves.** Each stage is limited by someth
82
82
  - ❌ Assessing organisational preconditions — data, policy ownership, incentives — that's [`ai-readiness-assessment`](../ai-readiness-assessment/SKILL.md), a different axis (a team can be governance-ready and stuck at stage 1).
83
83
  - ❌ Planning how a tool reaches people — cohorts, enablement, comms — that's [`ai-adoption-rollout`](../ai-adoption-rollout/SKILL.md).
84
84
  - ❌ Choosing which use cases to build — that's [`ai-use-case-triage`](../ai-use-case-triage/SKILL.md).
85
- - ❌ Reporting measured usage from telemetry — that's [`ai-usage-report`](../ai-usage-report/SKILL.md).
86
85
  - ❌ Designing one specific loop or fleet — that's `agent-loop-design` / `subagent-design`, which this skill routes *to*.
87
86
 
88
87
  ## Anti-patterns to avoid
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-adoption-stage",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Place an engineering team on the agentic-coding adoption ladder (0 gated → 4 intent-steered) using observables like agents-in-flight per engineer and who writes the code, name the one bottleneck gating the next step, prescribe the single next unlock, and state which current guardrail must change. Use when a leader asks \"how far along are we with coding agents\", \"why has our AI adoption plateaued\", or \"what do we do next to get more out of this\". Do NOT use to assess organisational preconditions like data, policy, and culture (that's ai-readiness-assessment) or to plan a tool's human rollout (that's ai-adoption-rollout).",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": {
@@ -18,7 +18,6 @@
18
18
  "agents-md-generator",
19
19
  "ai-adoption-rollout",
20
20
  "ai-readiness-assessment",
21
- "ai-usage-report",
22
21
  "ai-use-case-triage",
23
22
  "devils-advocate",
24
23
  "pre-merge-review",
@@ -33,7 +32,7 @@
33
32
  "bottleneck"
34
33
  ],
35
34
  "model": {
36
- "tier": "standard",
37
- "rationale": "Places a team on a fixed 5-stage ladder from observables and routes one unlock. Bounded diagnosis against a rubric; escalate via ambiguous-input when the observables are contradictory or the distribution is heavily skewed."
35
+ "tier": "light",
36
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 79% and 86% of checks in two tier trials, against standard's 82% and heavy's 79% and 79%, within 5 points of the best both times."
38
37
  }
39
38
  }
@@ -47,7 +47,6 @@ Rollouts fail quietly. Licences get assigned, a launch email goes out, usage spi
47
47
  - ❌ Choosing which use case to roll out — that's [`ai-use-case-triage`](../ai-use-case-triage/SKILL.md).
48
48
  - ❌ Deciding whether the organisation is ready at all — that's [`ai-readiness-assessment`](../ai-readiness-assessment/SKILL.md).
49
49
  - ❌ Writing the rules for what may be put into the tool — that's [`ai-usage-policy`](../ai-usage-policy/SKILL.md).
50
- - ❌ Reporting on adoption that already happened — that's `ai-usage-report`.
51
50
 
52
51
  ## Anti-patterns to avoid
53
52
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-adoption-rollout",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Plan the human rollout of an AI tool or workflow to an organisation — sized cohorts, enablement per cohort, named champions, a comms plan that states what will not change, and an adoption gate every wave must pass before the next one opens. Use when a tool has been chosen and the question is how it reaches people without stalling or backlash. Do NOT use to phase a technical cutover (that's migration-plan) or to choose which use case to roll out (that's ai-use-case-triage).",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": {
@@ -14,7 +14,6 @@
14
14
  "related": [
15
15
  "ai-readiness-assessment",
16
16
  "ai-usage-policy",
17
- "ai-usage-report",
18
17
  "ai-use-case-triage",
19
18
  "migration-plan"
20
19
  ],
@@ -27,7 +26,7 @@
27
26
  "comms"
28
27
  ],
29
28
  "model": {
30
- "tier": "standard",
31
- "rationale": "Generates a phased people-rollout with gates and enablement from a stated tool and population. Structured planning against a fixed shape; escalate via ambiguous-input for large or politically contested rollouts."
29
+ "tier": "light",
30
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 79% and 71% of checks in two tier trials, against standard's 75% and heavy's 64% and 64%, within 5 points of the best both times."
32
31
  }
33
32
  }
@@ -61,7 +61,6 @@ Readiness assessments fail in one of two ways: a number with no evidence behind
61
61
  - ❌ Planning the rollout once you've decided to go — that's [`ai-adoption-rollout`](../ai-adoption-rollout/SKILL.md).
62
62
  - ❌ Writing the rules for what people may put into a tool — that's [`ai-usage-policy`](../ai-usage-policy/SKILL.md).
63
63
  - ❌ A market or competitive question ("should we enter this space?") — that's `strategy-analysis`.
64
- - ❌ Measuring adoption that has already happened — that's `ai-usage-report`.
65
64
  - ❌ **Assessing how far an engineering team's agent practice has actually got** — agents in flight, who writes the code, what still gets reviewed — that's [`agent-adoption-stage`](../agent-adoption-stage/SKILL.md). It's the orthogonal axis: this skill scores whether the *organisation* can adopt at all; that one scores how far the *practice* has got. A team can be governance-ready and stuck at stage 1, or running ten agents with no policy at all — run both when the answers disagree.
66
65
 
67
66
  ## Anti-patterns to avoid
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-readiness-assessment",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Score an organisation's or team's readiness to adopt AI tooling across six gating dimensions — data, tooling, skills, governance, process, and culture — with an evidence line per score and the blocking gaps ranked by what stops adoption first. Use when the user asks \"are we ready for AI\", wants an AI maturity or readiness baseline, or needs to know what to fix before rolling tools out. Do NOT use to pick which use cases to build (that's ai-use-case-triage) or to plan the rollout itself (that's ai-adoption-rollout).",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": {
@@ -15,7 +15,6 @@
15
15
  "agent-adoption-stage",
16
16
  "ai-adoption-rollout",
17
17
  "ai-usage-policy",
18
- "ai-usage-report",
19
18
  "ai-use-case-triage",
20
19
  "strategy-analysis"
21
20
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-use-case-triage",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Turn a pile of candidate AI use cases into a ranked portfolio — each scored on value, feasibility, and risk with the weights shown, a recommended first slice that can prove or kill the thesis, and an explicit not-yet list with the condition that would promote each entry. Use when a team has more AI ideas than capacity and needs to choose, or asks \"where should we actually start with AI\". Do NOT use to assess whether the organisation is ready at all (that's ai-readiness-assessment) or to price a single decision (that's business-case).",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": {
@@ -28,7 +28,7 @@
28
28
  "pilot"
29
29
  ],
30
30
  "model": {
31
- "tier": "standard",
32
- "rationale": "Scores candidates on weighted axes and forces a rejection list. Structured comparison with stated weights; escalate via ambiguous-input when candidates are numerous or the value data is contested."
31
+ "tier": "light",
32
+ "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 83% and 92% of checks in two tier trials, against standard's 81% and heavy's 85% and 92%, within 5 points of the best both times."
33
33
  }
34
34
  }
@@ -9,7 +9,7 @@ Decides whether a judge's scores are good enough for one named decision, from th
9
9
  themselves, and answers the question the user asked. A grader can match an expert well overall
10
10
  and still over-score the very variant it is being used to pick. This skill audits judgements that
11
11
  already exist; designing the eval set and grading plan is `llm-eval-harness`, generating eval
12
- cases for a skill is `eval-harness-generator`, and measuring AI tool usage is `ai-usage-report`.
12
+ cases for a skill is `eval-harness-generator`.
13
13
 
14
14
  ## How to respond
15
15
 
@@ -160,7 +160,6 @@ counts`, because a verdict without them is invented.
160
160
 
161
161
  - ❌ Designing the eval set, grading methods and pass bar for an LLM feature — `llm-eval-harness`
162
162
  - ❌ Generating eval cases for a skill's `evals/` folder — `eval-harness-generator`
163
- - ❌ Measuring how much teams use AI tools — `ai-usage-report`
164
163
  - ❌ Inter-rater reliability for humans only, with no model in the loop — the statistics transfer, but the bias checks here assume a model
165
164
 
166
165
  ## Anti-patterns to avoid
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "judge-audit",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Audit whether an LLM-as-judge, or a panel of judges, can be trusted for the decision its scores drive, before anyone acts on them — above all whether the judge errs differently on the variants being compared (prompt v1 vs v2, model A vs B, short vs long inputs), plus chance-corrected and weighted agreement with expert labels, precision and recall on a rare class, each run reported separately with the items that flipped, position and length bias, and confidence intervals, checked against the user's own gate or criterion and ending in a direct answer (ship or not, which judge to use). Use when the user asks \"can we trust our LLM judge\", \"is our grader reliable enough to gate releases\", \"the grader says v2 is better, can we ship it\", \"which is the cheapest judge we can switch to\", \"our two judges agree 90%, is that good\", \"can we turn on auto-remove\", \"check our judge for position bias\", or has a file of judge scores and wants to know whether to act on them.",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": {
@@ -12,7 +12,6 @@
12
12
  "optional": []
13
13
  },
14
14
  "related": [
15
- "ai-usage-report",
16
15
  "eval-harness-generator",
17
16
  "llm-eval-harness"
18
17
  ],
@@ -5,7 +5,7 @@ description: Design an evaluation harness for an LLM-powered feature — a versi
5
5
 
6
6
  # llm-eval-harness
7
7
 
8
- Builds the measurement that turns "the new prompt feels better" into "the new prompt scores 0.91 vs 0.84 baseline, with zero regressions on the critical subset." Without it, every prompt or model change is a vibe with a deploy button. Provider-neutral by design — the harness shape is the same whether the feature runs on Claude, GPT, Gemini, or a local model; only the runner differs. Distinct from `ai-usage-report` (telemetry after the fact) and `success-metrics` (product outcomes) — this is the **dev-loop quality gate**.
8
+ Builds the measurement that turns "the new prompt feels better" into "the new prompt scores 0.91 vs 0.84 baseline, with zero regressions on the critical subset." Without it, every prompt or model change is a vibe with a deploy button. Provider-neutral by design — the harness shape is the same whether the feature runs on Claude, GPT, Gemini, or a local model; only the runner differs. Distinct from `success-metrics` (product outcomes) — this is the **dev-loop quality gate**.
9
9
 
10
10
  ## How to respond
11
11
 
@@ -64,7 +64,6 @@ Builds the measurement that turns "the new prompt feels better" into "the new pr
64
64
 
65
65
  ## When NOT to use this skill
66
66
 
67
- - ❌ Tabulating AI usage/adoption telemetry — that's `ai-usage-report`
68
67
  - ❌ Product-outcome metrics for a feature (adoption, handle time) — that's `success-metrics`
69
68
  - ❌ Picking which model/vendor to buy on price, terms or support — this measures quality on your task, which is one input to that decision
70
69
  - ❌ The provider-specific API mechanics (token counting, streaming, tool-call format) — consult the provider's own reference; this skill is the eval methodology
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "llm-eval-harness",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Design an evaluation harness for an LLM-powered feature — a versioned golden set (representative + adversarial + regression cases), the cheapest adequate grading method per case, a metric with a pre-set pass bar and regression gate, and a failure taxonomy that targets iteration. Use when the user is building or tuning an LLM feature (prompt, RAG, agent, classifier) and needs evals, a way to test prompt/model changes, or to stop shipping quality regressions on vibes.",
5
5
  "entrypoint": "SKILL.md",
6
6
  "deps": { "npm": [], "pip": [] },
7
7
  "env": { "required": [], "optional": [] },
8
- "related": ["ai-usage-report", "success-metrics"],
8
+ "related": ["success-metrics"],
9
9
  "tags": ["llm", "evals", "ai-engineering", "testing", "llm-as-judge", "regression-gate"],
10
- "model": { "tier": "standard", "rationale": "Methodology synthesis against a fixed decision tree and pitfall catalog. Grading-method and metric choices need judgment but are bounded; escalate via ambiguous-input on novel task types." }
10
+ "model": { "tier": "light", "rationale": "Measured (RFC-0073): on its held-out evals the light tier met 71% and 71% of checks in two tier trials, against standard's 71% and heavy's 71% and 71%, within 5 points of the best both times." }
11
11
  }