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,823 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * delegate-skills · omp-delegate · relay.mjs
4
+ *
5
+ * Dispatch a self-contained brief to Oh My Pi (`omp --mode json`), capture the
6
+ * JSON event stream, and write a structured result the orchestrating agent can
7
+ * review. The orchestrator runs this one command and reads the result JSON —
8
+ * every omp-specific mechanic lives in here, which keeps the skill
9
+ * orchestrator-agnostic.
10
+ *
11
+ * Trust posture: relay.mjs itself makes no network calls, reads or writes no
12
+ * credentials, and sends no telemetry; it has no dependencies (Node built-ins
13
+ * only). It shells out only to `omp` and `git`, plus the platform
14
+ * process-termination utility when a Windows process-tree kill requires one.
15
+ * The `omp` process it launches does authenticate — exactly as you do at the
16
+ * terminal. Read this file before you run it.
17
+ *
18
+ * The brief is piped to omp on stdin, so it never appears in the host process
19
+ * list and no argv size cap applies. Keep secrets out of the brief anyway on
20
+ * shared machines — reference workspace files or environment variables instead.
21
+ *
22
+ * It deliberately does NOT commit. Committing is always the orchestrator's job
23
+ * — after it reviews the diff and re-runs the project gates.
24
+ *
25
+ * Autonomy: omp has no sandbox. Print mode has no approval UI, so a write run
26
+ * passes `--yolo` (`tools.approvalMode: yolo`) and executes without prompts.
27
+ * `--read-only` restricts the callable tool surface to `read,grep,glob`.
28
+ * Installed extension code still runs with the user's host permissions when
29
+ * project resources are trusted. The relay passes `--no-extensions --no-skills
30
+ * --no-rules` unless `--approve` explicitly trusts project `.omp` resources.
31
+ * The diff reported in `touchedFiles` is the record of what changed.
32
+ *
33
+ * omp is a native binary (bun / install script / Homebrew), including on
34
+ * Windows, so this relay never launches it through a shell. Only
35
+ * token-validated flag values ride argv (the brief never does).
36
+ *
37
+ * Usage:
38
+ * node relay.mjs --brief <file> [options]
39
+ * cat brief.txt | node relay.mjs [options]
40
+ *
41
+ * Options:
42
+ * --brief <file> Path to the brief. If omitted, read it from stdin.
43
+ * --cd <dir> Working root for omp (default: current directory).
44
+ * --lane <name> Fleet lane from delegate-setup config (dials apply; explicit flags win).
45
+ * --provider <name> omp provider name (default: omp's own default).
46
+ * --model <pattern> omp model id or fuzzy pattern (default: omp's own
47
+ * default). List ids with `omp models`, not
48
+ * `--list-models`. Letters, digits, and . _ : / - only.
49
+ * --thinking <level> omp --thinking: off, auto, minimal, low, medium,
50
+ * high, xhigh, or max.
51
+ * --session <id> Resume a specific omp session; send only the delta brief.
52
+ * --resume-last Continue the most recent omp session for this cwd
53
+ * (`omp --continue`); send only the delta brief.
54
+ * --approve Trust project-local .omp extensions, skills, and
55
+ * rules. By default the relay passes --no-extensions
56
+ * --no-skills --no-rules.
57
+ * --read-only Restrict omp to read,grep,glob (no write/edit/bash).
58
+ * --timeout <dur> Relay-side watchdog (default: 30m). Durations use
59
+ * h/m/s strings. omp's --max-time is not forwarded.
60
+ * --out-dir <dir> Where to write run artifacts (default: a fresh dir
61
+ * under the system temp dir).
62
+ * -h, --help Show this help.
63
+ *
64
+ * Result: written to <out-dir>/result.json and summarized on stdout —
65
+ * status, exitCode, signal, ompVersion, sessionId, finalMessage (omp's own
66
+ * report), requested/actual provider and model, thinking, usage, touchedFiles
67
+ * (git porcelain, null if git cannot report), readOnly, yolo, projectTrusted,
68
+ * and paths to brief.txt, final.txt, events.jsonl, and stderr.txt.
69
+ *
70
+ * Exit codes: a pre-run usage error (bad/missing args, empty brief) exits 2
71
+ * before any run and writes no result file; a missing `omp` binary exits 127;
72
+ * otherwise the exit code mirrors omp's own (0 success, non-zero failure), except
73
+ * a final assistant `error`/`aborted` event exits 1 even if omp exits 0. If the
74
+ * child dies on a signal, the exit code is 128 plus the signal number and
75
+ * `result.json` records the signal. Once the brief validates, `result.json` is
76
+ * written on every outcome — completed, failed, timeout (the --timeout watchdog
77
+ * fired, or the bounded --version preflight hung), aborted (the relay itself
78
+ * was killed and forwarded the kill to omp), or omp_unavailable.
79
+ */
80
+
81
+ import {spawn, execFileSync, spawnSync } from "node:child_process";
82
+ import {
83
+ appendFileSync,
84
+ existsSync,
85
+ mkdirSync,
86
+ readFileSync,
87
+ renameSync,
88
+ rmSync,
89
+ statSync,
90
+ writeFileSync,
91
+ } from "node:fs";
92
+ import {join, resolve, basename, dirname } from "node:path";
93
+ import { fileURLToPath } from "node:url";
94
+ import { constants, tmpdir } from "node:os";
95
+ import { StringDecoder } from "node:string_decoder";
96
+ const MAX_BUFFERED_CHARS = 1_048_576;
97
+
98
+ const DEFAULT_TIMEOUT = "30m";
99
+ const MAX_TIMER_MS = 2_147_483_647;
100
+ const VERSION_TIMEOUT_MS = 10_000;
101
+ const READ_ONLY_TOOLS = "read,grep,glob";
102
+ const THINKING_LEVELS = new Set(["off", "auto", "minimal", "low", "medium", "high", "xhigh", "max"]);
103
+ // --model, --provider, and --session values must not look like flags. omp is
104
+ // launched without a shell, so this is flag-injection defense, not quoting.
105
+ const SAFE_TOKEN = /^[A-Za-z0-9][A-Za-z0-9._:/-]*$/;
106
+
107
+ const IMPLEMENTER_KEY = "omp";
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
+ if (field === "autonomy" && (flagged.has("autonomy") || flagged.has("sandbox") || flagged.has("readOnly"))) continue;
197
+ if (field === "agent" && (flagged.has("agent") || flagged.has("readOnly"))) continue;
198
+ if (field === "sandbox" && (flagged.has("sandbox") || flagged.has("readOnly"))) continue;
199
+ if (field === "permissionMode" && (flagged.has("permissionMode") || flagged.has("readOnly"))) continue;
200
+ if (field === "planOnly" && (flagged.has("planOnly") || flagged.has("readOnly"))) continue;
201
+ if (field === "readOnly" && flagged.has("readOnly")) continue;
202
+ if (field === "force" && flagged.has("force")) continue;
203
+ if (field === "effort") {
204
+ if (flagged.has("thinking")) continue;
205
+ opts.thinking = value;
206
+ continue;
207
+ }
208
+ if (field === "thinking" && flagged.has("thinking")) continue;
209
+ opts[field] = value;
210
+ }
211
+ }
212
+
213
+ function fail(message, code = 2) {
214
+ process.stderr.write(`relay: ${message}\n`);
215
+ process.exit(code);
216
+ }
217
+
218
+ function parseDuration(duration) {
219
+ const match = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/.exec(duration);
220
+ if (!match || (!match[1] && !match[2] && !match[3])) return null;
221
+ try {
222
+ const seconds =
223
+ BigInt(match[1] || 0) * 3600n +
224
+ BigInt(match[2] || 0) * 60n +
225
+ BigInt(match[3] || 0);
226
+ const milliseconds = seconds * 1000n;
227
+ if (milliseconds <= 0n || milliseconds > BigInt(MAX_TIMER_MS)) return null;
228
+ return Number(milliseconds);
229
+ } catch {
230
+ return null;
231
+ }
232
+ }
233
+
234
+ function parseArgs(argv) {
235
+ const flagged = new Set();
236
+ const opts = {
237
+ lane: null,
238
+ laneSource: null,
239
+ brief: null,
240
+ cd: process.cwd(),
241
+ provider: null,
242
+ model: null,
243
+ thinking: null,
244
+ session: null,
245
+ resumeLast: false,
246
+ readOnly: false,
247
+ approve: false,
248
+ timeout: DEFAULT_TIMEOUT,
249
+ outDir: null,
250
+ };
251
+ for (let i = 0; i < argv.length; i += 1) {
252
+ const arg = argv[i];
253
+ const next = () => {
254
+ const value = argv[i + 1];
255
+ if (value === undefined) fail(`${arg} requires a value`);
256
+ i += 1;
257
+ return value;
258
+ };
259
+ switch (arg) {
260
+ case "-h":
261
+ case "--help":
262
+ process.stdout.write(headerComment());
263
+ process.exit(0);
264
+ break;
265
+ case "--brief": opts.brief = next(); break;
266
+ case "--cd": opts.cd = resolve(next()); break;
267
+ case "--lane": opts.lane = next(); break;
268
+ case "--provider": opts.provider = next(); flagged.add("provider"); break;
269
+ case "--model": opts.model = next(); flagged.add("model"); break;
270
+ case "--thinking": opts.thinking = next(); flagged.add("thinking"); break;
271
+ case "--session": opts.session = next(); break;
272
+ case "--resume-last": opts.resumeLast = true; break;
273
+ case "--read-only": opts.readOnly = true; flagged.add("readOnly"); break;
274
+ case "--approve": opts.approve = true; break;
275
+ case "--timeout": opts.timeout = next(); flagged.add("timeout"); break;
276
+ case "--out-dir": opts.outDir = resolve(next()); break;
277
+ default:
278
+ fail(`unknown option: ${arg}`);
279
+ }
280
+ }
281
+ applyFleetLane(opts, flagged);
282
+ if (opts.resumeLast && opts.session) {
283
+ fail("--resume-last and --session are mutually exclusive; pass only one");
284
+ }
285
+ for (const flag of ["model", "provider", "session"]) {
286
+ if (opts[flag] !== null && !SAFE_TOKEN.test(opts[flag])) {
287
+ fail(`--${flag} value contains unsupported characters (allowed: letters, digits, . _ : / -)`);
288
+ }
289
+ }
290
+ if (opts.thinking !== null && !THINKING_LEVELS.has(opts.thinking)) {
291
+ fail(`invalid --thinking "${opts.thinking}" (expected: ${[...THINKING_LEVELS].join(", ")})`);
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 omp --mode json\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 ompVersion(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
+ const probe = await runProbe("omp", ["--version"]);
386
+ if (probe.timedOut) {
387
+ return { version: null, error: Object.assign(new Error("omp --version timed out"), { code: "ETIMEDOUT", stderr: probe.stderr }) };
388
+ }
389
+ if (probe.error && probe.error.code === "ENOENT") return { version: null, error: null };
390
+ if (probe.error) return { version: null, error: probe.error };
391
+ if (probe.code !== 0) {
392
+ return { version: null, error: Object.assign(new Error("omp --version failed"), { status: probe.code, stderr: probe.stderr }) };
393
+ }
394
+ return { version: probe.stdout.trim() || "unknown", error: null };
395
+ }
396
+
397
+ function gitTouchedFiles(cwd) {
398
+ try {
399
+ const output = execFileSync("git", ["status", "--porcelain"], {
400
+ cwd,
401
+ encoding: "utf8",
402
+ timeout: 10_000,
403
+ killSignal: "SIGKILL",
404
+ stdio: ["ignore", "pipe", "ignore"],
405
+ maxBuffer: 64 * 1024 * 1024,
406
+ });
407
+ return output.split("\n").map((line) => line.trimEnd()).filter(Boolean);
408
+ } catch {
409
+ return null;
410
+ }
411
+ }
412
+
413
+ function timestamp() {
414
+ return new Date().toISOString().replace(/[:.]/g, "-");
415
+ }
416
+
417
+ function buildArgv(opts) {
418
+ // The brief rides stdin, never argv. --mode json is print mode: omp reads
419
+ // the piped brief, streams events, and exits.
420
+ const argv = ["--mode", "json"];
421
+ if (opts.provider) argv.push("--provider", opts.provider);
422
+ if (opts.model) argv.push("--model", opts.model);
423
+ if (opts.thinking) argv.push("--thinking", opts.thinking);
424
+ if (opts.session) argv.push("--session", opts.session);
425
+ else if (opts.resumeLast) argv.push("--continue");
426
+ if (!opts.readOnly) argv.push("--yolo");
427
+ if (opts.readOnly) argv.push("--tools", READ_ONLY_TOOLS);
428
+ if (!opts.approve) argv.push("--no-extensions", "--no-skills", "--no-rules");
429
+ return argv;
430
+ }
431
+
432
+ function prepareRunDir(opts, brief) {
433
+ const startedAt = new Date().toISOString();
434
+ const outDir = opts.outDir || join(tmpdir(), "delegate-relay", `${basename(opts.cd) || "repo"}-${timestamp()}`);
435
+ mkdirSync(outDir, { recursive: true });
436
+ const run = {
437
+ startedAt,
438
+ briefPath: join(outDir, "brief.txt"),
439
+ finalPath: join(outDir, "final.txt"),
440
+ eventsPath: join(outDir, "events.jsonl"),
441
+ stderrPath: join(outDir, "stderr.txt"),
442
+ resultPath: join(outDir, "result.json"),
443
+ };
444
+ // A reused --out-dir must not leak a previous run's artifacts into this one.
445
+ rmSync(run.finalPath, { force: true });
446
+ rmSync(run.resultPath, { force: true });
447
+ writeFileSync(run.briefPath, brief, "utf8");
448
+ writeFileSync(run.eventsPath, "", "utf8");
449
+ writeFileSync(run.stderrPath, "", "utf8");
450
+ return run;
451
+ }
452
+
453
+ function makeResultWriter(opts, version, run) {
454
+ return (extra) => {
455
+ const result = {
456
+ schema: "delegate-relay.result.v1",
457
+ lane: opts.lane,
458
+ laneSource: opts.laneSource,
459
+ tool: "omp",
460
+ workdir: opts.cd,
461
+ provider: opts.provider,
462
+ model: opts.model,
463
+ thinking: opts.thinking,
464
+ readOnly: opts.readOnly,
465
+ yolo: !opts.readOnly,
466
+ projectTrusted: opts.approve,
467
+ resumed: Boolean(opts.resumeLast || opts.session),
468
+ ompVersion: version,
469
+ startedAt: run.startedAt,
470
+ finishedAt: new Date().toISOString(),
471
+ briefPath: run.briefPath,
472
+ finalPath: existsSync(run.finalPath) ? run.finalPath : null,
473
+ eventsPath: run.eventsPath,
474
+ stderrPath: run.stderrPath,
475
+ ...extra,
476
+ };
477
+ // Atomic write: a polling orchestrator never reads a half-written result.
478
+ const temporary = `${run.resultPath}.${process.pid}.tmp`;
479
+ writeFileSync(temporary, `${JSON.stringify(result, null, 2)}\n`, "utf8");
480
+ renameSync(temporary, run.resultPath);
481
+ return result;
482
+ };
483
+ }
484
+
485
+ function reportUnavailable(writeResult, resultPath) {
486
+ const result = writeResult({
487
+ status: "omp_unavailable",
488
+ exitCode: 127,
489
+ signal: null,
490
+ sessionId: null,
491
+ actualProvider: null,
492
+ actualModel: null,
493
+ usage: null,
494
+ stopReason: null,
495
+ finalMessage: "",
496
+ touchedFiles: null,
497
+ });
498
+ printSummary(result, resultPath);
499
+ process.stderr.write("relay: `omp` not found on PATH. Install with `bun install -g @oh-my-pi/pi-coding-agent`, then authenticate (`/login`, or an API-key environment variable).\n");
500
+ process.exit(127);
501
+ }
502
+
503
+ function reportVersionFailure(writeResult, run, error, timeoutMs) {
504
+ const timedOut = error && error.code === "ETIMEDOUT";
505
+ const stderr = String((error && error.stderr) || "").trim();
506
+ if (stderr) writeFileSync(run.stderrPath, `${stderr}\n`, "utf8");
507
+ const message = timedOut
508
+ ? `omp --version preflight timed out after ${Math.min(timeoutMs, VERSION_TIMEOUT_MS)}ms; omp was not dispatched`
509
+ : `omp --version preflight failed${Number.isInteger(error && error.status) ? ` with exit ${error.status}` : ""}; omp was not dispatched`;
510
+ const result = writeResult({
511
+ status: timedOut ? "timeout" : "failed",
512
+ exitCode: timedOut ? 124 : Number.isInteger(error && error.status) ? error.status : 1,
513
+ signal: null,
514
+ sessionId: null,
515
+ actualProvider: null,
516
+ actualModel: null,
517
+ usage: null,
518
+ stopReason: null,
519
+ finalMessage: "",
520
+ touchedFiles: null,
521
+ ...(stderr ? { stderrTail: stderr.split("\n").slice(-20) } : {}),
522
+ error: message,
523
+ });
524
+ printSummary(result, run.resultPath);
525
+ process.stderr.write(`relay: ${message}\n`);
526
+ process.exit(result.exitCode);
527
+ }
528
+
529
+ function installPreflightSignalHandlers(opts, run, writeResult, getChild) {
530
+ let active = true;
531
+ const handlers = new Map();
532
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
533
+ const handler = () => {
534
+ if (!active) return;
535
+ active = false;
536
+ const result = writeResult({
537
+ status: "aborted",
538
+ exitCode: 128 + (constants.signals[sig] || 15),
539
+ signal: sig,
540
+ sessionId: null,
541
+ actualProvider: null,
542
+ actualModel: null,
543
+ usage: null,
544
+ stopReason: null,
545
+ finalMessage: "",
546
+ touchedFiles: gitTouchedFiles(opts.cd),
547
+ error: `the relay was killed by ${sig} during the omp version preflight; omp was not dispatched`,
548
+ });
549
+ printSummary(result, run.resultPath);
550
+ const child = getChild();
551
+ if (child) killChild(child, process.platform === "win32" ? "SIGTERM" : "SIGKILL");
552
+ process.exit(result.exitCode);
553
+ };
554
+ handlers.set(sig, handler);
555
+ process.on(sig, handler);
556
+ }
557
+ return () => {
558
+ active = false;
559
+ for (const [sig, handler] of handlers) process.removeListener(sig, handler);
560
+ };
561
+ }
562
+
563
+ function dispatchToOmp(opts, brief, run, writeResult) {
564
+ const child = spawn("omp", buildArgv(opts), {
565
+ cwd: opts.cd,
566
+ stdio: ["pipe", "pipe", "pipe"],
567
+ // Native binary on every platform, including Windows. Never shell: a shell
568
+ // would reinterpret the (already stdin-delivered) session, and omp.exe is
569
+ // not a .cmd shim.
570
+ detached: process.platform !== "win32", // POSIX: lead a new process group so killChild can fell the whole tree
571
+ });
572
+
573
+ let sessionId = null;
574
+ let actualProvider = null;
575
+ let actualModel = null;
576
+ let usage = null;
577
+ let stopReason = null;
578
+ let assistantError = null;
579
+ const textChunks = [];
580
+ const stderrTail = [];
581
+ const scan = makeEventScanner((event) => {
582
+ if (event.type === "session" && typeof event.id === "string") {
583
+ sessionId = event.id;
584
+ }
585
+ if (event.type === "message_end" && event.message && event.message.role === "assistant") {
586
+ const content = event.message.content;
587
+ if (typeof content === "string") textChunks.push(content);
588
+ if (Array.isArray(content)) {
589
+ for (const part of content) {
590
+ if (part && part.type === "text" && typeof part.text === "string") textChunks.push(part.text);
591
+ }
592
+ }
593
+ if (typeof event.message.provider === "string") actualProvider = event.message.provider;
594
+ if (typeof event.message.model === "string") actualModel = event.message.model;
595
+ if (event.message.usage && typeof event.message.usage === "object") usage = event.message.usage;
596
+ if (typeof event.message.stopReason === "string") stopReason = event.message.stopReason;
597
+ if (typeof event.message.errorMessage === "string") assistantError = event.message.errorMessage;
598
+ }
599
+ });
600
+
601
+ // Decode across chunk boundaries: a multibyte UTF-8 character split between
602
+ // two data events would otherwise decode as U+FFFD and corrupt the report.
603
+ // Files get the raw bytes; only in-memory parsing goes through the decoders.
604
+ const stdoutDecoder = new StringDecoder("utf8");
605
+ const stderrDecoder = new StringDecoder("utf8");
606
+
607
+ child.stdout.on("data", (chunk) => {
608
+ appendFileSync(run.eventsPath, chunk);
609
+ scan(stdoutDecoder.write(chunk));
610
+ });
611
+
612
+ child.stderr.on("data", (chunk) => {
613
+ process.stderr.write(chunk);
614
+ appendFileSync(run.stderrPath, chunk);
615
+ const text = stderrDecoder.write(chunk);
616
+ for (const line of text.split("\n")) {
617
+ if (line.trim()) stderrTail.push(line.trimEnd());
618
+ }
619
+ while (stderrTail.length > 20) stderrTail.shift();
620
+ });
621
+
622
+ // A fast-exiting omp (usage error, crashed startup) closes the pipe before
623
+ // the write; swallow EPIPE here — the exit code reports the failure.
624
+ child.stdin.on("error", () => {});
625
+ child.stdin.write(brief);
626
+ child.stdin.end();
627
+
628
+ const assembleFinal = () => {
629
+ const message = textChunks.join("\n\n");
630
+ if (message) writeFileSync(run.finalPath, message, "utf8");
631
+ return message;
632
+ };
633
+
634
+ let settled = false;
635
+ let watchdogFired = false;
636
+ let sigkillTimer = null;
637
+ const timeoutMs = parseDuration(opts.timeout) ?? parseDuration(DEFAULT_TIMEOUT);
638
+ const watchdogTimer = setTimeout(() => {
639
+ watchdogFired = true;
640
+ child.once("exit", () => {
641
+ child.stdout.destroy();
642
+ child.stderr.destroy();
643
+ });
644
+ killChild(child);
645
+ sigkillTimer = setTimeout(() => {
646
+ if (!settled) killChild(child, "SIGKILL");
647
+ }, 10_000);
648
+ }, timeoutMs);
649
+
650
+ const clearWatchdog = () => {
651
+ clearTimeout(watchdogTimer);
652
+ if (sigkillTimer) clearTimeout(sigkillTimer);
653
+ };
654
+
655
+ // The relay's own death must still produce a result: without this, a kill from the
656
+ // orchestrator's side (its command timeout, a stopped task, a closed terminal) writes
657
+ // no result.json and leaves the omp child running or dying mid-edit with nothing
658
+ // recording why. SIGTERM/SIGHUP registration is a no-op on Windows; SIGINT works there.
659
+ for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
660
+ process.on(sig, () => {
661
+ if (settled) return;
662
+ settled = true;
663
+ clearWatchdog();
664
+ const abortedFields = {
665
+ status: "aborted",
666
+ exitCode: 128 + (constants.signals[sig] || 15),
667
+ signal: sig,
668
+ sessionId,
669
+ actualProvider,
670
+ actualModel,
671
+ usage,
672
+ stopReason,
673
+ finalMessage: assembleFinal(),
674
+ touchedFiles: gitTouchedFiles(opts.cd),
675
+ stderrTail: stderrTail.slice(-20),
676
+ error: `the relay was killed by ${sig}; omp was terminated with it — inspect the working tree before re-dispatching`,
677
+ };
678
+ const result = writeResult(abortedFields);
679
+ printSummary(result, run.resultPath);
680
+ killChild(child);
681
+ setTimeout(() => {
682
+ killChild(child, "SIGKILL");
683
+ // the child may flush files during the grace window; refresh the snapshot so the
684
+ // artifact matches the tree the orchestrator will actually find
685
+ writeResult({ ...abortedFields, touchedFiles: gitTouchedFiles(opts.cd) });
686
+ process.exit(result.exitCode);
687
+ }, 2000);
688
+ });
689
+ }
690
+
691
+ // A grandchild that outlives omp and inherited the pipes keeps stdout/stderr open, so
692
+ // "close" never fires and the relay waits forever, writing no result. Once omp itself is
693
+ // gone the pipes hold nothing we still need, so drop them after a short drain grace and let
694
+ // "close" run. This is the normal-exit twin of the stream teardown the watchdog already
695
+ // does on the timeout path.
696
+ child.once("exit", () => {
697
+ // The implementer already exited. Leaving the watchdog armed lets a drain that
698
+ // overlaps the remaining budget fire, set watchdogFired, and report timeout.
699
+ if (!watchdogFired) clearWatchdog();
700
+ const drain = setTimeout(() => {
701
+ if (settled) return;
702
+ child.stdout.destroy();
703
+ child.stderr.destroy();
704
+ }, 500);
705
+ if (typeof drain.unref === "function") drain.unref();
706
+ });
707
+
708
+ child.on("error", (err) => {
709
+ if (settled) return;
710
+ settled = true;
711
+ clearWatchdog();
712
+ const result = writeResult({
713
+ status: "failed",
714
+ exitCode: 1,
715
+ signal: null,
716
+ sessionId,
717
+ actualProvider,
718
+ actualModel,
719
+ usage,
720
+ stopReason,
721
+ finalMessage: assembleFinal(),
722
+ touchedFiles: gitTouchedFiles(opts.cd),
723
+ error: String(err && err.message ? err.message : err),
724
+ });
725
+ printSummary(result, run.resultPath);
726
+ process.exit(1);
727
+ });
728
+
729
+ child.on("close", (code, signal) => {
730
+ if (settled) return;
731
+ settled = true;
732
+ clearWatchdog();
733
+ // a descendant that ignored SIGTERM must not outlive the timeout report: once the
734
+ // parent is down, sweep the group (no-op where taskkill already felled the tree)
735
+ if (watchdogFired) killChild(child, "SIGKILL");
736
+ // A timed-out run is failed even if omp handles SIGTERM by exiting 0 —
737
+ // orchestrators key off status and the relay exit code.
738
+ const assistantFailed = stopReason === "error" || stopReason === "aborted";
739
+ const succeeded = code === 0 && !watchdogFired && !assistantFailed;
740
+ const mapped = code ?? (constants.signals[signal] ? 128 + constants.signals[signal] : 1);
741
+ const exitCode = succeeded ? 0 : mapped === 0 ? 1 : mapped;
742
+ const result = writeResult({
743
+ status: succeeded ? "completed" : watchdogFired ? "timeout" : "failed",
744
+ exitCode,
745
+ signal: signal ?? null,
746
+ sessionId,
747
+ actualProvider,
748
+ actualModel,
749
+ usage,
750
+ stopReason,
751
+ finalMessage: assembleFinal(),
752
+ touchedFiles: gitTouchedFiles(opts.cd),
753
+ ...(succeeded ? {} : { stderrTail: stderrTail.slice(-20) }),
754
+ ...(watchdogFired ? { error: `omp did not finish within --timeout ${opts.timeout}; killed by the relay watchdog` } : {}),
755
+ ...(!watchdogFired && assistantFailed ? { error: assistantError || `omp ended with stopReason "${stopReason}"` } : {}),
756
+ });
757
+ printSummary(result, run.resultPath);
758
+ process.exit(result.exitCode);
759
+ });
760
+ }
761
+
762
+ async function main() {
763
+ const opts = parseArgs(process.argv.slice(2));
764
+ const brief = readBrief(opts);
765
+ if (!brief.trim()) fail("empty brief (pass --brief <file> or pipe the brief on stdin)");
766
+
767
+ const timeoutMs = parseDuration(opts.timeout) ?? parseDuration(DEFAULT_TIMEOUT);
768
+ const run = prepareRunDir(opts, brief);
769
+ let writeResult = makeResultWriter(opts, null, run);
770
+ let preflightChild = null;
771
+ const clearPreflightSignals = installPreflightSignalHandlers(opts, run, writeResult, () => preflightChild);
772
+ const probe = await ompVersion(timeoutMs, (child) => { preflightChild = child; });
773
+ writeResult = makeResultWriter(opts, probe.version, run);
774
+ if (!probe.version && !probe.error) {
775
+ clearPreflightSignals();
776
+ reportUnavailable(writeResult, run.resultPath);
777
+ return;
778
+ }
779
+ if (!probe.version) {
780
+ clearPreflightSignals();
781
+ reportVersionFailure(writeResult, run, probe.error, timeoutMs);
782
+ return;
783
+ }
784
+ clearPreflightSignals();
785
+ dispatchToOmp(opts, brief, run, writeResult);
786
+ }
787
+
788
+ function printSummary(result, resultPath) {
789
+ const lines = [];
790
+ lines.push("");
791
+ lines.push(`relay: ${result.status} (exit ${result.exitCode}${result.signal ? `, killed by ${result.signal}` : ""}) · omp ${result.ompVersion ?? "?"}`);
792
+ 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 omp error; check host memory and re-dispatch, or split the task into smaller briefs.");
793
+ if (result.signal === "SIGTERM" && result.status === "failed") lines.push("hint: something outside the relay terminated omp (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.");
794
+ if (result.readOnly) lines.push(`mode: read-only (tools ${READ_ONLY_TOOLS})`);
795
+ if (result.yolo) lines.push("mode: --yolo (tools.approvalMode yolo)");
796
+ if (result.projectTrusted) lines.push("mode: project resources trusted (--approve)");
797
+ if (result.resumed) lines.push("mode: resumed an existing session");
798
+ if (result.thinking) lines.push(`thinking: ${result.thinking}`);
799
+ if (result.actualModel) lines.push(`model: ${result.actualProvider ? `${result.actualProvider}/` : ""}${result.actualModel}`);
800
+ if (result.sessionId) lines.push(`session id (resume with: --session ${result.sessionId}): ${result.sessionId}`);
801
+ const touched = result.touchedFiles;
802
+ if (touched === null) {
803
+ lines.push("touched files: git unavailable - inspect the working tree directly");
804
+ } else {
805
+ lines.push(`touched files: ${touched.length}`);
806
+ for (const file of touched.slice(0, 40)) lines.push(` ${file}`);
807
+ if (touched.length > 40) lines.push(` ... and ${touched.length - 40} more`);
808
+ }
809
+ if (result.stderrTail && result.stderrTail.length) {
810
+ lines.push("last stderr:");
811
+ for (const line of result.stderrTail.slice(-8)) lines.push(` ${line}`);
812
+ }
813
+ lines.push("");
814
+ lines.push("--- omp final report ---");
815
+ lines.push(result.finalMessage || "(no final message captured)");
816
+ lines.push("--- end report ---");
817
+ lines.push("");
818
+ lines.push(`result: ${resultPath}`);
819
+ lines.push("relay does not commit. Review the diff, re-run the project gates yourself, then commit from the orchestrator.");
820
+ process.stdout.write(`${lines.join("\n")}\n`);
821
+ }
822
+
823
+ main();