skilldrop-cli 0.16.35 → 0.16.36

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 (212) hide show
  1. package/README.md +1 -0
  2. package/agents/README.md +4 -1
  3. package/agents/docs-reviewer.md +47 -0
  4. package/agents/finding-adjudicator.md +49 -0
  5. package/agents/test-reviewer.md +52 -0
  6. package/catalogue.json +17 -7
  7. package/model-routing.json +40 -0
  8. package/package.json +1 -1
  9. package/packs/ai-engineering/skills/agent-config-review/SKILL.md +116 -0
  10. package/packs/ai-engineering/skills/agent-config-review/evals/eval_queries.json +12 -0
  11. package/packs/ai-engineering/skills/agent-config-review/evals/evals.json +75 -0
  12. package/packs/ai-engineering/skills/agent-config-review/evals/files/1/.claude/agents/db-migrator.md +8 -0
  13. package/packs/ai-engineering/skills/agent-config-review/evals/files/1/.claude/agents/reviewer.md +9 -0
  14. package/packs/ai-engineering/skills/agent-config-review/evals/files/1/.claude/settings.json +48 -0
  15. package/packs/ai-engineering/skills/agent-config-review/evals/files/1/.claude/settings.local.json +5 -0
  16. package/packs/ai-engineering/skills/agent-config-review/evals/files/1/.mcp.json +22 -0
  17. package/packs/ai-engineering/skills/agent-config-review/evals/files/1/package.json +12 -0
  18. package/packs/ai-engineering/skills/agent-config-review/evals/files/2/.cursor/mcp.json +17 -0
  19. package/packs/ai-engineering/skills/agent-config-review/evals/files/2/config.toml +21 -0
  20. package/packs/ai-engineering/skills/agent-config-review/evals/files/4/my-user-settings.json +11 -0
  21. package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/.claude/agents/release-notes.md +13 -0
  22. package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/.claude/settings.json +39 -0
  23. package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/.mcp.json +18 -0
  24. package/packs/ai-engineering/skills/agent-config-review/evals/files/4/quillstack/package.json +14 -0
  25. package/packs/ai-engineering/skills/agent-config-review/evals/files/5/.github/workflows/codex-triage.yml +29 -0
  26. package/packs/ai-engineering/skills/agent-config-review/evals/files/5/AGENTS.md +16 -0
  27. package/packs/ai-engineering/skills/agent-config-review/evals/files/5/codex/config.toml +34 -0
  28. package/packs/ai-engineering/skills/agent-config-review/examples/inputs/tidewater-ingest/.claude/settings.json +22 -0
  29. package/packs/ai-engineering/skills/agent-config-review/examples/inputs/tidewater-ingest/.mcp.json +9 -0
  30. package/packs/ai-engineering/skills/agent-config-review/examples/python-repo-tighten.md +81 -0
  31. package/packs/ai-engineering/skills/agent-config-review/manifest.json +60 -0
  32. package/packs/ai-engineering/skills/agent-config-review/reference.md +205 -0
  33. package/packs/ai-engineering/skills/agent-config-review/scripts/agent_config_scan.py +989 -0
  34. package/packs/ai-engineering/skills/agent-incident-response/SKILL.md +175 -0
  35. package/packs/ai-engineering/skills/agent-incident-response/evals/eval_queries.json +14 -0
  36. package/packs/ai-engineering/skills/agent-incident-response/evals/evals.json +107 -0
  37. package/packs/ai-engineering/skills/agent-incident-response/evals/files/1/agent-session-excerpt.txt +11 -0
  38. package/packs/ai-engineering/skills/agent-incident-response/evals/files/1/ci-build-log.txt +24 -0
  39. package/packs/ai-engineering/skills/agent-incident-response/evals/files/1/incident-notes.md +19 -0
  40. package/packs/ai-engineering/skills/agent-incident-response/evals/files/2/mcp-config.json +20 -0
  41. package/packs/ai-engineering/skills/agent-incident-response/evals/files/2/session-transcript.txt +8 -0
  42. package/packs/ai-engineering/skills/agent-incident-response/evals/files/4/agent-session.log +70 -0
  43. package/packs/ai-engineering/skills/agent-incident-response/evals/files/4/infra/staging-db.tf +25 -0
  44. package/packs/ai-engineering/skills/agent-incident-response/evals/files/5/jobs/nightly-triage/job.yaml +19 -0
  45. package/packs/ai-engineering/skills/agent-incident-response/evals/files/5/jobs/nightly-triage/run.log +13 -0
  46. package/packs/ai-engineering/skills/agent-incident-response/evals/files/5/usage-export-2026-10-20.csv +13 -0
  47. package/packs/ai-engineering/skills/agent-incident-response/evals/files/6/.mcp.json +20 -0
  48. package/packs/ai-engineering/skills/agent-incident-response/evals/files/6/git-log.txt +12 -0
  49. package/packs/ai-engineering/skills/agent-incident-response/evals/files/6/notesync-excerpt.txt +30 -0
  50. package/packs/ai-engineering/skills/agent-incident-response/evals/files/6/notesync.log +15 -0
  51. package/packs/ai-engineering/skills/agent-incident-response/evals/files/6/ssh-config.txt +16 -0
  52. package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/.github/workflows/ci.yml +28 -0
  53. package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/SECURITY.md +8 -0
  54. package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/issue-479.md +35 -0
  55. package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/package.json +15 -0
  56. package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/pr-482.diff +20 -0
  57. package/packs/ai-engineering/skills/agent-incident-response/evals/files/7/run-log.txt +30 -0
  58. package/packs/ai-engineering/skills/agent-incident-response/examples/injected-issue-comment.md +57 -0
  59. package/packs/ai-engineering/skills/agent-incident-response/manifest.json +55 -0
  60. package/packs/ai-engineering/skills/agent-incident-response/reference.md +152 -0
  61. package/packs/ai-engineering/skills/agent-incident-response/scripts/find_secret_exposure.py +239 -0
  62. package/packs/ai-engineering/skills/agent-incident-response/scripts/usage_split.py +194 -0
  63. package/packs/converters/skills/file-to-markdown/SKILL.md +2 -1
  64. package/packs/converters/skills/file-to-markdown/evals/eval_queries.json +4 -0
  65. package/packs/converters/skills/file-to-markdown/manifest.json +2 -2
  66. package/packs/converters/skills/file-to-markdown/scripts/to_markdown.py +253 -3
  67. package/packs/converters/skills/md-to-confluence/SKILL.md +139 -0
  68. package/packs/converters/skills/md-to-confluence/evals/eval_queries.json +42 -0
  69. package/packs/converters/skills/md-to-confluence/evals/evals.json +89 -0
  70. package/packs/converters/skills/md-to-confluence/evals/files/1/img/latency-dashboard.png +0 -0
  71. package/packs/converters/skills/md-to-confluence/evals/files/1/payments-runbook.md +60 -0
  72. package/packs/converters/skills/md-to-confluence/evals/files/2/deploy-checklist.md +33 -0
  73. package/packs/converters/skills/md-to-confluence/evals/files/3/img/after/screen.png +0 -0
  74. package/packs/converters/skills/md-to-confluence/evals/files/3/img/before/screen.png +0 -0
  75. package/packs/converters/skills/md-to-confluence/evals/files/3/release-notes-4.2.md +49 -0
  76. package/packs/converters/skills/md-to-confluence/evals/files/4/docs/img/topology.png +0 -0
  77. package/packs/converters/skills/md-to-confluence/evals/files/4/docs/ingest-pipeline-design.md +65 -0
  78. package/packs/converters/skills/md-to-confluence/evals/files/5/support/troubleshooting-sso.md +57 -0
  79. package/packs/converters/skills/md-to-confluence/examples/inputs/img/queue-depth.png +0 -0
  80. package/packs/converters/skills/md-to-confluence/examples/inputs/queue-runbook.fixed.md +21 -0
  81. package/packs/converters/skills/md-to-confluence/examples/inputs/queue-runbook.md +21 -0
  82. package/packs/converters/skills/md-to-confluence/examples/queue-runbook.md +57 -0
  83. package/packs/converters/skills/md-to-confluence/manifest.json +52 -0
  84. package/packs/converters/skills/md-to-confluence/reference.md +92 -0
  85. package/packs/converters/skills/md-to-confluence/scripts/md_to_confluence.py +821 -0
  86. package/packs/converters/skills/md-to-pptx/SKILL.md +131 -0
  87. package/packs/converters/skills/md-to-pptx/evals/eval_queries.json +12 -0
  88. package/packs/converters/skills/md-to-pptx/evals/evals.json +84 -0
  89. package/packs/converters/skills/md-to-pptx/evals/files/1/img/defect-burndown.png +0 -0
  90. package/packs/converters/skills/md-to-pptx/evals/files/1/status-report.md +75 -0
  91. package/packs/converters/skills/md-to-pptx/evals/files/3/brand.json +12 -0
  92. package/packs/converters/skills/md-to-pptx/evals/files/3/night-shift-induction.md +53 -0
  93. package/packs/converters/skills/md-to-pptx/evals/files/4/charts/ontime.png +0 -0
  94. package/packs/converters/skills/md-to-pptx/evals/files/4/qbr-q3.md +85 -0
  95. package/packs/converters/skills/md-to-pptx/evals/files/5/vendor-sync-notes.md +28 -0
  96. package/packs/converters/skills/md-to-pptx/examples/support-weekly-input.md +48 -0
  97. package/packs/converters/skills/md-to-pptx/examples/support-weekly.md +75 -0
  98. package/packs/converters/skills/md-to-pptx/examples/tickets-by-week.png +0 -0
  99. package/packs/converters/skills/md-to-pptx/manifest.json +49 -0
  100. package/packs/converters/skills/md-to-pptx/reference.md +139 -0
  101. package/packs/converters/skills/md-to-pptx/scripts/md_to_pptx.py +1841 -0
  102. package/packs/dev-team/loops/modernize/LOOP.md +124 -0
  103. package/packs/dev-team/loops/modernize/evals/eval_queries.json +9 -0
  104. package/packs/dev-team/loops/modernize/evals/evals.json +27 -0
  105. package/packs/dev-team/loops/modernize/loop.json +60 -0
  106. package/packs/dev-team/skills/behaviour-equivalence/SKILL.md +155 -0
  107. package/packs/dev-team/skills/behaviour-equivalence/evals/eval_queries.json +11 -0
  108. package/packs/dev-team/skills/behaviour-equivalence/evals/evals.json +76 -0
  109. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/cases.jsonl +12 -0
  110. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/new.jsonl +12 -0
  111. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/notes.md +15 -0
  112. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/old.jsonl +12 -0
  113. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/old_rerun.jsonl +12 -0
  114. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/pricing_v1.py +45 -0
  115. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/pricing_v2.py +65 -0
  116. package/packs/dev-team/skills/behaviour-equivalence/evals/files/1/rules.json +10 -0
  117. package/packs/dev-team/skills/behaviour-equivalence/evals/files/3/diff-summary.txt +16 -0
  118. package/packs/dev-team/skills/behaviour-equivalence/evals/files/4/diff.txt +13 -0
  119. package/packs/dev-team/skills/behaviour-equivalence/evals/files/4/fee_calc_py2.py +16 -0
  120. package/packs/dev-team/skills/behaviour-equivalence/evals/files/4/fee_calc_py3.py +24 -0
  121. package/packs/dev-team/skills/behaviour-equivalence/evals/files/4/input.csv +13 -0
  122. package/packs/dev-team/skills/behaviour-equivalence/evals/files/4/new_output.csv +13 -0
  123. package/packs/dev-team/skills/behaviour-equivalence/evals/files/4/old_output.csv +13 -0
  124. package/packs/dev-team/skills/behaviour-equivalence/evals/files/5/TEAM_NOTES.md +19 -0
  125. package/packs/dev-team/skills/behaviour-equivalence/evals/files/5/normalisation.yaml +12 -0
  126. package/packs/dev-team/skills/behaviour-equivalence/evals/files/5/recordings/new_run.jsonl +8 -0
  127. package/packs/dev-team/skills/behaviour-equivalence/evals/files/5/recordings/old_run1.jsonl +8 -0
  128. package/packs/dev-team/skills/behaviour-equivalence/evals/files/5/recordings/old_run2.jsonl +8 -0
  129. package/packs/dev-team/skills/behaviour-equivalence/examples/delivery-date.md +78 -0
  130. package/packs/dev-team/skills/behaviour-equivalence/manifest.json +33 -0
  131. package/packs/dev-team/skills/behaviour-equivalence/reference.md +97 -0
  132. package/packs/dev-team/skills/behaviour-equivalence/scripts/golden_diff.py +524 -0
  133. package/packs/dev-team/skills/behaviour-equivalence/templates/accepted.json +10 -0
  134. package/packs/dev-team/skills/behaviour-equivalence/templates/rules.json +7 -0
  135. package/packs/frontend/pack.json +55 -0
  136. package/packs/frontend/skills/rendering-strategy/SKILL.md +149 -0
  137. package/packs/frontend/skills/rendering-strategy/evals/eval_queries.json +38 -0
  138. package/packs/frontend/skills/rendering-strategy/evals/evals.json +77 -0
  139. package/packs/frontend/skills/rendering-strategy/evals/files/1/fernhill-app.md +40 -0
  140. package/packs/frontend/skills/rendering-strategy/evals/files/3/routes.md +33 -0
  141. package/packs/frontend/skills/rendering-strategy/evals/files/4/build-notes.txt +5 -0
  142. package/packs/frontend/skills/rendering-strategy/evals/files/4/nuxt.config.ts +19 -0
  143. package/packs/frontend/skills/rendering-strategy/evals/files/4/pages/recipes/[slug].vue +37 -0
  144. package/packs/frontend/skills/rendering-strategy/evals/files/4/routes.md +15 -0
  145. package/packs/frontend/skills/rendering-strategy/evals/files/5/routes.txt +18 -0
  146. package/packs/frontend/skills/rendering-strategy/evals/files/5/src/hooks.server.ts +14 -0
  147. package/packs/frontend/skills/rendering-strategy/evals/files/5/src/routes/(marketing)/pricing/+page.server.ts +10 -0
  148. package/packs/frontend/skills/rendering-strategy/evals/files/5/src/routes/+layout.server.ts +10 -0
  149. package/packs/frontend/skills/rendering-strategy/evals/files/5/svelte.config.js +10 -0
  150. package/packs/frontend/skills/rendering-strategy/evals/files/5/traffic.md +18 -0
  151. package/packs/frontend/skills/rendering-strategy/examples/saas-site.md +42 -0
  152. package/packs/frontend/skills/rendering-strategy/manifest.json +50 -0
  153. package/packs/frontend/skills/rendering-strategy/reference.md +116 -0
  154. package/packs/frontend/skills/rendering-strategy/scripts/render_load.py +181 -0
  155. package/packs/frontend/skills/web-performance-review/SKILL.md +106 -0
  156. package/packs/frontend/skills/web-performance-review/evals/eval_queries.json +38 -0
  157. package/packs/frontend/skills/web-performance-review/evals/evals.json +76 -0
  158. package/packs/frontend/skills/web-performance-review/evals/files/1/psi.json +1065 -0
  159. package/packs/frontend/skills/web-performance-review/evals/files/2/after.json +359 -0
  160. package/packs/frontend/skills/web-performance-review/evals/files/2/before.json +375 -0
  161. package/packs/frontend/skills/web-performance-review/evals/files/4/psi-pdp-mobile-2026-10-19.json +171 -0
  162. package/packs/frontend/skills/web-performance-review/evals/files/4/rum-inp-attribution-oct14-19.csv +6 -0
  163. package/packs/frontend/skills/web-performance-review/evals/files/4/rum-inp-daily.csv +15 -0
  164. package/packs/frontend/skills/web-performance-review/evals/files/5/crux-home-phone.json +35 -0
  165. package/packs/frontend/skills/web-performance-review/evals/files/5/lighthouse-home-mobile.json +173 -0
  166. package/packs/frontend/skills/web-performance-review/examples/quayside-article-lhr.json +480 -0
  167. package/packs/frontend/skills/web-performance-review/examples/quayside-article.md +103 -0
  168. package/packs/frontend/skills/web-performance-review/manifest.json +48 -0
  169. package/packs/frontend/skills/web-performance-review/reference.md +105 -0
  170. package/packs/frontend/skills/web-performance-review/scripts/lh_summary.py +743 -0
  171. package/packs/product-manager/skills/lean-canvas/SKILL.md +162 -0
  172. package/packs/product-manager/skills/lean-canvas/evals/eval_queries.json +42 -0
  173. package/packs/product-manager/skills/lean-canvas/evals/evals.json +82 -0
  174. package/packs/product-manager/skills/lean-canvas/evals/files/1/pawpass-notes.md +54 -0
  175. package/packs/product-manager/skills/lean-canvas/evals/files/3/lunchloop-pitch.md +30 -0
  176. package/packs/product-manager/skills/lean-canvas/evals/files/4/clubkit-notes.md +44 -0
  177. package/packs/product-manager/skills/lean-canvas/evals/files/5/cost-model.csv +5 -0
  178. package/packs/product-manager/skills/lean-canvas/evals/files/5/proposal.md +40 -0
  179. package/packs/product-manager/skills/lean-canvas/evals/files/5/stakeholder-emails.txt +18 -0
  180. package/packs/product-manager/skills/lean-canvas/examples/bike-repair.md +72 -0
  181. package/packs/product-manager/skills/lean-canvas/manifest.json +34 -0
  182. package/packs/product-manager/skills/lean-canvas/reference.md +102 -0
  183. package/packs/product-manager/skills/lean-canvas/scripts/unit_economics.py +211 -0
  184. package/packs/solution-architect/skills/api-contract-draft/SKILL.md +2 -2
  185. package/packs/solution-architect/skills/api-contract-draft/manifest.json +28 -6
  186. package/packs/solution-architect/skills/event-contract-draft/SKILL.md +167 -0
  187. package/packs/solution-architect/skills/event-contract-draft/evals/eval_queries.json +38 -0
  188. package/packs/solution-architect/skills/event-contract-draft/evals/evals.json +76 -0
  189. package/packs/solution-architect/skills/event-contract-draft/evals/files/1/order-events-brief.md +45 -0
  190. package/packs/solution-architect/skills/event-contract-draft/evals/files/4/NOTES.md +23 -0
  191. package/packs/solution-architect/skills/event-contract-draft/evals/files/4/schemas/shipment-update.json +40 -0
  192. package/packs/solution-architect/skills/event-contract-draft/evals/files/5/invoice.example.json +25 -0
  193. package/packs/solution-architect/skills/event-contract-draft/examples/order-service.asyncapi.json +246 -0
  194. package/packs/solution-architect/skills/event-contract-draft/examples/order-service.md +92 -0
  195. package/packs/solution-architect/skills/event-contract-draft/manifest.json +25 -0
  196. package/packs/solution-architect/skills/event-contract-draft/reference.md +113 -0
  197. package/packs/solution-architect/skills/event-contract-draft/scripts/check_asyncapi.py +502 -0
  198. package/packs/solution-architect/skills/event-contract-draft/templates/asyncapi-skeleton.json +144 -0
  199. package/packs/sre-oncall/skills/slo-spec/SKILL.md +161 -0
  200. package/packs/sre-oncall/skills/slo-spec/evals/eval_queries.json +38 -0
  201. package/packs/sre-oncall/skills/slo-spec/evals/evals.json +75 -0
  202. package/packs/sre-oncall/skills/slo-spec/evals/files/1/order-service.md +51 -0
  203. package/packs/sre-oncall/skills/slo-spec/evals/files/3/search-slo-status.md +30 -0
  204. package/packs/sre-oncall/skills/slo-spec/evals/files/4/alerts/payments-api.rules.yaml +16 -0
  205. package/packs/sre-oncall/skills/slo-spec/evals/files/4/docs/dependencies.md +8 -0
  206. package/packs/sre-oncall/skills/slo-spec/evals/files/4/metrics/summary-90d.md +51 -0
  207. package/packs/sre-oncall/skills/slo-spec/evals/files/5/ops-notes.md +34 -0
  208. package/packs/sre-oncall/skills/slo-spec/examples/ticket-booking.md +88 -0
  209. package/packs/sre-oncall/skills/slo-spec/manifest.json +34 -0
  210. package/packs/sre-oncall/skills/slo-spec/reference.md +113 -0
  211. package/packs/sre-oncall/skills/slo-spec/scripts/slo_math.py +449 -0
  212. package/packs/sre-oncall/skills/slo-spec/templates/slo-spec.md +35 -0
