opencode-skills-collection 4.1.14 → 4.1.16

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 (1025) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +4 -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/advanced-evaluation/SKILL.md +21 -44
  21. package/bundled-skills/aegisops-ai/SKILL.md +19 -19
  22. package/bundled-skills/agent-creator/SKILL.md +13 -14
  23. package/bundled-skills/agent-evals/SKILL.md +27 -22
  24. package/bundled-skills/agent-framework-azure-ai-py/SKILL.md +3 -0
  25. package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-LICENSE.txt +21 -0
  26. package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-NOTICE.md +14 -0
  27. package/bundled-skills/agent-framework-azure-ai-py/references/advanced.md +512 -0
  28. package/bundled-skills/agent-framework-azure-ai-py/references/mcp.md +301 -0
  29. package/bundled-skills/agent-framework-azure-ai-py/references/threads.md +300 -0
  30. package/bundled-skills/agent-framework-azure-ai-py/references/tools.md +278 -0
  31. package/bundled-skills/agent-manager-skill/SKILL.md +10 -4
  32. package/bundled-skills/agent-memory/SKILL.md +39 -8
  33. package/bundled-skills/agent-memory-mcp/SKILL.md +11 -2
  34. package/bundled-skills/agent-memory-systems/SKILL.md +13 -28
  35. package/bundled-skills/agent-memory-systems/references/detailed-guide.md +59 -257
  36. package/bundled-skills/agent-orchestration-improve-agent/SKILL.md +12 -7
  37. package/bundled-skills/agent-orchestration-multi-agent-optimize/SKILL.md +14 -24
  38. package/bundled-skills/agent-orchestrator/SKILL.md +30 -20
  39. package/bundled-skills/agent-orchestrator/references/capability-taxonomy.md +9 -9
  40. package/bundled-skills/agent-orchestrator/references/orchestration-patterns.md +2 -2
  41. package/bundled-skills/agent-orchestrator/scripts/match_skills.py +49 -51
  42. package/bundled-skills/agent-orchestrator/scripts/orchestrate.py +71 -32
  43. package/bundled-skills/agent-orchestrator/scripts/scan_registry.py +92 -68
  44. package/bundled-skills/agent-self-scheduling/SKILL.md +11 -8
  45. package/bundled-skills/agent-squad/alex/SKILL.md +6 -1
  46. package/bundled-skills/agent-squad/aria/SKILL.md +7 -2
  47. package/bundled-skills/agent-squad/dep/SKILL.md +11 -4
  48. package/bundled-skills/agent-squad/luna/SKILL.md +10 -5
  49. package/bundled-skills/agent-squad/mason/SKILL.md +10 -5
  50. package/bundled-skills/agent-squad/max/SKILL.md +10 -3
  51. package/bundled-skills/agent-squad/quinn/SKILL.md +12 -5
  52. package/bundled-skills/agent-squad/rex/SKILL.md +7 -2
  53. package/bundled-skills/agentflow/SKILL.md +22 -15
  54. package/bundled-skills/agentfolio/SKILL.md +3 -2
  55. package/bundled-skills/agentic-actions-auditor/SKILL.md +35 -27
  56. package/bundled-skills/agentmail/SKILL.md +33 -58
  57. package/bundled-skills/agents-md/SKILL.md +1 -3
  58. package/bundled-skills/agents-v2-py/SKILL.md +57 -58
  59. package/bundled-skills/agenttrace-session-audit/SKILL.md +3 -2
  60. package/bundled-skills/agy-auto/SKILL.md +11 -10
  61. package/bundled-skills/ai-agent-development/SKILL.md +6 -0
  62. package/bundled-skills/ai-agent-evaluation-benchmarking/SKILL.md +15 -10
  63. package/bundled-skills/ai-agent-tool-routing/SKILL.md +98 -116
  64. package/bundled-skills/ai-agents-architect/SKILL.md +2 -2
  65. package/bundled-skills/ai-analyzer/SKILL.md +25 -10
  66. package/bundled-skills/ai-code-generation-guardrails/SKILL.md +99 -126
  67. package/bundled-skills/ai-dev-jobs-mcp/SKILL.md +8 -4
  68. package/bundled-skills/ai-engineer/SKILL.md +13 -7
  69. package/bundled-skills/ai-engineering-toolkit/SKILL.md +11 -7
  70. package/bundled-skills/ai-headshot-studio/SKILL.md +9 -7
  71. package/bundled-skills/ai-image-generation-studio/SKILL.md +9 -7
  72. package/bundled-skills/ai-inference-service-mesh/SKILL.md +18 -43
  73. package/bundled-skills/ai-logo-maker/SKILL.md +8 -4
  74. package/bundled-skills/ai-loop/SKILL.md +4 -4
  75. package/bundled-skills/ai-ml/SKILL.md +4 -0
  76. package/bundled-skills/ai-multilingual-dubbing/SKILL.md +9 -3
  77. package/bundled-skills/ai-native-cli/SKILL.md +10 -7
  78. package/bundled-skills/ai-photo-restyler/SKILL.md +8 -4
  79. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +36 -18
  80. package/bundled-skills/ai-podcast-voiceover/SKILL.md +9 -3
  81. package/bundled-skills/ai-prompt-regression-testing/SKILL.md +100 -112
  82. package/bundled-skills/ai-red-teaming/SKILL.md +55 -35
  83. package/bundled-skills/ai-security-hardening/SKILL.md +17 -25
  84. package/bundled-skills/ai-sre-incident-response/SKILL.md +13 -12
  85. package/bundled-skills/ai-studio-image/SKILL.md +8 -0
  86. package/bundled-skills/akf-trust-metadata/SKILL.md +8 -2
  87. package/bundled-skills/alerting-oncall/SKILL.md +1 -0
  88. package/bundled-skills/alerting-oncall/references/details.md +1 -5
  89. package/bundled-skills/alpha-vantage/SKILL.md +0 -4
  90. package/bundled-skills/angular-migration/SKILL.md +14 -0
  91. package/bundled-skills/animejs-animation/SKILL.md +8 -3
  92. package/bundled-skills/anti-deception/SKILL.md +5 -3
  93. package/bundled-skills/anti-reversing-techniques/SKILL.md +1 -1
  94. package/bundled-skills/anti-sleep/SKILL.md +4 -2
  95. package/bundled-skills/antigravity-design-expert/SKILL.md +3 -3
  96. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +9 -2
  97. package/bundled-skills/api-analyzer/SKILL.md +7 -29
  98. package/bundled-skills/api-contract-testing/SKILL.md +116 -0
  99. package/bundled-skills/api-designer/SKILL.md +9 -0
  100. package/bundled-skills/api-documentation/SKILL.md +7 -1
  101. package/bundled-skills/api-integration/SKILL.md +6 -22
  102. package/bundled-skills/api-rate-limit-handler/SKILL.md +34 -27
  103. package/bundled-skills/api-sdk-generator/SKILL.md +0 -21
  104. package/bundled-skills/api-testing-observability-api-mock/resources/implementation-playbook.md +31 -11
  105. package/bundled-skills/apk-reverse/SKILL.md +14 -0
  106. package/bundled-skills/apk-reverse/UPSTREAM-LICENSE.txt +21 -0
  107. package/bundled-skills/apk-reverse/UPSTREAM-NOTICE.md +11 -0
  108. package/bundled-skills/apk-reverse/scripts/manifest-summary.ps1 +80 -0
  109. package/bundled-skills/architecture-review/SKILL.md +4 -4
  110. package/bundled-skills/arm-cortex-expert/SKILL.md +0 -1
  111. package/bundled-skills/arrowspace/SKILL.md +23 -21
  112. package/bundled-skills/ask-questions-if-underspecified/SKILL.md +4 -4
  113. package/bundled-skills/audit-logging/SKILL.md +10 -77
  114. package/bundled-skills/automated-triage/SKILL.md +3 -0
  115. package/bundled-skills/automated-triage/UPSTREAM-LICENSE.txt +201 -0
  116. package/bundled-skills/automated-triage/UPSTREAM-NOTICE.md +12 -0
  117. package/bundled-skills/automated-triage/references/triage-example.md +115 -0
  118. package/bundled-skills/automated-triage/references/triage-stages.md +141 -0
  119. package/bundled-skills/avoid-ai-writing/SKILL.md +4 -2
  120. package/bundled-skills/awareness-stage-mapper/SKILL.md +17 -9
  121. package/bundled-skills/aws-cdk-development/SKILL.md +7 -0
  122. package/bundled-skills/aws-cdk-development/UPSTREAM-LICENSE.txt +21 -0
  123. package/bundled-skills/aws-cdk-development/UPSTREAM-NOTICE.md +14 -0
  124. package/bundled-skills/aws-cdk-development/references/cdk-patterns.md +431 -0
  125. package/bundled-skills/aws-cdk-development/scripts/validate-stack.sh +247 -0
  126. package/bundled-skills/aws-skills/SKILL.md +16 -21
  127. package/bundled-skills/aws-sst-development/SKILL.md +3 -0
  128. package/bundled-skills/aws-sst-development/UPSTREAM-LICENSE.txt +21 -0
  129. package/bundled-skills/aws-sst-development/UPSTREAM-NOTICE.md +13 -0
  130. package/bundled-skills/aws-sst-development/references/authoring.md +506 -0
  131. package/bundled-skills/aws-sst-development/references/deploy-and-troubleshoot.md +182 -0
  132. package/bundled-skills/aws-sst-development/references/testing.md +126 -0
  133. package/bundled-skills/awt-e2e-testing/SKILL.md +7 -1
  134. package/bundled-skills/azd-deployment/SKILL.md +45 -51
  135. package/bundled-skills/azure-ai-agents-persistent-java/SKILL.md +35 -19
  136. package/bundled-skills/azure-ai-projects-py/SKILL.md +7 -0
  137. package/bundled-skills/azure-ai-projects-py/UPSTREAM-LICENSE.txt +21 -0
  138. package/bundled-skills/azure-ai-projects-py/UPSTREAM-NOTICE.md +23 -0
  139. package/bundled-skills/azure-ai-projects-py/references/agents.md +295 -0
  140. package/bundled-skills/azure-ai-projects-py/references/api-reference.md +1150 -0
  141. package/bundled-skills/azure-ai-projects-py/references/async-patterns.md +258 -0
  142. package/bundled-skills/azure-ai-projects-py/references/built-in-evaluators.md +427 -0
  143. package/bundled-skills/azure-ai-projects-py/references/connections.md +203 -0
  144. package/bundled-skills/azure-ai-projects-py/references/custom-evaluators.md +450 -0
  145. package/bundled-skills/azure-ai-projects-py/references/datasets-indexes.md +177 -0
  146. package/bundled-skills/azure-ai-projects-py/references/deployments.md +134 -0
  147. package/bundled-skills/azure-ai-projects-py/references/evaluation.md +349 -0
  148. package/bundled-skills/azure-ai-projects-py/references/tools.md +464 -0
  149. package/bundled-skills/azure-ai-projects-py/scripts/run_batch_evaluation.py +409 -0
  150. package/bundled-skills/azure-ai-transcription-py/SKILL.md +30 -50
  151. package/bundled-skills/azure-ai-voicelive-py/SKILL.md +3 -0
  152. package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-LICENSE.txt +21 -0
  153. package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-NOTICE.md +15 -0
  154. package/bundled-skills/azure-ai-voicelive-py/references/api-reference.md +344 -0
  155. package/bundled-skills/azure-ai-voicelive-py/references/examples.md +558 -0
  156. package/bundled-skills/azure-ai-voicelive-py/references/models.md +737 -0
  157. package/bundled-skills/azure-communication-callingserver-java/SKILL.md +10 -9
  158. package/bundled-skills/azure-cosmos-db-py/SKILL.md +7 -0
  159. package/bundled-skills/azure-cosmos-db-py/UPSTREAM-LICENSE.txt +21 -0
  160. package/bundled-skills/azure-cosmos-db-py/UPSTREAM-NOTICE.md +20 -0
  161. package/bundled-skills/azure-cosmos-db-py/assets/conftest_template.py +332 -0
  162. package/bundled-skills/azure-cosmos-db-py/assets/cosmos_client_template.py +225 -0
  163. package/bundled-skills/azure-cosmos-db-py/assets/service_template.py +314 -0
  164. package/bundled-skills/azure-cosmos-db-py/references/client-setup.md +214 -0
  165. package/bundled-skills/azure-cosmos-db-py/references/error-handling.md +382 -0
  166. package/bundled-skills/azure-cosmos-db-py/references/partitioning.md +270 -0
  167. package/bundled-skills/azure-cosmos-db-py/references/service-layer.md +305 -0
  168. package/bundled-skills/azure-cosmos-db-py/references/testing.md +495 -0
  169. package/bundled-skills/azure-cosmos-py/SKILL.md +11 -0
  170. package/bundled-skills/azure-cosmos-py/UPSTREAM-LICENSE.txt +21 -0
  171. package/bundled-skills/azure-cosmos-py/UPSTREAM-NOTICE.md +14 -0
  172. package/bundled-skills/azure-cosmos-py/references/partitioning.md +346 -0
  173. package/bundled-skills/azure-cosmos-py/references/query-patterns.md +395 -0
  174. package/bundled-skills/azure-cosmos-rust/SKILL.md +30 -22
  175. package/bundled-skills/azure-eventhub-py/SKILL.md +7 -0
  176. package/bundled-skills/azure-eventhub-py/UPSTREAM-LICENSE.txt +21 -0
  177. package/bundled-skills/azure-eventhub-py/UPSTREAM-NOTICE.md +15 -0
  178. package/bundled-skills/azure-eventhub-py/references/checkpointing.md +312 -0
  179. package/bundled-skills/azure-eventhub-py/references/partitions.md +346 -0
  180. package/bundled-skills/azure-eventhub-py/scripts/setup_consumer.py +422 -0
  181. package/bundled-skills/azure-eventhub-rust/SKILL.md +28 -13
  182. package/bundled-skills/azure-identity-rust/SKILL.md +16 -10
  183. package/bundled-skills/azure-keyvault-keys-rust/SKILL.md +13 -8
  184. package/bundled-skills/azure-keyvault-secrets-rust/SKILL.md +12 -6
  185. package/bundled-skills/azure-mgmt-apimanagement-dotnet/SKILL.md +11 -0
  186. package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-LICENSE.txt +21 -0
  187. package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-NOTICE.md +15 -0
  188. package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/apis-operations.md +168 -0
  189. package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/products-subscriptions.md +173 -0
  190. package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/service-management.md +154 -0
  191. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/SKILL.md +3 -0
  192. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-LICENSE.txt +21 -0
  193. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-NOTICE.md +15 -0
  194. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/account-management.md +279 -0
  195. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/sql-resources.md +373 -0
  196. package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/throughput.md +308 -0
  197. package/bundled-skills/azure-resource-manager-sql-dotnet/SKILL.md +3 -0
  198. package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-LICENSE.txt +21 -0
  199. package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-NOTICE.md +15 -0
  200. package/bundled-skills/azure-resource-manager-sql-dotnet/references/database-operations.md +268 -0
  201. package/bundled-skills/azure-resource-manager-sql-dotnet/references/elastic-pools.md +234 -0
  202. package/bundled-skills/azure-resource-manager-sql-dotnet/references/server-management.md +192 -0
  203. package/bundled-skills/azure-search-documents-dotnet/SKILL.md +3 -0
  204. package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-LICENSE.txt +21 -0
  205. package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-NOTICE.md +14 -0
  206. package/bundled-skills/azure-search-documents-dotnet/references/semantic-search.md +241 -0
  207. package/bundled-skills/azure-search-documents-dotnet/references/vector-search.md +236 -0
  208. package/bundled-skills/azure-servicebus-py/SKILL.md +7 -0
  209. package/bundled-skills/azure-servicebus-py/UPSTREAM-LICENSE.txt +21 -0
  210. package/bundled-skills/azure-servicebus-py/UPSTREAM-NOTICE.md +15 -0
  211. package/bundled-skills/azure-servicebus-py/references/dead-letter.md +418 -0
  212. package/bundled-skills/azure-servicebus-py/references/patterns.md +405 -0
  213. package/bundled-skills/azure-servicebus-py/scripts/setup_servicebus.py +384 -0
  214. package/bundled-skills/azure-speech-to-text-rest-py/SKILL.md +3 -0
  215. package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-LICENSE.txt +21 -0
  216. package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-NOTICE.md +13 -0
  217. package/bundled-skills/azure-speech-to-text-rest-py/references/pronunciation-assessment.md +276 -0
  218. package/bundled-skills/azure-storage-blob-rust/SKILL.md +29 -21
  219. package/bundled-skills/baseline-ui/SKILL.md +2 -2
  220. package/bundled-skills/bash-scripting/SKILL.md +10 -2
  221. package/bundled-skills/bazel-build-optimization/SKILL.md +0 -1
  222. package/bundled-skills/bdistill-behavioral-xray/SKILL.md +5 -5
  223. package/bundled-skills/bdistill-knowledge-extraction/SKILL.md +9 -6
  224. package/bundled-skills/beautiful-prose/SKILL.md +1 -2
  225. package/bundled-skills/bevy-ecs-expert/SKILL.md +9 -7
  226. package/bundled-skills/billing-automation/resources/implementation-playbook.md +56 -513
  227. package/bundled-skills/binary-analysis-patterns/SKILL.md +0 -1
  228. package/bundled-skills/biopython/SKILL.md +3 -0
  229. package/bundled-skills/biopython/UPSTREAM-LICENSE.txt +21 -0
  230. package/bundled-skills/biopython/UPSTREAM-NOTICE.md +17 -0
  231. package/bundled-skills/biopython/references/advanced.md +577 -0
  232. package/bundled-skills/biopython/references/alignment.md +368 -0
  233. package/bundled-skills/biopython/references/blast.md +455 -0
  234. package/bundled-skills/biopython/references/databases.md +487 -0
  235. package/bundled-skills/biopython/references/phylogenetics.md +566 -0
  236. package/bundled-skills/biopython/references/sequence_io.md +285 -0
  237. package/bundled-skills/biopython/references/structure.md +564 -0
  238. package/bundled-skills/blockchain-developer/SKILL.md +0 -1
  239. package/bundled-skills/blueprint/SKILL.md +6 -8
  240. package/bundled-skills/brain-to-docs/SKILL.md +4 -4
  241. package/bundled-skills/brand-growth-system-builder/SKILL.md +10 -0
  242. package/bundled-skills/brand-perception-psychologist/SKILL.md +16 -8
  243. package/bundled-skills/browser-bridge/SKILL.md +101 -0
  244. package/bundled-skills/build/SKILL.md +15 -10
  245. package/bundled-skills/build/references/detailed-guide.md +38 -14
  246. package/bundled-skills/burpsuite-project-parser/SKILL.md +7 -0
  247. package/bundled-skills/buywhere-product-catalog/SKILL.md +6 -5
  248. package/bundled-skills/c-pro/SKILL.md +8 -6
  249. package/bundled-skills/c4-architecture-c4-architecture/SKILL.md +0 -1
  250. package/bundled-skills/c4-code/SKILL.md +0 -1
  251. package/bundled-skills/c4-component/SKILL.md +0 -1
  252. package/bundled-skills/c4-container/SKILL.md +0 -1
  253. package/bundled-skills/c4-context/SKILL.md +0 -1
  254. package/bundled-skills/cdk-patterns/SKILL.md +7 -0
  255. package/bundled-skills/changelog-entry/SKILL.md +6 -4
  256. package/bundled-skills/check-identity-pack/SKILL.md +7 -8
  257. package/bundled-skills/chrome-extension-developer/SKILL.md +8 -4
  258. package/bundled-skills/ci-cd-and-automation/SKILL.md +15 -3
  259. package/bundled-skills/cirq/SKILL.md +3 -0
  260. package/bundled-skills/cirq/UPSTREAM-LICENSE.txt +21 -0
  261. package/bundled-skills/cirq/UPSTREAM-NOTICE.md +16 -0
  262. package/bundled-skills/cirq/references/building.md +307 -0
  263. package/bundled-skills/cirq/references/experiments.md +572 -0
  264. package/bundled-skills/cirq/references/hardware.md +527 -0
  265. package/bundled-skills/cirq/references/noise.md +514 -0
  266. package/bundled-skills/cirq/references/simulation.md +353 -0
  267. package/bundled-skills/cirq/references/transformation.md +416 -0
  268. package/bundled-skills/cis-benchmarks/SKILL.md +16 -9
  269. package/bundled-skills/clarvia-aeo-check/SKILL.md +9 -9
  270. package/bundled-skills/claude-ally-health/SKILL.md +17 -6
  271. package/bundled-skills/claude-code-guide/SKILL.md +9 -5
  272. package/bundled-skills/claude-scientific-skills/SKILL.md +15 -3
  273. package/bundled-skills/claude-speed-reader/SKILL.md +13 -3
  274. package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +13 -7
  275. package/bundled-skills/cline-pilot/SKILL.md +10 -0
  276. package/bundled-skills/closed-loop-delivery/SKILL.md +7 -7
  277. package/bundled-skills/cloud-architect/SKILL.md +0 -1
  278. package/bundled-skills/cloudflare-workers-expert/SKILL.md +6 -5
  279. package/bundled-skills/cloudformation-best-practices/SKILL.md +4 -3
  280. package/bundled-skills/cmux/SKILL.md +8 -0
  281. package/bundled-skills/code-refactoring-context-restore/SKILL.md +1 -1
  282. package/bundled-skills/code-review-ai-ai-review/SKILL.md +8 -1
  283. package/bundled-skills/code-review-and-quality/SKILL.md +9 -0
  284. package/bundled-skills/code-reviewer/SKILL.md +0 -1
  285. package/bundled-skills/codex-review/SKILL.md +3 -2
  286. package/bundled-skills/commit/SKILL.md +12 -11
  287. package/bundled-skills/comprehensive-review-full-review/SKILL.md +0 -1
  288. package/bundled-skills/computer-vision-expert/SKILL.md +9 -8
  289. package/bundled-skills/concise-planning/SKILL.md +7 -7
  290. package/bundled-skills/conductor-implement/SKILL.md +0 -1
  291. package/bundled-skills/conductor-new-track/SKILL.md +0 -1
  292. package/bundled-skills/conductor-revert/SKILL.md +0 -1
  293. package/bundled-skills/conductor-setup/SKILL.md +42 -25
  294. package/bundled-skills/conductor-status/SKILL.md +0 -1
  295. package/bundled-skills/conductor-validator/SKILL.md +15 -19
  296. package/bundled-skills/constant-time-analysis/SKILL.md +3 -0
  297. package/bundled-skills/constant-time-analysis/UPSTREAM-LICENSE.txt +427 -0
  298. package/bundled-skills/constant-time-analysis/UPSTREAM-NOTICE.md +18 -0
  299. package/bundled-skills/constant-time-analysis/references/compiled.md +129 -0
  300. package/bundled-skills/constant-time-analysis/references/javascript.md +136 -0
  301. package/bundled-skills/constant-time-analysis/references/kotlin.md +252 -0
  302. package/bundled-skills/constant-time-analysis/references/php.md +172 -0
  303. package/bundled-skills/constant-time-analysis/references/python.md +179 -0
  304. package/bundled-skills/constant-time-analysis/references/ruby.md +198 -0
  305. package/bundled-skills/constant-time-analysis/references/swift.md +288 -0
  306. package/bundled-skills/constant-time-analysis/references/vm-compiled.md +354 -0
  307. package/bundled-skills/container-hardening/SKILL.md +23 -24
  308. package/bundled-skills/content-marketer/SKILL.md +0 -1
  309. package/bundled-skills/content-strategy/SKILL.md +1 -1
  310. package/bundled-skills/content-strategy/references/headless-cms.md +5 -3
  311. package/bundled-skills/context-kit/SKILL.md +8 -0
  312. package/bundled-skills/context-management-context-restore/SKILL.md +1 -1
  313. package/bundled-skills/context-management-context-save/SKILL.md +0 -1
  314. package/bundled-skills/context-manager/SKILL.md +0 -1
  315. package/bundled-skills/context7-auto-research/SKILL.md +3 -3
  316. package/bundled-skills/copy-editing/SKILL.md +4 -0
  317. package/bundled-skills/copywriting-psychologist/SKILL.md +17 -9
  318. package/bundled-skills/cost-optimization/SKILL.md +11 -1
  319. package/bundled-skills/cost-optimization/UPSTREAM-LICENSE.txt +21 -0
  320. package/bundled-skills/cost-optimization/UPSTREAM-NOTICE.md +11 -0
  321. package/bundled-skills/cost-optimization/references/tagging-standards.md +23 -0
  322. package/bundled-skills/cowork-to-code-bridge/SKILL.md +9 -0
  323. package/bundled-skills/create-issue-gate/SKILL.md +5 -5
  324. package/bundled-skills/create-pr/SKILL.md +2 -0
  325. package/bundled-skills/crossframe-suite/SKILL.md +8 -0
  326. package/bundled-skills/crypto-bd-agent/SKILL.md +1 -2
  327. package/bundled-skills/csharp-pro/SKILL.md +5 -7
  328. package/bundled-skills/csv-manual-export/SKILL.md +1 -2
  329. package/bundled-skills/customer-psychographic-profiler/SKILL.md +16 -8
  330. package/bundled-skills/customer-support/SKILL.md +0 -1
  331. package/bundled-skills/data-engineering-data-driven-feature/SKILL.md +0 -1
  332. package/bundled-skills/data-privacy-controls/SKILL.md +10 -19
  333. package/bundled-skills/data-storytelling/SKILL.md +4 -2
  334. package/bundled-skills/database-admin/SKILL.md +0 -1
  335. package/bundled-skills/database-design/SKILL.md +5 -1
  336. package/bundled-skills/database-design/database-selection.md +1 -1
  337. package/bundled-skills/database-design/orm-selection.md +1 -1
  338. package/bundled-skills/database-design/scripts/schema_validator.py +17 -8
  339. package/bundled-skills/database-migration/SKILL.md +14 -1
  340. package/bundled-skills/database-migrations-sql-migrations/resources/implementation-playbook.md +31 -283
  341. package/bundled-skills/database-optimizer/SKILL.md +0 -1
  342. package/bundled-skills/debug-buttercup/SKILL.md +8 -0
  343. package/bundled-skills/debugger/SKILL.md +4 -3
  344. package/bundled-skills/debugging-toolkit/SKILL.md +2 -2
  345. package/bundled-skills/debugging-toolkit-smart-debug/SKILL.md +14 -10
  346. package/bundled-skills/deep-research/SKILL.md +24 -13
  347. package/bundled-skills/deep-research/UPSTREAM-LICENSE.txt +190 -0
  348. package/bundled-skills/deep-research/UPSTREAM-NOTICE.md +11 -0
  349. package/bundled-skills/deep-research/requirements.txt +2 -0
  350. package/bundled-skills/deep-research/scripts/research.py +802 -0
  351. package/bundled-skills/defi-protocol-templates/SKILL.md +16 -1
  352. package/bundled-skills/defuddle/SKILL.md +9 -6
  353. package/bundled-skills/delegating-to-agents/SKILL.md +12 -13
  354. package/bundled-skills/dependency-management-deps-audit/resources/implementation-playbook.md +32 -289
  355. package/bundled-skills/dependency-upgrade/SKILL.md +14 -1
  356. package/bundled-skills/deployment-pipeline-design/SKILL.md +11 -111
  357. package/bundled-skills/deployment-validation-config-validate/SKILL.md +1 -1
  358. package/bundled-skills/deprecation-and-migration/SKILL.md +5 -3
  359. package/bundled-skills/design-orchestration/SKILL.md +4 -4
  360. package/bundled-skills/design-spells/SKILL.md +4 -4
  361. package/bundled-skills/detect-ai-text/SKILL.md +4 -4
  362. package/bundled-skills/deterministic-design/SKILL.md +5 -4
  363. package/bundled-skills/devcontainer-setup/SKILL.md +3 -0
  364. package/bundled-skills/devcontainer-setup/UPSTREAM-LICENSE.txt +427 -0
  365. package/bundled-skills/devcontainer-setup/UPSTREAM-NOTICE.md +12 -0
  366. package/bundled-skills/devcontainer-setup/references/dockerfile-best-practices.md +102 -0
  367. package/bundled-skills/devcontainer-setup/references/features-vs-dockerfile.md +22 -0
  368. package/bundled-skills/diagram-generator/SKILL.md +6 -0
  369. package/bundled-skills/diagram-generator/UPSTREAM-LICENSE.txt +21 -0
  370. package/bundled-skills/diagram-generator/UPSTREAM-NOTICE.md +11 -0
  371. package/bundled-skills/diagram-generator/scripts/render_diagram.py +169 -0
  372. package/bundled-skills/django-access-review/SKILL.md +20 -12
  373. package/bundled-skills/django-perf-review/SKILL.md +1 -1
  374. package/bundled-skills/doc-coauthoring/SKILL.md +1 -1
  375. package/bundled-skills/doc2math/SKILL.md +10 -9
  376. package/bundled-skills/docker-compose/SKILL.md +17 -11
  377. package/bundled-skills/docker-expert/SKILL.md +57 -53
  378. package/bundled-skills/docker-management/SKILL.md +17 -13
  379. package/bundled-skills/docs-architect/SKILL.md +0 -1
  380. package/bundled-skills/docs-generator/SKILL.md +7 -1
  381. package/bundled-skills/docs-generator/UPSTREAM-LICENSE.txt +21 -0
  382. package/bundled-skills/docs-generator/UPSTREAM-NOTICE.md +15 -0
  383. package/bundled-skills/docs-generator/scripts/case-init.ps1 +379 -0
  384. package/bundled-skills/docs-generator/scripts/lib/HostRuntime.ps1 +58 -0
  385. package/bundled-skills/docs-generator/scripts/lib/WorkRoot.ps1 +33 -0
  386. package/bundled-skills/documentation/SKILL.md +5 -1
  387. package/bundled-skills/documentation-and-adrs/SKILL.md +7 -5
  388. package/bundled-skills/documentation-templates/SKILL.md +8 -6
  389. package/bundled-skills/dotnet-architect/SKILL.md +0 -1
  390. package/bundled-skills/doubt-driven-development/SKILL.md +8 -0
  391. package/bundled-skills/dx-optimizer/SKILL.md +8 -8
  392. package/bundled-skills/e2e-testing/SKILL.md +4 -0
  393. package/bundled-skills/eas-workflows/SKILL.md +60 -27
  394. package/bundled-skills/eas-workflows/agents/openai.yaml +1 -1
  395. package/bundled-skills/eas-workflows/scripts/fetch.js +131 -82
  396. package/bundled-skills/eas-workflows/scripts/package.json +4 -0
  397. package/bundled-skills/elixir-pro/SKILL.md +5 -7
  398. package/bundled-skills/emblemai-crypto-wallet/SKILL.md +7 -6
  399. package/bundled-skills/emotional-arc-designer/SKILL.md +17 -9
  400. package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +1 -1
  401. package/bundled-skills/error-detective/SKILL.md +7 -3
  402. package/bundled-skills/error-diagnostics-smart-debug/SKILL.md +14 -10
  403. package/bundled-skills/error-handling-patterns/resources/implementation-playbook.md +21 -72
  404. package/bundled-skills/event-sourcing-architect/SKILL.md +4 -3
  405. package/bundled-skills/exa-search/SKILL.md +4 -2
  406. package/bundled-skills/executing-plans/SKILL.md +8 -8
  407. package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +4 -7
  408. package/bundled-skills/expo-ui-swift-ui/SKILL.md +5 -8
  409. package/bundled-skills/fact-check-x-unified/SKILL.md +25 -15
  410. package/bundled-skills/fact-check-x-unified/UPSTREAM-NOTICE.md +9 -0
  411. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +10 -5
  412. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +49 -8
  413. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +1 -1
  414. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +8 -2
  415. package/bundled-skills/fal-audio/SKILL.md +16 -6
  416. package/bundled-skills/fal-generate/SKILL.md +16 -6
  417. package/bundled-skills/fal-image-edit/SKILL.md +16 -6
  418. package/bundled-skills/fal-platform/SKILL.md +12 -4
  419. package/bundled-skills/fal-upscale/SKILL.md +12 -4
  420. package/bundled-skills/fal-workflow/SKILL.md +24 -6
  421. package/bundled-skills/family-health-analyzer/SKILL.md +17 -16
  422. package/bundled-skills/fastapi-router-py/SKILL.md +3 -0
  423. package/bundled-skills/fastapi-router-py/UPSTREAM-LICENSE.txt +21 -0
  424. package/bundled-skills/fastapi-router-py/UPSTREAM-NOTICE.md +11 -0
  425. package/bundled-skills/fastapi-router-py/assets/template.py +147 -0
  426. package/bundled-skills/fda-food-safety-auditor/SKILL.md +9 -8
  427. package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +8 -8
  428. package/bundled-skills/ffuf-claude-skill/SKILL.md +18 -3
  429. package/bundled-skills/file-organizer/SKILL.md +1 -1
  430. package/bundled-skills/find-bugs/SKILL.md +4 -4
  431. package/bundled-skills/find-matching-tenders/SKILL.md +12 -11
  432. package/bundled-skills/firecrawl-scraper/SKILL.md +4 -2
  433. package/bundled-skills/firmware-analyst/SKILL.md +10 -1
  434. package/bundled-skills/fix-review/SKILL.md +5 -1
  435. package/bundled-skills/fp-either-ref/SKILL.md +10 -4
  436. package/bundled-skills/fp-option-ref/SKILL.md +12 -6
  437. package/bundled-skills/fp-pipe-ref/SKILL.md +7 -1
  438. package/bundled-skills/fp-taskeither-ref/SKILL.md +28 -10
  439. package/bundled-skills/fp-types-ref/SKILL.md +8 -2
  440. package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +0 -1
  441. package/bundled-skills/free-design-resources/SKILL.md +8 -0
  442. package/bundled-skills/frontend-api-integration-patterns/SKILL.md +11 -8
  443. package/bundled-skills/frontend-data-contracts/SKILL.md +5 -1
  444. package/bundled-skills/frontend-mobile-development-component-scaffold/SKILL.md +1 -1
  445. package/bundled-skills/frontend-mobile-security-xss-scan/SKILL.md +1 -1
  446. package/bundled-skills/frontend-slides/SKILL.md +1 -0
  447. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +15 -0
  448. package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-LICENSE.txt +21 -0
  449. package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-NOTICE.md +14 -0
  450. package/bundled-skills/frontend-slides-frontend-slides/scripts/export-pdf.sh +390 -0
  451. package/bundled-skills/frontend-slides-frontend-slides/scripts/extract-pptx.py +96 -0
  452. package/bundled-skills/frontend-slides-frontend-slides/scripts/lib/confined-server.mjs +113 -0
  453. package/bundled-skills/frontend-ui-engineering/SKILL.md +8 -0
  454. package/bundled-skills/full-output-enforcement/SKILL.md +20 -9
  455. package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +0 -1
  456. package/bundled-skills/game-development/2d-games/SKILL.md +3 -3
  457. package/bundled-skills/game-development/3d-games/SKILL.md +8 -4
  458. package/bundled-skills/game-development/game-design/SKILL.md +8 -4
  459. package/bundled-skills/game-development/mobile-games/SKILL.md +10 -6
  460. package/bundled-skills/game-development/multiplayer/SKILL.md +9 -5
  461. package/bundled-skills/game-development/pc-games/SKILL.md +6 -2
  462. package/bundled-skills/game-development/vr-ar/SKILL.md +12 -6
  463. package/bundled-skills/gh-review-requests/SKILL.md +14 -42
  464. package/bundled-skills/gha-security-review/SKILL.md +3 -0
  465. package/bundled-skills/gha-security-review/UPSTREAM-LICENSE.txt +190 -0
  466. package/bundled-skills/gha-security-review/UPSTREAM-NOTICE.md +19 -0
  467. package/bundled-skills/gha-security-review/references/ai-prompt-injection-via-ci.md +181 -0
  468. package/bundled-skills/gha-security-review/references/comment-triggered-commands.md +195 -0
  469. package/bundled-skills/gha-security-review/references/credential-escalation.md +225 -0
  470. package/bundled-skills/gha-security-review/references/expression-injection.md +287 -0
  471. package/bundled-skills/gha-security-review/references/permissions-and-secrets.md +265 -0
  472. package/bundled-skills/gha-security-review/references/pwn-request.md +212 -0
  473. package/bundled-skills/gha-security-review/references/real-world-attacks.md +298 -0
  474. package/bundled-skills/gha-security-review/references/runner-infrastructure.md +268 -0
  475. package/bundled-skills/gha-security-review/references/supply-chain.md +225 -0
  476. package/bundled-skills/git-advanced-workflows/SKILL.md +19 -12
  477. package/bundled-skills/git-commit-message/SKILL.md +2 -2
  478. package/bundled-skills/git-pr-review/SKILL.md +6 -9
  479. package/bundled-skills/git-pr-workflows-onboard/SKILL.md +0 -1
  480. package/bundled-skills/git-pr-workflows-pr-enhance/SKILL.md +1 -1
  481. package/bundled-skills/github-actions/SKILL.md +20 -24
  482. package/bundled-skills/github-actions-debugger/SKILL.md +7 -3
  483. package/bundled-skills/github-issue-creator/SKILL.md +12 -12
  484. package/bundled-skills/gitlab-ci-patterns/SKILL.md +5 -7
  485. package/bundled-skills/global-chat-agent-discovery/SKILL.md +12 -7
  486. package/bundled-skills/gmail-automation/SKILL.md +9 -0
  487. package/bundled-skills/godot-4-migration/SKILL.md +12 -4
  488. package/bundled-skills/google-calendar-automation/SKILL.md +23 -145
  489. package/bundled-skills/google-docs-automation/SKILL.md +1 -1
  490. package/bundled-skills/google-drive-automation/SKILL.md +9 -0
  491. package/bundled-skills/google-sheets-automation/SKILL.md +1 -1
  492. package/bundled-skills/google-slides-automation/SKILL.md +1 -1
  493. package/bundled-skills/graphql-architect/SKILL.md +0 -1
  494. package/bundled-skills/grill-me/SKILL.md +3 -1
  495. package/bundled-skills/grill-with-docs/SKILL.md +3 -1
  496. package/bundled-skills/grilling/SKILL.md +1 -1
  497. package/bundled-skills/handoff/SKILL.md +5 -1
  498. package/bundled-skills/haskell-pro/SKILL.md +3 -4
  499. package/bundled-skills/headline-psychologist/SKILL.md +16 -8
  500. package/bundled-skills/hf-mem/SKILL.md +9 -1
  501. package/bundled-skills/hosted-agents-v2-py/SKILL.md +56 -57
  502. package/bundled-skills/hr-pro/SKILL.md +0 -1
  503. package/bundled-skills/hugging-face-jobs/SKILL.md +0 -1
  504. package/bundled-skills/hugging-face-tool-builder/SKILL.md +16 -2
  505. package/bundled-skills/hybrid-cloud-architect/SKILL.md +0 -1
  506. package/bundled-skills/hybrid-cloud-networking/SKILL.md +11 -1
  507. package/bundled-skills/hybrid-cloud-networking/UPSTREAM-LICENSE.txt +21 -0
  508. package/bundled-skills/hybrid-cloud-networking/UPSTREAM-NOTICE.md +11 -0
  509. package/bundled-skills/hybrid-cloud-networking/references/direct-connect.md +17 -0
  510. package/bundled-skills/hyperexecute-skill/SKILL.md +7 -0
  511. package/bundled-skills/hyperexecute-skill/UPSTREAM-LICENSE.txt +21 -0
  512. package/bundled-skills/hyperexecute-skill/UPSTREAM-NOTICE.md +16 -0
  513. package/bundled-skills/hyperexecute-skill/scripts/build-command.js +57 -0
  514. package/bundled-skills/hyperexecute-skill/scripts/doctor.js +81 -0
  515. package/bundled-skills/hyperexecute-skill/scripts/summarize-artifacts.js +63 -0
  516. package/bundled-skills/hyperexecute-skill/scripts/validate-config.js +72 -0
  517. package/bundled-skills/iconsax-library/SKILL.md +6 -4
  518. package/bundled-skills/ida-reverse/SKILL.md +13 -0
  519. package/bundled-skills/ida-reverse/UPSTREAM-LICENSE.txt +21 -0
  520. package/bundled-skills/ida-reverse/UPSTREAM-NOTICE.md +13 -0
  521. package/bundled-skills/ida-reverse/scripts/IdaOpenHelpers.ps1 +115 -0
  522. package/bundled-skills/ida-reverse/scripts/open.ps1 +378 -0
  523. package/bundled-skills/ida-reverse/scripts/start-gui.ps1 +105 -0
  524. package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +4 -2
  525. package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +5 -3
  526. package/bundled-skills/identity-mirror/SKILL.md +16 -8
  527. package/bundled-skills/imagen/SKILL.md +15 -5
  528. package/bundled-skills/imagen/UPSTREAM-LICENSE.txt +190 -0
  529. package/bundled-skills/imagen/UPSTREAM-NOTICE.md +5 -0
  530. package/bundled-skills/imagen/scripts/generate_image.py +241 -0
  531. package/bundled-skills/implement/SKILL.md +4 -4
  532. package/bundled-skills/incident-response-incident-response/SKILL.md +0 -1
  533. package/bundled-skills/incident-response-smart-fix/SKILL.md +1 -1
  534. package/bundled-skills/incident-runbook-templates/SKILL.md +22 -16
  535. package/bundled-skills/incremental-implementation/SKILL.md +8 -0
  536. package/bundled-skills/infinite-gratitude/SKILL.md +6 -2
  537. package/bundled-skills/internal-comms/SKILL.md +1 -1
  538. package/bundled-skills/interview-coach/SKILL.md +7 -4
  539. package/bundled-skills/istio-traffic-management/SKILL.md +0 -1
  540. package/bundled-skills/iterate-pr/SKILL.md +9 -0
  541. package/bundled-skills/java-pro/SKILL.md +0 -1
  542. package/bundled-skills/javascript-pro/SKILL.md +1 -1
  543. package/bundled-skills/javascript-typescript-typescript-scaffold/SKILL.md +1 -1
  544. package/bundled-skills/julia-pro/SKILL.md +0 -1
  545. package/bundled-skills/k8s-security-policies/SKILL.md +8 -1
  546. package/bundled-skills/kotler-macro-analyzer/SKILL.md +4 -0
  547. package/bundled-skills/kotlin-coroutines-expert/SKILL.md +8 -5
  548. package/bundled-skills/kubernetes-deployment/SKILL.md +5 -1
  549. package/bundled-skills/kubernetes-hardening/SKILL.md +9 -1
  550. package/bundled-skills/langchain-architecture/SKILL.md +15 -1
  551. package/bundled-skills/legacy-modernizer/SKILL.md +4 -5
  552. package/bundled-skills/legal-advisor/SKILL.md +9 -6
  553. package/bundled-skills/lightning-architecture-review/SKILL.md +6 -6
  554. package/bundled-skills/lightning-channel-factories/SKILL.md +6 -6
  555. package/bundled-skills/lightning-factory-explainer/SKILL.md +5 -5
  556. package/bundled-skills/linkerd-patterns/SKILL.md +0 -1
  557. package/bundled-skills/linux-hardening/SKILL.md +24 -23
  558. package/bundled-skills/llm-application-dev-ai-assistant/SKILL.md +1 -1
  559. package/bundled-skills/llm-application-dev-langchain-agent/SKILL.md +0 -1
  560. package/bundled-skills/llm-application-dev-prompt-optimize/SKILL.md +1 -1
  561. package/bundled-skills/llm-evaluation/SKILL.md +50 -62
  562. package/bundled-skills/llm-evaluation/references/benchmarking.md +35 -0
  563. package/bundled-skills/logic-review/SKILL.md +8 -0
  564. package/bundled-skills/longbridge/SKILL.md +8 -4
  565. package/bundled-skills/longbridge-content/SKILL.md +3 -0
  566. package/bundled-skills/longbridge-content/UPSTREAM-LICENSE.txt +21 -0
  567. package/bundled-skills/longbridge-content/UPSTREAM-NOTICE.md +15 -0
  568. package/bundled-skills/longbridge-content/references/filing.md +48 -0
  569. package/bundled-skills/longbridge-content/references/news.md +118 -0
  570. package/bundled-skills/longbridge-content/references/regulatory-kb.md +128 -0
  571. package/bundled-skills/longbridge-content/references/sec-filings.md +113 -0
  572. package/bundled-skills/longbridge-content/references/topic.md +53 -0
  573. package/bundled-skills/longbridge-fundamentals/SKILL.md +3 -0
  574. package/bundled-skills/longbridge-fundamentals/UPSTREAM-LICENSE.txt +21 -0
  575. package/bundled-skills/longbridge-fundamentals/UPSTREAM-NOTICE.md +31 -0
  576. package/bundled-skills/longbridge-fundamentals/references/behavioral-finance.md +108 -0
  577. package/bundled-skills/longbridge-fundamentals/references/business-segments.md +50 -0
  578. package/bundled-skills/longbridge-fundamentals/references/company.md +39 -0
  579. package/bundled-skills/longbridge-fundamentals/references/compare.md +49 -0
  580. package/bundled-skills/longbridge-fundamentals/references/corp-action.md +42 -0
  581. package/bundled-skills/longbridge-fundamentals/references/corporate-events.md +89 -0
  582. package/bundled-skills/longbridge-fundamentals/references/corporate.md +64 -0
  583. package/bundled-skills/longbridge-fundamentals/references/dcf.md +103 -0
  584. package/bundled-skills/longbridge-fundamentals/references/dividend.md +51 -0
  585. package/bundled-skills/longbridge-fundamentals/references/executive.md +39 -0
  586. package/bundled-skills/longbridge-fundamentals/references/financial-report.md +88 -0
  587. package/bundled-skills/longbridge-fundamentals/references/financial-statement.md +49 -0
  588. package/bundled-skills/longbridge-fundamentals/references/industry-valuation.md +86 -0
  589. package/bundled-skills/longbridge-fundamentals/references/invest-relation.md +39 -0
  590. package/bundled-skills/longbridge-fundamentals/references/main-business-analysis.md +654 -0
  591. package/bundled-skills/longbridge-fundamentals/references/operating.md +42 -0
  592. package/bundled-skills/longbridge-fundamentals/references/smallcap-growth.md +72 -0
  593. package/bundled-skills/longbridge-fundamentals/references/valuation-methodology.md +86 -0
  594. package/bundled-skills/longbridge-fundamentals/references/valuation-rank.md +57 -0
  595. package/bundled-skills/longbridge-fundamentals/references/valuation.md +86 -0
  596. package/bundled-skills/longbridge-fundamentals/references/value-screen.md +71 -0
  597. package/bundled-skills/longbridge-market-data/SKILL.md +3 -0
  598. package/bundled-skills/longbridge-market-data/UPSTREAM-LICENSE.txt +21 -0
  599. package/bundled-skills/longbridge-market-data/UPSTREAM-NOTICE.md +28 -0
  600. package/bundled-skills/longbridge-market-data/references/adr-premium.md +63 -0
  601. package/bundled-skills/longbridge-market-data/references/ah-premium.md +67 -0
  602. package/bundled-skills/longbridge-market-data/references/capital.md +48 -0
  603. package/bundled-skills/longbridge-market-data/references/depth.md +40 -0
  604. package/bundled-skills/longbridge-market-data/references/exchange-rate.md +35 -0
  605. package/bundled-skills/longbridge-market-data/references/fx-carry.md +59 -0
  606. package/bundled-skills/longbridge-market-data/references/intraday.md +47 -0
  607. package/bundled-skills/longbridge-market-data/references/ipo.md +48 -0
  608. package/bundled-skills/longbridge-market-data/references/kline.md +62 -0
  609. package/bundled-skills/longbridge-market-data/references/market-status.md +35 -0
  610. package/bundled-skills/longbridge-market-data/references/market-temp.md +53 -0
  611. package/bundled-skills/longbridge-market-data/references/participants.md +35 -0
  612. package/bundled-skills/longbridge-market-data/references/quote.md +78 -0
  613. package/bundled-skills/longbridge-market-data/references/security-list.md +36 -0
  614. package/bundled-skills/longbridge-market-data/references/subscriptions.md +23 -0
  615. package/bundled-skills/longbridge-market-data/references/trade-stats.md +39 -0
  616. package/bundled-skills/longbridge-market-data/references/trades.md +44 -0
  617. package/bundled-skills/longbridge-market-data/references/trading.md +40 -0
  618. package/bundled-skills/loss-aversion-designer/SKILL.md +16 -8
  619. package/bundled-skills/m365-agents-dotnet/SKILL.md +8 -0
  620. package/bundled-skills/m365-agents-py/SKILL.md +8 -0
  621. package/bundled-skills/m365-agents-ts/SKILL.md +8 -0
  622. package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +0 -1
  623. package/bundled-skills/macos-screen-recorder/SKILL.md +5 -1
  624. package/bundled-skills/magic-animator/SKILL.md +4 -2
  625. package/bundled-skills/magic-ui-generator/SKILL.md +7 -5
  626. package/bundled-skills/makepad-animation/SKILL.md +8 -0
  627. package/bundled-skills/makepad-basics/SKILL.md +9 -0
  628. package/bundled-skills/makepad-deployment/SKILL.md +18 -0
  629. package/bundled-skills/makepad-dsl/SKILL.md +9 -0
  630. package/bundled-skills/makepad-event-action/SKILL.md +9 -0
  631. package/bundled-skills/makepad-font/SKILL.md +8 -0
  632. package/bundled-skills/makepad-layout/SKILL.md +9 -0
  633. package/bundled-skills/makepad-platform/SKILL.md +8 -0
  634. package/bundled-skills/makepad-reference/SKILL.md +5 -3
  635. package/bundled-skills/makepad-shaders/SKILL.md +9 -0
  636. package/bundled-skills/makepad-skills/SKILL.md +11 -5
  637. package/bundled-skills/makepad-splash/SKILL.md +8 -0
  638. package/bundled-skills/makepad-widgets/SKILL.md +10 -0
  639. package/bundled-skills/manifest/SKILL.md +20 -113
  640. package/bundled-skills/markdown-rendering/SKILL.md +3 -3
  641. package/bundled-skills/market-sizing-analysis/SKILL.md +13 -24
  642. package/bundled-skills/market-sizing-analysis/examples/saas-market-sizing.md +20 -337
  643. package/bundled-skills/market-sizing-analysis/references/data-sources.md +10 -22
  644. package/bundled-skills/markstream-angular/SKILL.md +3 -1
  645. package/bundled-skills/markstream-nuxt/SKILL.md +3 -1
  646. package/bundled-skills/markstream-react/SKILL.md +5 -1
  647. package/bundled-skills/markstream-svelte/SKILL.md +3 -1
  648. package/bundled-skills/markstream-vue/SKILL.md +3 -1
  649. package/bundled-skills/markstream-vue2/SKILL.md +5 -1
  650. package/bundled-skills/markstream-vue2-cli/SKILL.md +5 -1
  651. package/bundled-skills/markstream-vue2-vite/SKILL.md +5 -1
  652. package/bundled-skills/matplotlib/SKILL.md +5 -0
  653. package/bundled-skills/matplotlib/UPSTREAM-LICENSE.txt +21 -0
  654. package/bundled-skills/matplotlib/UPSTREAM-NOTICE.md +16 -0
  655. package/bundled-skills/matplotlib/references/api_reference.md +412 -0
  656. package/bundled-skills/matplotlib/references/common_issues.md +563 -0
  657. package/bundled-skills/matplotlib/references/plot_types.md +476 -0
  658. package/bundled-skills/matplotlib/references/styling_guide.md +589 -0
  659. package/bundled-skills/matplotlib/scripts/plot_template.py +401 -0
  660. package/bundled-skills/matplotlib/scripts/style_configurator.py +412 -0
  661. package/bundled-skills/mcd-secret-menu-lab/SKILL.md +110 -0
  662. package/bundled-skills/mcp-server-security/SKILL.md +17 -11
  663. package/bundled-skills/mcp-server-security/references/details.md +51 -90
  664. package/bundled-skills/memory-forensics/SKILL.md +0 -1
  665. package/bundled-skills/mermaid-expert/SKILL.md +5 -4
  666. package/bundled-skills/minecraft-bukkit-pro/SKILL.md +0 -1
  667. package/bundled-skills/mirrord/SKILL.md +5 -3
  668. package/bundled-skills/ml-engineer/SKILL.md +0 -1
  669. package/bundled-skills/ml-pipeline-workflow/SKILL.md +10 -1
  670. package/bundled-skills/mlops-engineer/SKILL.md +0 -1
  671. package/bundled-skills/mobile-security-coder/SKILL.md +0 -1
  672. package/bundled-skills/monopoly/SKILL.md +12 -0
  673. package/bundled-skills/monopoly/security-checklist/SKILL.md +9 -7
  674. package/bundled-skills/monorepo-architect/SKILL.md +5 -4
  675. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +4 -0
  676. package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-LICENSE.txt +201 -0
  677. package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-NOTICE.md +19 -0
  678. package/bundled-skills/monte-carlo-analyze-root-cause/references/common-root-causes.md +79 -0
  679. package/bundled-skills/monte-carlo-analyze-root-cause/references/data-exploration.md +149 -0
  680. package/bundled-skills/monte-carlo-analyze-root-cause/references/etl-failure-investigation.md +67 -0
  681. package/bundled-skills/monte-carlo-analyze-root-cause/references/field-anomaly-investigation.md +107 -0
  682. package/bundled-skills/monte-carlo-analyze-root-cause/references/freshness-investigation.md +67 -0
  683. package/bundled-skills/monte-carlo-analyze-root-cause/references/intake-no-incident.md +67 -0
  684. package/bundled-skills/monte-carlo-analyze-root-cause/references/query-change-investigation.md +55 -0
  685. package/bundled-skills/monte-carlo-analyze-root-cause/references/schema-investigation.md +48 -0
  686. package/bundled-skills/monte-carlo-analyze-root-cause/references/volume-investigation.md +53 -0
  687. package/bundled-skills/monte-carlo-asset-health/SKILL.md +4 -0
  688. package/bundled-skills/monte-carlo-asset-health/UPSTREAM-LICENSE.txt +201 -0
  689. package/bundled-skills/monte-carlo-asset-health/UPSTREAM-NOTICE.md +12 -0
  690. package/bundled-skills/monte-carlo-asset-health/references/parameters.md +111 -0
  691. package/bundled-skills/monte-carlo-asset-health/references/workflows.md +132 -0
  692. package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +3 -0
  693. package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-LICENSE.txt +201 -0
  694. package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-NOTICE.md +12 -0
  695. package/bundled-skills/monte-carlo-monitoring-advisor/references/agent-monitor-creation.md +471 -0
  696. package/bundled-skills/monte-carlo-monitoring-advisor/references/data-monitor-creation.md +272 -0
  697. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +3 -0
  698. package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-LICENSE.txt +201 -0
  699. package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-NOTICE.md +12 -0
  700. package/bundled-skills/monte-carlo-performance-diagnosis/references/investigation-tiers.md +110 -0
  701. package/bundled-skills/monte-carlo-performance-diagnosis/references/query-analysis.md +50 -0
  702. package/bundled-skills/monte-carlo-remediation/SKILL.md +3 -0
  703. package/bundled-skills/monte-carlo-remediation/UPSTREAM-LICENSE.txt +201 -0
  704. package/bundled-skills/monte-carlo-remediation/UPSTREAM-NOTICE.md +13 -0
  705. package/bundled-skills/monte-carlo-remediation/references/patterns.md +295 -0
  706. package/bundled-skills/monte-carlo-remediation/references/safety.md +160 -0
  707. package/bundled-skills/monte-carlo-remediation/references/tool-discovery.md +172 -0
  708. package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +3 -0
  709. package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-LICENSE.txt +201 -0
  710. package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-NOTICE.md +11 -0
  711. package/bundled-skills/monte-carlo-storage-cost-analysis/references/output-structure.md +93 -0
  712. package/bundled-skills/mtls-configuration/SKILL.md +0 -1
  713. package/bundled-skills/multi-cloud-architecture/SKILL.md +3 -1
  714. package/bundled-skills/multi-cloud-architecture/UPSTREAM-LICENSE.txt +21 -0
  715. package/bundled-skills/multi-cloud-architecture/UPSTREAM-NOTICE.md +12 -0
  716. package/bundled-skills/multi-cloud-architecture/references/multi-cloud-patterns.md +26 -0
  717. package/bundled-skills/multi-cloud-architecture/references/service-comparison.md +35 -0
  718. package/bundled-skills/nanobanana-ppt-skills/SKILL.md +13 -4
  719. package/bundled-skills/native-data-fetching/references/detailed-guide.md +42 -23
  720. package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +36 -29
  721. package/bundled-skills/nerdzao-elite/SKILL.md +9 -5
  722. package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +7 -3
  723. package/bundled-skills/network-engineer/SKILL.md +0 -1
  724. package/bundled-skills/networkx/SKILL.md +3 -0
  725. package/bundled-skills/networkx/UPSTREAM-LICENSE.txt +21 -0
  726. package/bundled-skills/networkx/UPSTREAM-NOTICE.md +15 -0
  727. package/bundled-skills/networkx/references/algorithms.md +383 -0
  728. package/bundled-skills/networkx/references/generators.md +378 -0
  729. package/bundled-skills/networkx/references/graph-basics.md +283 -0
  730. package/bundled-skills/networkx/references/io.md +441 -0
  731. package/bundled-skills/networkx/references/visualization.md +529 -0
  732. package/bundled-skills/new-rails-project/SKILL.md +4 -2
  733. package/bundled-skills/news-sentiment-engine/SKILL.md +13 -28
  734. package/bundled-skills/nft-standards/SKILL.md +15 -1
  735. package/bundled-skills/nsfw-ai-spicyapi/SKILL.md +8 -0
  736. package/bundled-skills/nx-workspace-patterns/SKILL.md +0 -1
  737. package/bundled-skills/objection-preemptor/SKILL.md +16 -8
  738. package/bundled-skills/observability-monitoring-monitor-setup/SKILL.md +1 -1
  739. package/bundled-skills/obsidian-cli/SKILL.md +4 -2
  740. package/bundled-skills/odoo-module-developer/SKILL.md +4 -1
  741. package/bundled-skills/odoo-orm-expert/SKILL.md +4 -2
  742. package/bundled-skills/odw/SKILL.md +8 -0
  743. package/bundled-skills/offensive-osint/SKILL.md +76 -70
  744. package/bundled-skills/offensive-osint/UPSTREAM-LICENSE.txt +395 -0
  745. package/bundled-skills/offensive-osint/UPSTREAM-NOTICE.md +26 -0
  746. package/bundled-skills/offensive-osint/references/breach-and-credentials.md +130 -0
  747. package/bundled-skills/offensive-osint/references/dork-corpus.md +182 -0
  748. package/bundled-skills/offensive-osint/references/helpers-and-automation.md +266 -0
  749. package/bundled-skills/offensive-osint/references/identity-fabric.md +309 -0
  750. package/bundled-skills/offensive-osint/references/people-osint.md +107 -0
  751. package/bundled-skills/offensive-osint/references/probes-and-wordlists.md +1269 -0
  752. package/bundled-skills/offensive-osint/references/recon-stack.md +284 -0
  753. package/bundled-skills/offensive-osint/references/recon-techniques.md +343 -0
  754. package/bundled-skills/offensive-osint/references/saas-public-surfaces.md +140 -0
  755. package/bundled-skills/offensive-osint/references/secret-patterns.md +71 -0
  756. package/bundled-skills/offensive-osint/references/secret-validators.md +334 -0
  757. package/bundled-skills/offensive-osint/references/sector-notes.md +74 -0
  758. package/bundled-skills/offensive-osint/references/severity-matrix.md +112 -0
  759. package/bundled-skills/offensive-osint/references/specialized-osint.md +204 -0
  760. package/bundled-skills/offensive-osint/references/tooling-install.md +190 -0
  761. package/bundled-skills/offers/SKILL.md +1 -1
  762. package/bundled-skills/omp-delegate/SKILL.md +5 -1
  763. package/bundled-skills/omp-delegate/UPSTREAM-LICENSE.txt +21 -0
  764. package/bundled-skills/omp-delegate/UPSTREAM-NOTICE.md +13 -0
  765. package/bundled-skills/omp-delegate/scripts/relay.mjs +823 -0
  766. package/bundled-skills/on-call-handoff-patterns/SKILL.md +8 -6
  767. package/bundled-skills/onboarding/SKILL.md +1 -1
  768. package/bundled-skills/onboarding-cro/SKILL.md +7 -3
  769. package/bundled-skills/open-source-marketing/SKILL.md +1 -1
  770. package/bundled-skills/opencode-delegate/SKILL.md +5 -1
  771. package/bundled-skills/opencode-delegate/UPSTREAM-LICENSE.txt +21 -0
  772. package/bundled-skills/opencode-delegate/UPSTREAM-NOTICE.md +13 -0
  773. package/bundled-skills/opencode-delegate/scripts/relay.mjs +781 -0
  774. package/bundled-skills/page-cro/SKILL.md +14 -110
  775. package/bundled-skills/payment-integration/SKILL.md +0 -1
  776. package/bundled-skills/paypal-integration/SKILL.md +3 -1
  777. package/bundled-skills/pentest-tools/src-hunter/SKILL.md +8 -0
  778. package/bundled-skills/performance-engineer/SKILL.md +1 -1
  779. package/bundled-skills/performance-optimization/SKILL.md +8 -0
  780. package/bundled-skills/performance-testing-review-ai-review/SKILL.md +8 -1
  781. package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +1 -1
  782. package/bundled-skills/php-pro/SKILL.md +0 -1
  783. package/bundled-skills/pi-delegate/SKILL.md +5 -1
  784. package/bundled-skills/pi-delegate/UPSTREAM-LICENSE.txt +21 -0
  785. package/bundled-skills/pi-delegate/UPSTREAM-NOTICE.md +13 -0
  786. package/bundled-skills/pi-delegate/scripts/relay.mjs +822 -0
  787. package/bundled-skills/pitch-psychologist/SKILL.md +19 -11
  788. package/bundled-skills/planning-and-task-breakdown/SKILL.md +8 -0
  789. package/bundled-skills/playwright-java/SKILL.md +14 -0
  790. package/bundled-skills/podcast-generation/SKILL.md +3 -0
  791. package/bundled-skills/podcast-generation/UPSTREAM-LICENSE.txt +21 -0
  792. package/bundled-skills/podcast-generation/UPSTREAM-NOTICE.md +13 -0
  793. package/bundled-skills/podcast-generation/references/architecture.md +87 -0
  794. package/bundled-skills/podcast-generation/references/code-examples.md +189 -0
  795. package/bundled-skills/podcast-generation/scripts/pcm_to_wav.py +73 -0
  796. package/bundled-skills/polars/SKILL.md +3 -0
  797. package/bundled-skills/polars/UPSTREAM-LICENSE.txt +21 -0
  798. package/bundled-skills/polars/UPSTREAM-NOTICE.md +16 -0
  799. package/bundled-skills/polars/references/best_practices.md +649 -0
  800. package/bundled-skills/polars/references/core_concepts.md +378 -0
  801. package/bundled-skills/polars/references/io_guide.md +557 -0
  802. package/bundled-skills/polars/references/operations.md +602 -0
  803. package/bundled-skills/polars/references/pandas_migration.md +417 -0
  804. package/bundled-skills/polars/references/transformations.md +549 -0
  805. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +3 -0
  806. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-LICENSE.txt +21 -0
  807. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-NOTICE.md +18 -0
  808. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/amendments.md +146 -0
  809. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/protocol-spec.md +506 -0
  810. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/routing.md +227 -0
  811. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/templates.md +438 -0
  812. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/troubleshooting.md +216 -0
  813. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/init_polis.py +559 -0
  814. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/route_contract.py +19 -0
  815. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/templates/POLIS_CONSTITUTION.md +293 -0
  816. package/bundled-skills/posix-shell-pro/SKILL.md +0 -1
  817. package/bundled-skills/power-user-cultivation/SKILL.md +1 -1
  818. package/bundled-skills/presentation-deck/SKILL.md +4 -4
  819. package/bundled-skills/presentation-deck/references/related-skills.md +1 -1
  820. package/bundled-skills/price-psychology-strategist/SKILL.md +17 -9
  821. package/bundled-skills/pricing/SKILL.md +1 -1
  822. package/bundled-skills/product-marketing/SKILL.md +1 -1
  823. package/bundled-skills/prometheus-configuration/SKILL.md +11 -1
  824. package/bundled-skills/prompt-engineering-patterns/SKILL.md +0 -1
  825. package/bundled-skills/public-relations/SKILL.md +1 -1
  826. package/bundled-skills/pubmed-database/SKILL.md +10 -0
  827. package/bundled-skills/pypict-skill/SKILL.md +18 -5
  828. package/bundled-skills/python-testing-patterns/resources/implementation-playbook.md +13 -4
  829. package/bundled-skills/qiskit/SKILL.md +3 -0
  830. package/bundled-skills/qiskit/UPSTREAM-LICENSE.txt +21 -0
  831. package/bundled-skills/qiskit/UPSTREAM-NOTICE.md +18 -0
  832. package/bundled-skills/qiskit/references/algorithms.md +607 -0
  833. package/bundled-skills/qiskit/references/backends.md +433 -0
  834. package/bundled-skills/qiskit/references/circuits.md +197 -0
  835. package/bundled-skills/qiskit/references/patterns.md +533 -0
  836. package/bundled-skills/qiskit/references/primitives.md +277 -0
  837. package/bundled-skills/qiskit/references/setup.md +99 -0
  838. package/bundled-skills/qiskit/references/transpilation.md +286 -0
  839. package/bundled-skills/qiskit/references/visualization.md +415 -0
  840. package/bundled-skills/qoder-delegate/SKILL.md +5 -1
  841. package/bundled-skills/qoder-delegate/UPSTREAM-LICENSE.txt +21 -0
  842. package/bundled-skills/qoder-delegate/UPSTREAM-NOTICE.md +13 -0
  843. package/bundled-skills/qoder-delegate/scripts/relay.mjs +698 -0
  844. package/bundled-skills/quant-analyst/SKILL.md +0 -1
  845. package/bundled-skills/radare2/SKILL.md +9 -0
  846. package/bundled-skills/react-flow-node-ts/SKILL.md +3 -0
  847. package/bundled-skills/react-flow-node-ts/UPSTREAM-LICENSE.txt +21 -0
  848. package/bundled-skills/react-flow-node-ts/UPSTREAM-NOTICE.md +12 -0
  849. package/bundled-skills/react-flow-node-ts/assets/template.tsx +108 -0
  850. package/bundled-skills/react-flow-node-ts/assets/types.template.ts +34 -0
  851. package/bundled-skills/react-state-management/SKILL.md +0 -1
  852. package/bundled-skills/read-all-adrs/SKILL.md +3 -4
  853. package/bundled-skills/recsys-pipeline-architect/SKILL.md +8 -0
  854. package/bundled-skills/reference-builder/SKILL.md +0 -1
  855. package/bundled-skills/reverse-engineer-anything/SKILL.md +4 -0
  856. package/bundled-skills/riffkit/SKILL.md +22 -13
  857. package/bundled-skills/risk-manager/SKILL.md +0 -1
  858. package/bundled-skills/robius-app-architecture/SKILL.md +10 -0
  859. package/bundled-skills/robius-event-action/SKILL.md +10 -0
  860. package/bundled-skills/robius-matrix-integration/SKILL.md +10 -0
  861. package/bundled-skills/robius-state-management/SKILL.md +10 -0
  862. package/bundled-skills/robius-widget-patterns/SKILL.md +10 -0
  863. package/bundled-skills/ruby-pro/SKILL.md +0 -1
  864. package/bundled-skills/scala-pro/SKILL.md +0 -1
  865. package/bundled-skills/scanpy/SKILL.md +3 -0
  866. package/bundled-skills/scanpy/UPSTREAM-LICENSE.txt +21 -0
  867. package/bundled-skills/scanpy/UPSTREAM-NOTICE.md +15 -0
  868. package/bundled-skills/scanpy/assets/analysis_template.py +295 -0
  869. package/bundled-skills/scanpy/references/api_reference.md +251 -0
  870. package/bundled-skills/scanpy/references/plotting_guide.md +352 -0
  871. package/bundled-skills/scanpy/references/standard_workflow.md +206 -0
  872. package/bundled-skills/scanpy/scripts/qc_analysis.py +200 -0
  873. package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +16 -8
  874. package/bundled-skills/score-eval/SKILL.md +29 -18
  875. package/bundled-skills/search-specialist/SKILL.md +0 -1
  876. package/bundled-skills/security-bluebook-builder/SKILL.md +9 -1
  877. package/bundled-skills/security-compliance-compliance-check/resources/implementation-playbook.md +46 -177
  878. package/bundled-skills/security-requirement-extraction/resources/implementation-playbook.md +8 -6
  879. package/bundled-skills/senior-fullstack/SKILL.md +24 -200
  880. package/bundled-skills/senior-fullstack/references/architecture_patterns.md +4 -100
  881. package/bundled-skills/senior-fullstack/references/development_workflows.md +4 -100
  882. package/bundled-skills/senior-fullstack/references/tech_stack_guide.md +4 -100
  883. package/bundled-skills/senior-fullstack/scripts/code_quality_analyzer.py +5 -13
  884. package/bundled-skills/senior-fullstack/scripts/fullstack_scaffolder.py +5 -13
  885. package/bundled-skills/senior-fullstack/scripts/project_scaffolder.py +5 -13
  886. package/bundled-skills/seo-authority-builder/SKILL.md +0 -1
  887. package/bundled-skills/seo-cannibalization-detector/SKILL.md +6 -2
  888. package/bundled-skills/seo-content/SKILL.md +8 -0
  889. package/bundled-skills/seo-content-auditor/SKILL.md +3 -1
  890. package/bundled-skills/seo-content-refresher/SKILL.md +8 -4
  891. package/bundled-skills/seo-directory-backlinks/SKILL.md +8 -0
  892. package/bundled-skills/seo-image-gen/SKILL.md +14 -0
  893. package/bundled-skills/seo-keyword-strategist/SKILL.md +0 -1
  894. package/bundled-skills/seo-meta-optimizer/SKILL.md +0 -1
  895. package/bundled-skills/seo-schema/SKILL.md +8 -0
  896. package/bundled-skills/seo-snippet-hunter/SKILL.md +0 -1
  897. package/bundled-skills/seo-structure-architect/SKILL.md +6 -2
  898. package/bundled-skills/sequence-psychologist/SKILL.md +16 -8
  899. package/bundled-skills/service-mesh-expert/SKILL.md +0 -1
  900. package/bundled-skills/service-mesh-observability/SKILL.md +0 -1
  901. package/bundled-skills/sharp-edges/SKILL.md +3 -0
  902. package/bundled-skills/sharp-edges/UPSTREAM-LICENSE.txt +427 -0
  903. package/bundled-skills/sharp-edges/UPSTREAM-NOTICE.md +26 -0
  904. package/bundled-skills/sharp-edges/references/auth-patterns.md +252 -0
  905. package/bundled-skills/sharp-edges/references/case-studies.md +274 -0
  906. package/bundled-skills/sharp-edges/references/config-patterns.md +333 -0
  907. package/bundled-skills/sharp-edges/references/crypto-apis.md +190 -0
  908. package/bundled-skills/sharp-edges/references/lang-c.md +205 -0
  909. package/bundled-skills/sharp-edges/references/lang-csharp.md +285 -0
  910. package/bundled-skills/sharp-edges/references/lang-go.md +270 -0
  911. package/bundled-skills/sharp-edges/references/lang-java.md +263 -0
  912. package/bundled-skills/sharp-edges/references/lang-javascript.md +269 -0
  913. package/bundled-skills/sharp-edges/references/lang-kotlin.md +265 -0
  914. package/bundled-skills/sharp-edges/references/lang-php.md +245 -0
  915. package/bundled-skills/sharp-edges/references/lang-python.md +274 -0
  916. package/bundled-skills/sharp-edges/references/lang-ruby.md +273 -0
  917. package/bundled-skills/sharp-edges/references/lang-rust.md +272 -0
  918. package/bundled-skills/sharp-edges/references/lang-swift.md +287 -0
  919. package/bundled-skills/sharp-edges/references/language-specific.md +588 -0
  920. package/bundled-skills/shellcheck-configuration/SKILL.md +0 -1
  921. package/bundled-skills/shipping-and-launch/SKILL.md +11 -0
  922. package/bundled-skills/skill-scanner/SKILL.md +23 -14
  923. package/bundled-skills/skill-scanner/UPSTREAM-LICENSE.txt +190 -0
  924. package/bundled-skills/skill-scanner/UPSTREAM-NOTICE.md +14 -0
  925. package/bundled-skills/skill-scanner/references/dangerous-code-patterns.md +194 -0
  926. package/bundled-skills/skill-scanner/references/permission-analysis.md +93 -0
  927. package/bundled-skills/skill-scanner/references/prompt-injection-patterns.md +157 -0
  928. package/bundled-skills/skill-scanner/scripts/scan_skill.py +800 -0
  929. package/bundled-skills/skill-seekers/SKILL.md +16 -20
  930. package/bundled-skills/slideops/SKILL.md +3 -0
  931. package/bundled-skills/slideops/UPSTREAM-LICENSE.txt +21 -0
  932. package/bundled-skills/slideops/UPSTREAM-NOTICE.md +16 -0
  933. package/bundled-skills/slideops/assets/template.html +536 -0
  934. package/bundled-skills/slideops/references/automation.md +185 -0
  935. package/bundled-skills/slideops/references/diagrams.md +92 -0
  936. package/bundled-skills/slideops/references/verification.md +124 -0
  937. package/bundled-skills/slideops/scripts/check.py +501 -0
  938. package/bundled-skills/slideops/scripts/cite.py +143 -0
  939. package/bundled-skills/social-proof-architect/SKILL.md +17 -9
  940. package/bundled-skills/spark-optimization/SKILL.md +0 -1
  941. package/bundled-skills/speckit-updater/SKILL.md +7 -0
  942. package/bundled-skills/speed/SKILL.md +16 -14
  943. package/bundled-skills/sred-project-organizer/SKILL.md +7 -0
  944. package/bundled-skills/startup-analyst/SKILL.md +0 -1
  945. package/bundled-skills/startup-business-analyst-business-case/SKILL.md +0 -1
  946. package/bundled-skills/startup-business-analyst-financial-projections/SKILL.md +0 -1
  947. package/bundled-skills/startup-business-analyst-market-opportunity/SKILL.md +0 -1
  948. package/bundled-skills/startup-financial-modeling/SKILL.md +16 -25
  949. package/bundled-skills/subject-line-psychologist/SKILL.md +16 -8
  950. package/bundled-skills/superpowers-lab/SKILL.md +15 -20
  951. package/bundled-skills/supply-chain-security/SKILL.md +6 -14
  952. package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +3 -39
  953. package/bundled-skills/swiftui-ui-patterns/SKILL.md +4 -0
  954. package/bundled-skills/swiftui-ui-patterns/references/async-state.md +14 -8
  955. package/bundled-skills/swiftui-ui-patterns/references/controls.md +1 -1
  956. package/bundled-skills/swiftui-ui-patterns/references/form.md +22 -4
  957. package/bundled-skills/swiftui-ui-patterns/references/lightweight-clients.md +3 -3
  958. package/bundled-skills/swiftui-ui-patterns/references/list.md +2 -2
  959. package/bundled-skills/swiftui-ui-patterns/references/matched-transitions.md +3 -1
  960. package/bundled-skills/swiftui-ui-patterns/references/media.md +3 -0
  961. package/bundled-skills/swiftui-ui-patterns/references/overlay.md +8 -3
  962. package/bundled-skills/swiftui-ui-patterns/references/performance.md +2 -5
  963. package/bundled-skills/swiftui-ui-patterns/references/scroll-reveal.md +3 -1
  964. package/bundled-skills/swiftui-ui-patterns/references/searchable.md +23 -7
  965. package/bundled-skills/swiftui-ui-patterns/references/sheets.md +16 -10
  966. package/bundled-skills/swiftui-ui-patterns/references/split-views.md +4 -1
  967. package/bundled-skills/systematic-debugging/condition-based-waiting-example.ts +30 -144
  968. package/bundled-skills/systematic-debugging/condition-based-waiting.md +1 -1
  969. package/bundled-skills/tdd-orchestrator/SKILL.md +0 -1
  970. package/bundled-skills/team-composition-analysis/SKILL.md +9 -1
  971. package/bundled-skills/technical-tutorials/SKILL.md +1 -1
  972. package/bundled-skills/temporal-python-pro/SKILL.md +0 -1
  973. package/bundled-skills/temporal-python-testing/SKILL.md +0 -1
  974. package/bundled-skills/terraform-module-library/SKILL.md +11 -1
  975. package/bundled-skills/test-automator/SKILL.md +0 -1
  976. package/bundled-skills/testing-patterns/SKILL.md +8 -9
  977. package/bundled-skills/trust-calibrator/SKILL.md +16 -8
  978. package/bundled-skills/tune-monitor/SKILL.md +3 -0
  979. package/bundled-skills/tune-monitor/UPSTREAM-LICENSE.txt +201 -0
  980. package/bundled-skills/tune-monitor/UPSTREAM-NOTICE.md +14 -0
  981. package/bundled-skills/tune-monitor/references/custom-sql-monitor.md +112 -0
  982. package/bundled-skills/tune-monitor/references/metric-monitor.md +118 -0
  983. package/bundled-skills/tune-monitor/references/table-monitor.md +138 -0
  984. package/bundled-skills/tune-monitor/references/validation-monitor.md +132 -0
  985. package/bundled-skills/turborepo-caching/SKILL.md +0 -1
  986. package/bundled-skills/tutorial-engineer/SKILL.md +0 -1
  987. package/bundled-skills/typescript-expert/SKILL.md +10 -8
  988. package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +48 -15
  989. package/bundled-skills/ui-ux-designer/SKILL.md +0 -1
  990. package/bundled-skills/ui-visual-validator/SKILL.md +0 -1
  991. package/bundled-skills/uniprot-database/SKILL.md +8 -0
  992. package/bundled-skills/unity-developer/SKILL.md +0 -1
  993. package/bundled-skills/usage-based-pricing/SKILL.md +4 -2
  994. package/bundled-skills/usage-based-pricing/references/detailed-guide.md +11 -9
  995. package/bundled-skills/using-agent-skills/SKILL.md +4 -1
  996. package/bundled-skills/using-agent-skills/UPSTREAM-LICENSE.txt +21 -0
  997. package/bundled-skills/using-agent-skills/UPSTREAM-NOTICE.md +11 -0
  998. package/bundled-skills/using-agent-skills/references/definition-of-done.md +67 -0
  999. package/bundled-skills/using-neon/SKILL.md +21 -0
  1000. package/bundled-skills/ux-persuasion-engineer/SKILL.md +16 -8
  1001. package/bundled-skills/variant-analysis/SKILL.md +10 -0
  1002. package/bundled-skills/vexor-cli/SKILL.md +8 -0
  1003. package/bundled-skills/vibe-delegate/SKILL.md +5 -1
  1004. package/bundled-skills/vibe-delegate/UPSTREAM-LICENSE.txt +21 -0
  1005. package/bundled-skills/vibe-delegate/UPSTREAM-NOTICE.md +13 -0
  1006. package/bundled-skills/vibe-delegate/scripts/relay.mjs +773 -0
  1007. package/bundled-skills/video-content-extractor/SKILL.md +8 -0
  1008. package/bundled-skills/visual-emotion-engineer/SKILL.md +17 -9
  1009. package/bundled-skills/warp-delegate/SKILL.md +5 -1
  1010. package/bundled-skills/warp-delegate/UPSTREAM-LICENSE.txt +21 -0
  1011. package/bundled-skills/warp-delegate/UPSTREAM-NOTICE.md +13 -0
  1012. package/bundled-skills/warp-delegate/scripts/relay.mjs +837 -0
  1013. package/bundled-skills/wcag-audit-patterns/resources/implementation-playbook.md +26 -41
  1014. package/bundled-skills/web-performance-optimization/SKILL.md +15 -15
  1015. package/bundled-skills/web-performance-optimization/references/detailed-guide.md +12 -7
  1016. package/bundled-skills/web3-testing/SKILL.md +16 -1
  1017. package/bundled-skills/workflow-orchestration-patterns/SKILL.md +1 -2
  1018. package/bundled-skills/zcode-delegate/SKILL.md +11 -3
  1019. package/bundled-skills/zcode-delegate/UPSTREAM-LICENSE.txt +21 -0
  1020. package/bundled-skills/zcode-delegate/UPSTREAM-NOTICE.md +13 -0
  1021. package/bundled-skills/zcode-delegate/references/dispatch-and-poll.md +4 -4
  1022. package/bundled-skills/zcode-delegate/scripts/relay.mjs +1043 -0
  1023. package/package.json +1 -1
  1024. package/skills_index.json +240 -160
  1025. package/bundled-skills/api-security-testing/SKILL.md +0 -176
