opencode-skills-collection 4.1.15 → 4.1.17

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 (1013) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +2 -1
  2. package/bundled-skills/00-andruia-consultant/SKILL.md +23 -10
  3. package/bundled-skills/10-andruia-skill-smith/SKILL.md +18 -14
  4. package/bundled-skills/20-andruia-niche-intelligence/SKILL.md +40 -15
  5. package/bundled-skills/360-feedback-system/SKILL.md +7 -10
  6. package/bundled-skills/3d-web-experience/SKILL.md +91 -47
  7. package/bundled-skills/acceptance-orchestrator/SKILL.md +6 -7
  8. package/bundled-skills/access-matrix/SKILL.md +8 -7
  9. package/bundled-skills/accessibility-compliance-accessibility-audit/SKILL.md +10 -4
  10. package/bundled-skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +29 -76
  11. package/bundled-skills/accesslint-audit/SKILL.md +13 -7
  12. package/bundled-skills/accesslint-diff/SKILL.md +15 -47
  13. package/bundled-skills/accesslint-scan/SKILL.md +24 -8
  14. package/bundled-skills/activecampaign-automation/SKILL.md +8 -4
  15. package/bundled-skills/ad-campaign-analyzer/SKILL.md +11 -9
  16. package/bundled-skills/address-github-comments/SKILL.md +12 -6
  17. package/bundled-skills/adhx/SKILL.md +12 -9
  18. package/bundled-skills/admin-access-register/SKILL.md +20 -26
  19. package/bundled-skills/advanced-analytics-dashboard/SKILL.md +12 -13
  20. package/bundled-skills/aegisops-ai/SKILL.md +19 -19
  21. package/bundled-skills/agent-creator/SKILL.md +13 -14
  22. package/bundled-skills/agent-evals/SKILL.md +27 -22
  23. package/bundled-skills/agent-framework-azure-ai-py/SKILL.md +3 -0
  24. package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-LICENSE.txt +21 -0
  25. package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-NOTICE.md +14 -0
  26. package/bundled-skills/agent-framework-azure-ai-py/references/advanced.md +512 -0
  27. package/bundled-skills/agent-framework-azure-ai-py/references/mcp.md +301 -0
  28. package/bundled-skills/agent-framework-azure-ai-py/references/threads.md +300 -0
  29. package/bundled-skills/agent-framework-azure-ai-py/references/tools.md +278 -0
  30. package/bundled-skills/agent-manager-skill/SKILL.md +10 -4
  31. package/bundled-skills/agent-memory/SKILL.md +39 -8
  32. package/bundled-skills/agent-memory-mcp/SKILL.md +11 -2
  33. package/bundled-skills/agent-memory-systems/SKILL.md +13 -28
  34. package/bundled-skills/agent-memory-systems/references/detailed-guide.md +59 -257
  35. package/bundled-skills/agent-orchestration-improve-agent/SKILL.md +12 -7
  36. package/bundled-skills/agent-orchestration-multi-agent-optimize/SKILL.md +14 -24
  37. package/bundled-skills/agent-orchestrator/SKILL.md +30 -20
  38. package/bundled-skills/agent-orchestrator/references/capability-taxonomy.md +9 -9
  39. package/bundled-skills/agent-orchestrator/references/orchestration-patterns.md +2 -2
  40. package/bundled-skills/agent-orchestrator/scripts/match_skills.py +49 -51
  41. package/bundled-skills/agent-orchestrator/scripts/orchestrate.py +71 -32
  42. package/bundled-skills/agent-orchestrator/scripts/scan_registry.py +92 -68
  43. package/bundled-skills/agent-self-scheduling/SKILL.md +11 -8
  44. package/bundled-skills/agent-squad/alex/SKILL.md +6 -1
  45. package/bundled-skills/agent-squad/aria/SKILL.md +7 -2
  46. package/bundled-skills/agent-squad/dep/SKILL.md +11 -4
  47. package/bundled-skills/agent-squad/luna/SKILL.md +10 -5
  48. package/bundled-skills/agent-squad/mason/SKILL.md +10 -5
  49. package/bundled-skills/agent-squad/max/SKILL.md +10 -3
  50. package/bundled-skills/agent-squad/quinn/SKILL.md +12 -5
  51. package/bundled-skills/agent-squad/rex/SKILL.md +7 -2
  52. package/bundled-skills/agentflow/SKILL.md +22 -15
  53. package/bundled-skills/agentfolio/SKILL.md +3 -2
  54. package/bundled-skills/agentic-actions-auditor/SKILL.md +35 -27
  55. package/bundled-skills/agentmail/SKILL.md +33 -58
  56. package/bundled-skills/agents-md/SKILL.md +1 -3
  57. package/bundled-skills/agents-v2-py/SKILL.md +57 -58
  58. package/bundled-skills/agenttrace-session-audit/SKILL.md +3 -2
  59. package/bundled-skills/agy-auto/SKILL.md +11 -10
  60. package/bundled-skills/ai-agent-development/SKILL.md +6 -0
  61. package/bundled-skills/ai-agent-evaluation-benchmarking/SKILL.md +15 -10
  62. package/bundled-skills/ai-agent-tool-routing/SKILL.md +98 -116
  63. package/bundled-skills/ai-agents-architect/SKILL.md +2 -2
  64. package/bundled-skills/ai-analyzer/SKILL.md +25 -10
  65. package/bundled-skills/ai-code-generation-guardrails/SKILL.md +99 -126
  66. package/bundled-skills/ai-dev-jobs-mcp/SKILL.md +8 -4
  67. package/bundled-skills/ai-engineer/SKILL.md +13 -7
  68. package/bundled-skills/ai-engineering-toolkit/SKILL.md +11 -7
  69. package/bundled-skills/ai-headshot-studio/SKILL.md +9 -7
  70. package/bundled-skills/ai-image-generation-studio/SKILL.md +9 -7
  71. package/bundled-skills/ai-inference-service-mesh/SKILL.md +18 -43
  72. package/bundled-skills/ai-logo-maker/SKILL.md +8 -4
  73. package/bundled-skills/ai-loop/SKILL.md +4 -4
  74. package/bundled-skills/ai-ml/SKILL.md +4 -0
  75. package/bundled-skills/ai-multilingual-dubbing/SKILL.md +9 -3
  76. package/bundled-skills/ai-native-cli/SKILL.md +10 -7
  77. package/bundled-skills/ai-photo-restyler/SKILL.md +8 -4
  78. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +36 -18
  79. package/bundled-skills/ai-podcast-voiceover/SKILL.md +9 -3
  80. package/bundled-skills/ai-prompt-regression-testing/SKILL.md +100 -112
  81. package/bundled-skills/ai-red-teaming/SKILL.md +55 -35
  82. package/bundled-skills/ai-security-hardening/SKILL.md +17 -25
  83. package/bundled-skills/ai-sre-incident-response/SKILL.md +8 -8
  84. package/bundled-skills/ai-studio-image/SKILL.md +8 -0
  85. package/bundled-skills/akf-trust-metadata/SKILL.md +8 -2
  86. package/bundled-skills/alerting-oncall/SKILL.md +1 -0
  87. package/bundled-skills/alerting-oncall/references/details.md +1 -5
  88. package/bundled-skills/alpha-vantage/SKILL.md +0 -4
  89. package/bundled-skills/angular-migration/SKILL.md +14 -0
  90. package/bundled-skills/animejs-animation/SKILL.md +8 -3
  91. package/bundled-skills/anti-deception/SKILL.md +5 -3
  92. package/bundled-skills/anti-reversing-techniques/SKILL.md +1 -1
  93. package/bundled-skills/anti-sleep/SKILL.md +4 -2
  94. package/bundled-skills/antigravity-design-expert/SKILL.md +3 -3
  95. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +6 -0
  96. package/bundled-skills/api-analyzer/SKILL.md +7 -29
  97. package/bundled-skills/api-designer/SKILL.md +9 -0
  98. package/bundled-skills/api-documentation/SKILL.md +7 -1
  99. package/bundled-skills/api-sdk-generator/SKILL.md +0 -21
  100. package/bundled-skills/api-testing-observability-api-mock/resources/implementation-playbook.md +31 -11
  101. package/bundled-skills/apk-reverse/SKILL.md +14 -0
  102. package/bundled-skills/apk-reverse/UPSTREAM-LICENSE.txt +21 -0
  103. package/bundled-skills/apk-reverse/UPSTREAM-NOTICE.md +11 -0
  104. package/bundled-skills/apk-reverse/scripts/manifest-summary.ps1 +80 -0
  105. package/bundled-skills/architecture-review/SKILL.md +4 -4
  106. package/bundled-skills/arm-cortex-expert/SKILL.md +0 -1
  107. package/bundled-skills/arrowspace/SKILL.md +23 -21
  108. package/bundled-skills/ask-questions-if-underspecified/SKILL.md +4 -4
  109. package/bundled-skills/audit-logging/SKILL.md +10 -77
  110. package/bundled-skills/automated-triage/SKILL.md +3 -0
  111. package/bundled-skills/automated-triage/UPSTREAM-LICENSE.txt +201 -0
  112. package/bundled-skills/automated-triage/UPSTREAM-NOTICE.md +12 -0
  113. package/bundled-skills/automated-triage/references/triage-example.md +115 -0
  114. package/bundled-skills/automated-triage/references/triage-stages.md +141 -0
  115. package/bundled-skills/avoid-ai-writing/SKILL.md +4 -2
  116. package/bundled-skills/awareness-stage-mapper/SKILL.md +16 -8
  117. package/bundled-skills/aws-cdk-development/SKILL.md +7 -0
  118. package/bundled-skills/aws-cdk-development/UPSTREAM-LICENSE.txt +21 -0
  119. package/bundled-skills/aws-cdk-development/UPSTREAM-NOTICE.md +14 -0
  120. package/bundled-skills/aws-cdk-development/references/cdk-patterns.md +431 -0
  121. package/bundled-skills/aws-cdk-development/scripts/validate-stack.sh +247 -0
  122. package/bundled-skills/aws-skills/SKILL.md +16 -21
  123. package/bundled-skills/aws-sst-development/SKILL.md +3 -0
  124. package/bundled-skills/aws-sst-development/UPSTREAM-LICENSE.txt +21 -0
  125. package/bundled-skills/aws-sst-development/UPSTREAM-NOTICE.md +13 -0
  126. package/bundled-skills/aws-sst-development/references/authoring.md +506 -0
  127. package/bundled-skills/aws-sst-development/references/deploy-and-troubleshoot.md +182 -0
  128. package/bundled-skills/aws-sst-development/references/testing.md +126 -0
  129. package/bundled-skills/awt-e2e-testing/SKILL.md +7 -1
  130. package/bundled-skills/azd-deployment/SKILL.md +45 -51
  131. package/bundled-skills/azure-ai-agents-persistent-java/SKILL.md +35 -19
  132. package/bundled-skills/azure-ai-projects-py/SKILL.md +7 -0
  133. package/bundled-skills/azure-ai-projects-py/UPSTREAM-LICENSE.txt +21 -0
  134. package/bundled-skills/azure-ai-projects-py/UPSTREAM-NOTICE.md +23 -0
  135. package/bundled-skills/azure-ai-projects-py/references/agents.md +295 -0
  136. package/bundled-skills/azure-ai-projects-py/references/api-reference.md +1150 -0
  137. package/bundled-skills/azure-ai-projects-py/references/async-patterns.md +258 -0
  138. package/bundled-skills/azure-ai-projects-py/references/built-in-evaluators.md +427 -0
  139. package/bundled-skills/azure-ai-projects-py/references/connections.md +203 -0
  140. package/bundled-skills/azure-ai-projects-py/references/custom-evaluators.md +450 -0
  141. package/bundled-skills/azure-ai-projects-py/references/datasets-indexes.md +177 -0
  142. package/bundled-skills/azure-ai-projects-py/references/deployments.md +134 -0
  143. package/bundled-skills/azure-ai-projects-py/references/evaluation.md +349 -0
  144. package/bundled-skills/azure-ai-projects-py/references/tools.md +464 -0
  145. package/bundled-skills/azure-ai-projects-py/scripts/run_batch_evaluation.py +409 -0
  146. package/bundled-skills/azure-ai-transcription-py/SKILL.md +30 -50
  147. package/bundled-skills/azure-ai-voicelive-py/SKILL.md +3 -0
  148. package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-LICENSE.txt +21 -0
  149. package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-NOTICE.md +15 -0
  150. package/bundled-skills/azure-ai-voicelive-py/references/api-reference.md +344 -0
  151. package/bundled-skills/azure-ai-voicelive-py/references/examples.md +558 -0
  152. package/bundled-skills/azure-ai-voicelive-py/references/models.md +737 -0
  153. package/bundled-skills/azure-communication-callingserver-java/SKILL.md +10 -9
  154. package/bundled-skills/azure-cosmos-db-py/SKILL.md +7 -0
  155. package/bundled-skills/azure-cosmos-db-py/UPSTREAM-LICENSE.txt +21 -0
  156. package/bundled-skills/azure-cosmos-db-py/UPSTREAM-NOTICE.md +20 -0
  157. package/bundled-skills/azure-cosmos-db-py/assets/conftest_template.py +332 -0
  158. package/bundled-skills/azure-cosmos-db-py/assets/cosmos_client_template.py +225 -0
  159. package/bundled-skills/azure-cosmos-db-py/assets/service_template.py +314 -0
  160. package/bundled-skills/azure-cosmos-db-py/references/client-setup.md +214 -0
  161. package/bundled-skills/azure-cosmos-db-py/references/error-handling.md +382 -0
  162. package/bundled-skills/azure-cosmos-db-py/references/partitioning.md +270 -0
  163. package/bundled-skills/azure-cosmos-db-py/references/service-layer.md +305 -0
  164. package/bundled-skills/azure-cosmos-db-py/references/testing.md +495 -0
  165. package/bundled-skills/azure-cosmos-py/SKILL.md +11 -0
  166. package/bundled-skills/azure-cosmos-py/UPSTREAM-LICENSE.txt +21 -0
  167. package/bundled-skills/azure-cosmos-py/UPSTREAM-NOTICE.md +14 -0
  168. package/bundled-skills/azure-cosmos-py/references/partitioning.md +346 -0
  169. package/bundled-skills/azure-cosmos-py/references/query-patterns.md +395 -0
  170. package/bundled-skills/azure-cosmos-rust/SKILL.md +30 -22
  171. package/bundled-skills/azure-eventhub-py/SKILL.md +7 -0
  172. package/bundled-skills/azure-eventhub-py/UPSTREAM-LICENSE.txt +21 -0
  173. package/bundled-skills/azure-eventhub-py/UPSTREAM-NOTICE.md +15 -0
  174. package/bundled-skills/azure-eventhub-py/references/checkpointing.md +312 -0
  175. package/bundled-skills/azure-eventhub-py/references/partitions.md +346 -0
  176. package/bundled-skills/azure-eventhub-py/scripts/setup_consumer.py +422 -0
  177. package/bundled-skills/azure-eventhub-rust/SKILL.md +28 -13
  178. package/bundled-skills/azure-identity-rust/SKILL.md +16 -10
  179. package/bundled-skills/azure-keyvault-keys-rust/SKILL.md +13 -8
  180. package/bundled-skills/azure-keyvault-secrets-rust/SKILL.md +12 -6
  181. package/bundled-skills/azure-mgmt-apimanagement-dotnet/SKILL.md +11 -0
  182. package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-LICENSE.txt +21 -0
  183. package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-NOTICE.md +15 -0
  184. package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/apis-operations.md +168 -0
  185. package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/products-subscriptions.md +173 -0
  186. package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/service-management.md +154 -0
  187. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/SKILL.md +3 -0
  188. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-LICENSE.txt +21 -0
  189. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-NOTICE.md +15 -0
  190. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/account-management.md +279 -0
  191. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/sql-resources.md +373 -0
  192. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/throughput.md +308 -0
  193. package/bundled-skills/azure-resource-manager-sql-dotnet/SKILL.md +3 -0
  194. package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-LICENSE.txt +21 -0
  195. package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-NOTICE.md +15 -0
  196. package/bundled-skills/azure-resource-manager-sql-dotnet/references/database-operations.md +268 -0
  197. package/bundled-skills/azure-resource-manager-sql-dotnet/references/elastic-pools.md +234 -0
  198. package/bundled-skills/azure-resource-manager-sql-dotnet/references/server-management.md +192 -0
  199. package/bundled-skills/azure-search-documents-dotnet/SKILL.md +3 -0
  200. package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-LICENSE.txt +21 -0
  201. package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-NOTICE.md +14 -0
  202. package/bundled-skills/azure-search-documents-dotnet/references/semantic-search.md +241 -0
  203. package/bundled-skills/azure-search-documents-dotnet/references/vector-search.md +236 -0
  204. package/bundled-skills/azure-servicebus-py/SKILL.md +7 -0
  205. package/bundled-skills/azure-servicebus-py/UPSTREAM-LICENSE.txt +21 -0
  206. package/bundled-skills/azure-servicebus-py/UPSTREAM-NOTICE.md +15 -0
  207. package/bundled-skills/azure-servicebus-py/references/dead-letter.md +418 -0
  208. package/bundled-skills/azure-servicebus-py/references/patterns.md +405 -0
  209. package/bundled-skills/azure-servicebus-py/scripts/setup_servicebus.py +384 -0
  210. package/bundled-skills/azure-speech-to-text-rest-py/SKILL.md +3 -0
  211. package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-LICENSE.txt +21 -0
  212. package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-NOTICE.md +13 -0
  213. package/bundled-skills/azure-speech-to-text-rest-py/references/pronunciation-assessment.md +276 -0
  214. package/bundled-skills/azure-storage-blob-rust/SKILL.md +29 -21
  215. package/bundled-skills/baseline-ui/SKILL.md +2 -2
  216. package/bundled-skills/bash-scripting/SKILL.md +10 -2
  217. package/bundled-skills/bazel-build-optimization/SKILL.md +0 -1
  218. package/bundled-skills/bdistill-behavioral-xray/SKILL.md +5 -5
  219. package/bundled-skills/bdistill-knowledge-extraction/SKILL.md +9 -6
  220. package/bundled-skills/beautiful-prose/SKILL.md +1 -2
  221. package/bundled-skills/bevy-ecs-expert/SKILL.md +9 -7
  222. package/bundled-skills/billing-automation/resources/implementation-playbook.md +56 -513
  223. package/bundled-skills/binary-analysis-patterns/SKILL.md +0 -1
  224. package/bundled-skills/biopython/SKILL.md +3 -0
  225. package/bundled-skills/biopython/UPSTREAM-LICENSE.txt +21 -0
  226. package/bundled-skills/biopython/UPSTREAM-NOTICE.md +17 -0
  227. package/bundled-skills/biopython/references/advanced.md +577 -0
  228. package/bundled-skills/biopython/references/alignment.md +368 -0
  229. package/bundled-skills/biopython/references/blast.md +455 -0
  230. package/bundled-skills/biopython/references/databases.md +487 -0
  231. package/bundled-skills/biopython/references/phylogenetics.md +566 -0
  232. package/bundled-skills/biopython/references/sequence_io.md +285 -0
  233. package/bundled-skills/biopython/references/structure.md +564 -0
  234. package/bundled-skills/blockchain-developer/SKILL.md +0 -1
  235. package/bundled-skills/blueprint/SKILL.md +6 -8
  236. package/bundled-skills/brain-to-docs/SKILL.md +4 -4
  237. package/bundled-skills/brand-growth-system-builder/SKILL.md +10 -0
  238. package/bundled-skills/brand-perception-psychologist/SKILL.md +15 -7
  239. package/bundled-skills/browser-bridge/SKILL.md +101 -0
  240. package/bundled-skills/build/SKILL.md +15 -10
  241. package/bundled-skills/build/references/detailed-guide.md +38 -14
  242. package/bundled-skills/burpsuite-project-parser/SKILL.md +7 -0
  243. package/bundled-skills/buywhere-product-catalog/SKILL.md +6 -5
  244. package/bundled-skills/c-pro/SKILL.md +8 -6
  245. package/bundled-skills/c4-architecture-c4-architecture/SKILL.md +0 -1
  246. package/bundled-skills/c4-code/SKILL.md +0 -1
  247. package/bundled-skills/c4-component/SKILL.md +0 -1
  248. package/bundled-skills/c4-container/SKILL.md +0 -1
  249. package/bundled-skills/c4-context/SKILL.md +0 -1
  250. package/bundled-skills/cdk-patterns/SKILL.md +7 -0
  251. package/bundled-skills/changelog-entry/SKILL.md +6 -4
  252. package/bundled-skills/check-identity-pack/SKILL.md +7 -8
  253. package/bundled-skills/chrome-extension-developer/SKILL.md +8 -4
  254. package/bundled-skills/ci-cd-and-automation/SKILL.md +15 -3
  255. package/bundled-skills/cirq/SKILL.md +3 -0
  256. package/bundled-skills/cirq/UPSTREAM-LICENSE.txt +21 -0
  257. package/bundled-skills/cirq/UPSTREAM-NOTICE.md +16 -0
  258. package/bundled-skills/cirq/references/building.md +307 -0
  259. package/bundled-skills/cirq/references/experiments.md +572 -0
  260. package/bundled-skills/cirq/references/hardware.md +527 -0
  261. package/bundled-skills/cirq/references/noise.md +514 -0
  262. package/bundled-skills/cirq/references/simulation.md +353 -0
  263. package/bundled-skills/cirq/references/transformation.md +416 -0
  264. package/bundled-skills/cis-benchmarks/SKILL.md +16 -9
  265. package/bundled-skills/clarvia-aeo-check/SKILL.md +9 -9
  266. package/bundled-skills/claude-ally-health/SKILL.md +17 -6
  267. package/bundled-skills/claude-code-guide/SKILL.md +9 -5
  268. package/bundled-skills/claude-scientific-skills/SKILL.md +15 -3
  269. package/bundled-skills/claude-speed-reader/SKILL.md +13 -3
  270. package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +13 -7
  271. package/bundled-skills/cline-pilot/SKILL.md +10 -0
  272. package/bundled-skills/closed-loop-delivery/SKILL.md +7 -7
  273. package/bundled-skills/cloud-architect/SKILL.md +0 -1
  274. package/bundled-skills/cloudflare-workers-expert/SKILL.md +6 -5
  275. package/bundled-skills/cloudformation-best-practices/SKILL.md +4 -3
  276. package/bundled-skills/cmux/SKILL.md +8 -0
  277. package/bundled-skills/code-refactoring-context-restore/SKILL.md +1 -1
  278. package/bundled-skills/code-review-ai-ai-review/SKILL.md +8 -1
  279. package/bundled-skills/code-review-and-quality/SKILL.md +9 -0
  280. package/bundled-skills/code-reviewer/SKILL.md +0 -1
  281. package/bundled-skills/codex-review/SKILL.md +3 -2
  282. package/bundled-skills/commit/SKILL.md +12 -11
  283. package/bundled-skills/comprehensive-review-full-review/SKILL.md +0 -1
  284. package/bundled-skills/computer-vision-expert/SKILL.md +9 -8
  285. package/bundled-skills/concise-planning/SKILL.md +7 -7
  286. package/bundled-skills/conductor-implement/SKILL.md +0 -1
  287. package/bundled-skills/conductor-new-track/SKILL.md +0 -1
  288. package/bundled-skills/conductor-revert/SKILL.md +0 -1
  289. package/bundled-skills/conductor-setup/SKILL.md +42 -25
  290. package/bundled-skills/conductor-status/SKILL.md +0 -1
  291. package/bundled-skills/conductor-validator/SKILL.md +15 -19
  292. package/bundled-skills/constant-time-analysis/SKILL.md +3 -0
  293. package/bundled-skills/constant-time-analysis/UPSTREAM-LICENSE.txt +427 -0
  294. package/bundled-skills/constant-time-analysis/UPSTREAM-NOTICE.md +18 -0
  295. package/bundled-skills/constant-time-analysis/references/compiled.md +129 -0
  296. package/bundled-skills/constant-time-analysis/references/javascript.md +136 -0
  297. package/bundled-skills/constant-time-analysis/references/kotlin.md +252 -0
  298. package/bundled-skills/constant-time-analysis/references/php.md +172 -0
  299. package/bundled-skills/constant-time-analysis/references/python.md +179 -0
  300. package/bundled-skills/constant-time-analysis/references/ruby.md +198 -0
  301. package/bundled-skills/constant-time-analysis/references/swift.md +288 -0
  302. package/bundled-skills/constant-time-analysis/references/vm-compiled.md +354 -0
  303. package/bundled-skills/container-hardening/SKILL.md +23 -24
  304. package/bundled-skills/content-marketer/SKILL.md +0 -1
  305. package/bundled-skills/context-kit/SKILL.md +8 -0
  306. package/bundled-skills/context-management-context-restore/SKILL.md +1 -1
  307. package/bundled-skills/context-management-context-save/SKILL.md +0 -1
  308. package/bundled-skills/context-manager/SKILL.md +0 -1
  309. package/bundled-skills/context7-auto-research/SKILL.md +3 -3
  310. package/bundled-skills/copy-editing/SKILL.md +4 -0
  311. package/bundled-skills/copywriting-psychologist/SKILL.md +16 -8
  312. package/bundled-skills/cost-optimization/SKILL.md +11 -1
  313. package/bundled-skills/cost-optimization/UPSTREAM-LICENSE.txt +21 -0
  314. package/bundled-skills/cost-optimization/UPSTREAM-NOTICE.md +11 -0
  315. package/bundled-skills/cost-optimization/references/tagging-standards.md +23 -0
  316. package/bundled-skills/cowork-to-code-bridge/SKILL.md +9 -0
  317. package/bundled-skills/create-issue-gate/SKILL.md +5 -5
  318. package/bundled-skills/create-pr/SKILL.md +2 -0
  319. package/bundled-skills/crossframe-suite/SKILL.md +8 -0
  320. package/bundled-skills/crypto-bd-agent/SKILL.md +1 -2
  321. package/bundled-skills/csharp-pro/SKILL.md +5 -7
  322. package/bundled-skills/csv-manual-export/SKILL.md +1 -2
  323. package/bundled-skills/customer-psychographic-profiler/SKILL.md +15 -7
  324. package/bundled-skills/customer-support/SKILL.md +0 -1
  325. package/bundled-skills/data-engineering-data-driven-feature/SKILL.md +0 -1
  326. package/bundled-skills/data-privacy-controls/SKILL.md +7 -8
  327. package/bundled-skills/database-admin/SKILL.md +0 -1
  328. package/bundled-skills/database-design/SKILL.md +5 -1
  329. package/bundled-skills/database-design/database-selection.md +1 -1
  330. package/bundled-skills/database-design/orm-selection.md +1 -1
  331. package/bundled-skills/database-design/scripts/schema_validator.py +17 -8
  332. package/bundled-skills/database-migration/SKILL.md +14 -1
  333. package/bundled-skills/database-migrations-sql-migrations/resources/implementation-playbook.md +31 -283
  334. package/bundled-skills/database-optimizer/SKILL.md +0 -1
  335. package/bundled-skills/debug-buttercup/SKILL.md +8 -0
  336. package/bundled-skills/debugger/SKILL.md +4 -3
  337. package/bundled-skills/debugging-toolkit/SKILL.md +2 -2
  338. package/bundled-skills/debugging-toolkit-smart-debug/SKILL.md +14 -10
  339. package/bundled-skills/deep-research/SKILL.md +24 -13
  340. package/bundled-skills/deep-research/UPSTREAM-LICENSE.txt +190 -0
  341. package/bundled-skills/deep-research/UPSTREAM-NOTICE.md +11 -0
  342. package/bundled-skills/deep-research/requirements.txt +2 -0
  343. package/bundled-skills/deep-research/scripts/research.py +802 -0
  344. package/bundled-skills/defi-protocol-templates/SKILL.md +16 -1
  345. package/bundled-skills/defuddle/SKILL.md +9 -6
  346. package/bundled-skills/delegating-to-agents/SKILL.md +12 -13
  347. package/bundled-skills/dependency-management-deps-audit/resources/implementation-playbook.md +32 -289
  348. package/bundled-skills/dependency-upgrade/SKILL.md +14 -1
  349. package/bundled-skills/deployment-pipeline-design/SKILL.md +11 -111
  350. package/bundled-skills/deployment-validation-config-validate/SKILL.md +1 -1
  351. package/bundled-skills/deprecation-and-migration/SKILL.md +2 -2
  352. package/bundled-skills/design-orchestration/SKILL.md +4 -4
  353. package/bundled-skills/design-spells/SKILL.md +4 -4
  354. package/bundled-skills/detect-ai-text/SKILL.md +4 -4
  355. package/bundled-skills/deterministic-design/SKILL.md +5 -4
  356. package/bundled-skills/devcontainer-setup/SKILL.md +3 -0
  357. package/bundled-skills/devcontainer-setup/UPSTREAM-LICENSE.txt +427 -0
  358. package/bundled-skills/devcontainer-setup/UPSTREAM-NOTICE.md +12 -0
  359. package/bundled-skills/devcontainer-setup/references/dockerfile-best-practices.md +102 -0
  360. package/bundled-skills/devcontainer-setup/references/features-vs-dockerfile.md +22 -0
  361. package/bundled-skills/diagram-generator/SKILL.md +6 -0
  362. package/bundled-skills/diagram-generator/UPSTREAM-LICENSE.txt +21 -0
  363. package/bundled-skills/diagram-generator/UPSTREAM-NOTICE.md +11 -0
  364. package/bundled-skills/diagram-generator/scripts/render_diagram.py +169 -0
  365. package/bundled-skills/django-access-review/SKILL.md +20 -12
  366. package/bundled-skills/django-perf-review/SKILL.md +1 -1
  367. package/bundled-skills/doc-coauthoring/SKILL.md +1 -1
  368. package/bundled-skills/doc2math/SKILL.md +10 -9
  369. package/bundled-skills/docker-compose/SKILL.md +17 -11
  370. package/bundled-skills/docker-expert/SKILL.md +57 -53
  371. package/bundled-skills/docker-management/SKILL.md +17 -13
  372. package/bundled-skills/docs-architect/SKILL.md +0 -1
  373. package/bundled-skills/docs-generator/SKILL.md +7 -1
  374. package/bundled-skills/docs-generator/UPSTREAM-LICENSE.txt +21 -0
  375. package/bundled-skills/docs-generator/UPSTREAM-NOTICE.md +15 -0
  376. package/bundled-skills/docs-generator/scripts/case-init.ps1 +379 -0
  377. package/bundled-skills/docs-generator/scripts/lib/HostRuntime.ps1 +58 -0
  378. package/bundled-skills/docs-generator/scripts/lib/WorkRoot.ps1 +33 -0
  379. package/bundled-skills/documentation/SKILL.md +5 -1
  380. package/bundled-skills/documentation-and-adrs/SKILL.md +7 -5
  381. package/bundled-skills/documentation-templates/SKILL.md +8 -6
  382. package/bundled-skills/dotnet-architect/SKILL.md +0 -1
  383. package/bundled-skills/doubt-driven-development/SKILL.md +8 -0
  384. package/bundled-skills/dx-optimizer/SKILL.md +8 -8
  385. package/bundled-skills/e2e-testing/SKILL.md +4 -0
  386. package/bundled-skills/eas-workflows/SKILL.md +60 -27
  387. package/bundled-skills/eas-workflows/agents/openai.yaml +1 -1
  388. package/bundled-skills/eas-workflows/scripts/fetch.js +131 -82
  389. package/bundled-skills/eas-workflows/scripts/package.json +4 -0
  390. package/bundled-skills/elixir-pro/SKILL.md +5 -7
  391. package/bundled-skills/emblemai-crypto-wallet/SKILL.md +7 -6
  392. package/bundled-skills/emotional-arc-designer/SKILL.md +16 -8
  393. package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +1 -1
  394. package/bundled-skills/error-detective/SKILL.md +7 -3
  395. package/bundled-skills/error-diagnostics-smart-debug/SKILL.md +14 -10
  396. package/bundled-skills/error-handling-patterns/resources/implementation-playbook.md +21 -72
  397. package/bundled-skills/event-sourcing-architect/SKILL.md +4 -3
  398. package/bundled-skills/exa-search/SKILL.md +4 -2
  399. package/bundled-skills/executing-plans/SKILL.md +8 -8
  400. package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +4 -7
  401. package/bundled-skills/expo-ui-swift-ui/SKILL.md +5 -8
  402. package/bundled-skills/fact-check-x-unified/SKILL.md +25 -15
  403. package/bundled-skills/fact-check-x-unified/UPSTREAM-NOTICE.md +9 -0
  404. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +10 -5
  405. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +49 -8
  406. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +1 -1
  407. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +8 -2
  408. package/bundled-skills/fal-audio/SKILL.md +16 -6
  409. package/bundled-skills/fal-generate/SKILL.md +16 -6
  410. package/bundled-skills/fal-image-edit/SKILL.md +16 -6
  411. package/bundled-skills/fal-platform/SKILL.md +12 -4
  412. package/bundled-skills/fal-upscale/SKILL.md +12 -4
  413. package/bundled-skills/fal-workflow/SKILL.md +24 -6
  414. package/bundled-skills/family-health-analyzer/SKILL.md +17 -16
  415. package/bundled-skills/fastapi-router-py/SKILL.md +3 -0
  416. package/bundled-skills/fastapi-router-py/UPSTREAM-LICENSE.txt +21 -0
  417. package/bundled-skills/fastapi-router-py/UPSTREAM-NOTICE.md +11 -0
  418. package/bundled-skills/fastapi-router-py/assets/template.py +147 -0
  419. package/bundled-skills/fda-food-safety-auditor/SKILL.md +9 -8
  420. package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +8 -8
  421. package/bundled-skills/ffuf-claude-skill/SKILL.md +18 -3
  422. package/bundled-skills/file-organizer/SKILL.md +1 -1
  423. package/bundled-skills/find-bugs/SKILL.md +4 -4
  424. package/bundled-skills/find-matching-tenders/SKILL.md +12 -11
  425. package/bundled-skills/firecrawl-scraper/SKILL.md +4 -2
  426. package/bundled-skills/firmware-analyst/SKILL.md +10 -1
  427. package/bundled-skills/fix-review/SKILL.md +5 -1
  428. package/bundled-skills/fp-either-ref/SKILL.md +10 -4
  429. package/bundled-skills/fp-option-ref/SKILL.md +12 -6
  430. package/bundled-skills/fp-pipe-ref/SKILL.md +7 -1
  431. package/bundled-skills/fp-taskeither-ref/SKILL.md +28 -10
  432. package/bundled-skills/fp-types-ref/SKILL.md +8 -2
  433. package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +0 -1
  434. package/bundled-skills/free-design-resources/SKILL.md +8 -0
  435. package/bundled-skills/frontend-api-integration-patterns/SKILL.md +11 -8
  436. package/bundled-skills/frontend-data-contracts/SKILL.md +5 -1
  437. package/bundled-skills/frontend-mobile-development-component-scaffold/SKILL.md +1 -1
  438. package/bundled-skills/frontend-mobile-security-xss-scan/SKILL.md +1 -1
  439. package/bundled-skills/frontend-slides/SKILL.md +1 -0
  440. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +15 -0
  441. package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-LICENSE.txt +21 -0
  442. package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-NOTICE.md +14 -0
  443. package/bundled-skills/frontend-slides-frontend-slides/scripts/export-pdf.sh +390 -0
  444. package/bundled-skills/frontend-slides-frontend-slides/scripts/extract-pptx.py +96 -0
  445. package/bundled-skills/frontend-slides-frontend-slides/scripts/lib/confined-server.mjs +113 -0
  446. package/bundled-skills/frontend-ui-engineering/SKILL.md +8 -0
  447. package/bundled-skills/full-output-enforcement/SKILL.md +20 -9
  448. package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +0 -1
  449. package/bundled-skills/game-development/2d-games/SKILL.md +3 -3
  450. package/bundled-skills/game-development/3d-games/SKILL.md +8 -4
  451. package/bundled-skills/game-development/game-design/SKILL.md +8 -4
  452. package/bundled-skills/game-development/mobile-games/SKILL.md +10 -6
  453. package/bundled-skills/game-development/multiplayer/SKILL.md +9 -5
  454. package/bundled-skills/game-development/pc-games/SKILL.md +6 -2
  455. package/bundled-skills/game-development/vr-ar/SKILL.md +12 -6
  456. package/bundled-skills/gh-review-requests/SKILL.md +14 -42
  457. package/bundled-skills/gha-security-review/SKILL.md +3 -0
  458. package/bundled-skills/gha-security-review/UPSTREAM-LICENSE.txt +190 -0
  459. package/bundled-skills/gha-security-review/UPSTREAM-NOTICE.md +19 -0
  460. package/bundled-skills/gha-security-review/references/ai-prompt-injection-via-ci.md +181 -0
  461. package/bundled-skills/gha-security-review/references/comment-triggered-commands.md +195 -0
  462. package/bundled-skills/gha-security-review/references/credential-escalation.md +225 -0
  463. package/bundled-skills/gha-security-review/references/expression-injection.md +287 -0
  464. package/bundled-skills/gha-security-review/references/permissions-and-secrets.md +265 -0
  465. package/bundled-skills/gha-security-review/references/pwn-request.md +212 -0
  466. package/bundled-skills/gha-security-review/references/real-world-attacks.md +298 -0
  467. package/bundled-skills/gha-security-review/references/runner-infrastructure.md +268 -0
  468. package/bundled-skills/gha-security-review/references/supply-chain.md +225 -0
  469. package/bundled-skills/git-advanced-workflows/SKILL.md +19 -12
  470. package/bundled-skills/git-commit-message/SKILL.md +2 -2
  471. package/bundled-skills/git-pr-review/SKILL.md +6 -9
  472. package/bundled-skills/git-pr-workflows-onboard/SKILL.md +0 -1
  473. package/bundled-skills/git-pr-workflows-pr-enhance/SKILL.md +1 -1
  474. package/bundled-skills/github-actions/SKILL.md +20 -24
  475. package/bundled-skills/github-actions-debugger/SKILL.md +7 -3
  476. package/bundled-skills/github-issue-creator/SKILL.md +12 -12
  477. package/bundled-skills/gitlab-ci-patterns/SKILL.md +5 -7
  478. package/bundled-skills/global-chat-agent-discovery/SKILL.md +12 -7
  479. package/bundled-skills/gmail-automation/SKILL.md +9 -0
  480. package/bundled-skills/godot-4-migration/SKILL.md +12 -4
  481. package/bundled-skills/google-calendar-automation/SKILL.md +23 -145
  482. package/bundled-skills/google-docs-automation/SKILL.md +1 -1
  483. package/bundled-skills/google-drive-automation/SKILL.md +9 -0
  484. package/bundled-skills/google-sheets-automation/SKILL.md +1 -1
  485. package/bundled-skills/google-slides-automation/SKILL.md +1 -1
  486. package/bundled-skills/graphql-architect/SKILL.md +0 -1
  487. package/bundled-skills/grill-me/SKILL.md +3 -1
  488. package/bundled-skills/grill-with-docs/SKILL.md +3 -1
  489. package/bundled-skills/grilling/SKILL.md +1 -1
  490. package/bundled-skills/handoff/SKILL.md +5 -1
  491. package/bundled-skills/haskell-pro/SKILL.md +3 -4
  492. package/bundled-skills/headline-psychologist/SKILL.md +15 -7
  493. package/bundled-skills/hf-mem/SKILL.md +9 -1
  494. package/bundled-skills/hosted-agents-v2-py/SKILL.md +56 -57
  495. package/bundled-skills/hr-pro/SKILL.md +0 -1
  496. package/bundled-skills/hugging-face-jobs/SKILL.md +0 -1
  497. package/bundled-skills/hugging-face-tool-builder/SKILL.md +16 -2
  498. package/bundled-skills/hybrid-cloud-architect/SKILL.md +0 -1
  499. package/bundled-skills/hybrid-cloud-networking/SKILL.md +11 -1
  500. package/bundled-skills/hybrid-cloud-networking/UPSTREAM-LICENSE.txt +21 -0
  501. package/bundled-skills/hybrid-cloud-networking/UPSTREAM-NOTICE.md +11 -0
  502. package/bundled-skills/hybrid-cloud-networking/references/direct-connect.md +17 -0
  503. package/bundled-skills/hyperexecute-skill/SKILL.md +7 -0
  504. package/bundled-skills/hyperexecute-skill/UPSTREAM-LICENSE.txt +21 -0
  505. package/bundled-skills/hyperexecute-skill/UPSTREAM-NOTICE.md +16 -0
  506. package/bundled-skills/hyperexecute-skill/scripts/build-command.js +57 -0
  507. package/bundled-skills/hyperexecute-skill/scripts/doctor.js +81 -0
  508. package/bundled-skills/hyperexecute-skill/scripts/summarize-artifacts.js +63 -0
  509. package/bundled-skills/hyperexecute-skill/scripts/validate-config.js +72 -0
  510. package/bundled-skills/iconsax-library/SKILL.md +6 -4
  511. package/bundled-skills/ida-reverse/SKILL.md +13 -0
  512. package/bundled-skills/ida-reverse/UPSTREAM-LICENSE.txt +21 -0
  513. package/bundled-skills/ida-reverse/UPSTREAM-NOTICE.md +13 -0
  514. package/bundled-skills/ida-reverse/scripts/IdaOpenHelpers.ps1 +115 -0
  515. package/bundled-skills/ida-reverse/scripts/open.ps1 +378 -0
  516. package/bundled-skills/ida-reverse/scripts/start-gui.ps1 +105 -0
  517. package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +4 -2
  518. package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +5 -3
  519. package/bundled-skills/identity-mirror/SKILL.md +15 -7
  520. package/bundled-skills/imagen/SKILL.md +15 -5
  521. package/bundled-skills/imagen/UPSTREAM-LICENSE.txt +190 -0
  522. package/bundled-skills/imagen/UPSTREAM-NOTICE.md +5 -0
  523. package/bundled-skills/imagen/scripts/generate_image.py +241 -0
  524. package/bundled-skills/implement/SKILL.md +4 -4
  525. package/bundled-skills/incident-response-incident-response/SKILL.md +0 -1
  526. package/bundled-skills/incident-response-smart-fix/SKILL.md +1 -1
  527. package/bundled-skills/incident-runbook-templates/SKILL.md +22 -16
  528. package/bundled-skills/incremental-implementation/SKILL.md +8 -0
  529. package/bundled-skills/infinite-gratitude/SKILL.md +6 -2
  530. package/bundled-skills/internal-comms/SKILL.md +1 -1
  531. package/bundled-skills/interview-coach/SKILL.md +7 -4
  532. package/bundled-skills/istio-traffic-management/SKILL.md +0 -1
  533. package/bundled-skills/iterate-pr/SKILL.md +9 -0
  534. package/bundled-skills/java-pro/SKILL.md +0 -1
  535. package/bundled-skills/javascript-pro/SKILL.md +1 -1
  536. package/bundled-skills/javascript-typescript-typescript-scaffold/SKILL.md +1 -1
  537. package/bundled-skills/julia-pro/SKILL.md +0 -1
  538. package/bundled-skills/k8s-security-policies/SKILL.md +8 -1
  539. package/bundled-skills/kotler-macro-analyzer/SKILL.md +4 -0
  540. package/bundled-skills/kotlin-coroutines-expert/SKILL.md +8 -5
  541. package/bundled-skills/kubernetes-deployment/SKILL.md +5 -1
  542. package/bundled-skills/kubernetes-hardening/SKILL.md +9 -1
  543. package/bundled-skills/langchain-architecture/SKILL.md +15 -1
  544. package/bundled-skills/legacy-modernizer/SKILL.md +4 -5
  545. package/bundled-skills/legal-advisor/SKILL.md +9 -6
  546. package/bundled-skills/lightning-architecture-review/SKILL.md +6 -6
  547. package/bundled-skills/lightning-channel-factories/SKILL.md +6 -6
  548. package/bundled-skills/lightning-factory-explainer/SKILL.md +5 -5
  549. package/bundled-skills/linkerd-patterns/SKILL.md +0 -1
  550. package/bundled-skills/linux-hardening/SKILL.md +24 -23
  551. package/bundled-skills/llm-application-dev-ai-assistant/SKILL.md +1 -1
  552. package/bundled-skills/llm-application-dev-langchain-agent/SKILL.md +0 -1
  553. package/bundled-skills/llm-application-dev-prompt-optimize/SKILL.md +1 -1
  554. package/bundled-skills/llm-evaluation/SKILL.md +50 -62
  555. package/bundled-skills/llm-evaluation/references/benchmarking.md +35 -0
  556. package/bundled-skills/logic-review/SKILL.md +8 -0
  557. package/bundled-skills/longbridge/SKILL.md +8 -4
  558. package/bundled-skills/longbridge-content/SKILL.md +3 -0
  559. package/bundled-skills/longbridge-content/UPSTREAM-LICENSE.txt +21 -0
  560. package/bundled-skills/longbridge-content/UPSTREAM-NOTICE.md +15 -0
  561. package/bundled-skills/longbridge-content/references/filing.md +48 -0
  562. package/bundled-skills/longbridge-content/references/news.md +118 -0
  563. package/bundled-skills/longbridge-content/references/regulatory-kb.md +128 -0
  564. package/bundled-skills/longbridge-content/references/sec-filings.md +113 -0
  565. package/bundled-skills/longbridge-content/references/topic.md +53 -0
  566. package/bundled-skills/longbridge-fundamentals/SKILL.md +3 -0
  567. package/bundled-skills/longbridge-fundamentals/UPSTREAM-LICENSE.txt +21 -0
  568. package/bundled-skills/longbridge-fundamentals/UPSTREAM-NOTICE.md +31 -0
  569. package/bundled-skills/longbridge-fundamentals/references/behavioral-finance.md +108 -0
  570. package/bundled-skills/longbridge-fundamentals/references/business-segments.md +50 -0
  571. package/bundled-skills/longbridge-fundamentals/references/company.md +39 -0
  572. package/bundled-skills/longbridge-fundamentals/references/compare.md +49 -0
  573. package/bundled-skills/longbridge-fundamentals/references/corp-action.md +42 -0
  574. package/bundled-skills/longbridge-fundamentals/references/corporate-events.md +89 -0
  575. package/bundled-skills/longbridge-fundamentals/references/corporate.md +64 -0
  576. package/bundled-skills/longbridge-fundamentals/references/dcf.md +103 -0
  577. package/bundled-skills/longbridge-fundamentals/references/dividend.md +51 -0
  578. package/bundled-skills/longbridge-fundamentals/references/executive.md +39 -0
  579. package/bundled-skills/longbridge-fundamentals/references/financial-report.md +88 -0
  580. package/bundled-skills/longbridge-fundamentals/references/financial-statement.md +49 -0
  581. package/bundled-skills/longbridge-fundamentals/references/industry-valuation.md +86 -0
  582. package/bundled-skills/longbridge-fundamentals/references/invest-relation.md +39 -0
  583. package/bundled-skills/longbridge-fundamentals/references/main-business-analysis.md +654 -0
  584. package/bundled-skills/longbridge-fundamentals/references/operating.md +42 -0
  585. package/bundled-skills/longbridge-fundamentals/references/smallcap-growth.md +72 -0
  586. package/bundled-skills/longbridge-fundamentals/references/valuation-methodology.md +86 -0
  587. package/bundled-skills/longbridge-fundamentals/references/valuation-rank.md +57 -0
  588. package/bundled-skills/longbridge-fundamentals/references/valuation.md +86 -0
  589. package/bundled-skills/longbridge-fundamentals/references/value-screen.md +71 -0
  590. package/bundled-skills/longbridge-market-data/SKILL.md +3 -0
  591. package/bundled-skills/longbridge-market-data/UPSTREAM-LICENSE.txt +21 -0
  592. package/bundled-skills/longbridge-market-data/UPSTREAM-NOTICE.md +28 -0
  593. package/bundled-skills/longbridge-market-data/references/adr-premium.md +63 -0
  594. package/bundled-skills/longbridge-market-data/references/ah-premium.md +67 -0
  595. package/bundled-skills/longbridge-market-data/references/capital.md +48 -0
  596. package/bundled-skills/longbridge-market-data/references/depth.md +40 -0
  597. package/bundled-skills/longbridge-market-data/references/exchange-rate.md +35 -0
  598. package/bundled-skills/longbridge-market-data/references/fx-carry.md +59 -0
  599. package/bundled-skills/longbridge-market-data/references/intraday.md +47 -0
  600. package/bundled-skills/longbridge-market-data/references/ipo.md +48 -0
  601. package/bundled-skills/longbridge-market-data/references/kline.md +62 -0
  602. package/bundled-skills/longbridge-market-data/references/market-status.md +35 -0
  603. package/bundled-skills/longbridge-market-data/references/market-temp.md +53 -0
  604. package/bundled-skills/longbridge-market-data/references/participants.md +35 -0
  605. package/bundled-skills/longbridge-market-data/references/quote.md +78 -0
  606. package/bundled-skills/longbridge-market-data/references/security-list.md +36 -0
  607. package/bundled-skills/longbridge-market-data/references/subscriptions.md +23 -0
  608. package/bundled-skills/longbridge-market-data/references/trade-stats.md +39 -0
  609. package/bundled-skills/longbridge-market-data/references/trades.md +44 -0
  610. package/bundled-skills/longbridge-market-data/references/trading.md +40 -0
  611. package/bundled-skills/loss-aversion-designer/SKILL.md +15 -7
  612. package/bundled-skills/m365-agents-dotnet/SKILL.md +8 -0
  613. package/bundled-skills/m365-agents-py/SKILL.md +8 -0
  614. package/bundled-skills/m365-agents-ts/SKILL.md +8 -0
  615. package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +0 -1
  616. package/bundled-skills/macos-screen-recorder/SKILL.md +5 -1
  617. package/bundled-skills/magic-animator/SKILL.md +4 -2
  618. package/bundled-skills/magic-ui-generator/SKILL.md +7 -5
  619. package/bundled-skills/makepad-animation/SKILL.md +8 -0
  620. package/bundled-skills/makepad-basics/SKILL.md +9 -0
  621. package/bundled-skills/makepad-deployment/SKILL.md +18 -0
  622. package/bundled-skills/makepad-dsl/SKILL.md +9 -0
  623. package/bundled-skills/makepad-event-action/SKILL.md +9 -0
  624. package/bundled-skills/makepad-font/SKILL.md +8 -0
  625. package/bundled-skills/makepad-layout/SKILL.md +9 -0
  626. package/bundled-skills/makepad-platform/SKILL.md +8 -0
  627. package/bundled-skills/makepad-reference/SKILL.md +5 -3
  628. package/bundled-skills/makepad-shaders/SKILL.md +9 -0
  629. package/bundled-skills/makepad-skills/SKILL.md +11 -5
  630. package/bundled-skills/makepad-splash/SKILL.md +8 -0
  631. package/bundled-skills/makepad-widgets/SKILL.md +10 -0
  632. package/bundled-skills/manifest/SKILL.md +20 -113
  633. package/bundled-skills/markdown-rendering/SKILL.md +3 -3
  634. package/bundled-skills/market-sizing-analysis/SKILL.md +13 -24
  635. package/bundled-skills/market-sizing-analysis/examples/saas-market-sizing.md +20 -337
  636. package/bundled-skills/market-sizing-analysis/references/data-sources.md +10 -22
  637. package/bundled-skills/markstream-angular/SKILL.md +3 -1
  638. package/bundled-skills/markstream-nuxt/SKILL.md +3 -1
  639. package/bundled-skills/markstream-react/SKILL.md +5 -1
  640. package/bundled-skills/markstream-svelte/SKILL.md +3 -1
  641. package/bundled-skills/markstream-vue/SKILL.md +3 -1
  642. package/bundled-skills/markstream-vue2/SKILL.md +5 -1
  643. package/bundled-skills/markstream-vue2-cli/SKILL.md +5 -1
  644. package/bundled-skills/markstream-vue2-vite/SKILL.md +5 -1
  645. package/bundled-skills/matplotlib/SKILL.md +5 -0
  646. package/bundled-skills/matplotlib/UPSTREAM-LICENSE.txt +21 -0
  647. package/bundled-skills/matplotlib/UPSTREAM-NOTICE.md +16 -0
  648. package/bundled-skills/matplotlib/references/api_reference.md +412 -0
  649. package/bundled-skills/matplotlib/references/common_issues.md +563 -0
  650. package/bundled-skills/matplotlib/references/plot_types.md +476 -0
  651. package/bundled-skills/matplotlib/references/styling_guide.md +589 -0
  652. package/bundled-skills/matplotlib/scripts/plot_template.py +401 -0
  653. package/bundled-skills/matplotlib/scripts/style_configurator.py +412 -0
  654. package/bundled-skills/mcp-server-security/SKILL.md +17 -11
  655. package/bundled-skills/mcp-server-security/references/details.md +51 -90
  656. package/bundled-skills/memory-forensics/SKILL.md +0 -1
  657. package/bundled-skills/mermaid-expert/SKILL.md +5 -4
  658. package/bundled-skills/minecraft-bukkit-pro/SKILL.md +0 -1
  659. package/bundled-skills/mirrord/SKILL.md +5 -3
  660. package/bundled-skills/ml-engineer/SKILL.md +0 -1
  661. package/bundled-skills/ml-pipeline-workflow/SKILL.md +10 -1
  662. package/bundled-skills/mlops-engineer/SKILL.md +0 -1
  663. package/bundled-skills/mobile-security-coder/SKILL.md +0 -1
  664. package/bundled-skills/monopoly/SKILL.md +12 -0
  665. package/bundled-skills/monopoly/security-checklist/SKILL.md +9 -7
  666. package/bundled-skills/monorepo-architect/SKILL.md +5 -4
  667. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +4 -0
  668. package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-LICENSE.txt +201 -0
  669. package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-NOTICE.md +19 -0
  670. package/bundled-skills/monte-carlo-analyze-root-cause/references/common-root-causes.md +79 -0
  671. package/bundled-skills/monte-carlo-analyze-root-cause/references/data-exploration.md +149 -0
  672. package/bundled-skills/monte-carlo-analyze-root-cause/references/etl-failure-investigation.md +67 -0
  673. package/bundled-skills/monte-carlo-analyze-root-cause/references/field-anomaly-investigation.md +107 -0
  674. package/bundled-skills/monte-carlo-analyze-root-cause/references/freshness-investigation.md +67 -0
  675. package/bundled-skills/monte-carlo-analyze-root-cause/references/intake-no-incident.md +67 -0
  676. package/bundled-skills/monte-carlo-analyze-root-cause/references/query-change-investigation.md +55 -0
  677. package/bundled-skills/monte-carlo-analyze-root-cause/references/schema-investigation.md +48 -0
  678. package/bundled-skills/monte-carlo-analyze-root-cause/references/volume-investigation.md +53 -0
  679. package/bundled-skills/monte-carlo-asset-health/SKILL.md +4 -0
  680. package/bundled-skills/monte-carlo-asset-health/UPSTREAM-LICENSE.txt +201 -0
  681. package/bundled-skills/monte-carlo-asset-health/UPSTREAM-NOTICE.md +12 -0
  682. package/bundled-skills/monte-carlo-asset-health/references/parameters.md +111 -0
  683. package/bundled-skills/monte-carlo-asset-health/references/workflows.md +132 -0
  684. package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +3 -0
  685. package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-LICENSE.txt +201 -0
  686. package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-NOTICE.md +12 -0
  687. package/bundled-skills/monte-carlo-monitoring-advisor/references/agent-monitor-creation.md +471 -0
  688. package/bundled-skills/monte-carlo-monitoring-advisor/references/data-monitor-creation.md +272 -0
  689. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +3 -0
  690. package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-LICENSE.txt +201 -0
  691. package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-NOTICE.md +12 -0
  692. package/bundled-skills/monte-carlo-performance-diagnosis/references/investigation-tiers.md +110 -0
  693. package/bundled-skills/monte-carlo-performance-diagnosis/references/query-analysis.md +50 -0
  694. package/bundled-skills/monte-carlo-remediation/SKILL.md +3 -0
  695. package/bundled-skills/monte-carlo-remediation/UPSTREAM-LICENSE.txt +201 -0
  696. package/bundled-skills/monte-carlo-remediation/UPSTREAM-NOTICE.md +13 -0
  697. package/bundled-skills/monte-carlo-remediation/references/patterns.md +295 -0
  698. package/bundled-skills/monte-carlo-remediation/references/safety.md +160 -0
  699. package/bundled-skills/monte-carlo-remediation/references/tool-discovery.md +172 -0
  700. package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +3 -0
  701. package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-LICENSE.txt +201 -0
  702. package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-NOTICE.md +11 -0
  703. package/bundled-skills/monte-carlo-storage-cost-analysis/references/output-structure.md +93 -0
  704. package/bundled-skills/mtls-configuration/SKILL.md +0 -1
  705. package/bundled-skills/multi-cloud-architecture/SKILL.md +3 -1
  706. package/bundled-skills/multi-cloud-architecture/UPSTREAM-LICENSE.txt +21 -0
  707. package/bundled-skills/multi-cloud-architecture/UPSTREAM-NOTICE.md +12 -0
  708. package/bundled-skills/multi-cloud-architecture/references/multi-cloud-patterns.md +26 -0
  709. package/bundled-skills/multi-cloud-architecture/references/service-comparison.md +35 -0
  710. package/bundled-skills/nanobanana-ppt-skills/SKILL.md +13 -4
  711. package/bundled-skills/native-data-fetching/references/detailed-guide.md +42 -23
  712. package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +36 -29
  713. package/bundled-skills/nerdzao-elite/SKILL.md +9 -5
  714. package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +7 -3
  715. package/bundled-skills/network-engineer/SKILL.md +0 -1
  716. package/bundled-skills/networkx/SKILL.md +3 -0
  717. package/bundled-skills/networkx/UPSTREAM-LICENSE.txt +21 -0
  718. package/bundled-skills/networkx/UPSTREAM-NOTICE.md +15 -0
  719. package/bundled-skills/networkx/references/algorithms.md +383 -0
  720. package/bundled-skills/networkx/references/generators.md +378 -0
  721. package/bundled-skills/networkx/references/graph-basics.md +283 -0
  722. package/bundled-skills/networkx/references/io.md +441 -0
  723. package/bundled-skills/networkx/references/visualization.md +529 -0
  724. package/bundled-skills/new-rails-project/SKILL.md +4 -2
  725. package/bundled-skills/news-sentiment-engine/SKILL.md +13 -28
  726. package/bundled-skills/nft-standards/SKILL.md +15 -1
  727. package/bundled-skills/nsfw-ai-spicyapi/SKILL.md +8 -0
  728. package/bundled-skills/nx-workspace-patterns/SKILL.md +0 -1
  729. package/bundled-skills/objection-preemptor/SKILL.md +15 -7
  730. package/bundled-skills/observability-monitoring-monitor-setup/SKILL.md +1 -1
  731. package/bundled-skills/obsidian-cli/SKILL.md +4 -2
  732. package/bundled-skills/odoo-module-developer/SKILL.md +4 -1
  733. package/bundled-skills/odoo-orm-expert/SKILL.md +4 -2
  734. package/bundled-skills/odw/SKILL.md +8 -0
  735. package/bundled-skills/offensive-osint/SKILL.md +76 -70
  736. package/bundled-skills/offensive-osint/UPSTREAM-LICENSE.txt +395 -0
  737. package/bundled-skills/offensive-osint/UPSTREAM-NOTICE.md +26 -0
  738. package/bundled-skills/offensive-osint/references/breach-and-credentials.md +130 -0
  739. package/bundled-skills/offensive-osint/references/dork-corpus.md +182 -0
  740. package/bundled-skills/offensive-osint/references/helpers-and-automation.md +266 -0
  741. package/bundled-skills/offensive-osint/references/identity-fabric.md +309 -0
  742. package/bundled-skills/offensive-osint/references/people-osint.md +107 -0
  743. package/bundled-skills/offensive-osint/references/probes-and-wordlists.md +1269 -0
  744. package/bundled-skills/offensive-osint/references/recon-stack.md +284 -0
  745. package/bundled-skills/offensive-osint/references/recon-techniques.md +343 -0
  746. package/bundled-skills/offensive-osint/references/saas-public-surfaces.md +140 -0
  747. package/bundled-skills/offensive-osint/references/secret-patterns.md +71 -0
  748. package/bundled-skills/offensive-osint/references/secret-validators.md +334 -0
  749. package/bundled-skills/offensive-osint/references/sector-notes.md +74 -0
  750. package/bundled-skills/offensive-osint/references/severity-matrix.md +112 -0
  751. package/bundled-skills/offensive-osint/references/specialized-osint.md +204 -0
  752. package/bundled-skills/offensive-osint/references/tooling-install.md +190 -0
  753. package/bundled-skills/offers/SKILL.md +1 -1
  754. package/bundled-skills/omp-delegate/SKILL.md +5 -1
  755. package/bundled-skills/omp-delegate/UPSTREAM-LICENSE.txt +21 -0
  756. package/bundled-skills/omp-delegate/UPSTREAM-NOTICE.md +13 -0
  757. package/bundled-skills/omp-delegate/scripts/relay.mjs +823 -0
  758. package/bundled-skills/on-call-handoff-patterns/SKILL.md +2 -2
  759. package/bundled-skills/onboarding/SKILL.md +1 -1
  760. package/bundled-skills/onboarding-cro/SKILL.md +1 -1
  761. package/bundled-skills/open-source-marketing/SKILL.md +1 -1
  762. package/bundled-skills/opencode-delegate/SKILL.md +5 -1
  763. package/bundled-skills/opencode-delegate/UPSTREAM-LICENSE.txt +21 -0
  764. package/bundled-skills/opencode-delegate/UPSTREAM-NOTICE.md +13 -0
  765. package/bundled-skills/opencode-delegate/scripts/relay.mjs +781 -0
  766. package/bundled-skills/page-cro/SKILL.md +14 -110
  767. package/bundled-skills/payment-integration/SKILL.md +0 -1
  768. package/bundled-skills/paypal-integration/SKILL.md +3 -1
  769. package/bundled-skills/pentest-tools/src-hunter/SKILL.md +8 -0
  770. package/bundled-skills/performance-engineer/SKILL.md +1 -1
  771. package/bundled-skills/performance-optimization/SKILL.md +8 -0
  772. package/bundled-skills/performance-testing-review-ai-review/SKILL.md +8 -1
  773. package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +1 -1
  774. package/bundled-skills/php-pro/SKILL.md +0 -1
  775. package/bundled-skills/pi-delegate/SKILL.md +5 -1
  776. package/bundled-skills/pi-delegate/UPSTREAM-LICENSE.txt +21 -0
  777. package/bundled-skills/pi-delegate/UPSTREAM-NOTICE.md +13 -0
  778. package/bundled-skills/pi-delegate/scripts/relay.mjs +822 -0
  779. package/bundled-skills/pitch-psychologist/SKILL.md +18 -10
  780. package/bundled-skills/planning-and-task-breakdown/SKILL.md +8 -0
  781. package/bundled-skills/playwright-java/SKILL.md +14 -0
  782. package/bundled-skills/podcast-generation/SKILL.md +3 -0
  783. package/bundled-skills/podcast-generation/UPSTREAM-LICENSE.txt +21 -0
  784. package/bundled-skills/podcast-generation/UPSTREAM-NOTICE.md +13 -0
  785. package/bundled-skills/podcast-generation/references/architecture.md +87 -0
  786. package/bundled-skills/podcast-generation/references/code-examples.md +189 -0
  787. package/bundled-skills/podcast-generation/scripts/pcm_to_wav.py +73 -0
  788. package/bundled-skills/polars/SKILL.md +3 -0
  789. package/bundled-skills/polars/UPSTREAM-LICENSE.txt +21 -0
  790. package/bundled-skills/polars/UPSTREAM-NOTICE.md +16 -0
  791. package/bundled-skills/polars/references/best_practices.md +649 -0
  792. package/bundled-skills/polars/references/core_concepts.md +378 -0
  793. package/bundled-skills/polars/references/io_guide.md +557 -0
  794. package/bundled-skills/polars/references/operations.md +602 -0
  795. package/bundled-skills/polars/references/pandas_migration.md +417 -0
  796. package/bundled-skills/polars/references/transformations.md +549 -0
  797. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +3 -0
  798. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-LICENSE.txt +21 -0
  799. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-NOTICE.md +18 -0
  800. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/amendments.md +146 -0
  801. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/protocol-spec.md +506 -0
  802. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/routing.md +227 -0
  803. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/templates.md +438 -0
  804. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/troubleshooting.md +216 -0
  805. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/init_polis.py +559 -0
  806. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/route_contract.py +19 -0
  807. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/templates/POLIS_CONSTITUTION.md +293 -0
  808. package/bundled-skills/posix-shell-pro/SKILL.md +0 -1
  809. package/bundled-skills/power-user-cultivation/SKILL.md +1 -1
  810. package/bundled-skills/presentation-deck/SKILL.md +4 -4
  811. package/bundled-skills/presentation-deck/references/related-skills.md +1 -1
  812. package/bundled-skills/price-psychology-strategist/SKILL.md +16 -8
  813. package/bundled-skills/pricing/SKILL.md +1 -1
  814. package/bundled-skills/product-marketing/SKILL.md +1 -1
  815. package/bundled-skills/prometheus-configuration/SKILL.md +11 -1
  816. package/bundled-skills/prompt-engineering-patterns/SKILL.md +0 -1
  817. package/bundled-skills/public-relations/SKILL.md +1 -1
  818. package/bundled-skills/pubmed-database/SKILL.md +10 -0
  819. package/bundled-skills/pypict-skill/SKILL.md +18 -5
  820. package/bundled-skills/python-testing-patterns/resources/implementation-playbook.md +7 -2
  821. package/bundled-skills/qiskit/SKILL.md +3 -0
  822. package/bundled-skills/qiskit/UPSTREAM-LICENSE.txt +21 -0
  823. package/bundled-skills/qiskit/UPSTREAM-NOTICE.md +18 -0
  824. package/bundled-skills/qiskit/references/algorithms.md +607 -0
  825. package/bundled-skills/qiskit/references/backends.md +433 -0
  826. package/bundled-skills/qiskit/references/circuits.md +197 -0
  827. package/bundled-skills/qiskit/references/patterns.md +533 -0
  828. package/bundled-skills/qiskit/references/primitives.md +277 -0
  829. package/bundled-skills/qiskit/references/setup.md +99 -0
  830. package/bundled-skills/qiskit/references/transpilation.md +286 -0
  831. package/bundled-skills/qiskit/references/visualization.md +415 -0
  832. package/bundled-skills/qoder-delegate/SKILL.md +5 -1
  833. package/bundled-skills/qoder-delegate/UPSTREAM-LICENSE.txt +21 -0
  834. package/bundled-skills/qoder-delegate/UPSTREAM-NOTICE.md +13 -0
  835. package/bundled-skills/qoder-delegate/scripts/relay.mjs +698 -0
  836. package/bundled-skills/quant-analyst/SKILL.md +0 -1
  837. package/bundled-skills/radare2/SKILL.md +9 -0
  838. package/bundled-skills/react-flow-node-ts/SKILL.md +3 -0
  839. package/bundled-skills/react-flow-node-ts/UPSTREAM-LICENSE.txt +21 -0
  840. package/bundled-skills/react-flow-node-ts/UPSTREAM-NOTICE.md +12 -0
  841. package/bundled-skills/react-flow-node-ts/assets/template.tsx +108 -0
  842. package/bundled-skills/react-flow-node-ts/assets/types.template.ts +34 -0
  843. package/bundled-skills/react-state-management/SKILL.md +0 -1
  844. package/bundled-skills/read-all-adrs/SKILL.md +3 -4
  845. package/bundled-skills/recsys-pipeline-architect/SKILL.md +8 -0
  846. package/bundled-skills/reference-builder/SKILL.md +0 -1
  847. package/bundled-skills/risk-manager/SKILL.md +0 -1
  848. package/bundled-skills/robius-app-architecture/SKILL.md +10 -0
  849. package/bundled-skills/robius-event-action/SKILL.md +10 -0
  850. package/bundled-skills/robius-matrix-integration/SKILL.md +10 -0
  851. package/bundled-skills/robius-state-management/SKILL.md +10 -0
  852. package/bundled-skills/robius-widget-patterns/SKILL.md +10 -0
  853. package/bundled-skills/ruby-pro/SKILL.md +0 -1
  854. package/bundled-skills/scala-pro/SKILL.md +0 -1
  855. package/bundled-skills/scanpy/SKILL.md +3 -0
  856. package/bundled-skills/scanpy/UPSTREAM-LICENSE.txt +21 -0
  857. package/bundled-skills/scanpy/UPSTREAM-NOTICE.md +15 -0
  858. package/bundled-skills/scanpy/assets/analysis_template.py +295 -0
  859. package/bundled-skills/scanpy/references/api_reference.md +251 -0
  860. package/bundled-skills/scanpy/references/plotting_guide.md +352 -0
  861. package/bundled-skills/scanpy/references/standard_workflow.md +206 -0
  862. package/bundled-skills/scanpy/scripts/qc_analysis.py +200 -0
  863. package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +15 -7
  864. package/bundled-skills/score-eval/SKILL.md +29 -18
  865. package/bundled-skills/search-specialist/SKILL.md +0 -1
  866. package/bundled-skills/security-bluebook-builder/SKILL.md +9 -1
  867. package/bundled-skills/security-compliance-compliance-check/resources/implementation-playbook.md +46 -177
  868. package/bundled-skills/security-requirement-extraction/resources/implementation-playbook.md +8 -6
  869. package/bundled-skills/senior-fullstack/SKILL.md +24 -200
  870. package/bundled-skills/senior-fullstack/references/architecture_patterns.md +4 -100
  871. package/bundled-skills/senior-fullstack/references/development_workflows.md +4 -100
  872. package/bundled-skills/senior-fullstack/references/tech_stack_guide.md +4 -100
  873. package/bundled-skills/senior-fullstack/scripts/code_quality_analyzer.py +5 -13
  874. package/bundled-skills/senior-fullstack/scripts/fullstack_scaffolder.py +5 -13
  875. package/bundled-skills/senior-fullstack/scripts/project_scaffolder.py +5 -13
  876. package/bundled-skills/seo-authority-builder/SKILL.md +0 -1
  877. package/bundled-skills/seo-cannibalization-detector/SKILL.md +6 -2
  878. package/bundled-skills/seo-content/SKILL.md +8 -0
  879. package/bundled-skills/seo-content-auditor/SKILL.md +3 -1
  880. package/bundled-skills/seo-directory-backlinks/SKILL.md +8 -0
  881. package/bundled-skills/seo-image-gen/SKILL.md +14 -0
  882. package/bundled-skills/seo-keyword-strategist/SKILL.md +0 -1
  883. package/bundled-skills/seo-meta-optimizer/SKILL.md +0 -1
  884. package/bundled-skills/seo-schema/SKILL.md +8 -0
  885. package/bundled-skills/seo-snippet-hunter/SKILL.md +0 -1
  886. package/bundled-skills/seo-structure-architect/SKILL.md +6 -2
  887. package/bundled-skills/sequence-psychologist/SKILL.md +15 -7
  888. package/bundled-skills/service-mesh-expert/SKILL.md +0 -1
  889. package/bundled-skills/service-mesh-observability/SKILL.md +0 -1
  890. package/bundled-skills/sharp-edges/SKILL.md +3 -0
  891. package/bundled-skills/sharp-edges/UPSTREAM-LICENSE.txt +427 -0
  892. package/bundled-skills/sharp-edges/UPSTREAM-NOTICE.md +26 -0
  893. package/bundled-skills/sharp-edges/references/auth-patterns.md +252 -0
  894. package/bundled-skills/sharp-edges/references/case-studies.md +274 -0
  895. package/bundled-skills/sharp-edges/references/config-patterns.md +333 -0
  896. package/bundled-skills/sharp-edges/references/crypto-apis.md +190 -0
  897. package/bundled-skills/sharp-edges/references/lang-c.md +205 -0
  898. package/bundled-skills/sharp-edges/references/lang-csharp.md +285 -0
  899. package/bundled-skills/sharp-edges/references/lang-go.md +270 -0
  900. package/bundled-skills/sharp-edges/references/lang-java.md +263 -0
  901. package/bundled-skills/sharp-edges/references/lang-javascript.md +269 -0
  902. package/bundled-skills/sharp-edges/references/lang-kotlin.md +265 -0
  903. package/bundled-skills/sharp-edges/references/lang-php.md +245 -0
  904. package/bundled-skills/sharp-edges/references/lang-python.md +274 -0
  905. package/bundled-skills/sharp-edges/references/lang-ruby.md +273 -0
  906. package/bundled-skills/sharp-edges/references/lang-rust.md +272 -0
  907. package/bundled-skills/sharp-edges/references/lang-swift.md +287 -0
  908. package/bundled-skills/sharp-edges/references/language-specific.md +588 -0
  909. package/bundled-skills/shellcheck-configuration/SKILL.md +0 -1
  910. package/bundled-skills/shipping-and-launch/SKILL.md +11 -0
  911. package/bundled-skills/skill-scanner/SKILL.md +23 -14
  912. package/bundled-skills/skill-scanner/UPSTREAM-LICENSE.txt +190 -0
  913. package/bundled-skills/skill-scanner/UPSTREAM-NOTICE.md +14 -0
  914. package/bundled-skills/skill-scanner/references/dangerous-code-patterns.md +194 -0
  915. package/bundled-skills/skill-scanner/references/permission-analysis.md +93 -0
  916. package/bundled-skills/skill-scanner/references/prompt-injection-patterns.md +157 -0
  917. package/bundled-skills/skill-scanner/scripts/scan_skill.py +800 -0
  918. package/bundled-skills/skill-seekers/SKILL.md +16 -20
  919. package/bundled-skills/slideops/SKILL.md +3 -0
  920. package/bundled-skills/slideops/UPSTREAM-LICENSE.txt +21 -0
  921. package/bundled-skills/slideops/UPSTREAM-NOTICE.md +16 -0
  922. package/bundled-skills/slideops/assets/template.html +536 -0
  923. package/bundled-skills/slideops/references/automation.md +185 -0
  924. package/bundled-skills/slideops/references/diagrams.md +92 -0
  925. package/bundled-skills/slideops/references/verification.md +124 -0
  926. package/bundled-skills/slideops/scripts/check.py +501 -0
  927. package/bundled-skills/slideops/scripts/cite.py +143 -0
  928. package/bundled-skills/social-proof-architect/SKILL.md +16 -8
  929. package/bundled-skills/spark-optimization/SKILL.md +0 -1
  930. package/bundled-skills/speckit-updater/SKILL.md +7 -0
  931. package/bundled-skills/speed/SKILL.md +16 -14
  932. package/bundled-skills/sred-project-organizer/SKILL.md +7 -0
  933. package/bundled-skills/startup-analyst/SKILL.md +0 -1
  934. package/bundled-skills/startup-business-analyst-business-case/SKILL.md +0 -1
  935. package/bundled-skills/startup-business-analyst-financial-projections/SKILL.md +0 -1
  936. package/bundled-skills/startup-business-analyst-market-opportunity/SKILL.md +0 -1
  937. package/bundled-skills/startup-financial-modeling/SKILL.md +16 -25
  938. package/bundled-skills/subject-line-psychologist/SKILL.md +15 -7
  939. package/bundled-skills/superpowers-lab/SKILL.md +15 -20
  940. package/bundled-skills/supply-chain-security/SKILL.md +6 -14
  941. package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +3 -39
  942. package/bundled-skills/swiftui-ui-patterns/SKILL.md +4 -0
  943. package/bundled-skills/swiftui-ui-patterns/references/async-state.md +14 -8
  944. package/bundled-skills/swiftui-ui-patterns/references/controls.md +1 -1
  945. package/bundled-skills/swiftui-ui-patterns/references/form.md +22 -4
  946. package/bundled-skills/swiftui-ui-patterns/references/lightweight-clients.md +3 -3
  947. package/bundled-skills/swiftui-ui-patterns/references/list.md +2 -2
  948. package/bundled-skills/swiftui-ui-patterns/references/matched-transitions.md +3 -1
  949. package/bundled-skills/swiftui-ui-patterns/references/media.md +3 -0
  950. package/bundled-skills/swiftui-ui-patterns/references/overlay.md +8 -3
  951. package/bundled-skills/swiftui-ui-patterns/references/performance.md +2 -5
  952. package/bundled-skills/swiftui-ui-patterns/references/scroll-reveal.md +3 -1
  953. package/bundled-skills/swiftui-ui-patterns/references/searchable.md +23 -7
  954. package/bundled-skills/swiftui-ui-patterns/references/sheets.md +16 -10
  955. package/bundled-skills/swiftui-ui-patterns/references/split-views.md +4 -1
  956. package/bundled-skills/systematic-debugging/condition-based-waiting-example.ts +30 -144
  957. package/bundled-skills/systematic-debugging/condition-based-waiting.md +1 -1
  958. package/bundled-skills/tdd-orchestrator/SKILL.md +0 -1
  959. package/bundled-skills/team-composition-analysis/SKILL.md +9 -1
  960. package/bundled-skills/technical-tutorials/SKILL.md +1 -1
  961. package/bundled-skills/temporal-python-pro/SKILL.md +0 -1
  962. package/bundled-skills/temporal-python-testing/SKILL.md +0 -1
  963. package/bundled-skills/terraform-module-library/SKILL.md +11 -1
  964. package/bundled-skills/test-automator/SKILL.md +0 -1
  965. package/bundled-skills/testing-patterns/SKILL.md +6 -6
  966. package/bundled-skills/trust-calibrator/SKILL.md +15 -7
  967. package/bundled-skills/tune-monitor/SKILL.md +3 -0
  968. package/bundled-skills/tune-monitor/UPSTREAM-LICENSE.txt +201 -0
  969. package/bundled-skills/tune-monitor/UPSTREAM-NOTICE.md +14 -0
  970. package/bundled-skills/tune-monitor/references/custom-sql-monitor.md +112 -0
  971. package/bundled-skills/tune-monitor/references/metric-monitor.md +118 -0
  972. package/bundled-skills/tune-monitor/references/table-monitor.md +138 -0
  973. package/bundled-skills/tune-monitor/references/validation-monitor.md +132 -0
  974. package/bundled-skills/turborepo-caching/SKILL.md +0 -1
  975. package/bundled-skills/tutorial-engineer/SKILL.md +0 -1
  976. package/bundled-skills/typescript-expert/SKILL.md +10 -8
  977. package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +48 -15
  978. package/bundled-skills/ui-ux-designer/SKILL.md +0 -1
  979. package/bundled-skills/ui-visual-validator/SKILL.md +0 -1
  980. package/bundled-skills/uniprot-database/SKILL.md +8 -0
  981. package/bundled-skills/unity-developer/SKILL.md +0 -1
  982. package/bundled-skills/usage-based-pricing/SKILL.md +1 -1
  983. package/bundled-skills/using-agent-skills/SKILL.md +4 -1
  984. package/bundled-skills/using-agent-skills/UPSTREAM-LICENSE.txt +21 -0
  985. package/bundled-skills/using-agent-skills/UPSTREAM-NOTICE.md +11 -0
  986. package/bundled-skills/using-agent-skills/references/definition-of-done.md +67 -0
  987. package/bundled-skills/using-neon/SKILL.md +21 -0
  988. package/bundled-skills/ux-persuasion-engineer/SKILL.md +15 -7
  989. package/bundled-skills/variant-analysis/SKILL.md +10 -0
  990. package/bundled-skills/vexor-cli/SKILL.md +8 -0
  991. package/bundled-skills/vibe-delegate/SKILL.md +5 -1
  992. package/bundled-skills/vibe-delegate/UPSTREAM-LICENSE.txt +21 -0
  993. package/bundled-skills/vibe-delegate/UPSTREAM-NOTICE.md +13 -0
  994. package/bundled-skills/vibe-delegate/scripts/relay.mjs +773 -0
  995. package/bundled-skills/video-content-extractor/SKILL.md +8 -0
  996. package/bundled-skills/visual-emotion-engineer/SKILL.md +16 -8
  997. package/bundled-skills/warp-delegate/SKILL.md +5 -1
  998. package/bundled-skills/warp-delegate/UPSTREAM-LICENSE.txt +21 -0
  999. package/bundled-skills/warp-delegate/UPSTREAM-NOTICE.md +13 -0
  1000. package/bundled-skills/warp-delegate/scripts/relay.mjs +837 -0
  1001. package/bundled-skills/wcag-audit-patterns/resources/implementation-playbook.md +14 -33
  1002. package/bundled-skills/web-performance-optimization/SKILL.md +15 -15
  1003. package/bundled-skills/web-performance-optimization/references/detailed-guide.md +12 -7
  1004. package/bundled-skills/web3-testing/SKILL.md +16 -1
  1005. package/bundled-skills/workflow-orchestration-patterns/SKILL.md +1 -2
  1006. package/bundled-skills/zcode-delegate/SKILL.md +11 -3
  1007. package/bundled-skills/zcode-delegate/UPSTREAM-LICENSE.txt +21 -0
  1008. package/bundled-skills/zcode-delegate/UPSTREAM-NOTICE.md +13 -0
  1009. package/bundled-skills/zcode-delegate/references/dispatch-and-poll.md +4 -4
  1010. package/bundled-skills/zcode-delegate/scripts/relay.mjs +1043 -0
  1011. package/package.json +1 -1
  1012. package/skills_index.json +168 -154
  1013. package/bundled-skills/api-security-testing/SKILL.md +0 -176