@@ -0,0 +1,375 @@
1
+ {
2
+ "lighthouseVersion": "12.6.1",
3
+ "requestedUrl": "https://www.fernhill.example/events/autumn-lights",
4
+ "mainDocumentUrl": "https://www.fernhill.example/events/autumn-lights",
5
+ "finalDisplayedUrl": "https://www.fernhill.example/events/autumn-lights",
6
+ "finalUrl": "https://www.fernhill.example/events/autumn-lights",
7
+ "fetchTime": "2026-10-06T14:02:51.104Z",
8
+ "gatherMode": "navigation",
9
+ "runWarnings": [],
10
+ "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/141.0.0.0 Safari/537.36",
11
+ "environment": {
12
+ "networkUserAgent": "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36 Chrome-Lighthouse",
13
+ "hostUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/141.0.0.0 Safari/537.36",
14
+ "benchmarkIndex": 1530.0
15
+ },
16
+ "configSettings": {
17
+ "output": [
18
+ "json"
19
+ ],
20
+ "maxWaitForFcp": 30000,
21
+ "maxWaitForLoad": 45000,
22
+ "pauseAfterFcpMs": 1000,
23
+ "pauseAfterLoadMs": 1000,
24
+ "networkQuietThresholdMs": 1000,
25
+ "cpuQuietThresholdMs": 1000,
26
+ "formFactor": "mobile",
27
+ "throttling": {
28
+ "rttMs": 150,
29
+ "throughputKbps": 1638.4,
30
+ "requestLatencyMs": 562.5,
31
+ "downloadThroughputKbps": 1474.5600000000002,
32
+ "uploadThroughputKbps": 675,
33
+ "cpuSlowdownMultiplier": 4
34
+ },
35
+ "throttlingMethod": "simulate",
36
+ "screenEmulation": {
37
+ "mobile": true,
38
+ "width": 412,
39
+ "height": 823,
40
+ "deviceScaleFactor": 1.75,
41
+ "disabled": false
42
+ },
43
+ "emulatedUserAgent": "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36",
44
+ "onlyCategories": [
45
+ "performance"
46
+ ],
47
+ "channel": "cli"
48
+ },
49
+ "categories": {
50
+ "performance": {
51
+ "id": "performance",
52
+ "title": "Performance",
53
+ "score": 0.58,
54
+ "auditRefs": [
55
+ {
56
+ "id": "first-contentful-paint",
57
+ "weight": 10,
58
+ "group": "metrics",
59
+ "acronym": "FCP"
60
+ },
61
+ {
62
+ "id": "largest-contentful-paint",
63
+ "weight": 25,
64
+ "group": "metrics",
65
+ "acronym": "LCP"
66
+ },
67
+ {
68
+ "id": "total-blocking-time",
69
+ "weight": 30,
70
+ "group": "metrics",
71
+ "acronym": "TBT"
72
+ },
73
+ {
74
+ "id": "cumulative-layout-shift",
75
+ "weight": 25,
76
+ "group": "metrics",
77
+ "acronym": "CLS"
78
+ },
79
+ {
80
+ "id": "speed-index",
81
+ "weight": 10,
82
+ "group": "metrics",
83
+ "acronym": "SI"
84
+ }
85
+ ]
86
+ }
87
+ },
88
+ "audits": {
89
+ "first-contentful-paint": {
90
+ "id": "first-contentful-paint",
91
+ "title": "First Contentful Paint",
92
+ "score": 0.86,
93
+ "scoreDisplayMode": "numeric",
94
+ "numericValue": 1890,
95
+ "numericUnit": "millisecond",
96
+ "displayValue": "1.9 s"
97
+ },
98
+ "largest-contentful-paint": {
99
+ "id": "largest-contentful-paint",
100
+ "title": "Largest Contentful Paint",
101
+ "score": 0.5,
102
+ "scoreDisplayMode": "numeric",
103
+ "numericValue": 3910,
104
+ "numericUnit": "millisecond",
105
+ "displayValue": "3.9 s"
106
+ },
107
+ "total-blocking-time": {
108
+ "id": "total-blocking-time",
109
+ "title": "Total Blocking Time",
110
+ "score": 0.21,
111
+ "scoreDisplayMode": "numeric",
112
+ "numericValue": 1180,
113
+ "numericUnit": "millisecond",
114
+ "displayValue": "1,180 ms"
115
+ },
116
+ "cumulative-layout-shift": {
117
+ "id": "cumulative-layout-shift",
118
+ "title": "Cumulative Layout Shift",
119
+ "score": 1,
120
+ "scoreDisplayMode": "numeric",
121
+ "numericValue": 0.018,
122
+ "numericUnit": "unitless",
123
+ "displayValue": "0.018"
124
+ },
125
+ "speed-index": {
126
+ "id": "speed-index",
127
+ "title": "Speed Index",
128
+ "score": 0.7,
129
+ "scoreDisplayMode": "numeric",
130
+ "numericValue": 4210,
131
+ "numericUnit": "millisecond",
132
+ "displayValue": "4.2 s"
133
+ },
134
+ "largest-contentful-paint-element": {
135
+ "id": "largest-contentful-paint-element",
136
+ "title": "Largest Contentful Paint element",
137
+ "score": 0,
138
+ "scoreDisplayMode": "metricSavings",
139
+ "displayValue": "3,910 ms",
140
+ "metricSavings": {
141
+ "LCP": 1410
142
+ },
143
+ "details": {
144
+ "type": "list",
145
+ "items": [
146
+ {
147
+ "type": "table",
148
+ "headings": [
149
+ {
150
+ "key": "node",
151
+ "valueType": "node",
152
+ "label": "Element"
153
+ }
154
+ ],
155
+ "items": [
156
+ {
157
+ "node": {
158
+ "type": "node",
159
+ "lhId": "1-9-H1",
160
+ "path": "1,HTML,1,BODY,0,DIV,0,MAIN,0,HEADER,0,H1",
161
+ "selector": "div#root > main > header.event-header > h1",
162
+ "nodeLabel": "Autumn Lights at Fernhill Gardens",
163
+ "snippet": "<h1 class=\"event-header__title\">"
164
+ }
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "type": "table",
170
+ "headings": [
171
+ {
172
+ "key": "phase",
173
+ "valueType": "text",
174
+ "label": "Phase"
175
+ },
176
+ {
177
+ "key": "percent",
178
+ "valueType": "text",
179
+ "label": "% of LCP"
180
+ },
181
+ {
182
+ "key": "timing",
183
+ "valueType": "ms",
184
+ "label": "Timing"
185
+ }
186
+ ],
187
+ "items": [
188
+ {
189
+ "phase": "TTFB",
190
+ "timing": 520,
191
+ "percent": "13%"
192
+ },
193
+ {
194
+ "phase": "Load Delay",
195
+ "timing": 0,
196
+ "percent": "0%"
197
+ },
198
+ {
199
+ "phase": "Load Time",
200
+ "timing": 0,
201
+ "percent": "0%"
202
+ },
203
+ {
204
+ "phase": "Render Delay",
205
+ "timing": 3390,
206
+ "percent": "87%"
207
+ }
208
+ ]
209
+ }
210
+ ]
211
+ }
212
+ },
213
+ "long-tasks": {
214
+ "id": "long-tasks",
215
+ "title": "Avoid long main-thread tasks",
216
+ "score": 1,
217
+ "scoreDisplayMode": "informative",
218
+ "displayValue": "4 long tasks found",
219
+ "details": {
220
+ "type": "table",
221
+ "headings": [
222
+ {
223
+ "key": "url",
224
+ "valueType": "url"
225
+ },
226
+ {
227
+ "key": "startTime",
228
+ "valueType": "ms"
229
+ },
230
+ {
231
+ "key": "duration",
232
+ "valueType": "ms"
233
+ }
234
+ ],
235
+ "items": [
236
+ {
237
+ "url": "https://www.fernhill.example/static/js/seatmap.4f2a91.js",
238
+ "duration": 620,
239
+ "startTime": 2100
240
+ },
241
+ {
242
+ "url": "https://widget.chatterbox.example/v2/loader.js",
243
+ "duration": 310,
244
+ "startTime": 2900
245
+ },
246
+ {
247
+ "url": "https://www.fernhill.example/static/js/app.8c1d07.js",
248
+ "duration": 280,
249
+ "startTime": 1600
250
+ },
251
+ {
252
+ "url": "https://www.tagpilot.example/tp.js?id=TP-000111",
253
+ "duration": 160,
254
+ "startTime": 3400
255
+ }
256
+ ]
257
+ }
258
+ },
259
+ "third-party-summary": {
260
+ "id": "third-party-summary",
261
+ "title": "Reduce the impact of third-party code",
262
+ "score": 0,
263
+ "scoreDisplayMode": "metricSavings",
264
+ "metricSavings": {
265
+ "TBT": 370
266
+ },
267
+ "details": {
268
+ "type": "table",
269
+ "headings": [
270
+ {
271
+ "key": "entity",
272
+ "valueType": "text"
273
+ },
274
+ {
275
+ "key": "mainThreadTime",
276
+ "valueType": "ms"
277
+ },
278
+ {
279
+ "key": "blockingTime",
280
+ "valueType": "ms"
281
+ }
282
+ ],
283
+ "items": [
284
+ {
285
+ "entity": "ChatterBox",
286
+ "mainThreadTime": 690,
287
+ "blockingTime": 260,
288
+ "transferSize": 214000
289
+ },
290
+ {
291
+ "entity": "TagPilot",
292
+ "mainThreadTime": 310,
293
+ "blockingTime": 110,
294
+ "transferSize": 98000
295
+ }
296
+ ]
297
+ }
298
+ },
299
+ "bootup-time": {
300
+ "id": "bootup-time",
301
+ "title": "JavaScript execution time",
302
+ "score": 0,
303
+ "scoreDisplayMode": "metricSavings",
304
+ "displayValue": "3.1 s",
305
+ "metricSavings": {
306
+ "TBT": 590
307
+ },
308
+ "numericValue": 3145,
309
+ "numericUnit": "millisecond",
310
+ "details": {
311
+ "type": "table",
312
+ "headings": [
313
+ {
314
+ "key": "url",
315
+ "valueType": "url"
316
+ },
317
+ {
318
+ "key": "total",
319
+ "valueType": "ms"
320
+ },
321
+ {
322
+ "key": "scripting",
323
+ "valueType": "ms"
324
+ }
325
+ ],
326
+ "items": [
327
+ {
328
+ "url": "https://www.fernhill.example/static/js/seatmap.4f2a91.js",
329
+ "total": 1240,
330
+ "scripting": 1102
331
+ },
332
+ {
333
+ "url": "https://www.fernhill.example/static/js/app.8c1d07.js",
334
+ "total": 905,
335
+ "scripting": 770
336
+ },
337
+ {
338
+ "url": "https://widget.chatterbox.example/v2/loader.js",
339
+ "total": 690,
340
+ "scripting": 622
341
+ },
342
+ {
343
+ "url": "https://www.tagpilot.example/tp.js?id=TP-000111",
344
+ "total": 310,
345
+ "scripting": 271
346
+ }
347
+ ]
348
+ }
349
+ }
350
+ },
351
+ "entities": [
352
+ {
353
+ "name": "fernhill.example",
354
+ "origins": [
355
+ "https://www.fernhill.example"
356
+ ],
357
+ "isFirstParty": true,
358
+ "isUnrecognized": true
359
+ },
360
+ {
361
+ "name": "ChatterBox",
362
+ "origins": [
363
+ "https://widget.chatterbox.example"
364
+ ],
365
+ "isFirstParty": false
366
+ },
367
+ {
368
+ "name": "TagPilot",
369
+ "origins": [
370
+ "https://www.tagpilot.example"
371
+ ],
372
+ "isFirstParty": false
373
+ }
374
+ ]
375
+ }
@@ -0,0 +1,171 @@
1
+ {
2
+ "captchaResult": "CAPTCHA_NOT_NEEDED",
3
+ "kind": "pagespeedonline#result",
4
+ "id": "https://www.fernhollow-outfitters.example/p/ridgeline-insulated-jacket",
5
+ "analysisUTCTimestamp": "2026-10-19T09:12:44.000Z",
6
+ "loadingExperience": {
7
+ "id": "https://www.fernhollow-outfitters.example",
8
+ "initial_url": "https://www.fernhollow-outfitters.example/p/ridgeline-insulated-jacket",
9
+ "origin_fallback": true,
10
+ "overall_category": "SLOW",
11
+ "metrics": {
12
+ "LARGEST_CONTENTFUL_PAINT_MS": {
13
+ "percentile": 2400,
14
+ "distributions": [
15
+ { "min": 0, "max": 2500, "proportion": 0.77 },
16
+ { "min": 2500, "max": 4000, "proportion": 0.16 },
17
+ { "min": 4000, "proportion": 0.07 }
18
+ ],
19
+ "category": "FAST"
20
+ },
21
+ "INTERACTION_TO_NEXT_PAINT": {
22
+ "percentile": 540,
23
+ "distributions": [
24
+ { "min": 0, "max": 200, "proportion": 0.52 },
25
+ { "min": 200, "max": 500, "proportion": 0.21 },
26
+ { "min": 500, "proportion": 0.27 }
27
+ ],
28
+ "category": "SLOW"
29
+ },
30
+ "CUMULATIVE_LAYOUT_SHIFT_SCORE": {
31
+ "percentile": 4,
32
+ "distributions": [
33
+ { "min": 0, "max": 10, "proportion": 0.88 },
34
+ { "min": 10, "max": 25, "proportion": 0.08 },
35
+ { "min": 25, "proportion": 0.04 }
36
+ ],
37
+ "category": "FAST"
38
+ }
39
+ }
40
+ },
41
+ "originLoadingExperience": {
42
+ "id": "https://www.fernhollow-outfitters.example",
43
+ "overall_category": "SLOW",
44
+ "metrics": {
45
+ "LARGEST_CONTENTFUL_PAINT_MS": { "percentile": 2400, "category": "FAST" },
46
+ "INTERACTION_TO_NEXT_PAINT": { "percentile": 540, "category": "SLOW" },
47
+ "CUMULATIVE_LAYOUT_SHIFT_SCORE": { "percentile": 4, "category": "FAST" }
48
+ }
49
+ },
50
+ "lighthouseResult": {
51
+ "lighthouseVersion": "12.2.1",
52
+ "requestedUrl": "https://www.fernhollow-outfitters.example/p/ridgeline-insulated-jacket",
53
+ "finalDisplayedUrl": "https://www.fernhollow-outfitters.example/p/ridgeline-insulated-jacket",
54
+ "fetchTime": "2026-10-19T09:12:44.000Z",
55
+ "configSettings": {
56
+ "formFactor": "mobile",
57
+ "throttlingMethod": "simulate",
58
+ "throttling": { "rttMs": 150, "throughputKbps": 1638.4, "cpuSlowdownMultiplier": 4 },
59
+ "screenEmulation": { "mobile": true, "width": 412, "height": 823, "deviceScaleFactor": 1.75 },
60
+ "onlyCategories": ["performance"]
61
+ },
62
+ "categories": {
63
+ "performance": { "id": "performance", "title": "Performance", "score": 0.91 }
64
+ },
65
+ "audits": {
66
+ "first-contentful-paint": { "id": "first-contentful-paint", "score": 0.99, "numericValue": 1180, "displayValue": "1.2 s" },
67
+ "speed-index": { "id": "speed-index", "score": 0.97, "numericValue": 2650, "displayValue": "2.7 s" },
68
+ "largest-contentful-paint": { "id": "largest-contentful-paint", "score": 0.88, "numericValue": 2600, "displayValue": "2.6 s" },
69
+ "total-blocking-time": { "id": "total-blocking-time", "score": 0.8, "numericValue": 290, "displayValue": "290 ms" },
70
+ "cumulative-layout-shift": { "id": "cumulative-layout-shift", "score": 1, "numericValue": 0.03, "displayValue": "0.03" },
71
+ "interactive": { "id": "interactive", "score": 0.79, "numericValue": 4900, "displayValue": "4.9 s" },
72
+ "largest-contentful-paint-element": {
73
+ "id": "largest-contentful-paint-element",
74
+ "score": 0,
75
+ "displayValue": "2,600 ms",
76
+ "details": {
77
+ "type": "list",
78
+ "items": [
79
+ {
80
+ "type": "table",
81
+ "headings": [{ "key": "node", "valueType": "node", "label": "Element" }],
82
+ "items": [
83
+ { "node": { "type": "node", "selector": "div.pdp-gallery > img.hero-product-image", "nodeLabel": "Ridgeline Insulated Jacket in Moss" } }
84
+ ]
85
+ },
86
+ {
87
+ "type": "table",
88
+ "headings": [
89
+ { "key": "phase", "valueType": "text", "label": "Phase" },
90
+ { "key": "timing", "valueType": "ms", "label": "Timing" }
91
+ ],
92
+ "items": [
93
+ { "phase": "TTFB", "timing": 620 },
94
+ { "phase": "Load Delay", "timing": 980 },
95
+ { "phase": "Load Time", "timing": 640 },
96
+ { "phase": "Render Delay", "timing": 360 }
97
+ ]
98
+ }
99
+ ]
100
+ }
101
+ },
102
+ "layout-shifts": {
103
+ "id": "layout-shifts",
104
+ "score": 1,
105
+ "displayValue": "1 layout shift found",
106
+ "details": {
107
+ "type": "table",
108
+ "items": [
109
+ { "node": { "type": "node", "selector": "section.reviews-summary", "nodeLabel": "4.6 out of 5 (212 reviews)" }, "score": 0.03 }
110
+ ]
111
+ }
112
+ },
113
+ "render-blocking-resources": {
114
+ "id": "render-blocking-resources",
115
+ "score": 0.5,
116
+ "displayValue": "Potential savings of 150 ms",
117
+ "details": {
118
+ "type": "opportunity",
119
+ "overallSavingsMs": 150,
120
+ "items": [
121
+ { "url": "https://www.fernhollow-outfitters.example/static/css/pdp.71c3.css", "totalBytes": 48210, "wastedMs": 150 }
122
+ ]
123
+ }
124
+ },
125
+ "unused-javascript": {
126
+ "id": "unused-javascript",
127
+ "score": 0.5,
128
+ "displayValue": "Potential savings of 188 KiB",
129
+ "details": {
130
+ "type": "opportunity",
131
+ "overallSavingsMs": 450,
132
+ "overallSavingsBytes": 192512,
133
+ "items": [
134
+ { "url": "https://www.fernhollow-outfitters.example/static/js/vendor.91ad.js", "totalBytes": 241664, "wastedBytes": 98304, "wastedPercent": 40.7 },
135
+ { "url": "https://widget.chatnest.example/v3/launcher.js", "totalBytes": 131072, "wastedBytes": 61440, "wastedPercent": 46.9 },
136
+ { "url": "https://cdn.lumenreviews.example/embed.js", "totalBytes": 65536, "wastedBytes": 32768, "wastedPercent": 50.0 }
137
+ ]
138
+ }
139
+ },
140
+ "third-party-summary": {
141
+ "id": "third-party-summary",
142
+ "score": 1,
143
+ "displayValue": "Third-party code blocked the main thread for 94 ms",
144
+ "details": {
145
+ "type": "table",
146
+ "summary": { "wastedBytes": 268288, "wastedMs": 94 },
147
+ "items": [
148
+ { "entity": "ChatNest", "transferSize": 131072, "mainThreadTime": 820, "blockingTime": 0 },
149
+ { "entity": "Lumen Reviews", "transferSize": 65536, "mainThreadTime": 410, "blockingTime": 94 },
150
+ { "entity": "TagHarbor", "transferSize": 71680, "mainThreadTime": 260, "blockingTime": 0 }
151
+ ]
152
+ }
153
+ },
154
+ "long-tasks": {
155
+ "id": "long-tasks",
156
+ "score": 1,
157
+ "displayValue": "5 long tasks found",
158
+ "details": {
159
+ "type": "table",
160
+ "items": [
161
+ { "url": "https://www.fernhollow-outfitters.example/static/js/vendor.91ad.js", "startTime": 1540, "duration": 202 },
162
+ { "url": "https://cdn.lumenreviews.example/embed.js", "startTime": 2310, "duration": 144 },
163
+ { "url": "https://www.fernhollow-outfitters.example/static/js/pdp-cart.8c1e.js", "startTime": 2780, "duration": 94 },
164
+ { "url": "https://widget.chatnest.example/v3/launcher.js", "startTime": 5210, "duration": 184 },
165
+ { "url": "https://widget.chatnest.example/v3/launcher.js", "startTime": 5640, "duration": 121 }
166
+ ]
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,6 @@
1
+ target_selector,interaction_type,interactions,inp_p75_ms,input_delay_p75_ms,processing_p75_ms,presentation_delay_p75_ms,top_script_url
2
+ button.add-to-cart,pointer,4120,486,38,362,74,https://www.fernhollow-outfitters.example/static/js/pdp-cart.8c1e.js
3
+ button#chatnest-launcher,pointer,520,610,290,240,80,https://widget.chatnest.example/v3/launcher.js
4
+ div.variant-swatch,pointer,6310,214,41,118,52,https://www.fernhollow-outfitters.example/static/js/pdp-variants.2b7d.js
5
+ select#size-select,pointer,2870,176,30,92,48,https://www.fernhollow-outfitters.example/static/js/pdp-variants.2b7d.js
6
+ img.gallery-thumb,pointer,5480,132,26,60,44,https://www.fernhollow-outfitters.example/static/js/pdp-gallery.e01f.js
@@ -0,0 +1,15 @@
1
+ date,page_template,device,interactions_sampled,inp_p75_ms
2
+ 2026-10-06,pdp,mobile,18240,548
3
+ 2026-10-07,pdp,mobile,17910,571
4
+ 2026-10-08,pdp,mobile,18530,556
5
+ 2026-10-09,pdp,mobile,19020,562
6
+ 2026-10-10,pdp,mobile,21470,539
7
+ 2026-10-11,pdp,mobile,23110,580
8
+ 2026-10-12,pdp,mobile,20860,553
9
+ 2026-10-13,pdp,mobile,18390,512
10
+ 2026-10-14,pdp,mobile,18050,468
11
+ 2026-10-15,pdp,mobile,18720,474
12
+ 2026-10-16,pdp,mobile,19340,459
13
+ 2026-10-17,pdp,mobile,21880,481
14
+ 2026-10-18,pdp,mobile,22640,466
15
+ 2026-10-19,pdp,mobile,9120,472
@@ -0,0 +1,35 @@
1
+ {
2
+ "record": {
3
+ "key": { "formFactor": "PHONE", "url": "https://www.quillstack.example/" },
4
+ "metrics": {
5
+ "largest_contentful_paint": {
6
+ "histogram": [
7
+ { "start": 0, "end": 2500, "density": 0.81 },
8
+ { "start": 2500, "end": 4000, "density": 0.13 },
9
+ { "start": 4000, "density": 0.06 }
10
+ ],
11
+ "percentiles": { "p75": 2100 }
12
+ },
13
+ "interaction_to_next_paint": {
14
+ "histogram": [
15
+ { "start": 0, "end": 200, "density": 0.86 },
16
+ { "start": 200, "end": 500, "density": 0.11 },
17
+ { "start": 500, "density": 0.03 }
18
+ ],
19
+ "percentiles": { "p75": 160 }
20
+ },
21
+ "cumulative_layout_shift": {
22
+ "histogram": [
23
+ { "start": "0.00", "end": "0.10", "density": 0.58 },
24
+ { "start": "0.10", "end": "0.25", "density": 0.16 },
25
+ { "start": "0.25", "density": 0.26 }
26
+ ],
27
+ "percentiles": { "p75": "0.27" }
28
+ }
29
+ },
30
+ "collectionPeriod": {
31
+ "firstDate": { "year": 2026, "month": 9, "day": 19 },
32
+ "lastDate": { "year": 2026, "month": 10, "day": 16 }
33
+ }
34
+ }
35
+ }