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
@@ -1,249 +0,0 @@
1
- event_id,timestamp,user,event,artifact_id
2
- E00001,2026-09-01T09:47:00,amara,generate,DW-1001
3
- E00002,2026-09-01T10:06:00,amara,insert,DW-1001
4
- E00003,2026-09-01T12:12:00,bastian,generate,DW-1066
5
- E00004,2026-09-01T12:14:00,amara,generate,DW-1006
6
- E00005,2026-09-01T12:26:00,amara,discard,DW-1006
7
- E00006,2026-09-01T12:44:00,bastian,insert,DW-1066
8
- E00007,2026-09-01T15:05:00,amara,generate,DW-1017
9
- E00008,2026-09-01T15:14:00,amara,discard,DW-1017
10
- E00009,2026-09-01T16:34:00,amara,generate,DW-1016
11
- E00010,2026-09-01T16:47:00,amara,discard,DW-1016
12
- E00011,2026-09-01T16:51:00,bastian,generate,DW-1070
13
- E00012,2026-09-01T17:03:00,bastian,insert,DW-1070
14
- E00013,2026-09-02T10:02:00,amara,generate,DW-1020
15
- E00014,2026-09-02T10:24:00,amara,generate,DW-1022
16
- E00015,2026-09-02T10:43:00,amara,generate,DW-1003
17
- E00016,2026-09-02T10:55:00,amara,discard,DW-1003
18
- E00017,2026-09-02T11:26:00,bastian,generate,DW-1073
19
- E00018,2026-09-02T12:01:00,farah,generate,DW-1118
20
- E00019,2026-09-02T12:25:00,farah,insert,DW-1118
21
- E00020,2026-09-02T13:05:00,amara,generate,DW-1021
22
- E00021,2026-09-02T14:18:00,corin,generate,DW-1092
23
- E00022,2026-09-02T14:20:00,corin,insert,DW-1092
24
- E00023,2026-09-02T15:11:00,bastian,generate,DW-1068
25
- E00024,2026-09-02T15:21:00,amara,generate,DW-1011
26
- E00025,2026-09-02T15:21:00,farah,generate,DW-1119
27
- E00026,2026-09-02T15:27:00,amara,discard,DW-1011
28
- E00027,2026-09-02T15:38:00,bastian,insert,DW-1068
29
- E00028,2026-09-02T16:37:00,amara,generate,DW-1009
30
- E00029,2026-09-02T16:40:00,amara,discard,DW-1009
31
- E00030,2026-09-02T16:53:00,corin,generate,DW-1093
32
- E00031,2026-09-02T17:26:00,amara,generate,DW-1008
33
- E00032,2026-09-02T17:28:00,bastian,generate,DW-1067
34
- E00033,2026-09-02T17:30:00,corin,insert,DW-1093
35
- E00034,2026-09-02T17:35:00,amara,discard,DW-1008
36
- E00035,2026-09-02T17:43:00,bastian,insert,DW-1067
37
- E00036,2026-09-03T09:48:00,amara,generate,DW-1010
38
- E00037,2026-09-03T10:05:00,amara,generate,DW-1013
39
- E00038,2026-09-03T10:08:00,amara,discard,DW-1010
40
- E00039,2026-09-03T10:13:00,amara,discard,DW-1013
41
- E00040,2026-09-03T10:56:00,corin,generate,DW-1091
42
- E00041,2026-09-03T11:13:00,amara,generate,DW-1012
43
- E00042,2026-09-03T11:31:00,amara,discard,DW-1012
44
- E00043,2026-09-03T11:31:00,corin,insert,DW-1091
45
- E00044,2026-09-03T12:14:00,amara,generate,DW-1002
46
- E00045,2026-09-03T12:29:00,amara,discard,DW-1002
47
- E00046,2026-09-03T13:51:00,amara,generate,DW-1015
48
- E00047,2026-09-03T14:06:00,amara,discard,DW-1015
49
- E00048,2026-09-03T16:15:00,bastian,generate,DW-1069
50
- E00049,2026-09-03T16:20:00,bastian,insert,DW-1069
51
- E00050,2026-09-04T09:01:00,amara,generate,DW-1005
52
- E00051,2026-09-04T09:13:00,amara,discard,DW-1005
53
- E00052,2026-09-04T09:54:00,farah,generate,DW-1115
54
- E00053,2026-09-04T10:13:00,farah,insert,DW-1115
55
- E00054,2026-09-04T10:22:00,amara,generate,DW-1014
56
- E00055,2026-09-04T10:28:00,amara,discard,DW-1014
57
- E00056,2026-09-04T12:12:00,farah,generate,DW-1116
58
- E00057,2026-09-04T12:18:00,farah,insert,DW-1116
59
- E00058,2026-09-04T14:19:00,farah,generate,DW-1117
60
- E00059,2026-09-04T14:38:00,farah,insert,DW-1117
61
- E00060,2026-09-04T14:51:00,bastian,generate,DW-1065
62
- E00061,2026-09-04T15:24:00,bastian,insert,DW-1065
63
- E00062,2026-09-05T09:05:00,bastian,generate,DW-1072
64
- E00063,2026-09-05T09:06:00,bastian,discard,DW-1072
65
- E00064,2026-09-05T09:35:00,amara,generate,DW-1007
66
- E00065,2026-09-05T09:42:00,amara,discard,DW-1007
67
- E00066,2026-09-05T10:03:00,bastian,generate,DW-1071
68
- E00067,2026-09-05T10:29:00,bastian,insert,DW-1071
69
- E00068,2026-09-05T10:37:00,amara,generate,DW-1004
70
- E00069,2026-09-05T10:43:00,amara,discard,DW-1004
71
- E00070,2026-09-05T13:39:00,corin,generate,DW-1094
72
- E00071,2026-09-05T13:53:00,amara,generate,DW-1018
73
- E00072,2026-09-05T14:11:00,amara,discard,DW-1018
74
- E00073,2026-09-05T14:36:00,amara,generate,DW-1019
75
- E00074,2026-09-05T14:44:00,amara,discard,DW-1019
76
- E00075,2026-09-08T10:09:00,amara,generate,DW-1035
77
- E00076,2026-09-08T10:16:00,amara,discard,DW-1035
78
- E00077,2026-09-08T10:43:00,amara,generate,DW-1040
79
- E00078,2026-09-08T11:00:00,amara,discard,DW-1040
80
- E00079,2026-09-08T13:11:00,farah,generate,DW-1122
81
- E00080,2026-09-08T13:40:00,farah,insert,DW-1122
82
- E00081,2026-09-08T14:25:00,amara,generate,DW-1024
83
- E00082,2026-09-08T14:31:00,amara,discard,DW-1024
84
- E00083,2026-09-08T15:24:00,amara,generate,DW-1037
85
- E00084,2026-09-08T15:36:00,amara,discard,DW-1037
86
- E00085,2026-09-08T17:03:00,bastian,generate,DW-1078
87
- E00086,2026-09-08T17:09:00,corin,generate,DW-1097
88
- E00087,2026-09-08T17:42:00,corin,insert,DW-1097
89
- E00088,2026-09-08T17:43:00,bastian,insert,DW-1078
90
- E00089,2026-09-09T11:32:00,amara,generate,DW-1033
91
- E00090,2026-09-09T11:49:00,amara,discard,DW-1033
92
- E00091,2026-09-09T12:47:00,amara,generate,DW-1029
93
- E00092,2026-09-09T12:53:00,amara,discard,DW-1029
94
- E00093,2026-09-09T13:07:00,corin,generate,DW-1096
95
- E00094,2026-09-09T13:13:00,bastian,generate,DW-1077
96
- E00095,2026-09-09T13:19:00,bastian,insert,DW-1077
97
- E00096,2026-09-09T13:41:00,corin,insert,DW-1096
98
- E00097,2026-09-09T14:13:00,corin,generate,DW-1099
99
- E00098,2026-09-09T15:38:00,amara,generate,DW-1036
100
- E00099,2026-09-09T15:43:00,amara,discard,DW-1036
101
- E00100,2026-09-10T09:03:00,bastian,generate,DW-1079
102
- E00101,2026-09-10T09:09:00,bastian,insert,DW-1079
103
- E00102,2026-09-10T09:14:00,amara,generate,DW-1023
104
- E00103,2026-09-10T09:43:00,amara,insert,DW-1023
105
- E00104,2026-09-10T10:13:00,amara,generate,DW-1025
106
- E00105,2026-09-10T10:18:00,amara,generate,DW-1042
107
- E00106,2026-09-10T10:28:00,amara,discard,DW-1025
108
- E00107,2026-09-10T10:56:00,corin,generate,DW-1095
109
- E00108,2026-09-10T11:14:00,corin,insert,DW-1095
110
- E00109,2026-09-10T13:38:00,corin,generate,DW-1098
111
- E00110,2026-09-10T13:47:00,corin,discard,DW-1098
112
- E00111,2026-09-10T17:55:00,amara,generate,DW-1039
113
- E00112,2026-09-10T18:13:00,amara,discard,DW-1039
114
- E00113,2026-09-11T10:48:00,amara,generate,DW-1034
115
- E00114,2026-09-11T11:08:00,amara,discard,DW-1034
116
- E00115,2026-09-11T11:16:00,amara,generate,DW-1028
117
- E00116,2026-09-11T11:33:00,amara,discard,DW-1028
118
- E00117,2026-09-11T13:27:00,bastian,generate,DW-1075
119
- E00118,2026-09-11T13:34:00,bastian,insert,DW-1075
120
- E00119,2026-09-11T13:59:00,bastian,generate,DW-1074
121
- E00120,2026-09-11T14:33:00,bastian,insert,DW-1074
122
- E00121,2026-09-11T15:56:00,amara,generate,DW-1027
123
- E00122,2026-09-11T16:05:00,amara,discard,DW-1027
124
- E00123,2026-09-12T11:03:00,bastian,generate,DW-1081
125
- E00124,2026-09-12T11:16:00,bastian,discard,DW-1081
126
- E00125,2026-09-12T13:02:00,farah,generate,DW-1123
127
- E00126,2026-09-12T13:14:00,farah,discard,DW-1123
128
- E00127,2026-09-12T13:49:00,amara,generate,DW-1041
129
- E00128,2026-09-12T14:01:00,farah,generate,DW-1121
130
- E00129,2026-09-12T14:13:00,amara,generate,DW-1026
131
- E00130,2026-09-12T14:14:00,amara,discard,DW-1026
132
- E00131,2026-09-12T14:41:00,farah,insert,DW-1121
133
- E00132,2026-09-12T15:23:00,amara,generate,DW-1032
134
- E00133,2026-09-12T15:33:00,amara,discard,DW-1032
135
- E00134,2026-09-12T15:43:00,farah,generate,DW-1120
136
- E00135,2026-09-12T15:51:00,farah,insert,DW-1120
137
- E00136,2026-09-12T15:57:00,amara,generate,DW-1031
138
- E00137,2026-09-12T16:01:00,amara,discard,DW-1031
139
- E00138,2026-09-12T16:09:00,bastian,generate,DW-1076
140
- E00139,2026-09-12T16:22:00,bastian,insert,DW-1076
141
- E00140,2026-09-12T16:32:00,bastian,generate,DW-1080
142
- E00141,2026-09-12T16:33:00,amara,generate,DW-1038
143
- E00142,2026-09-12T16:39:00,amara,discard,DW-1038
144
- E00143,2026-09-12T16:40:00,bastian,discard,DW-1080
145
- E00144,2026-09-12T17:16:00,amara,generate,DW-1030
146
- E00145,2026-09-12T17:33:00,amara,discard,DW-1030
147
- E00146,2026-09-22T09:29:00,bastian,generate,DW-1090
148
- E00147,2026-09-22T10:40:00,c.lund,generate,DW-1100
149
- E00148,2026-09-22T10:56:00,c.lund,generate,DW-1106
150
- E00149,2026-09-22T10:58:00,c.lund,discard,DW-1106
151
- E00150,2026-09-22T10:59:00,amara,generate,DW-1044
152
- E00151,2026-09-22T11:05:00,c.lund,insert,DW-1100
153
- E00152,2026-09-22T11:18:00,amara,discard,DW-1044
154
- E00153,2026-09-22T12:04:00,amara,generate,DW-1061
155
- E00154,2026-09-22T12:37:00,bastian,generate,DW-1082
156
- E00155,2026-09-22T12:56:00,amara,generate,DW-1046
157
- E00156,2026-09-22T13:12:00,amara,discard,DW-1046
158
- E00157,2026-09-22T13:15:00,bastian,insert,DW-1082
159
- E00158,2026-09-22T14:04:00,amara,generate,DW-1062
160
- E00159,2026-09-22T14:13:00,delphine,generate,DW-1109
161
- E00160,2026-09-22T14:31:00,amara,generate,DW-1043
162
- E00161,2026-09-22T14:41:00,amara,insert,DW-1043
163
- E00162,2026-09-22T14:41:00,delphine,insert,DW-1109
164
- E00163,2026-09-22T14:49:00,c.lund,generate,DW-1102
165
- E00164,2026-09-22T15:00:00,farah,generate,DW-1127
166
- E00165,2026-09-22T15:03:00,farah,discard,DW-1127
167
- E00166,2026-09-22T15:26:00,c.lund,insert,DW-1102
168
- E00167,2026-09-22T15:42:00,bastian,generate,DW-1084
169
- E00168,2026-09-22T15:48:00,bastian,insert,DW-1084
170
- E00169,2026-09-23T09:04:00,amara,generate,DW-1060
171
- E00170,2026-09-23T09:06:00,amara,discard,DW-1060
172
- E00171,2026-09-23T10:22:00,delphine,generate,DW-1110
173
- E00172,2026-09-23T10:39:00,delphine,insert,DW-1110
174
- E00173,2026-09-23T11:56:00,delphine,generate,DW-1113
175
- E00174,2026-09-23T12:04:00,amara,generate,DW-1057
176
- E00175,2026-09-23T12:04:00,delphine,insert,DW-1113
177
- E00176,2026-09-23T12:19:00,amara,discard,DW-1057
178
- E00177,2026-09-23T12:55:00,delphine,generate,DW-1112
179
- E00178,2026-09-23T13:07:00,delphine,insert,DW-1112
180
- E00179,2026-09-23T13:10:00,c.lund,generate,DW-1103
181
- E00180,2026-09-23T13:21:00,c.lund,insert,DW-1103
182
- E00181,2026-09-23T17:02:00,c.lund,generate,DW-1107
183
- E00182,2026-09-24T09:37:00,amara,generate,DW-1058
184
- E00183,2026-09-24T09:39:00,amara,discard,DW-1058
185
- E00184,2026-09-24T12:16:00,bastian,generate,DW-1087
186
- E00185,2026-09-24T12:42:00,bastian,generate,DW-1086
187
- E00186,2026-09-24T12:50:00,bastian,insert,DW-1087
188
- E00187,2026-09-24T12:57:00,bastian,insert,DW-1086
189
- E00188,2026-09-24T13:15:00,amara,generate,DW-1045
190
- E00189,2026-09-24T13:34:00,amara,discard,DW-1045
191
- E00190,2026-09-24T14:57:00,delphine,generate,DW-1108
192
- E00191,2026-09-24T15:20:00,delphine,insert,DW-1108
193
- E00192,2026-09-24T15:38:00,farah,generate,DW-1124
194
- E00193,2026-09-24T15:42:00,amara,generate,DW-1054
195
- E00194,2026-09-24T15:52:00,farah,insert,DW-1124
196
- E00195,2026-09-24T15:54:00,amara,discard,DW-1054
197
- E00196,2026-09-24T16:20:00,bastian,generate,DW-1089
198
- E00197,2026-09-24T16:25:00,bastian,discard,DW-1089
199
- E00198,2026-09-24T16:57:00,amara,generate,DW-1055
200
- E00199,2026-09-24T17:11:00,amara,discard,DW-1055
201
- E00200,2026-09-24T17:55:00,amara,generate,DW-1051
202
- E00201,2026-09-24T17:59:00,amara,discard,DW-1051
203
- E00202,2026-09-25T09:11:00,delphine,generate,DW-1114
204
- E00203,2026-09-25T10:48:00,amara,generate,DW-1048
205
- E00204,2026-09-25T11:04:00,amara,discard,DW-1048
206
- E00205,2026-09-25T11:42:00,bastian,generate,DW-1088
207
- E00206,2026-09-25T11:51:00,bastian,discard,DW-1088
208
- E00207,2026-09-25T12:34:00,amara,generate,DW-1064
209
- E00208,2026-09-25T13:02:00,c.lund,generate,DW-1101
210
- E00209,2026-09-25T13:41:00,c.lund,insert,DW-1101
211
- E00210,2026-09-25T17:00:00,c.lund,generate,DW-1105
212
- E00211,2026-09-25T17:10:00,amara,generate,DW-1050
213
- E00212,2026-09-25T17:10:00,c.lund,insert,DW-1105
214
- E00213,2026-09-25T17:17:00,amara,discard,DW-1050
215
- E00214,2026-09-25T17:45:00,c.lund,generate,DW-1104
216
- E00215,2026-09-25T18:14:00,c.lund,insert,DW-1104
217
- E00216,2026-09-26T09:39:00,bastian,generate,DW-1083
218
- E00217,2026-09-26T09:47:00,bastian,insert,DW-1083
219
- E00218,2026-09-26T10:05:00,amara,generate,DW-1047
220
- E00219,2026-09-26T10:13:00,amara,discard,DW-1047
221
- E00220,2026-09-26T10:24:00,farah,generate,DW-1125
222
- E00221,2026-09-26T10:49:00,farah,insert,DW-1125
223
- E00222,2026-09-26T11:08:00,amara,generate,DW-1049
224
- E00223,2026-09-26T11:22:00,amara,discard,DW-1049
225
- E00224,2026-09-26T12:16:00,farah,generate,DW-1126
226
- E00225,2026-09-26T12:17:00,amara,generate,DW-1063
227
- E00226,2026-09-26T12:37:00,amara,generate,DW-1059
228
- E00227,2026-09-26T12:41:00,amara,discard,DW-1059
229
- E00228,2026-09-26T12:45:00,amara,generate,DW-1053
230
- E00229,2026-09-26T12:45:00,farah,insert,DW-1126
231
- E00230,2026-09-26T12:59:00,amara,discard,DW-1053
232
- E00231,2026-09-26T15:13:00,amara,generate,DW-1052
233
- E00232,2026-09-26T15:17:00,amara,discard,DW-1052
234
- E00233,2026-09-26T15:39:00,delphine,generate,DW-1111
235
- E00234,2026-09-26T15:58:00,delphine,insert,DW-1111
236
- E00235,2026-09-26T16:07:00,amara,generate,DW-1056
237
- E00236,2026-09-26T16:21:00,amara,discard,DW-1056
238
- E00237,2026-09-26T17:20:00,bastian,generate,DW-1085
239
- E00238,2026-09-26T17:43:00,farah,generate,DW-1128
240
- E00239,2026-09-26T17:56:00,bastian,insert,DW-1085
241
- E00164,2026-09-22T15:00:00,farah,generate,DW-1127
242
- E00165,2026-09-22T15:03:00,farah,discard,DW-1127
243
- E00192,2026-09-24T15:38:00,farah,generate,DW-1124
244
- E00194,2026-09-24T15:52:00,farah,insert,DW-1124
245
- E00220,2026-09-26T10:24:00,farah,generate,DW-1125
246
- E00221,2026-09-26T10:49:00,farah,insert,DW-1125
247
- E00224,2026-09-26T12:16:00,farah,generate,DW-1126
248
- E00229,2026-09-26T12:45:00,farah,insert,DW-1126
249
- E00238,2026-09-26T17:43:00,farah,generate,DW-1128
@@ -1,9 +0,0 @@
1
- # About this export
2
-
3
- - Source: Draftwell admin console, "Activity events" export, covering 1-28 September 2026.
4
- - Events: `generate` (Draftwell produced a draft), `insert` (the draft was inserted into a working
5
- document), `discard` (the user deleted the draft).
6
- - Message from Draftwell support: events for 15-21 September were lost in a logging outage on
7
- their side and cannot be recovered.
8
- - `published-assets.csv` is our own list of client work published between 1 September and 2 October. The last column
9
- lists any Draftwell drafts used in that piece (blank = no Draftwell draft used).
@@ -1,44 +0,0 @@
1
- asset_id,client,published_date,draftwell_artifact_ids
2
- PA-301,Penmarric Hotels,2026-09-06,DW-1001
3
- PA-302,Penmarric Hotels,2026-09-07,DW-1066
4
- PA-303,Harlow Cider Co,2026-09-08,DW-1092
5
- PA-304,Penmarric Hotels,2026-09-07,DW-1068
6
- PA-305,Penmarric Hotels,2026-09-08,DW-1067
7
- PA-306,Saltash Dental Group,2026-09-06,DW-1091
8
- PA-307,Saltash Dental Group,2026-09-09,DW-1069
9
- PA-308,Penmarric Hotels,2026-09-09,DW-1115
10
- PA-309,Wyvern Outdoor,2026-09-06,DW-1116
11
- PA-310,Saltash Dental Group,2026-09-10,DW-1117
12
- PA-311,Saltash Dental Group,2026-09-10,DW-1065
13
- PA-312,Wyvern Outdoor,2026-09-13,DW-1097
14
- PA-313,Ottery Books,2026-09-12,DW-1096
15
- PA-314,Saltash Dental Group,2026-09-14,DW-1077
16
- PA-315,Harlow Cider Co,2026-09-13,DW-1095
17
- PA-316,Penmarric Hotels,2026-09-13,DW-1075
18
- PA-317,Saltash Dental Group,2026-09-16,DW-1074
19
- PA-318,Ottery Books,2026-09-18,DW-1121
20
- PA-319,Penmarric Hotels,2026-09-16,DW-1120
21
- PA-320,Saltash Dental Group,2026-09-16,DW-1076
22
- PA-321,Wyvern Outdoor,2026-09-27,DW-1100
23
- PA-322,Saltash Dental Group,2026-09-28,DW-1082
24
- PA-323,Wyvern Outdoor,2026-09-28,DW-1109
25
- PA-324,Harlow Cider Co,2026-09-25,DW-1043
26
- PA-325,Ottery Books,2026-09-28,DW-1102
27
- PA-326,Ottery Books,2026-09-25,DW-1084
28
- PA-327,Harlow Cider Co,2026-09-25,DW-1110
29
- PA-328,Penmarric Hotels,2026-09-25,DW-1112
30
- PA-329,Wyvern Outdoor,2026-09-25,DW-1103
31
- PA-330,Harlow Cider Co,2026-09-25,DW-1086
32
- PA-331,Wyvern Outdoor,2026-09-28,DW-1108
33
- PA-332,Ottery Books,2026-09-25,DW-1124
34
- PA-333,Saltash Dental Group,2026-09-29,DW-1101
35
- PA-334,Ottery Books,2026-09-28,DW-1083
36
- PA-335,Saltash Dental Group,2026-09-30,DW-1125
37
- PA-336,Saltash Dental Group,2026-09-28,DW-1126
38
- PA-337,Wyvern Outdoor,2026-10-02,DW-1111
39
- PA-338,Harlow Cider Co,2026-09-27,DW-1085
40
- PA-400,Saltash Dental Group,2026-09-04,
41
- PA-401,Wyvern Outdoor,2026-09-11,
42
- PA-402,Wyvern Outdoor,2026-09-17,
43
- PA-403,Ottery Books,2026-09-23,
44
- PA-404,Saltash Dental Group,2026-09-26,
@@ -1,10 +0,0 @@
1
- # Content team roster (Plover & Finch), September 2026
2
-
3
- | Name | Role | Draftwell username | Notes |
4
- |------|------|--------------------|-------|
5
- | Amara | Copywriter | amara | |
6
- | Bastian | Copywriter | bastian | |
7
- | Corin | Content lead | corin, then c.lund | Account moved to single sign-on on 15 Sep; new username c.lund |
8
- | Delphine | Copywriter | delphine | Annual leave 1-14 Sep |
9
- | Ezra | Designer | (none) | Uses Pixelwell, our AI image tool, not Draftwell |
10
- | Farah | Social media executive | farah | |
@@ -1,133 +0,0 @@
1
- # Example: Weekly engineering-team rollup
2
-
3
- A small synthetic event log demonstrating the three views — including graceful degradation when optional fields are missing and the privacy-floor refusal on `team-rollup` for small teams.
4
-
5
- ## Input — `events.csv`
6
-
7
- ```csv
8
- timestamp,user,tool,session_id,output_consumed,consumed_at,outcome
9
- 2026-05-19T09:14:23Z,alice@acme.example,claude-code,sess-001,1,2026-05-19T11:02:00Z,success
10
- 2026-05-19T09:14:55Z,alice@acme.example,claude-code,sess-001,1,2026-05-19T11:02:00Z,success
11
- 2026-05-19T09:18:02Z,alice@acme.example,slide-outliner,sess-001,1,2026-05-19T14:30:00Z,success
12
- 2026-05-19T10:01:11Z,bob@acme.example,cursor,sess-014,0,,success
13
- 2026-05-19T10:01:30Z,bob@acme.example,cursor,sess-015,0,,success
14
- 2026-05-19T10:02:11Z,bob@acme.example,cursor,sess-016,0,,success
15
- 2026-05-19T10:03:11Z,bob@acme.example,cursor,sess-017,0,,success
16
- 2026-05-19T10:04:11Z,bob@acme.example,cursor,sess-018,0,,success
17
- 2026-05-20T14:22:08Z,carol@acme.example,claude-code,sess-029,1,2026-05-22T08:11:00Z,success
18
- 2026-05-20T15:22:08Z,carol@acme.example,adr-generator,sess-029,1,2026-05-22T08:11:00Z,success
19
- 2026-05-20T16:22:08Z,carol@acme.example,design-doc,sess-030,1,2026-05-22T08:11:00Z,success
20
- 2026-05-19T11:14:23Z,dan@acme.example,claude-code,sess-101,1,2026-05-19T13:00:00Z,success
21
- 2026-05-19T11:15:23Z,dan@acme.example,claude-code,sess-101,0,,success
22
- 2026-05-20T08:14:23Z,eve@acme.example,claude-code,sess-201,1,2026-05-20T09:00:00Z,success
23
- 2026-05-20T08:15:23Z,eve@acme.example,claude-code,sess-201,1,2026-05-20T09:00:00Z,success
24
- 2026-05-20T08:16:23Z,eve@acme.example,cursor,sess-202,1,2026-05-20T10:00:00Z,success
25
- ```
26
-
27
- 16 events, 5 users, 5 tools, period 2026-05-19 → 2026-05-20.
28
-
29
- ## Generate the three views
30
-
31
- ```bash
32
- # Per-user (manager view, names individuals)
33
- python3 scripts/build_report.py events.csv \
34
- --view per-user --from 2026-05-18 --to 2026-05-21 \
35
- --team-name "Acme Eng" -o out/per-user.md
36
-
37
- # Team-rollup (aggregate, no names, safe for skip-level/exec)
38
- python3 scripts/build_report.py events.csv \
39
- --view team-rollup --from 2026-05-18 --to 2026-05-21 \
40
- --team-name "Acme Eng" -o out/team-rollup.md
41
-
42
- # Effectiveness (per-user template, sorted by descending single-shot rate)
43
- python3 scripts/build_report.py events.csv \
44
- --view effectiveness --from 2026-05-18 --to 2026-05-21 \
45
- --team-name "Acme Eng" -o out/effectiveness.md
46
- ```
47
-
48
- ## Output — per-user view (excerpt)
49
-
50
- ```markdown
51
- # AI Usage Report — Acme Eng
52
-
53
- **Period:** 2026-05-18 → 2026-05-21 (3 days)
54
- **Users in scope:** 5
55
- **Total invocations:** 16
56
-
57
- | User | Invocations | Sessions | Avg / session | Distinct tools | Effectiveness rate | Single-shot rate |
58
- |---|---:|---:|---:|---:|---:|---:|
59
- | alice@acme.example | 3 | 1 | 3.0 | 2 | 100% | 0% |
60
- | bob@acme.example | 5 | 5 | 1.0 | 1 | 0% | 100% |
61
- | carol@acme.example | 3 | 2 | 1.5 | 3 | 100% | 50% |
62
- | dan@acme.example | 2 | 1 | 2.0 | 1 | 50% | 0% |
63
- | eve@acme.example | 3 | 2 | 1.5 | 2 | 100% | 50% |
64
- ```
65
-
66
- **Reading the data:**
67
- - **Alice** — 3 invocations in 1 session, all consumed, 2 tools. Deep, engaged use.
68
- - **Bob** — 5 invocations across 5 different sessions, 0% consumed, 1 tool only. **This is the AI-theater pattern**: high single-shot rate + low effectiveness + low breadth. Worth a conversation — *but the conversation, not the verdict.*
69
- - **Carol** — varied tools, mixed effectiveness. Healthy exploratory pattern.
70
- - **Dan** — small sample. Don't over-read.
71
- - **Eve** — engaged use, good breadth.
72
-
73
- ## Output — team-rollup (excerpt)
74
-
75
- ```markdown
76
- # AI Usage Rollup — Acme Eng
77
-
78
- | Metric | Value |
79
- |---|---:|
80
- | Invocations / user / day (median) | 1.0 |
81
- | Distinct tools per user (median) | 2 |
82
- | Effectiveness rate (team avg) | 62% |
83
- | Single-shot session rate (team avg) | 64% |
84
- | Active users (≥1 invocation in period) | 5 of 5 |
85
-
86
- | Engagement tier | Users | What it means |
87
- |---|---:|---|
88
- | **Heavy** (>20 invocations/week) | 0 | … |
89
- | **Moderate** (5–20 / week) | 4 | … |
90
- | **Light** (1–4 / week) | 1 | … |
91
- | **Inactive** (0 / week) | 0 | … |
92
- ```
93
-
94
- No names appear. The "Bob is doing AI theater" insight is invisible from this view by design — if a manager needs that signal, they switch to `per-user` and take ownership of the privacy boundary.
95
-
96
- ## Demonstrating graceful degradation
97
-
98
- If the input is missing optional fields, columns drop silently to `—`:
99
-
100
- ```csv
101
- timestamp,user,tool
102
- 2026-05-19T09:14:23Z,alice@acme.example,claude-code
103
- 2026-05-19T09:14:55Z,alice@acme.example,claude-code
104
- ```
105
-
106
- ```markdown
107
- | User | Invocations | Sessions | Avg / session | Distinct tools | Effectiveness rate | Single-shot rate |
108
- | alice@acme.example | 2 | — | — | 1 | — | — |
109
- ```
110
-
111
- The "Where signals are missing" section then explains *what* couldn't be computed and *why*.
112
-
113
- ## Demonstrating the privacy floor
114
-
115
- With fewer than 5 users in scope, `team-rollup` refuses to generate:
116
-
117
- ```
118
- $ python3 scripts/build_report.py small_team.csv --view team-rollup ...
119
- error: team-rollup requires ≥5 users in scope; got 3. Aggregate views aren't
120
- anonymous at that size. Use --view per-user and treat the output as identifying.
121
- ```
122
-
123
- This is the contract — the tool won't be the one to anonymize-by-accident a team that's too small to be anonymous.
124
-
125
- ## Hand-off to the user (what the agent would say)
126
-
127
- > Generated `out/per-user.md` — 5 users, 16 invocations, period 2026-05-19 to 2026-05-20.
128
- >
129
- > Two things to know before reading:
130
- > 1. **All optional signals were present**, so the report includes effectiveness and single-shot columns. The numbers are real, not estimated.
131
- > 2. **The most actionable pattern** is in the single-shot + effectiveness columns. One user shows 100% single-shot and 0% effectiveness — a starting place to ask about engagement, *not* a verdict on intent. The report flags the pattern; interpretation is yours.
132
- >
133
- > Want me to also produce the team-rollup view? It hides individual names and is safer for broader audiences.
@@ -1,12 +0,0 @@
1
- {
2
- "name": "ai-usage-report",
3
- "version": "0.1.2",
4
- "description": "Generate a per-user or team-level report on how AI tools are being used — volume, breadth, and effectiveness signals (e.g. whether AI outputs landed in shipped artifacts vs were generated and discarded). Consumes usage-event logs exported from an MCP server or other telemetry source. Use when a manager or team lead needs to understand AI adoption beyond raw counts — including spotting \"AI theater\" where people invoke AI to claim usage but don't act on the outputs.",
5
- "entrypoint": "SKILL.md",
6
- "deps": { "npm": [], "pip": [] },
7
- "env": { "required": [], "optional": [] },
8
- "related": [],
9
- "tags": ["ai-usage", "reporting", "telemetry", "adoption", "observability", "manager-tools"],
10
- "permissions": {"network": [], "commands": [], "files": "named-paths"},
11
- "model": { "tier": "standard", "rationale": "Tabulates telemetry; the 'AI theater' effectiveness call needs some judgment." }
12
- }