@@ -0,0 +1,837 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * delegate-skills · warp-delegate · relay.mjs
4
+ *
5
+ * Dispatch a self-contained brief to the Warp Agent CLI (`oz agent run
6
+ * --output-format ndjson`), capture the newline-delimited JSON event stream,
7
+ * and write a structured result the orchestrating agent can review. The
8
+ * orchestrator runs this one command and reads the result JSON — every
9
+ * Warp-specific mechanic lives in here, which keeps the skill
10
+ * orchestrator-agnostic.
11
+ *
12
+ * Trust posture: relay.mjs itself makes no network calls, reads or writes no
13
+ * credentials, and sends no telemetry; it has no dependencies (Node built-ins
14
+ * only). It shells out only to `oz` and `git`, plus the platform
15
+ * process-termination utility when a Windows process-tree kill requires one.
16
+ * The `oz` process it launches does authenticate — exactly as you do at the
17
+ * terminal. Read this file before you run it.
18
+ *
19
+ * Brief delivery: `oz agent run` requires one of --prompt/--saved-prompt/
20
+ * --task-id/--skill, and its -f/--file config path does NOT satisfy that
21
+ * requirement, so the brief rides argv as the --prompt value. Two consequences
22
+ * the other relays in this package do not have: the brief is visible in the
23
+ * host process list while the run is live, and a very large brief can hit the
24
+ * OS argv limit. Keep secrets out of the brief — reference workspace files or
25
+ * environment variables instead — and on a shared machine prefer a short brief
26
+ * that points `oz` at files in the repo. Because the brief rides argv, this
27
+ * relay never launches `oz` through a shell on any platform.
28
+ *
29
+ * Workspace snapshots: `oz agent run` uploads an end-of-run workspace snapshot
30
+ * by default. The relay does not change that default — it is the CLI's own
31
+ * behavior — but --no-snapshot forwards Warp's flag when you do not want the
32
+ * upload. Decide deliberately for private repositories.
33
+ *
34
+ * It deliberately does NOT commit. Committing is always the orchestrator's job
35
+ * — after it reviews the diff and re-runs the project gates.
36
+ *
37
+ * Autonomy: `oz agent run` has NO sandbox, NO permission mode, and NO
38
+ * read-only mode. A headless run reads, writes, edits, and executes commands
39
+ * with the user's own permissions and never prompts. This relay therefore
40
+ * offers no --read-only flag: there is nothing in the CLI to enforce it, and
41
+ * advertising one would be a lie. (`--auto-approve` belongs to the interactive
42
+ * `warp` TUI, not to `oz agent run`.) The diff reported in `touchedFiles` is
43
+ * the record of what changed — inspect it after every run.
44
+ *
45
+ * Usage:
46
+ * node relay.mjs --brief <file> [options]
47
+ * cat brief.txt | node relay.mjs [options]
48
+ *
49
+ * Options:
50
+ * --brief <file> Path to the brief. If omitted, read it from stdin.
51
+ * --cd <dir> Working root for oz (default: current directory).
52
+ * --lane <name> Fleet lane from delegate-setup config (dials apply; explicit flags win).
53
+ * --model <id> Warp model id (default: Warp's own). See `oz model list`.
54
+ * --profile <id> Warp agent profile id.
55
+ * --name <name> Label for the run (Warp's `--name`).
56
+ * --conversation <id> Continue an existing Warp conversation; send only the delta brief.
57
+ * --skill <spec> Warp skill used as the base prompt (`name`, `repo:name`, `org/repo:name`).
58
+ * --mcp <spec> MCP server config path or inline JSON. Repeatable.
59
+ * --no-snapshot Forward Warp's --no-snapshot (disable the end-of-run snapshot upload).
60
+ * --timeout <dur> Relay-side watchdog (default: 30m). Durations use h/m/s strings.
61
+ * --out-dir <dir> Where to write run artifacts (default: a fresh dir
62
+ * under the system temp dir).
63
+ * -h, --help Show this help.
64
+ *
65
+ * Result: written to <out-dir>/result.json and summarized on stdout —
66
+ * status, exitCode, signal, ozVersion, runId, runUrl, conversationId,
67
+ * finalMessage (the agent's own report), model, touchedFiles (git porcelain,
68
+ * null if git cannot report), snapshotDisabled, and paths to brief.txt,
69
+ * final.txt, events.jsonl, and stderr.txt.
70
+ *
71
+ * Exit codes: a pre-run usage error (bad/missing args, empty brief) exits 2
72
+ * before any run and writes no result file; a missing `oz` binary exits 127;
73
+ * otherwise the exit code mirrors oz's own (0 success, non-zero failure),
74
+ * except a stream-reported agent error exits 1 even if oz exits 0. If the child
75
+ * dies on a signal, the exit code is 128 plus the signal number and
76
+ * `result.json` records the signal. Once the brief validates, `result.json` is
77
+ * written on every outcome — completed, failed, timeout (the --timeout watchdog
78
+ * fired, or the bounded --version preflight hung), aborted (the relay itself
79
+ * was killed and forwarded the kill to oz), or warp_unavailable.
80
+ */
81
+
82
+ import {spawn, execFileSync, spawnSync } from "node:child_process";
83
+ import {
84
+ appendFileSync,
85
+ existsSync,
86
+ mkdirSync,
87
+ readFileSync,
88
+ renameSync,
89
+ rmSync,
90
+ statSync,
91
+ writeFileSync,
92
+ } from "node:fs";
93
+ import {join, resolve, basename, dirname } from "node:path";
94
+ import { fileURLToPath } from "node:url";
95
+ import { constants, tmpdir } from "node:os";
96
+ import { StringDecoder } from "node:string_decoder";
97
+ const MAX_BUFFERED_CHARS = 1_048_576;
98
+
99
+ const DEFAULT_TIMEOUT = "30m";
100
+ const MAX_TIMER_MS = 2_147_483_647;
101
+ const VERSION_TIMEOUT_MS = 10_000;
102
+ // Values that ride argv beside the brief. `oz` is launched without a shell, so
103
+ // the risk is not quoting but flag injection: a value starting with "-" would be
104
+ // read by oz as another option. Require a leading alphanumeric.
105
+ const SAFE_TOKEN = /^[A-Za-z0-9][A-Za-z0-9._:/-]*$/;
106
+
107
+ const IMPLEMENTER_KEY = "warp";
108
+
109
+ function makeEventScanner(onObject) {
110
+ let buf = "";
111
+ let index = 0;
112
+ let depth = 0;
113
+ let start = -1;
114
+ let inString = false;
115
+ let escaped = false;
116
+ return (chunk) => {
117
+ if (!chunk) return;
118
+ buf += chunk;
119
+ for (;;) {
120
+ while (index < buf.length) {
121
+ const ch = buf[index];
122
+ // Only track strings inside an object (depth > 0). At depth 0 we are
123
+ // skipping a junk prefix, and an unmatched `"` there must not swallow the
124
+ // real `{...}` that follows in the same chunk.
125
+ if (inString) {
126
+ if (escaped) escaped = false;
127
+ else if (ch === "\\") escaped = true;
128
+ else if (ch === '"') inString = false;
129
+ } else if (ch === '"') {
130
+ if (depth > 0) inString = true;
131
+ } else if (ch === "{") {
132
+ if (depth === 0) start = index;
133
+ depth += 1;
134
+ } else if (ch === "}") {
135
+ if (depth > 0) {
136
+ depth -= 1;
137
+ if (depth === 0 && start !== -1) {
138
+ const slice = buf.slice(start, index + 1);
139
+ try { onObject(JSON.parse(slice)); } catch { /* skip malformed */ }
140
+ start = -1;
141
+ }
142
+ }
143
+ }
144
+ index += 1;
145
+ }
146
+ if (depth === 0 || start === -1 || buf.length - start <= MAX_BUFFERED_CHARS) break;
147
+ // A complete object may exceed the retained-input cap within this chunk.
148
+ // Drop only an oversized partial, then rescan its suffix so a later
149
+ // concatenated event is not lost.
150
+ buf = buf.slice(start + MAX_BUFFERED_CHARS);
151
+ index = 0;
152
+ start = -1;
153
+ depth = 0;
154
+ inString = false;
155
+ escaped = false;
156
+ }
157
+ if (depth > 0 && start !== -1) {
158
+ if (start > 0) {
159
+ buf = buf.slice(start);
160
+ index -= start;
161
+ start = 0;
162
+ }
163
+ } else {
164
+ buf = "";
165
+ index = 0;
166
+ start = -1;
167
+ }
168
+ };
169
+ }
170
+
171
+ function applyFleetLane(opts, flagged) {
172
+ if (!opts.lane) return;
173
+ const script = join(dirname(fileURLToPath(import.meta.url)), "../../delegate-setup/scripts/lane.mjs");
174
+ if (!existsSync(script)) {
175
+ fail("--lane requires the delegate-setup skill installed beside this relay");
176
+ }
177
+ const r = spawnSync(
178
+ process.execPath,
179
+ [script, "resolve", "--cwd", opts.cd, "--lane", opts.lane, "--implementer", IMPLEMENTER_KEY],
180
+ { encoding: "utf8", env: process.env },
181
+ );
182
+ if (r.error) fail(`lane resolve failed: ${r.error.message}`);
183
+ if (r.status !== 0) {
184
+ fail((r.stderr || "lane resolve failed").trim().replace(/^lane\.mjs:\s*/, ""));
185
+ }
186
+ let resolved;
187
+ try {
188
+ const lines = (r.stdout || "").trim().split("\n").filter(Boolean);
189
+ resolved = JSON.parse(lines[lines.length - 1]);
190
+ } catch {
191
+ fail("lane resolve returned invalid JSON");
192
+ }
193
+ opts.laneSource = resolved.source;
194
+ for (const [field, value] of Object.entries(resolved.dials || {})) {
195
+ if (flagged.has(field)) continue;
196
+ // Warp exposes no read-only, sandbox, or permission-mode flag on `oz agent
197
+ // run`, so those dials cannot be honoured here. Dropping one silently would
198
+ // run a lane the user believes is restricted, so refuse instead.
199
+ if (["readOnly", "sandbox", "permissionMode", "force", "effort", "variant", "provider"].includes(field)) {
200
+ fail(`lane "${opts.lane}" sets the ${field} dial, which the Warp Agent CLI has no flag for; remove it from the lane or use a different implementer`);
201
+ }
202
+ opts[field] = value;
203
+ }
204
+ }
205
+
206
+ function fail(message, code = 2) {
207
+ process.stderr.write(`relay: ${message}\n`);
208
+ process.exit(code);
209
+ }
210
+
211
+ function parseDuration(duration) {
212
+ const match = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(duration);
213
+ if (!match || (!match[1] && !match[2] && !match[3])) return null;
214
+ try {
215
+ const seconds =
216
+ BigInt(match[1] || 0) * 3600n +
217
+ BigInt(match[2] || 0) * 60n +
218
+ BigInt(match[3] || 0);
219
+ const milliseconds = seconds * 1000n;
220
+ if (milliseconds <= 0n || milliseconds > BigInt(MAX_TIMER_MS)) return null;
221
+ return Number(milliseconds);
222
+ } catch {
223
+ return null;
224
+ }
225
+ }
226
+
227
+ function parseArgs(argv) {
228
+ const flagged = new Set();
229
+ const opts = {
230
+ lane: null,
231
+ laneSource: null,
232
+ brief: null,
233
+ cd: process.cwd(),
234
+ model: null,
235
+ profile: null,
236
+ name: null,
237
+ conversation: null,
238
+ skill: null,
239
+ mcp: [],
240
+ noSnapshot: false,
241
+ timeout: DEFAULT_TIMEOUT,
242
+ outDir: null,
243
+ };
244
+ for (let i = 0; i < argv.length; i += 1) {
245
+ const arg = argv[i];
246
+ const next = () => {
247
+ const value = argv[i + 1];
248
+ if (value === undefined) fail(`${arg} requires a value`);
249
+ i += 1;
250
+ return value;
251
+ };
252
+ switch (arg) {
253
+ case "-h":
254
+ case "--help":
255
+ process.stdout.write(headerComment());
256
+ process.exit(0);
257
+ break;
258
+ case "--brief": opts.brief = next(); break;
259
+ case "--cd": opts.cd = resolve(next()); break;
260
+ case "--lane": opts.lane = next(); break;
261
+ case "--model": opts.model = next(); flagged.add("model"); break;
262
+ case "--profile": opts.profile = next(); break;
263
+ case "--name": opts.name = next(); break;
264
+ case "--conversation": opts.conversation = next(); break;
265
+ case "--skill": opts.skill = next(); break;
266
+ case "--mcp": opts.mcp.push(next()); break;
267
+ case "--no-snapshot": opts.noSnapshot = true; break;
268
+ case "--timeout": opts.timeout = next(); flagged.add("timeout"); break;
269
+ case "--out-dir": opts.outDir = resolve(next()); break;
270
+ default:
271
+ fail(`unknown option: ${arg}`);
272
+ }
273
+ }
274
+ applyFleetLane(opts, flagged);
275
+ for (const flag of ["model", "profile", "conversation"]) {
276
+ if (opts[flag] !== null && !SAFE_TOKEN.test(opts[flag])) {
277
+ fail(`--${flag} value contains unsupported characters (allowed: letters, digits, . _ : / -)`);
278
+ }
279
+ }
280
+ // --skill and --mcp legitimately carry characters the token rule rejects (an
281
+ // inline MCP JSON blob, a path). Only a leading "-" is dangerous: oz would
282
+ // read the value as the next option.
283
+ for (const [flag, values] of [["skill", opts.skill === null ? [] : [opts.skill]], ["mcp", opts.mcp]]) {
284
+ for (const value of values) {
285
+ if (value === "" || value.startsWith("-")) {
286
+ fail(`--${flag} value must be non-empty and must not start with "-"`);
287
+ }
288
+ }
289
+ }
290
+ if (opts.name !== null && (opts.name === "" || opts.name.startsWith("-"))) {
291
+ fail('--name value must be non-empty and must not start with "-"');
292
+ }
293
+ if (parseDuration(opts.timeout) === null) {
294
+ fail(`--timeout "${opts.timeout}" is not a duration; use h/m/s strings like 30m, 90s, or 1h30m`);
295
+ }
296
+ if (parseDuration(opts.timeout) === 0) fail("--timeout must be greater than zero");
297
+ // setTimeout overflows past 2^31 - 1 ms (~24.8 days) and fires immediately,
298
+ // which would read as an instant spurious timeout — reject it up front.
299
+ if (parseDuration(opts.timeout) > 2_147_483_647) {
300
+ fail(`--timeout "${opts.timeout}" exceeds the maximum schedulable watchdog (~24.8 days)`);
301
+ }
302
+ if (!existsSync(opts.cd) || !statSync(opts.cd).isDirectory()) {
303
+ fail(`working directory not found: ${opts.cd}`);
304
+ }
305
+ return opts;
306
+ }
307
+
308
+ function headerComment() {
309
+ // The leading block comment doubles as --help text.
310
+ const src = readFileSync(new URL(import.meta.url), "utf8");
311
+ const match = src.match(/\/\*\*([\s\S]*?)\*\//);
312
+ if (!match) return "relay.mjs - dispatch a brief to oz agent run\n";
313
+ return `${match[1].replace(/^\s*\* ?/gm, "").trim()}\n`;
314
+ }
315
+
316
+ function readBrief(opts) {
317
+ if (opts.brief) {
318
+ if (!existsSync(opts.brief)) fail(`brief file not found: ${opts.brief}`);
319
+ return readFileSync(opts.brief, "utf8");
320
+ }
321
+ if (process.stdin.isTTY) {
322
+ fail("no --brief given and stdin is a TTY; pass --brief <file> or pipe the brief on stdin");
323
+ }
324
+ try {
325
+ return readFileSync(0, "utf8");
326
+ } catch {
327
+ return "";
328
+ }
329
+ }
330
+
331
+ function killChild(child, signal = "SIGTERM") {
332
+ if (!child || !child.pid) return;
333
+ if (process.platform === "win32") {
334
+ if (signal !== "SIGTERM") return;
335
+ try {
336
+ execFileSync("taskkill", ["/pid", String(child.pid), "/t", "/f"], {
337
+ stdio: ["ignore", "ignore", "inherit"],
338
+ });
339
+ } catch {
340
+ // The process tree already exited.
341
+ }
342
+ return;
343
+ }
344
+ try {
345
+ process.kill(-child.pid, signal);
346
+ } catch {
347
+ try {
348
+ child.kill(signal);
349
+ } catch {
350
+ // The process group already exited.
351
+ }
352
+ }
353
+ }
354
+
355
+ async function probeOzVersion(timeoutMs, onChild) {
356
+ const limit = Math.min(timeoutMs, VERSION_TIMEOUT_MS);
357
+ const runProbe = (command, argv, options = {}) => new Promise((resolveProbe) => {
358
+ const child = spawn(command, argv, {
359
+ stdio: ["ignore", "pipe", "pipe"],
360
+ detached: process.platform !== "win32",
361
+ ...options,
362
+ });
363
+ onChild(child);
364
+ let stdout = "";
365
+ let stderr = "";
366
+ let settled = false;
367
+ let timedOut = false;
368
+ let timer;
369
+ const finish = (result) => {
370
+ if (settled) return;
371
+ settled = true;
372
+ clearTimeout(timer);
373
+ resolveProbe({ stdout, stderr, ...result });
374
+ };
375
+ child.stdout.on("data", (chunk) => { stdout += chunk; });
376
+ child.stderr.on("data", (chunk) => { stderr += chunk; });
377
+ child.on("error", (error) => finish({ code: null, error, timedOut: false }));
378
+ child.on("close", (code) => finish({ code, error: null, timedOut }));
379
+ timer = setTimeout(() => {
380
+ timedOut = true;
381
+ killChild(child, process.platform === "win32" ? "SIGTERM" : "SIGKILL");
382
+ }, limit);
383
+ });
384
+
385
+ // `oz` installs as a native binary on the platforms this relay targets, so
386
+ // there is no .cmd shim to resolve and the probe runs without a shell — the
387
+ // same launch discipline the dispatch uses because the brief rides argv.
388
+ const probe = await runProbe("oz", ["--version"]);
389
+ if (probe.timedOut) {
390
+ return { version: null, error: Object.assign(new Error("oz --version timed out"), { code: "ETIMEDOUT", stderr: probe.stderr }) };
391
+ }
392
+ if (probe.error && probe.error.code === "ENOENT") return { version: null, error: null };
393
+ if (probe.error) return { version: null, error: probe.error };
394
+ if (probe.code !== 0) {
395
+ return { version: null, error: Object.assign(new Error("oz --version failed"), { status: probe.code, stderr: probe.stderr }) };
396
+ }
397
+ return { version: probe.stdout.trim() || "unknown", error: null };
398
+ }
399
+
400
+ function gitTouchedFiles(cwd) {
401
+ try {
402
+ const output = execFileSync("git", ["status", "--porcelain"], {
403
+ cwd,
404
+ encoding: "utf8",
405
+ timeout: 10_000,
406
+ killSignal: "SIGKILL",
407
+ stdio: ["ignore", "pipe", "ignore"],
408
+ maxBuffer: 64 * 1024 * 1024,
409
+ });
410
+ return output.split("\n").map((line) => line.trimEnd()).filter(Boolean);
411
+ } catch {
412
+ return null;
413
+ }
414
+ }
415
+
416
+ function timestamp() {
417
+ return new Date().toISOString().replace(/[:.]/g, "-");
418
+ }
419
+
420
+ function buildArgv(opts, brief) {
421
+ // ndjson streams one event object per line, so a long run reports progress
422
+ // instead of buffering to the end. The brief is the --prompt value: `oz agent
423
+ // run` requires one of --prompt/--saved-prompt/--task-id/--skill, and -f/--file
424
+ // does not satisfy that requirement.
425
+ const argv = ["agent", "run", "--output-format", "ndjson", "--cwd", opts.cd];
426
+ if (opts.model) argv.push("--model", opts.model);
427
+ if (opts.profile) argv.push("--profile", opts.profile);
428
+ if (opts.name) argv.push("--name", opts.name);
429
+ if (opts.conversation) argv.push("--conversation", opts.conversation);
430
+ if (opts.skill) argv.push("--skill", opts.skill);
431
+ for (const spec of opts.mcp) argv.push("--mcp", spec);
432
+ if (opts.noSnapshot) argv.push("--no-snapshot");
433
+ argv.push("--prompt", brief);
434
+ return argv;
435
+ }
436
+
437
+ /**
438
+ * Pull agent-visible text out of one ndjson event.
439
+ *
440
+ * Verified against a live edit run on oz 0.2026.05.27: the report is carried by
441
+ * `{"type":"agent","text":…}` events, and system events are `type: "system"`
442
+ * with an `event_type` of `run_started` / `conversation_started`.
443
+ *
444
+ * `agent_reasoning` events carry a `text` field of the SAME shape but hold the
445
+ * model's private reasoning, not its report — matching on `text` alone splices
446
+ * that reasoning into finalMessage. They are dropped by type. Tool traffic
447
+ * (`tool_call`, `tool_result`, `tool_error`) carries no `text` and so needs no
448
+ * exclusion; it stays in events.jsonl.
449
+ *
450
+ * Everything past that stays tolerant rather than pinned to `type === "agent"`,
451
+ * so a renamed or added output event still reports instead of yielding an empty
452
+ * finalMessage; events.jsonl always keeps the raw stream.
453
+ */
454
+ function collectText(event, push) {
455
+ if (!event || typeof event !== "object") return;
456
+ if (event.type === "system" || event.type === "agent_reasoning") return;
457
+ const pushString = (value) => { if (typeof value === "string" && value.trim()) push(value); };
458
+ if (typeof event.agent_output === "string") { pushString(event.agent_output); return; }
459
+ if (typeof event.text === "string") { pushString(event.text); return; }
460
+ if (typeof event.content === "string") { pushString(event.content); return; }
461
+ if (Array.isArray(event.content)) {
462
+ for (const part of event.content) if (part && part.type === "text") pushString(part.text);
463
+ return;
464
+ }
465
+ const message = event.message;
466
+ if (message && typeof message === "object") {
467
+ if (typeof message.content === "string") { pushString(message.content); return; }
468
+ if (Array.isArray(message.content)) {
469
+ for (const part of message.content) if (part && part.type === "text") pushString(part.text);
470
+ }
471
+ }
472
+ }
473
+
474
+ function prepareRunDir(opts, brief) {
475
+ const startedAt = new Date().toISOString();
476
+ const outDir = opts.outDir || join(tmpdir(), "delegate-relay", `${basename(opts.cd) || "repo"}-${timestamp()}`);
477
+ mkdirSync(outDir, { recursive: true });
478
+ const run = {
479
+ startedAt,
480
+ briefPath: join(outDir, "brief.txt"),
481
+ finalPath: join(outDir, "final.txt"),
482
+ eventsPath: join(outDir, "events.jsonl"),
483
+ stderrPath: join(outDir, "stderr.txt"),
484
+ resultPath: join(outDir, "result.json"),
485
+ };
486
+ // A reused --out-dir must not leak a previous run's artifacts into this one.
487
+ rmSync(run.finalPath, { force: true });
488
+ rmSync(run.resultPath, { force: true });
489
+ writeFileSync(run.briefPath, brief, "utf8");
490
+ writeFileSync(run.eventsPath, "", "utf8");
491
+ writeFileSync(run.stderrPath, "", "utf8");
492
+ return run;
493
+ }
494
+
495
+ function makeResultWriter(opts, version, run) {
496
+ return (extra) => {
497
+ const result = {
498
+ schema: "delegate-relay.result.v1",
499
+ lane: opts.lane,
500
+ laneSource: opts.laneSource,
501
+ tool: "oz",
502
+ workdir: opts.cd,
503
+ model: opts.model,
504
+ profile: opts.profile,
505
+ snapshotDisabled: opts.noSnapshot,
506
+ resumed: Boolean(opts.conversation),
507
+ ozVersion: version,
508
+ startedAt: run.startedAt,
509
+ finishedAt: new Date().toISOString(),
510
+ briefPath: run.briefPath,
511
+ finalPath: existsSync(run.finalPath) ? run.finalPath : null,
512
+ eventsPath: run.eventsPath,
513
+ stderrPath: run.stderrPath,
514
+ ...extra,
515
+ };
516
+ // Atomic write: a polling orchestrator never reads a half-written result.
517
+ const temporary = `${run.resultPath}.${process.pid}.tmp`;
518
+ writeFileSync(temporary, `${JSON.stringify(result, null, 2)}\n`, "utf8");
519
+ renameSync(temporary, run.resultPath);
520
+ return result;
521
+ };
522
+ }
523
+
524
+ function reportUnavailable(writeResult, resultPath) {
525
+ const result = writeResult({
526
+ status: "warp_unavailable",
527
+ exitCode: 127,
528
+ signal: null,
529
+ runId: null,
530
+ runUrl: null,
531
+ conversationId: null,
532
+ stderrTail: [],
533
+ finalMessage: "",
534
+ touchedFiles: null,
535
+ });
536
+ printSummary(result, resultPath);
537
+ process.stderr.write("relay: `oz` not found on PATH. Install the Warp Agent CLI (https://docs.warp.dev/cli/), then authenticate with `oz login` (or set WARP_API_KEY on a headless host).\n");
538
+ process.exit(127);
539
+ }
540
+
541
+ function reportVersionFailure(writeResult, run, error, timeoutMs) {
542
+ const timedOut = error && error.code === "ETIMEDOUT";
543
+ const stderr = String((error && error.stderr) || "").trim();
544
+ if (stderr) writeFileSync(run.stderrPath, `${stderr}\n`, "utf8");
545
+ const message = timedOut
546
+ ? `oz --version preflight timed out after ${Math.min(timeoutMs, VERSION_TIMEOUT_MS)}ms; oz was not dispatched`
547
+ : `oz --version preflight failed${Number.isInteger(error && error.status) ? ` with exit ${error.status}` : ""}; oz was not dispatched`;
548
+ const result = writeResult({
549
+ status: timedOut ? "timeout" : "failed",
550
+ exitCode: timedOut ? 124 : Number.isInteger(error && error.status) ? error.status : 1,
551
+ signal: null,
552
+ runId: null,
553
+ runUrl: null,
554
+ conversationId: null,
555
+ finalMessage: "",
556
+ touchedFiles: null,
557
+ stderrTail: stderr ? stderr.split("\n").slice(-20) : [],
558
+ error: message,
559
+ });
560
+ printSummary(result, run.resultPath);
561
+ process.stderr.write(`relay: ${message}\n`);
562
+ process.exit(result.exitCode);
563
+ }
564
+
565
+ function installPreflightSignalHandlers(opts, run, writeResult, getChild) {
566
+ let active = true;
567
+ const handlers = new Map();
568
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
569
+ const handler = () => {
570
+ if (!active) return;
571
+ active = false;
572
+ const result = writeResult({
573
+ status: "aborted",
574
+ exitCode: 128 + (constants.signals[sig] || 15),
575
+ signal: sig,
576
+ runId: null,
577
+ runUrl: null,
578
+ conversationId: null,
579
+ stderrTail: [],
580
+ finalMessage: "",
581
+ touchedFiles: gitTouchedFiles(opts.cd),
582
+ error: `the relay was killed by ${sig} during the oz version preflight; oz was not dispatched`,
583
+ });
584
+ printSummary(result, run.resultPath);
585
+ const child = getChild();
586
+ if (child) killChild(child, process.platform === "win32" ? "SIGTERM" : "SIGKILL");
587
+ process.exit(result.exitCode);
588
+ };
589
+ handlers.set(sig, handler);
590
+ process.on(sig, handler);
591
+ }
592
+ return () => {
593
+ active = false;
594
+ for (const [sig, handler] of handlers) process.removeListener(sig, handler);
595
+ };
596
+ }
597
+
598
+ function dispatchToOz(opts, brief, run, writeResult) {
599
+ const child = spawn("oz", buildArgv(opts, brief), {
600
+ cwd: opts.cd,
601
+ stdio: ["ignore", "pipe", "pipe"],
602
+ // Never shell:true. The brief is an argv value here, and a shell would
603
+ // reinterpret it. `oz` is a native binary, so no shim resolution needs one.
604
+ detached: process.platform !== "win32", // POSIX: lead a new process group so killChild can fell the whole tree
605
+ });
606
+
607
+ let runId = null;
608
+ let runUrl = null;
609
+ let conversationId = null;
610
+ let streamError = null;
611
+ const textChunks = [];
612
+ const stderrTail = [];
613
+ const scan = makeEventScanner((event) => {
614
+ if (event && typeof event === "object") {
615
+ if (typeof event.run_id === "string") runId = event.run_id;
616
+ if (typeof event.run_url === "string") runUrl = event.run_url;
617
+ if (typeof event.conversation_id === "string") conversationId = event.conversation_id;
618
+ if (event.type === "error" || event.event_type === "run_failed") {
619
+ const detail = typeof event.message === "string" ? event.message
620
+ : typeof event.error === "string" ? event.error : null;
621
+ streamError = detail || `oz reported ${event.event_type || event.type}`;
622
+ }
623
+ }
624
+ collectText(event, (text) => textChunks.push(text));
625
+ });
626
+
627
+ // Decode across chunk boundaries: a multibyte UTF-8 character split between
628
+ // two data events would otherwise decode as U+FFFD and corrupt the report.
629
+ // Files get the raw bytes; only in-memory parsing goes through the decoders.
630
+ const stdoutDecoder = new StringDecoder("utf8");
631
+ const stderrDecoder = new StringDecoder("utf8");
632
+
633
+ child.stdout.on("data", (chunk) => {
634
+ appendFileSync(run.eventsPath, chunk);
635
+ scan(stdoutDecoder.write(chunk));
636
+ });
637
+
638
+ child.stderr.on("data", (chunk) => {
639
+ process.stderr.write(chunk);
640
+ appendFileSync(run.stderrPath, chunk);
641
+ const text = stderrDecoder.write(chunk);
642
+ for (const line of text.split("\n")) {
643
+ if (line.trim()) stderrTail.push(line.trimEnd());
644
+ }
645
+ while (stderrTail.length > 20) stderrTail.shift();
646
+ });
647
+
648
+ const assembleFinal = () => {
649
+ const message = textChunks.join("\n\n");
650
+ if (message) writeFileSync(run.finalPath, message, "utf8");
651
+ return message;
652
+ };
653
+
654
+ let settled = false;
655
+ let watchdogFired = false;
656
+ let sigkillTimer = null;
657
+ const timeoutMs = parseDuration(opts.timeout) ?? parseDuration(DEFAULT_TIMEOUT);
658
+ const watchdogTimer = setTimeout(() => {
659
+ watchdogFired = true;
660
+ child.once("exit", () => {
661
+ child.stdout.destroy();
662
+ child.stderr.destroy();
663
+ });
664
+ killChild(child);
665
+ sigkillTimer = setTimeout(() => {
666
+ if (!settled) killChild(child, "SIGKILL");
667
+ }, 10_000);
668
+ }, timeoutMs);
669
+
670
+ const clearWatchdog = () => {
671
+ clearTimeout(watchdogTimer);
672
+ if (sigkillTimer) clearTimeout(sigkillTimer);
673
+ };
674
+
675
+ // The relay's own death must still produce a result: without this, a kill from the
676
+ // orchestrator's side (its command timeout, a stopped task, a closed terminal) writes
677
+ // no result.json and leaves the oz child running or dying mid-edit with nothing
678
+ // recording why. SIGTERM/SIGHUP registration is a no-op on Windows; SIGINT works there.
679
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
680
+ process.on(sig, () => {
681
+ if (settled) return;
682
+ settled = true;
683
+ clearWatchdog();
684
+ const abortedFields = {
685
+ status: "aborted",
686
+ exitCode: 128 + (constants.signals[sig] || 15),
687
+ signal: sig,
688
+ runId,
689
+ runUrl,
690
+ conversationId,
691
+ finalMessage: assembleFinal(),
692
+ touchedFiles: gitTouchedFiles(opts.cd),
693
+ stderrTail: stderrTail.slice(-20),
694
+ error: `the relay was killed by ${sig}; oz was terminated with it — inspect the working tree before re-dispatching`,
695
+ };
696
+ const result = writeResult(abortedFields);
697
+ printSummary(result, run.resultPath);
698
+ killChild(child);
699
+ setTimeout(() => {
700
+ killChild(child, "SIGKILL");
701
+ // the child may flush files during the grace window; refresh the snapshot so the
702
+ // artifact matches the tree the orchestrator will actually find
703
+ writeResult({ ...abortedFields, touchedFiles: gitTouchedFiles(opts.cd) });
704
+ process.exit(result.exitCode);
705
+ }, 2000);
706
+ });
707
+ }
708
+
709
+ // A grandchild that outlives warp and inherited the pipes keeps stdout/stderr open, so
710
+ // "close" never fires and the relay waits forever, writing no result. Once warp itself is
711
+ // gone the pipes hold nothing we still need, so drop them after a short drain grace and let
712
+ // "close" run. This is the normal-exit twin of the stream teardown the watchdog already
713
+ // does on the timeout path.
714
+ child.once("exit", () => {
715
+ // The implementer already exited. Leaving the watchdog armed lets a drain that
716
+ // overlaps the remaining budget fire, set watchdogFired, and report timeout.
717
+ if (!watchdogFired) clearWatchdog();
718
+ const drain = setTimeout(() => {
719
+ if (settled) return;
720
+ child.stdout.destroy();
721
+ child.stderr.destroy();
722
+ }, 500);
723
+ if (typeof drain.unref === "function") drain.unref();
724
+ });
725
+
726
+ child.on("error", (err) => {
727
+ if (settled) return;
728
+ settled = true;
729
+ clearWatchdog();
730
+ const result = writeResult({
731
+ status: "failed",
732
+ exitCode: 1,
733
+ signal: null,
734
+ runId,
735
+ runUrl,
736
+ conversationId,
737
+ finalMessage: assembleFinal(),
738
+ touchedFiles: gitTouchedFiles(opts.cd),
739
+ stderrTail: stderrTail.slice(-20),
740
+ error: String(err && err.message ? err.message : err),
741
+ });
742
+ printSummary(result, run.resultPath);
743
+ process.exit(1);
744
+ });
745
+
746
+ child.on("close", (code, signal) => {
747
+ if (settled) return;
748
+ settled = true;
749
+ clearWatchdog();
750
+ // a descendant that ignored SIGTERM must not outlive the timeout report: once the
751
+ // parent is down, sweep the group (no-op where taskkill already felled the tree)
752
+ if (watchdogFired) killChild(child, "SIGKILL");
753
+ // A timed-out run is failed even if oz handles SIGTERM by exiting 0 —
754
+ // orchestrators key off status and the relay exit code.
755
+ const succeeded = code === 0 && !watchdogFired && !streamError;
756
+ const mapped = code ?? (constants.signals[signal] ? 128 + constants.signals[signal] : 1);
757
+ const exitCode = succeeded ? 0 : mapped === 0 ? 1 : mapped;
758
+ const result = writeResult({
759
+ status: succeeded ? "completed" : watchdogFired ? "timeout" : "failed",
760
+ exitCode,
761
+ signal: signal ?? null,
762
+ runId,
763
+ runUrl,
764
+ conversationId,
765
+ finalMessage: assembleFinal(),
766
+ touchedFiles: gitTouchedFiles(opts.cd),
767
+ ...(succeeded ? {} : { stderrTail: stderrTail.slice(-20) }),
768
+ ...(watchdogFired ? { error: `oz did not finish within --timeout ${opts.timeout}; killed by the relay watchdog` } : {}),
769
+ ...(!watchdogFired && streamError ? { error: streamError } : {}),
770
+ });
771
+ printSummary(result, run.resultPath);
772
+ process.exit(result.exitCode);
773
+ });
774
+ }
775
+
776
+ async function main() {
777
+ const opts = parseArgs(process.argv.slice(2));
778
+ const brief = readBrief(opts);
779
+ if (!brief.trim()) fail("empty brief (pass --brief <file> or pipe the brief on stdin)");
780
+
781
+ const timeoutMs = parseDuration(opts.timeout) ?? parseDuration(DEFAULT_TIMEOUT);
782
+ const run = prepareRunDir(opts, brief);
783
+ let writeResult = makeResultWriter(opts, null, run);
784
+ let preflightChild = null;
785
+ const clearPreflightSignals = installPreflightSignalHandlers(opts, run, writeResult, () => preflightChild);
786
+ const probe = await probeOzVersion(timeoutMs, (child) => { preflightChild = child; });
787
+ writeResult = makeResultWriter(opts, probe.version, run);
788
+ if (!probe.version && !probe.error) {
789
+ clearPreflightSignals();
790
+ reportUnavailable(writeResult, run.resultPath);
791
+ return;
792
+ }
793
+ if (!probe.version) {
794
+ clearPreflightSignals();
795
+ reportVersionFailure(writeResult, run, probe.error, timeoutMs);
796
+ return;
797
+ }
798
+ clearPreflightSignals();
799
+ dispatchToOz(opts, brief, run, writeResult);
800
+ }
801
+
802
+ function printSummary(result, resultPath) {
803
+ const lines = [];
804
+ lines.push("");
805
+ lines.push(`relay: ${result.status} (exit ${result.exitCode}${result.signal ? `, killed by ${result.signal}` : ""}) · oz ${result.ozVersion ?? "?"}`);
806
+ if (result.signal === "SIGKILL" && result.status === "failed") lines.push("hint: the host killed the process (commonly the OOM killer or a supervisor timeout) — this is not an oz error; check host memory and re-dispatch, or split the task into smaller briefs.");
807
+ if (result.signal === "SIGTERM" && result.status === "failed") lines.push("hint: something outside the relay terminated oz (a supervisor, the session ending, or a manual kill) — when the relay itself does the killing it reports status \"timeout\" or \"aborted\" instead; inspect the working tree before re-dispatching.");
808
+ lines.push("mode: full local tool access — the Warp Agent CLI has no sandbox, permission mode, or read-only run");
809
+ if (result.snapshotDisabled) lines.push("mode: end-of-run workspace snapshot upload disabled (--no-snapshot)");
810
+ if (result.resumed) lines.push("mode: continued an existing conversation");
811
+ if (result.model) lines.push(`model: ${result.model}`);
812
+ if (result.conversationId) lines.push(`conversation id (continue with: --conversation ${result.conversationId}): ${result.conversationId}`);
813
+ if (result.runId) lines.push(`run id: ${result.runId}`);
814
+ if (result.runUrl) lines.push(`run url: ${result.runUrl}`);
815
+ const touched = result.touchedFiles;
816
+ if (touched === null) {
817
+ lines.push("touched files: git unavailable - inspect the working tree directly");
818
+ } else {
819
+ lines.push(`touched files: ${touched.length}`);
820
+ for (const file of touched.slice(0, 40)) lines.push(` ${file}`);
821
+ if (touched.length > 40) lines.push(` ... and ${touched.length - 40} more`);
822
+ }
823
+ if (result.stderrTail && result.stderrTail.length) {
824
+ lines.push("last stderr:");
825
+ for (const line of result.stderrTail.slice(-8)) lines.push(` ${line}`);
826
+ }
827
+ lines.push("");
828
+ lines.push("--- oz final report ---");
829
+ lines.push(result.finalMessage || "(no final message captured — read events.jsonl for the raw stream)");
830
+ lines.push("--- end report ---");
831
+ lines.push("");
832
+ lines.push(`result: ${resultPath}`);
833
+ lines.push("relay does not commit. Review the diff, re-run the project gates yourself, then commit from the orchestrator.");
834
+ process.stdout.write(`${lines.join("\n")}\n`);
835
+ }
836
+
837
+ main();