@@ -0,0 +1,501 @@
1
+ #!/usr/bin/env python3
2
+ """slideops check: report which slides cite code that has changed since the deck was built.
3
+
4
+ A deck rots the moment it is exported. This turns that from a hope into a check: every
5
+ quoted snippet carries the file and line range it came from, plus a hash of those source
6
+ lines at build time. This re-reads the repository at its current state and tells you,
7
+ slide by slide, what is still true.
8
+
9
+ python3 check.py <deck.html|dir> [more...] [--repo PATH] [--suggest] [--json]
10
+ [--quiet] [--exit-zero]
11
+
12
+ Deterministic and dependency-free: standard library only, no model, no network, no tokens.
13
+ Running it costs milliseconds, so run it often. Spending tokens is a separate, later
14
+ decision: `--json` hands an agent the complete repair brief (what changed, the diff, the
15
+ commits that did it, the corrected citation) so a refresh reads only the slides that
16
+ actually drifted.
17
+
18
+ Statuses:
19
+ CURRENT the cited lines are byte-identical to what they were
20
+ MOVED the same lines still exist, at different line numbers (update data-src)
21
+ CHANGED the cited lines differ; the slide may now be wrong
22
+ MISSING the file is gone
23
+ UNVERIFIED the citation has no hash, or the build commit is not in this repo
24
+
25
+ Exit codes: 0 nothing stale, 1 stale citations found, 2 a deck or the repo could not be
26
+ read. `--exit-zero` forces 0 whenever the run completed, for report-only CI jobs that
27
+ should annotate a pull request without failing it.
28
+ """
29
+
30
+ from __future__ import annotations
31
+
32
+ import argparse
33
+ import difflib
34
+ import hashlib
35
+ import html
36
+ import json
37
+ import re
38
+ import subprocess
39
+ import sys
40
+ from collections.abc import Sequence
41
+ from dataclasses import dataclass, field
42
+ from pathlib import Path
43
+
44
+ CITATION_RE = re.compile(
45
+ r'<[a-zA-Z][^<>]*?data-src="(?P<src>[^"]+)"'
46
+ r'(?:[^<>]*?data-sha256="(?P<sha>[0-9a-f]{6,64})")?[^<>]*>',
47
+ re.I | re.S,
48
+ )
49
+ BUILD_META_RE = re.compile(r'<meta name="slideops-build" content="(?P<content>[^"]*)"', re.I)
50
+ SLIDE_COMMENT_RE = re.compile(r"<!--\s*(?P<index>\d+):\s*(?P<label>.+?)\s*-->")
51
+ HASH_LENGTH = 12
52
+ MAX_COMMITS = 10
53
+
54
+
55
+ @dataclass
56
+ class Citation:
57
+ src: str
58
+ path: str
59
+ start: int | None
60
+ end: int | None
61
+ recorded_sha: str | None
62
+ slide_index: int | None
63
+ slide_label: str
64
+ status: str = "UNVERIFIED"
65
+ detail: str = ""
66
+ new_range: tuple[int, int] | None = None
67
+ diff: list[str] = field(default_factory=list)
68
+ current_lines: list[str] = field(default_factory=list)
69
+ commits: list[str] = field(default_factory=list)
70
+
71
+ @property
72
+ def display_slide(self) -> str:
73
+ return str(self.slide_index + 1) if self.slide_index is not None else "?"
74
+
75
+ @property
76
+ def is_stale(self) -> bool:
77
+ return self.status in {"CHANGED", "MISSING", "MOVED"}
78
+
79
+ @property
80
+ def suggested_src(self) -> str:
81
+ if self.new_range:
82
+ return f"{self.path}:{self.new_range[0]}-{self.new_range[1]}"
83
+ return self.src
84
+
85
+
86
+ @dataclass
87
+ class DeckReport:
88
+ """One deck's worth of results, so a run can span a whole docs/slides/ folder."""
89
+
90
+ deck: Path
91
+ build: dict[str, str] = field(default_factory=dict)
92
+ citations: list[Citation] = field(default_factory=list)
93
+ error: str = ""
94
+
95
+ @property
96
+ def stale(self) -> list[Citation]:
97
+ return [c for c in self.citations if c.is_stale]
98
+
99
+ @property
100
+ def unverified(self) -> list[Citation]:
101
+ return [c for c in self.citations if c.status == "UNVERIFIED"]
102
+
103
+
104
+ def hash_lines(lines: Sequence[str]) -> str:
105
+ return hashlib.sha256("\n".join(lines).encode("utf-8")).hexdigest()[:HASH_LENGTH]
106
+
107
+
108
+ def parse_src(src: str) -> tuple[str, int | None, int | None]:
109
+ """'path/to/file.py:40-58' -> ('path/to/file.py', 40, 58). Range is optional."""
110
+ match = re.match(r"^(?P<path>.+?)(?::(?P<start>\d+)(?:-(?P<end>\d+))?)?$", src.strip())
111
+ if not match:
112
+ return src.strip(), None, None
113
+ path = match.group("path")
114
+ start = int(match.group("start")) if match.group("start") else None
115
+ end = int(match.group("end")) if match.group("end") else start
116
+ return path, start, end
117
+
118
+
119
+ def slice_lines(text: str, start: int | None, end: int | None) -> list[str] | None:
120
+ lines = text.splitlines()
121
+ if start is None:
122
+ return lines
123
+ if start < 1 or end is None or end > len(lines) or start > end:
124
+ return None
125
+ return lines[start - 1 : end]
126
+
127
+
128
+ def git(repo: Path, *args: str) -> str | None:
129
+ result = subprocess.run(["git", "-C", str(repo), *args], capture_output=True, text=True, timeout=30)
130
+ return result.stdout if result.returncode == 0 else None
131
+
132
+
133
+ def find_citations(deck_html: str) -> list[Citation]:
134
+ """Attach each citation to the slide it sits on, using the slide-index comments."""
135
+ slides: list[tuple[int, int, str]] = [
136
+ (m.start(), int(m.group("index")), m.group("label").strip()) for m in SLIDE_COMMENT_RE.finditer(deck_html)
137
+ ]
138
+
139
+ citations: list[Citation] = []
140
+ for match in CITATION_RE.finditer(deck_html):
141
+ index, label = None, ""
142
+ for position, slide_index, slide_label in slides:
143
+ if position <= match.start():
144
+ index, label = slide_index, slide_label
145
+ else:
146
+ break
147
+ path, start, end = parse_src(match.group("src"))
148
+ citations.append(
149
+ Citation(
150
+ src=match.group("src"),
151
+ path=path,
152
+ start=start,
153
+ end=end,
154
+ recorded_sha=(match.group("sha") or "").lower() or None,
155
+ slide_index=index,
156
+ slide_label=label,
157
+ )
158
+ )
159
+ return citations
160
+
161
+
162
+ def locate_moved(current_text: str, original: list[str]) -> tuple[int, int] | None:
163
+ """If the cited block still exists verbatim elsewhere in the file, find where."""
164
+ current = current_text.splitlines()
165
+ if not original or len(original) > len(current):
166
+ return None
167
+ first = original[0]
168
+ for offset, line in enumerate(current):
169
+ if line == first and current[offset : offset + len(original)] == original:
170
+ return offset + 1, offset + len(original)
171
+ return None
172
+
173
+
174
+ def commits_since(repo: Path, path: str, build_commit: str | None) -> list[str]:
175
+ """The commits that touched this file since the deck was built, newest first.
176
+
177
+ This is the 'why' a diff cannot give you: a rename reads very differently from a
178
+ behaviour change, and the subject line is usually enough to tell them apart before
179
+ anyone reads a single line of code.
180
+ """
181
+ if not build_commit:
182
+ return []
183
+ log = git(repo, "log", "--oneline", f"-{MAX_COMMITS}", f"{build_commit}..HEAD", "--", path)
184
+ if not log:
185
+ return []
186
+ return [line.strip() for line in log.splitlines() if line.strip()]
187
+
188
+
189
+ def check_citation(citation: Citation, repo: Path, build_commit: str | None) -> None:
190
+ file_path = repo / citation.path
191
+ if not file_path.is_file():
192
+ citation.status = "MISSING"
193
+ citation.detail = "file no longer exists"
194
+ citation.commits = commits_since(repo, citation.path, build_commit)
195
+ return
196
+
197
+ current_text = file_path.read_text(errors="replace")
198
+ current = slice_lines(current_text, citation.start, citation.end)
199
+ if current is None:
200
+ citation.status = "CHANGED"
201
+ citation.detail = f"file is now {len(current_text.splitlines())} lines; cited range is past the end"
202
+ citation.commits = commits_since(repo, citation.path, build_commit)
203
+ return
204
+
205
+ citation.current_lines = current
206
+ if not citation.recorded_sha:
207
+ citation.status = "UNVERIFIED"
208
+ citation.detail = "no data-sha256 recorded at build time"
209
+ return
210
+
211
+ if hash_lines(current).startswith(citation.recorded_sha[:HASH_LENGTH]):
212
+ citation.status = "CURRENT"
213
+ return
214
+
215
+ original: list[str] | None = None
216
+ if build_commit:
217
+ blob = git(repo, "show", f"{build_commit}:{citation.path}")
218
+ if blob is not None:
219
+ original = slice_lines(blob, citation.start, citation.end)
220
+
221
+ citation.commits = commits_since(repo, citation.path, build_commit)
222
+
223
+ if original is not None:
224
+ moved_to = locate_moved(current_text, original)
225
+ if moved_to:
226
+ citation.status = "MOVED"
227
+ citation.new_range = moved_to
228
+ citation.current_lines = original
229
+ citation.detail = f"same content, now at lines {moved_to[0]}-{moved_to[1]}"
230
+ return
231
+ citation.status = "CHANGED"
232
+ citation.diff = list(
233
+ difflib.unified_diff(
234
+ original, current, fromfile=f"{citation.src} @ build", tofile=f"{citation.src} @ now", lineterm="", n=1
235
+ )
236
+ )
237
+ changed = sum(
238
+ 1 for line in citation.diff if line.startswith(("+", "-")) and not line.startswith(("+++", "---"))
239
+ )
240
+ citation.detail = f"{changed} line(s) differ"
241
+ else:
242
+ citation.status = "CHANGED"
243
+ citation.detail = "content differs (build commit unavailable, cannot diff)"
244
+
245
+
246
+ def parse_build_meta(deck_html: str) -> dict[str, str]:
247
+ build: dict[str, str] = {}
248
+ meta = BUILD_META_RE.search(deck_html)
249
+ if meta:
250
+ for part in meta.group("content").split():
251
+ key, _, value = part.partition("=")
252
+ if value:
253
+ build[key] = value
254
+ return build
255
+
256
+
257
+ def check_deck(deck: Path, repo: Path) -> DeckReport:
258
+ report = DeckReport(deck=deck)
259
+ try:
260
+ deck_html = deck.read_text(errors="replace")
261
+ except OSError as exc:
262
+ report.error = f"could not read: {exc}"
263
+ return report
264
+
265
+ report.build = parse_build_meta(deck_html)
266
+ build_commit = report.build.get("commit")
267
+ if build_commit and git(repo, "cat-file", "-e", f"{build_commit}^{{commit}}") is None:
268
+ build_commit = None
269
+
270
+ report.citations = find_citations(deck_html)
271
+ for citation in report.citations:
272
+ check_citation(citation, repo, build_commit)
273
+ return report
274
+
275
+
276
+ def looks_like_deck(path: Path) -> bool:
277
+ """Used only when expanding a directory, so pointing at docs/ does not flood output."""
278
+ try:
279
+ head = path.read_text(errors="replace")
280
+ except OSError:
281
+ return False
282
+ return bool(BUILD_META_RE.search(head) or CITATION_RE.search(head))
283
+
284
+
285
+ def collect_decks(targets: list[Path]) -> tuple[list[Path], list[str]]:
286
+ """Expand files and directories into a deduplicated, sorted list of decks."""
287
+ decks: list[Path] = []
288
+ problems: list[str] = []
289
+ for target in targets:
290
+ if target.is_dir():
291
+ found = [p for p in sorted(target.rglob("*.html")) if looks_like_deck(p)]
292
+ if not found:
293
+ problems.append(f"{target}: no decks with citations found")
294
+ decks.extend(found)
295
+ elif target.is_file():
296
+ decks.append(target)
297
+ else:
298
+ problems.append(f"{target}: not found")
299
+
300
+ seen: set[Path] = set()
301
+ unique: list[Path] = []
302
+ for deck in decks:
303
+ resolved = deck.resolve()
304
+ if resolved not in seen:
305
+ seen.add(resolved)
306
+ unique.append(deck)
307
+ return unique, problems
308
+
309
+
310
+ def print_deck(report: DeckReport, repo: Path, quiet: bool, multi: bool) -> None:
311
+ shown = report.stale if quiet else report.citations
312
+ if quiet and not shown:
313
+ return
314
+
315
+ if multi:
316
+ print(f"{report.deck}")
317
+ else:
318
+ print(f"Deck: {report.deck.name}")
319
+ if report.build:
320
+ print("Built: " + " ".join(f"{k}={v}" for k, v in report.build.items()))
321
+ head = (git(repo, "rev-parse", "--short", "HEAD") or "unknown").strip()
322
+ print(f"Repo: {repo} @ {head}")
323
+ print()
324
+
325
+ if report.error:
326
+ print(f" {report.error}")
327
+ return
328
+
329
+ if not report.citations:
330
+ print(" No citations found in this deck.")
331
+ if not multi:
332
+ print(" Add data-src (and data-sha256) to quoted snippets so freshness can be checked;")
333
+ print(" see references/freshness.md.")
334
+ return
335
+
336
+ width = max(len(c.src) for c in shown)
337
+ for citation in shown:
338
+ line = (
339
+ f" slide {citation.display_slide:>3} {citation.slide_label:<14} "
340
+ f"{citation.src:<{width}} {citation.status:<10} {citation.detail}"
341
+ )
342
+ print(line.rstrip())
343
+ if multi:
344
+ print()
345
+
346
+
347
+ def print_suggestions(report: DeckReport, multi: bool) -> None:
348
+ for citation in report.stale:
349
+ print()
350
+ print("=" * 78)
351
+ where = f"{report.deck}: " if multi else ""
352
+ headline = f"slide {citation.display_slide} ({citation.slide_label})"
353
+ print(f"{where}{headline} — {citation.src} — {citation.status}")
354
+ print("=" * 78)
355
+ if citation.commits:
356
+ print("Commits that touched it since the deck was built:")
357
+ for commit in citation.commits:
358
+ print(f" {commit}")
359
+ print()
360
+ if citation.status == "MISSING":
361
+ print("The file is gone. Either the slide is obsolete, or the code moved:")
362
+ print(f" git log --diff-filter=D -- {citation.path}")
363
+ continue
364
+ if citation.status == "MOVED" and citation.new_range:
365
+ start, end = citation.new_range
366
+ print("Content is unchanged; only the line numbers moved. Update the citation:")
367
+ print(f' data-src="{citation.path}:{start}-{end}"')
368
+ print(f' data-sha256="{hash_lines(citation.current_lines)}"')
369
+ continue
370
+ if citation.diff:
371
+ print("What changed:")
372
+ for line in citation.diff:
373
+ print(f" {line}")
374
+ print()
375
+ print("Current source, HTML-escaped and ready to paste into the <pre>:")
376
+ print(f' data-src="{citation.src}" data-sha256="{hash_lines(citation.current_lines)}"')
377
+ print()
378
+ for line in citation.current_lines:
379
+ print(f" {html.escape(line)}")
380
+ longest = max((len(line) for line in citation.current_lines), default=0)
381
+ if longest > 65:
382
+ print()
383
+ print(
384
+ f" Note: longest line is {longest} chars. Half-width columns fit ~65 and"
385
+ " full-width ~95, so this may need a full-width pre or a different pattern."
386
+ )
387
+
388
+
389
+ def citation_json(citation: Citation) -> dict[str, object]:
390
+ """Stale citations carry the full repair brief; current ones stay one line each.
391
+
392
+ An agent asked to refresh a deck should need this payload and nothing else: what
393
+ drifted, how, who changed it, and the exact attributes to write back.
394
+ """
395
+ payload: dict[str, object] = {
396
+ "slide": citation.display_slide,
397
+ "label": citation.slide_label,
398
+ "src": citation.src,
399
+ "status": citation.status,
400
+ "detail": citation.detail,
401
+ }
402
+ if not citation.is_stale:
403
+ return payload
404
+ payload.update(
405
+ {
406
+ "suggested_src": citation.suggested_src,
407
+ "suggested_sha256": hash_lines(citation.current_lines) if citation.current_lines else None,
408
+ "new_range": list(citation.new_range) if citation.new_range else None,
409
+ "diff": citation.diff,
410
+ "commits": citation.commits,
411
+ "current_source": citation.current_lines,
412
+ }
413
+ )
414
+ return payload
415
+
416
+
417
+ def emit_json(reports: list[DeckReport], repo: Path) -> None:
418
+ head = (git(repo, "rev-parse", "--short", "HEAD") or "unknown").strip()
419
+ print(
420
+ json.dumps(
421
+ {
422
+ "repo": str(repo),
423
+ "head": head,
424
+ "checked": len(reports),
425
+ "stale": sum(len(r.stale) for r in reports),
426
+ "unverified": sum(len(r.unverified) for r in reports),
427
+ "decks": [
428
+ {
429
+ "deck": str(r.deck),
430
+ "build": r.build,
431
+ "error": r.error or None,
432
+ "stale": len(r.stale),
433
+ "citations": [citation_json(c) for c in r.citations],
434
+ }
435
+ for r in reports
436
+ ],
437
+ },
438
+ indent=2,
439
+ )
440
+ )
441
+
442
+
443
+ def main(argv: list[str]) -> int:
444
+ parser = argparse.ArgumentParser(description="Report slides whose cited code has changed.")
445
+ parser.add_argument("targets", type=Path, nargs="+", help="deck HTML files, or directories to sweep")
446
+ parser.add_argument("--repo", type=Path, default=Path(), help="repository the decks cite (default: cwd)")
447
+ parser.add_argument("--suggest", action="store_true", help="print current source and updated citations")
448
+ parser.add_argument("--json", action="store_true", help="machine-readable repair brief, for CI or an agent")
449
+ parser.add_argument("--quiet", action="store_true", help="list only stale citations; silent when all are current")
450
+ parser.add_argument("--exit-zero", action="store_true", help="always exit 0 when the run completed (report-only)")
451
+ args = parser.parse_args(argv[1:])
452
+
453
+ repo: Path = args.repo.resolve()
454
+ if not repo.is_dir():
455
+ print(f"Repo not found: {repo}", file=sys.stderr)
456
+ return 2
457
+
458
+ decks, problems = collect_decks(args.targets)
459
+ for problem in problems:
460
+ print(problem, file=sys.stderr)
461
+ if not decks:
462
+ return 2
463
+
464
+ reports = [check_deck(deck, repo) for deck in decks]
465
+ multi = len(reports) > 1
466
+
467
+ if args.json:
468
+ emit_json(reports, repo)
469
+ else:
470
+ for report in reports:
471
+ print_deck(report, repo, args.quiet, multi)
472
+
473
+ total = sum(len(r.citations) for r in reports)
474
+ stale = sum(len(r.stale) for r in reports)
475
+ unverified = sum(len(r.unverified) for r in reports)
476
+ if not (args.quiet and not stale):
477
+ if not multi:
478
+ print()
479
+ deck_count = f" across {len(reports)} decks" if multi else ""
480
+ print(
481
+ f"{total - stale - unverified} current, {stale} stale"
482
+ + (f", {unverified} unverified" if unverified else "")
483
+ + f", {total} cited in total{deck_count}."
484
+ )
485
+ if stale and not args.suggest:
486
+ print("Run again with --suggest for the current source and a ready-to-paste snippet,")
487
+ print("or --json to hand an agent the whole repair brief.")
488
+
489
+ if args.suggest:
490
+ for report in reports:
491
+ print_suggestions(report, multi)
492
+
493
+ if any(r.error for r in reports):
494
+ return 2
495
+ if args.exit_zero:
496
+ return 0
497
+ return 1 if any(r.stale for r in reports) else 0
498
+
499
+
500
+ if __name__ == "__main__":
501
+ sys.exit(main(sys.argv))
@@ -0,0 +1,143 @@
1
+ #!/usr/bin/env python3
2
+ """slideops cite: produce the citation attributes for a snippet, and stamp the build commit.
3
+
4
+ The companion to check.py. `check` tells you what drifted; `cite` is what you use while
5
+ building or repairing a slide, so the two attributes that make a snippet checkable are
6
+ never typed by hand:
7
+
8
+ python3 cite.py app/main.py:40-58 [more...] [--repo PATH] [--snippet]
9
+ python3 cite.py --stamp docs/slides/deck.html [--repo PATH]
10
+
11
+ A hand-computed hash is worse than no hash: it reports UNVERIFIED or CHANGED months later
12
+ and nobody can tell whether the code moved or the build was sloppy. Same for the build
13
+ date, which an agent will otherwise cheerfully invent.
14
+
15
+ Exit codes: 0 fine, 1 a reference could not be resolved, 2 the repo or deck is unreadable.
16
+ """
17
+
18
+ from __future__ import annotations
19
+
20
+ import argparse
21
+ import datetime
22
+ import hashlib
23
+ import html
24
+ import re
25
+ import subprocess
26
+ import sys
27
+ from pathlib import Path
28
+
29
+ HASH_LENGTH = 12
30
+ BUILD_META_RE = re.compile(r'<meta name="slideops-build" content="[^"]*">', re.I)
31
+ HEAD_RE = re.compile(r"<head[^>]*>", re.I)
32
+ HALF_WIDTH, FULL_WIDTH = 65, 95
33
+
34
+
35
+ def git(repo: Path, *args: str) -> str | None:
36
+ result = subprocess.run(["git", "-C", str(repo), *args], capture_output=True, text=True, timeout=30)
37
+ return result.stdout.strip() if result.returncode == 0 else None
38
+
39
+
40
+ def parse_ref(ref: str) -> tuple[str, int | None, int | None]:
41
+ """'app/main.py:40-58' -> ('app/main.py', 40, 58). Range is optional."""
42
+ match = re.match(r"^(?P<path>.+?)(?::(?P<start>\d+)(?:-(?P<end>\d+))?)?$", ref.strip())
43
+ if not match:
44
+ return ref.strip(), None, None
45
+ start = int(match.group("start")) if match.group("start") else None
46
+ end = int(match.group("end")) if match.group("end") else start
47
+ return match.group("path"), start, end
48
+
49
+
50
+ def cite_one(ref: str, repo: Path, show_snippet: bool) -> bool:
51
+ path, start, end = parse_ref(ref)
52
+ file_path = repo / path
53
+ if not file_path.is_file():
54
+ print(f"{ref}: no such file under {repo}", file=sys.stderr)
55
+ return False
56
+
57
+ lines = file_path.read_text(errors="replace").splitlines()
58
+ if start is None:
59
+ selected, src = lines, path
60
+ else:
61
+ if end is None or start < 1 or end > len(lines) or start > end:
62
+ print(f"{ref}: file has {len(lines)} lines; that range does not exist", file=sys.stderr)
63
+ return False
64
+ selected, src = lines[start - 1 : end], f"{path}:{start}-{end}"
65
+
66
+ digest = hashlib.sha256("\n".join(selected).encode("utf-8")).hexdigest()[:HASH_LENGTH]
67
+ print(f'data-src="{src}" data-sha256="{digest}"')
68
+
69
+ longest = max((len(line) for line in selected), default=0)
70
+ if longest > FULL_WIDTH:
71
+ print(f" warning: longest line is {longest} chars; over the ~{FULL_WIDTH} full-width budget", file=sys.stderr)
72
+ elif longest > HALF_WIDTH:
73
+ print(f" note: longest line is {longest} chars; needs a full-width pre (~{FULL_WIDTH})", file=sys.stderr)
74
+
75
+ if show_snippet:
76
+ print()
77
+ for line in selected:
78
+ print(html.escape(line))
79
+ return True
80
+
81
+
82
+ def stamp(deck: Path, repo: Path) -> int:
83
+ """Write the build provenance meta, which is what lets check.py diff against the past."""
84
+ if not deck.is_file():
85
+ print(f"Deck not found: {deck}", file=sys.stderr)
86
+ return 2
87
+
88
+ commit = git(repo, "rev-parse", "--short", "HEAD")
89
+ if not commit:
90
+ print(f"Not a git repository (or no commits): {repo}", file=sys.stderr)
91
+ return 2
92
+ if git(repo, "status", "--porcelain"):
93
+ print(" note: the repo has uncommitted changes; check.py can only diff against the commit", file=sys.stderr)
94
+
95
+ name = (git(repo, "rev-parse", "--show-toplevel") or str(repo)).rsplit("/", 1)[-1]
96
+ today = datetime.date.today().isoformat()
97
+ meta = f'<meta name="slideops-build" content="commit={commit} date={today} repo={name}">'
98
+
99
+ text = deck.read_text()
100
+ if BUILD_META_RE.search(text):
101
+ text = BUILD_META_RE.sub(meta, text, count=1)
102
+ action = "updated"
103
+ else:
104
+ head = HEAD_RE.search(text)
105
+ if not head:
106
+ print(f"{deck}: no <head> to insert the build meta into", file=sys.stderr)
107
+ return 1
108
+ text = text[: head.end()] + "\n" + meta + text[head.end() :]
109
+ action = "inserted"
110
+
111
+ deck.write_text(text)
112
+ print(f"{action}: {meta}")
113
+ return 0
114
+
115
+
116
+ def main(argv: list[str]) -> int:
117
+ parser = argparse.ArgumentParser(description="Print citation attributes, or stamp a deck's build commit.")
118
+ parser.add_argument("refs", nargs="*", help="path:start-end references to cite")
119
+ parser.add_argument("--repo", type=Path, default=Path(), help="repository the deck cites (default: cwd)")
120
+ parser.add_argument("--snippet", action="store_true", help="also print the HTML-escaped source, ready to paste")
121
+ parser.add_argument("--stamp", type=Path, metavar="DECK", help="write the build commit meta into this deck")
122
+ args = parser.parse_args(argv[1:])
123
+
124
+ repo: Path = args.repo.resolve()
125
+ if not repo.is_dir():
126
+ print(f"Repo not found: {repo}", file=sys.stderr)
127
+ return 2
128
+
129
+ if args.stamp:
130
+ code = stamp(args.stamp, repo)
131
+ if code or not args.refs:
132
+ return code
133
+
134
+ if not args.refs:
135
+ parser.print_usage(sys.stderr)
136
+ print("Give at least one path:start-end reference, or --stamp DECK.", file=sys.stderr)
137
+ return 2
138
+
139
+ return 0 if all([cite_one(ref, repo, args.snippet) for ref in args.refs]) else 1
140
+
141
+
142
+ if __name__ == "__main__":
143
+ sys.exit(main(sys.argv))