@galaxyproject/orbit 0.0.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/LICENSE +21 -0
  3. package/README.md +760 -5
  4. package/bin/legacy-mcp-config.js +363 -0
  5. package/bin/orbit.js +810 -0
  6. package/bin/pi-extension-path.d.ts +4 -0
  7. package/bin/pi-extension-path.js +44 -0
  8. package/bin/provider-auth.d.ts +22 -0
  9. package/bin/provider-auth.js +77 -0
  10. package/bin/thinking-pref.js +38 -0
  11. package/bin/update-check.d.ts +15 -0
  12. package/bin/update-check.js +137 -0
  13. package/extensions/cli-update/index.ts +32 -0
  14. package/extensions/orbit/activity-hooks.ts +141 -0
  15. package/extensions/orbit/activity.ts +116 -0
  16. package/extensions/orbit/agent-dir.ts +11 -0
  17. package/extensions/orbit/auto-resume.ts +352 -0
  18. package/extensions/orbit/config.ts +3 -0
  19. package/extensions/orbit/confusables.ts +1 -0
  20. package/extensions/orbit/context.ts +957 -0
  21. package/extensions/orbit/dashboard-commands.ts +191 -0
  22. package/extensions/orbit/dashboard-store.ts +473 -0
  23. package/extensions/orbit/dashboard-tools.ts +1185 -0
  24. package/extensions/orbit/empty-completion.ts +99 -0
  25. package/extensions/orbit/evidence-gate.ts +1276 -0
  26. package/extensions/orbit/evidence-override-command.ts +294 -0
  27. package/extensions/orbit/exec-guard/bash-risk.ts +1408 -0
  28. package/extensions/orbit/exec-guard/gate.ts +181 -0
  29. package/extensions/orbit/exec-guard/guardian-config.ts +54 -0
  30. package/extensions/orbit/exec-guard/index.ts +1 -0
  31. package/extensions/orbit/exec-guard/model-tier.ts +36 -0
  32. package/extensions/orbit/exec-guard/path-jail.ts +54 -0
  33. package/extensions/orbit/exec-guard/policy.ts +342 -0
  34. package/extensions/orbit/exec-guard/runtime-state.ts +15 -0
  35. package/extensions/orbit/exec-guard/sensitive-read.ts +525 -0
  36. package/extensions/orbit/exec-guard/types.ts +42 -0
  37. package/extensions/orbit/execution-commands.ts +134 -0
  38. package/extensions/orbit/feedback-command.ts +81 -0
  39. package/extensions/orbit/feedback.ts +96 -0
  40. package/extensions/orbit/galaxy-api.test.ts +122 -0
  41. package/extensions/orbit/galaxy-api.ts +606 -0
  42. package/extensions/orbit/galaxy-artifact-link-guidance.ts +5 -0
  43. package/extensions/orbit/galaxy-destructive-gate.ts +113 -0
  44. package/extensions/orbit/galaxy-enrich.ts +1108 -0
  45. package/extensions/orbit/galaxy-failure.ts +101 -0
  46. package/extensions/orbit/galaxy-fixture.ts +126 -0
  47. package/extensions/orbit/galaxy-history-guard.ts +233 -0
  48. package/extensions/orbit/galaxy-job-block.ts +347 -0
  49. package/extensions/orbit/galaxy-job-ops.ts +288 -0
  50. package/extensions/orbit/galaxy-live-source.ts +929 -0
  51. package/extensions/orbit/galaxy-markdown-adapter.ts +248 -0
  52. package/extensions/orbit/galaxy-op-policy.ts +332 -0
  53. package/extensions/orbit/galaxy-ops-tools.ts +326 -0
  54. package/extensions/orbit/galaxy-output-store.ts +80 -0
  55. package/extensions/orbit/galaxy-output.ts +346 -0
  56. package/extensions/orbit/galaxy-page-binding.ts +222 -0
  57. package/extensions/orbit/galaxy-page-markdown-guidance.ts +15 -0
  58. package/extensions/orbit/galaxy-page-ops.ts +159 -0
  59. package/extensions/orbit/galaxy-page-sync.test.ts +417 -0
  60. package/extensions/orbit/galaxy-page-sync.ts +318 -0
  61. package/extensions/orbit/galaxy-pages-api.ts +203 -0
  62. package/extensions/orbit/galaxy-pages-sync.ts +409 -0
  63. package/extensions/orbit/galaxy-poll-guard.ts +189 -0
  64. package/extensions/orbit/galaxy-poller.ts +706 -0
  65. package/extensions/orbit/galaxy-provenance.ts +623 -0
  66. package/extensions/orbit/galaxy-reconcile.ts +956 -0
  67. package/extensions/orbit/galaxy-recovery.ts +176 -0
  68. package/extensions/orbit/galaxy-repeat-guard.ts +55 -0
  69. package/extensions/orbit/galaxy-submission-capture.ts +707 -0
  70. package/extensions/orbit/galaxy-submission.ts +502 -0
  71. package/extensions/orbit/galaxy-tool-source.ts +78 -0
  72. package/extensions/orbit/galaxy-tool-wrap.ts +234 -0
  73. package/extensions/orbit/galaxy-udt-block.ts +127 -0
  74. package/extensions/orbit/galaxy-upload-tus.ts +334 -0
  75. package/extensions/orbit/galaxy-upload.ts +300 -0
  76. package/extensions/orbit/galaxy-version-capture.ts +65 -0
  77. package/extensions/orbit/git.ts +173 -0
  78. package/extensions/orbit/harness-block-fields.ts +597 -0
  79. package/extensions/orbit/index.ts +593 -0
  80. package/extensions/orbit/init-gate.ts +284 -0
  81. package/extensions/orbit/instructions-command.ts +136 -0
  82. package/extensions/orbit/invocation-failure-hint.ts +57 -0
  83. package/extensions/orbit/iwc-plan-check.ts +94 -0
  84. package/extensions/orbit/lesson-command.ts +303 -0
  85. package/extensions/orbit/lesson-hint.ts +245 -0
  86. package/extensions/orbit/lesson-nudge.ts +106 -0
  87. package/extensions/orbit/lessons/compose.ts +177 -0
  88. package/extensions/orbit/lessons/counters.ts +120 -0
  89. package/extensions/orbit/lessons/enabled.ts +116 -0
  90. package/extensions/orbit/lessons/matcher.ts +346 -0
  91. package/extensions/orbit/lessons/paths.ts +286 -0
  92. package/extensions/orbit/lessons/pi-event-contract.ts +105 -0
  93. package/extensions/orbit/lessons/propose-replay.ts +103 -0
  94. package/extensions/orbit/lessons/propose-tool.ts +222 -0
  95. package/extensions/orbit/lessons/propose.ts +502 -0
  96. package/extensions/orbit/lessons/replay.ts +89 -0
  97. package/extensions/orbit/lessons/reproduction-index.ts +83 -0
  98. package/extensions/orbit/lessons/search-tool.ts +99 -0
  99. package/extensions/orbit/lessons/search.ts +136 -0
  100. package/extensions/orbit/lessons/store.ts +415 -0
  101. package/extensions/orbit/lessons/text.ts +36 -0
  102. package/extensions/orbit/lessons/types.ts +69 -0
  103. package/extensions/orbit/lessons/user-dir.ts +24 -0
  104. package/extensions/orbit/lessons/user-lesson.ts +88 -0
  105. package/extensions/orbit/lessons/wrapper.ts +61 -0
  106. package/extensions/orbit/lessons-command.ts +147 -0
  107. package/extensions/orbit/local-exec.ts +39 -0
  108. package/extensions/orbit/mcp-output.ts +179 -0
  109. package/extensions/orbit/mcp-servers.test.ts +24 -0
  110. package/extensions/orbit/mcp-servers.ts +25 -0
  111. package/extensions/orbit/model-script.ts +351 -0
  112. package/extensions/orbit/notebook-anchors.ts +342 -0
  113. package/extensions/orbit/notebook-writer.ts +863 -0
  114. package/extensions/orbit/observation-allowlists.ts +1109 -0
  115. package/extensions/orbit/observation-replay.ts +148 -0
  116. package/extensions/orbit/observation-triggers.ts +563 -0
  117. package/extensions/orbit/observation-ui.ts +175 -0
  118. package/extensions/orbit/observations-command.ts +421 -0
  119. package/extensions/orbit/observations-config.ts +200 -0
  120. package/extensions/orbit/observations.ts +1381 -0
  121. package/extensions/orbit/profiles.ts +270 -0
  122. package/extensions/orbit/progress-updates.ts +95 -0
  123. package/extensions/orbit/proposal-commands.ts +882 -0
  124. package/extensions/orbit/provenance-fs-file.ts +59 -0
  125. package/extensions/orbit/provenance-fs.ts +32 -0
  126. package/extensions/orbit/provenance-memory-fs.ts +59 -0
  127. package/extensions/orbit/record-store-file.ts +177 -0
  128. package/extensions/orbit/record-store-page.ts +77 -0
  129. package/extensions/orbit/record-store-seam.ts +47 -0
  130. package/extensions/orbit/record-store.ts +149 -0
  131. package/extensions/orbit/registry-carrier.ts +107 -0
  132. package/extensions/orbit/registry-eligibility.ts +95 -0
  133. package/extensions/orbit/registry-evaluation.ts +403 -0
  134. package/extensions/orbit/registry-evaluator.ts +519 -0
  135. package/extensions/orbit/registry-import.ts +91 -0
  136. package/extensions/orbit/registry-lock.ts +221 -0
  137. package/extensions/orbit/registry-memory-fs.ts +42 -0
  138. package/extensions/orbit/registry-page-carrier.ts +103 -0
  139. package/extensions/orbit/registry-proposal.ts +1348 -0
  140. package/extensions/orbit/registry-runtime.ts +234 -0
  141. package/extensions/orbit/registry-schema.ts +735 -0
  142. package/extensions/orbit/registry-submitter.ts +59 -0
  143. package/extensions/orbit/registry-templates.ts +346 -0
  144. package/extensions/orbit/registry.ts +476 -0
  145. package/extensions/orbit/sandbox/index.ts +120 -0
  146. package/extensions/orbit/sandbox/sandbox-bash.ts +93 -0
  147. package/extensions/orbit/sandbox/sandbox-config.ts +87 -0
  148. package/extensions/orbit/sandbox/sandbox-init-message.ts +28 -0
  149. package/extensions/orbit/secret-redaction.ts +247 -0
  150. package/extensions/orbit/session-index/cwd.ts +18 -0
  151. package/extensions/orbit/session-index/db.ts +56 -0
  152. package/extensions/orbit/session-index/indexer.ts +154 -0
  153. package/extensions/orbit/session-index/is-enabled.ts +17 -0
  154. package/extensions/orbit/session-index/parse.ts +254 -0
  155. package/extensions/orbit/session-index/query.ts +209 -0
  156. package/extensions/orbit/session-index/schema.ts +72 -0
  157. package/extensions/orbit/session-index/tools.ts +152 -0
  158. package/extensions/orbit/session-lifecycle.ts +321 -0
  159. package/extensions/orbit/skill-triggers.ts +159 -0
  160. package/extensions/orbit/skills-command.ts +48 -0
  161. package/extensions/orbit/skills-discovery.ts +435 -0
  162. package/extensions/orbit/skills.ts +84 -0
  163. package/extensions/orbit/sra-import-gate.ts +77 -0
  164. package/extensions/orbit/state.ts +265 -0
  165. package/extensions/orbit/submission-replay.ts +147 -0
  166. package/extensions/orbit/sync-command.ts +157 -0
  167. package/extensions/orbit/teams/critic-parser.ts +93 -0
  168. package/extensions/orbit/teams/dispatcher.ts +210 -0
  169. package/extensions/orbit/teams/is-enabled.ts +22 -0
  170. package/extensions/orbit/teams/tool.ts +187 -0
  171. package/extensions/orbit/teams/types.ts +57 -0
  172. package/extensions/orbit/teams/validate.ts +42 -0
  173. package/extensions/orbit/tester-id-command.ts +133 -0
  174. package/extensions/orbit/tools-sync.ts +279 -0
  175. package/extensions/orbit/tools.ts +1300 -0
  176. package/extensions/orbit/types.ts +41 -0
  177. package/extensions/orbit/ui-bridge.ts +55 -0
  178. package/extensions/orbit/ulid.ts +60 -0
  179. package/extensions/orbit/user-instructions.ts +388 -0
  180. package/extensions/orbit/vendor/skills/_catalog.json +68 -0
  181. package/extensions/orbit/vendor/skills/_manifest.json +1106 -0
  182. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/SKILL.md +112 -0
  183. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_provenance.json +218 -0
  184. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_required_tools.json +33 -0
  185. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/_verify.json +4 -0
  186. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/add.json +50 -0
  187. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-extract.json +51 -0
  188. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-next-step.json +42 -0
  189. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/draft-validate.json +140 -0
  190. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/cli/list.json +32 -0
  191. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/galaxy-tool-job-failure-reference.md +137 -0
  192. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/notes/open-requirements-ledger.md +173 -0
  193. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-tool-summary.schema.json +175 -0
  194. package/extensions/orbit/vendor/skills/advance-galaxy-draft-step/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
  195. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/SKILL.md +82 -0
  196. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_provenance.json +133 -0
  197. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_required_tools.json +16 -0
  198. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/_verify.json +4 -0
  199. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/cli/draft-validate.json +140 -0
  200. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/galaxy-workflow-draft-format.md +135 -0
  201. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
  202. package/extensions/orbit/vendor/skills/apply-galaxy-workflow-changeset/references/schemas/galaxy-workflow-draft.schema.json +2727 -0
  203. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/SKILL.md +84 -0
  204. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_provenance.json +166 -0
  205. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/_verify.json +29 -0
  206. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/galaxy-workflow-testability-design.md +136 -0
  207. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  208. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/iwc-test-data-conventions.md +308 -0
  209. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-asserts-idioms.md +246 -0
  210. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/notes/planemo-workflow-test-architecture.md +151 -0
  211. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
  212. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/summary-galaxy-workflow.schema.json +687 -0
  213. package/extensions/orbit/vendor/skills/changeset-to-galaxy-test-plan/references/schemas/tests-format.schema.json +7328 -0
  214. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/SKILL.md +127 -0
  215. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_provenance.json +198 -0
  216. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_required_tools.json +16 -0
  217. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/_verify.json +4 -0
  218. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/cli/convert.json +123 -0
  219. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/galaxy-data-flow-draft-contract.md +129 -0
  220. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  221. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/iwc-test-data-conventions.md +308 -0
  222. package/extensions/orbit/vendor/skills/compare-against-iwc-exemplar/references/notes/open-requirements-ledger.md +173 -0
  223. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/SKILL.md +73 -0
  224. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_provenance.json +160 -0
  225. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/_verify.json +4 -0
  226. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.md +43 -0
  227. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-collection-semantics.yml +1250 -0
  228. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-tool-job-failure-reference.md +137 -0
  229. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
  230. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  231. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/nextflow-operators-to-galaxy-collection-recipes.md +98 -0
  232. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-asserts-idioms.md +246 -0
  233. package/extensions/orbit/vendor/skills/debug-galaxy-workflow-output/references/notes/planemo-workflow-test-architecture.md +151 -0
  234. package/extensions/orbit/vendor/skills/discover-shed-tool/SKILL.md +174 -0
  235. package/extensions/orbit/vendor/skills/discover-shed-tool/_provenance.json +130 -0
  236. package/extensions/orbit/vendor/skills/discover-shed-tool/_required_tools.json +18 -0
  237. package/extensions/orbit/vendor/skills/discover-shed-tool/_verify.json +17 -0
  238. package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-revisions.json +48 -0
  239. package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-search.json +95 -0
  240. package/extensions/orbit/vendor/skills/discover-shed-tool/references/cli/tool-versions.json +39 -0
  241. package/extensions/orbit/vendor/skills/discover-shed-tool/references/notes/component-tool-shed-search.md +230 -0
  242. package/extensions/orbit/vendor/skills/discover-shed-tool/references/schemas/galaxy-tool-discovery.schema.json +231 -0
  243. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/SKILL.md +93 -0
  244. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_provenance.json +201 -0
  245. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_required_tools.json +28 -0
  246. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/_verify.json +17 -0
  247. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/planemo.md +44 -0
  248. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/cli/validate-tests.json +40 -0
  249. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/galaxy-workflow-testability-design.md +136 -0
  250. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-shortcuts-anti-patterns.md +357 -0
  251. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/iwc-test-data-conventions.md +308 -0
  252. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
  253. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
  254. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/galaxy-workflow-test-plan.schema.json +552 -0
  255. package/extensions/orbit/vendor/skills/implement-galaxy-workflow-test/references/schemas/tests-format.schema.json +7328 -0
  256. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/SKILL.md +81 -0
  257. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_provenance.json +93 -0
  258. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/_verify.json +17 -0
  259. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/notes/open-requirements-ledger.md +173 -0
  260. package/extensions/orbit/vendor/skills/interview-to-galaxy-workflow-changeset/references/schemas/summary-galaxy-workflow.schema.json +687 -0
  261. package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/SKILL.md +81 -0
  262. package/extensions/orbit/vendor/skills/pipeline-update-interview-to-galaxy/_assembly.json +23 -0
  263. package/extensions/orbit/vendor/skills/run-workflow-test/SKILL.md +79 -0
  264. package/extensions/orbit/vendor/skills/run-workflow-test/_provenance.json +125 -0
  265. package/extensions/orbit/vendor/skills/run-workflow-test/_required_tools.json +28 -0
  266. package/extensions/orbit/vendor/skills/run-workflow-test/_verify.json +4 -0
  267. package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/planemo.md +44 -0
  268. package/extensions/orbit/vendor/skills/run-workflow-test/references/cli/validate-tests.json +40 -0
  269. package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
  270. package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-asserts-idioms.md +246 -0
  271. package/extensions/orbit/vendor/skills/run-workflow-test/references/notes/planemo-workflow-test-architecture.md +151 -0
  272. package/extensions/orbit/vendor/skills/run-workflow-test/references/schemas/tests-format.schema.json +7328 -0
  273. package/extensions/orbit/vendor/skills/skills/LICENSE +21 -0
  274. package/extensions/orbit/vendor/skills/skills/collection-manipulation/README.md +39 -0
  275. package/extensions/orbit/vendor/skills/skills/collection-manipulation/SKILL.md +892 -0
  276. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/api-patterns.md +927 -0
  277. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/apply-rules.md +1482 -0
  278. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/test-patterns.md +996 -0
  279. package/extensions/orbit/vendor/skills/skills/collection-manipulation/references/tools.md +609 -0
  280. package/extensions/orbit/vendor/skills/skills/galaxy-data-libraries/SKILL.md +170 -0
  281. package/extensions/orbit/vendor/skills/skills/galaxy-integration/README.md +162 -0
  282. package/extensions/orbit/vendor/skills/skills/galaxy-integration/SKILL.md +99 -0
  283. package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/README.md +119 -0
  284. package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/tool-checking.md +419 -0
  285. package/extensions/orbit/vendor/skills/skills/galaxy-integration/examples/workflow-testing.md +617 -0
  286. package/extensions/orbit/vendor/skills/skills/galaxy-integration/galaxy-integration.md +614 -0
  287. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/SKILL.md +144 -0
  288. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/average_col3.ipynb +68 -0
  289. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/extract_sample_metadata.ipynb +190 -0
  290. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/variant_annotation.ipynb +816 -0
  291. package/extensions/orbit/vendor/skills/skills/galaxy-integration/jupyterlite/examples/vcp_variant_map.ipynb +443 -0
  292. package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/README.md +165 -0
  293. package/extensions/orbit/vendor/skills/skills/galaxy-integration/scripts/galaxy_tool_checker.py +521 -0
  294. package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/SKILL.md +128 -0
  295. package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/gotchas.md +135 -0
  296. package/extensions/orbit/vendor/skills/skills/galaxy-mcp-reference/history-access.md +132 -0
  297. package/extensions/orbit/vendor/skills/skills/reproduciblify/SKILL.md +146 -0
  298. package/extensions/orbit/vendor/skills/skills/reproduciblify/references/directives.yml +496 -0
  299. package/extensions/orbit/vendor/skills/skills/udt-authoring/SKILL.md +245 -0
  300. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/01-minimal-echo.yml +27 -0
  301. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/02-single-data-in-out.yml +27 -0
  302. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/03-multiple-data-js.yml +28 -0
  303. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/04-select-integer-boolean.yml +41 -0
  304. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/05-resource-requirements.yml +25 -0
  305. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/06-biocontainer-tool.yml +38 -0
  306. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/07-inline-python-script.yml +56 -0
  307. package/extensions/orbit/vendor/skills/skills/udt-authoring/examples/08-configfile-script.yml +74 -0
  308. package/extensions/orbit/vendor/skills/skills/udt-authoring/references/common-mistakes.md +76 -0
  309. package/extensions/orbit/vendor/skills/skills/udt-authoring/references/schema-reference.md +155 -0
  310. package/extensions/orbit/vendor/skills/skills/udt-authoring/references/templating.md +196 -0
  311. package/extensions/orbit/vendor/skills/skills/udt-authoring/scripts/validate.py +109 -0
  312. package/extensions/orbit/vendor/skills/skills/workflow-reports/README.md +71 -0
  313. package/extensions/orbit/vendor/skills/skills/workflow-reports/SKILL.md +190 -0
  314. package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/histology-staining.md +145 -0
  315. package/extensions/orbit/vendor/skills/skills/workflow-reports/examples/tissue-microarray-analysis.md +176 -0
  316. package/extensions/orbit/vendor/skills/skills/workflow-reports/references/directives.md +415 -0
  317. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/SKILL.md +98 -0
  318. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_provenance.json +93 -0
  319. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_required_tools.json +28 -0
  320. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/_verify.json +17 -0
  321. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/convert.json +123 -0
  322. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/foundry.md +25 -0
  323. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/cli/validate.json +142 -0
  324. package/extensions/orbit/vendor/skills/summarize-galaxy-workflow/references/schemas/summary-galaxy-workflow.schema.json +687 -0
  325. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/SKILL.md +74 -0
  326. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_provenance.json +71 -0
  327. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_required_tools.json +16 -0
  328. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/_verify.json +4 -0
  329. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/cli/validate.json +142 -0
  330. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-invocation-failure-reference.md +138 -0
  331. package/extensions/orbit/vendor/skills/validate-galaxy-workflow/references/notes/galaxy-workflow-testability-design.md +136 -0
  332. package/extensions/orbit/vendor-skills.ts +283 -0
  333. package/extensions/orbit/workspace-state-dir.ts +46 -0
  334. package/extensions/orbit-handoff/index.ts +73 -0
  335. package/extensions/orbit-handoff/orbit-launcher.ts +142 -0
  336. package/extensions/whats-new/index.ts +98 -0
  337. package/lessons/LICENSE +17 -0
  338. package/lessons/README.md +117 -0
  339. package/lessons/SCHEMA.md +187 -0
  340. package/lessons/build-snapshot.mjs +311 -0
  341. package/lessons/data/downloaded-file-is-not-what-its-extension-says.md +61 -0
  342. package/lessons/galaxy-api/403-history-is-a-hard-stop.md +57 -0
  343. package/lessons/galaxy-api/collection-into-single-dataset-input.md +61 -0
  344. package/lessons/galaxy-api/connectedvalue-in-command-line.md +62 -0
  345. package/lessons/galaxy-api/hid-is-not-an-id.md +59 -0
  346. package/lessons/galaxy-api/invoke-workflow-inputs-not-params.md +60 -0
  347. package/lessons/galaxy-api/repeat-param-pipe-keys.md +63 -0
  348. package/lessons/galaxy-api/run-tool-returns-on-submit.md +61 -0
  349. package/lessons/galaxy-tools/reference-index-not-on-server.md +62 -0
  350. package/lessons/log.md +42 -0
  351. package/lessons/reproduction/input-population-mismatch.md +59 -0
  352. package/lessons/reproduction/methods-text-vs-executed-parameters.md +62 -0
  353. package/lessons/snapshot.json +1004 -0
  354. package/lessons/stats/de-contrast-direction-and-sample-labels.md +63 -0
  355. package/lessons/stats/na-coerced-to-zero-in-filters.md +59 -0
  356. package/lessons/validate.mjs +1219 -0
  357. package/package.json +103 -5
  358. package/shared/agent-prompt.d.ts +8 -0
  359. package/shared/agent-prompt.js +15 -0
  360. package/shared/approval-prompt.d.ts +4 -0
  361. package/shared/approval-prompt.js +61 -0
  362. package/shared/brain-env.d.ts +14 -0
  363. package/shared/brain-env.js +108 -0
  364. package/shared/brain-exit.d.ts +20 -0
  365. package/shared/brain-exit.js +149 -0
  366. package/shared/capability-profile.d.ts +16 -0
  367. package/shared/capability-profile.js +75 -0
  368. package/shared/config-source.d.ts +13 -0
  369. package/shared/config-source.js +17 -0
  370. package/shared/confusables.d.ts +3 -0
  371. package/shared/confusables.js +93 -0
  372. package/shared/custom-provider.d.ts +45 -0
  373. package/shared/custom-provider.js +169 -0
  374. package/shared/dashboard-contract.d.ts +123 -0
  375. package/shared/dashboard-contract.js +560 -0
  376. package/shared/dashboard-layout-store.d.ts +44 -0
  377. package/shared/dashboard-layout-store.js +281 -0
  378. package/shared/feedback-contract.d.ts +61 -0
  379. package/shared/feedback-contract.js +146 -0
  380. package/shared/galaxy-artifact-links.d.ts +30 -0
  381. package/shared/galaxy-artifact-links.js +166 -0
  382. package/shared/galaxy-credentials.d.ts +26 -0
  383. package/shared/galaxy-credentials.js +71 -0
  384. package/shared/galaxy-destructive.d.ts +21 -0
  385. package/shared/galaxy-destructive.js +269 -0
  386. package/shared/galaxy-guidance.d.ts +2 -0
  387. package/shared/galaxy-guidance.js +53 -0
  388. package/shared/galaxy-live-contract.d.ts +92 -0
  389. package/shared/galaxy-live-contract.js +180 -0
  390. package/shared/galaxy-page-cells.d.ts +2 -0
  391. package/shared/galaxy-page-cells.js +22 -0
  392. package/shared/galaxy-tool-family.d.ts +5 -0
  393. package/shared/galaxy-tool-family.js +27 -0
  394. package/shared/galaxy-url.d.ts +1 -0
  395. package/shared/galaxy-url.js +48 -0
  396. package/shared/gtn.d.ts +31 -0
  397. package/shared/gtn.js +253 -0
  398. package/shared/handled-prompt.d.ts +3 -0
  399. package/shared/handled-prompt.js +26 -0
  400. package/shared/known-provider.d.ts +11 -0
  401. package/shared/known-provider.js +89 -0
  402. package/shared/lesson-hint-marker.d.ts +7 -0
  403. package/shared/lesson-hint-marker.js +32 -0
  404. package/shared/lesson-rules.d.ts +150 -0
  405. package/shared/lesson-rules.js +203 -0
  406. package/shared/malformed-object-ids.d.ts +1 -0
  407. package/shared/malformed-object-ids.js +37 -0
  408. package/shared/markdown-sections.d.ts +10 -0
  409. package/shared/markdown-sections.js +118 -0
  410. package/shared/notebook-fences.d.ts +12 -0
  411. package/shared/notebook-fences.js +53 -0
  412. package/shared/observation-contract.d.ts +91 -0
  413. package/shared/observation-contract.js +544 -0
  414. package/shared/orbit-config.d.ts +226 -0
  415. package/shared/orbit-config.js +189 -0
  416. package/shared/orbit-env.d.ts +13 -0
  417. package/shared/orbit-env.js +124 -0
  418. package/shared/orbit-shell-contract.d.ts +74 -0
  419. package/shared/orbit-shell-contract.js +30 -0
  420. package/shared/page-content-hash.d.ts +1 -0
  421. package/shared/page-content-hash.js +13 -0
  422. package/shared/pi-default-model.d.ts +7 -0
  423. package/shared/pi-default-model.js +41 -0
  424. package/shared/prompt-blocks.d.ts +87 -0
  425. package/shared/prompt-blocks.js +898 -0
  426. package/shared/provider-auth-caps.d.ts +22 -0
  427. package/shared/provider-auth-caps.js +57 -0
  428. package/shared/random.d.ts +2 -0
  429. package/shared/random.js +15 -0
  430. package/shared/record-excerpt.d.ts +4 -0
  431. package/shared/record-excerpt.js +16 -0
  432. package/shared/redirect-guard.d.ts +36 -0
  433. package/shared/redirect-guard.js +235 -0
  434. package/shared/skills-pin.d.ts +8 -0
  435. package/shared/skills-pin.js +9 -0
  436. package/shared/skills-router.d.ts +17 -0
  437. package/shared/skills-router.js +63 -0
  438. package/shared/sra-import.d.ts +34 -0
  439. package/shared/sra-import.js +206 -0
  440. package/shared/state-dir.d.ts +21 -0
  441. package/shared/state-dir.js +240 -0
  442. package/shared/team-dispatch-contract.d.ts +28 -0
  443. package/shared/team-dispatch-contract.js +1 -0
  444. package/shared/truncate-middle.d.ts +11 -0
  445. package/shared/truncate-middle.js +68 -0
  446. package/shared/version-compare.d.ts +10 -0
  447. package/shared/version-compare.js +74 -0
  448. package/shared/whats-new.d.ts +31 -0
  449. package/shared/whats-new.js +83 -0
  450. package/shared/wsl.d.ts +10 -0
  451. package/shared/wsl.js +24 -0
@@ -0,0 +1,170 @@
1
+ ---
2
+ name: galaxy-data-libraries
3
+ description: Use when data lives in a Galaxy data library rather than a history (a named library, or a folder id starting with F) -- walk folders, get dataset ids, run tools on library datasets in place, import only when needed.
4
+ metadata:
5
+ surfaces: [loom]
6
+ # Staging in Orbit; this is where it should end up.
7
+ proposed_home: galaxy-skills
8
+ user_invocable: true
9
+ ---
10
+
11
+ # Galaxy Data Libraries
12
+
13
+ A data library is a server-side folder tree an admin or project has published: reference data,
14
+ challenge data, a consortium's release. The files are already on the server, often in large
15
+ numbers, and nobody should upload or download them to use them. This skill is how to find them and
16
+ hand them to tools without copying.
17
+
18
+ ## Which tool does what
19
+
20
+ galaxy-ops has no library operations yet, so **listing** uses the REST API through `bash` + `curl`.
21
+ Everything after that goes through the normal in-process tools:
22
+
23
+ | Step | How |
24
+ | --------------------------------------- | --------------------------------------------------------------------------------- |
25
+ | List libraries, walk folders, find ids | `curl` (below) |
26
+ | Run a tool on a library dataset | `run_tool` with `{"src": "ldda", "id": ...}` |
27
+ | Bring a dataset into a history | `curl` POST (below), then the usual history tools |
28
+ | Look at a dataset, run a workflow on it | Import it first, then `get_dataset_details` / `invoke_workflow` with `src: "hda"` |
29
+
30
+ If this shell has no `bash`, stop and tell the user: they can browse the library in the Galaxy UI
31
+ (Libraries in the top menu) and import what they need into a history, and you take it from there.
32
+
33
+ ## curl conventions
34
+
35
+ ```bash
36
+ curl -s -H "x-api-key: $GALAXY_API_KEY" "$GALAXY_URL/api/libraries"
37
+ ```
38
+
39
+ - Use `$GALAXY_URL` and `$GALAXY_API_KEY` from the environment. Never paste the key into a command,
40
+ the notebook or chat.
41
+ - Public libraries also answer without the key; restricted ones need it. When a library the user
42
+ can see in the UI comes back missing or 403, the key is the first suspect.
43
+ - Use `jq` to print only the fields you need; folder listings are verbose. Without `jq`, save the
44
+ response with `-o` and read the file with `python3`. Never pipe `curl` into `python3` (or any
45
+ interpreter): Orbit's command guard refuses that outright, whatever the approval mode.
46
+
47
+ ## Ids: the part that goes wrong
48
+
49
+ | Thing | Looks like | Where it comes from |
50
+ | --------------------------------- | ------------------ | ------------------------------------------------- |
51
+ | Library | 16 hex chars | `GET /api/libraries` -> `id` |
52
+ | Folder | `F` + 16 hex chars | library `root_folder_id`, or a folder item's `id` |
53
+ | Library dataset (`ld`) | 16 hex chars | a file item's `id` |
54
+ | Library dataset instance (`ldda`) | 16 hex chars | a file item's `ldda_id` |
55
+
56
+ A file in a folder listing has **two** ids. They are often equal, but they are different objects and
57
+ can differ, so always take the one the consumer asks for:
58
+
59
+ - `run_tool` inputs want the **`ldda_id`**: `{"src": "ldda", "id": "<ldda_id>"}`.
60
+ - Importing into a history wants the **`id`** (the `ld`).
61
+
62
+ The folder endpoint needs the `F`. Without it Galaxy answers "Invalid library folder ID".
63
+
64
+ ## Walk a library
65
+
66
+ ```bash
67
+ # Libraries, with the folder to start from
68
+ curl -s -H "x-api-key: $GALAXY_API_KEY" "$GALAXY_URL/api/libraries" \
69
+ | jq -r '.[] | [.id, .root_folder_id, .name] | @tsv'
70
+
71
+ # The same without jq: save it, then read the file
72
+ curl -s -H "x-api-key: $GALAXY_API_KEY" "$GALAXY_URL/api/libraries" -o libraries.json
73
+ python3 -c 'import json; [print(l["id"], l["root_folder_id"], l["name"]) for l in json.load(open("libraries.json"))]'
74
+
75
+ # One folder's contents
76
+ curl -s -H "x-api-key: $GALAXY_API_KEY" \
77
+ "$GALAXY_URL/api/folders/F0123456789abcdef/contents?limit=100&offset=0"
78
+ ```
79
+
80
+ The folder response is `{"metadata": {...}, "folder_contents": [...]}`:
81
+
82
+ - Each item has `type` (`"folder"` or `"file"`), `name` and `id`. File items also carry `ldda_id`,
83
+ `file_ext`, `file_size` (human-readable), `raw_size` (bytes) and `state`.
84
+ - `metadata.total_rows` is the true count. **The default page is only 10 items**, so a folder that
85
+ looks like it holds 10 files may hold hundreds. Pass `limit`, and page with `offset` until you
86
+ have `total_rows`.
87
+ - `search_text=<substring>` filters by name on the server. Use it rather than paging through a
88
+ folder of hundreds of files to find one.
89
+ - `metadata.full_path` gives the breadcrumb of `[folder_id, name]` pairs back to the library root.
90
+
91
+ Walk only as deep as the question needs. A large library can have thousands of files, so summarise
92
+ what you find (counts per folder, a few example names) rather than listing everything.
93
+
94
+ ## Use a dataset in place
95
+
96
+ ```text
97
+ run_tool({
98
+ "toolId": "Show beginning1",
99
+ "historyId": "<history id>",
100
+ "inputs": {"input": {"src": "ldda", "id": "<ldda_id>"}, "lineNum": 10}
101
+ })
102
+ ```
103
+
104
+ Galaxy adds the library dataset to the target history as a new item, without copying the bytes,
105
+ and the job's output lands after it. Expect one extra history item per library input. That is
106
+ normal, not a duplicate upload.
107
+
108
+ **Several library datasets into one `multiple: true` input:** wrap the list, as in
109
+ `{"tars": {"values": [{"src": "ldda", "id": "..."}, {"src": "ldda", "id": "..."}]}}` for an input
110
+ named `tars` (use the tool's own input name). A bare list
111
+ of `ldda` references is rejected before any job is created, with `'LibraryDatasetDatasetAssociation'
112
+ object has no attribute 'auto_propagated_tags'`. Bare lists of `hda` references are fine, so
113
+ importing first also works.
114
+
115
+ **Workflows:** Galaxy accepts `ldda` inputs to a workflow, but `invoke_workflow`'s input check only
116
+ accepts `hda`/`hdca` and rejects the run. Import the dataset into the history first (below) and pass
117
+ the resulting `hda`.
118
+
119
+ ## Import into a history
120
+
121
+ Import when a workflow needs the dataset, when the user wants it in the history, or before
122
+ `get_dataset_details`, which reads history datasets:
123
+
124
+ ```bash
125
+ # One dataset: content is the file item's `id` (the ld), not its ldda_id
126
+ curl -s -X POST -H "x-api-key: $GALAXY_API_KEY" -H "Content-Type: application/json" \
127
+ -d '{"type": "dataset", "source": "library", "content": "<ld id>"}' \
128
+ "$GALAXY_URL/api/histories/<history id>/contents"
129
+
130
+ # A whole folder, recursively: content is the F-prefixed folder id
131
+ curl -s -X POST -H "x-api-key: $GALAXY_API_KEY" -H "Content-Type: application/json" \
132
+ -d '{"type": "dataset", "source": "library_folder", "content": "F0123456789abcdef"}' \
133
+ "$GALAXY_URL/api/histories/<history id>/contents"
134
+ ```
135
+
136
+ Check the `name` in the response matches the file you meant. A mixed-up id is not always an
137
+ error (see Troubleshooting).
138
+
139
+ An import links the existing dataset, so it is instant and its state is `ok` at once, whatever the
140
+ size. It costs no quota or disk. It does add history items, though: importing a folder of hundreds of
141
+ files makes a history nobody can navigate. Import the few files a step needs, and confirm with the
142
+ user before importing a whole folder.
143
+
144
+ ## Large files
145
+
146
+ Library datasets are often big: a 40 MB manifest, multi-gigabyte archives. Don't pull one into the
147
+ conversation.
148
+
149
+ - **Tables and manifests:** import, then `get_dataset_details` for a preview, or run Galaxy tools
150
+ (Select first, Cut, Filter, Count, Group) to summarise them. The summary lands in the history, and
151
+ that is the record.
152
+ - **Archives and images:** run tools on them in place. Never download them locally.
153
+
154
+ ## Troubleshooting
155
+
156
+ | Symptom | Likely cause |
157
+ | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
158
+ | Library missing from `/api/libraries`, or 403 on a folder | No key, or the user lacks access to a restricted library |
159
+ | "Invalid library folder ID" | Folder id sent without its leading `F` |
160
+ | "'content' id of lda or hda is missing" | Import POST without `content` |
161
+ | An import brought in a file you never asked for | A folder id was sent with `source: "library"`. Galaxy does not reject it: it drops the `F` and imports whatever dataset has that number. Use `library_folder` for folders, and check the imported item's name |
162
+ | A folder seems to hold exactly 10 files | You read only the default page; check `metadata.total_rows` |
163
+ | `'LibraryDatasetDatasetAssociation' object has no attribute 'auto_propagated_tags'` | A bare list of `ldda` refs in a multiple input; wrap it as `{"values": [...]}` |
164
+ | `invoke_workflow` rejects an `ldda` input | Known limit of the input check; import first and pass the `hda` |
165
+
166
+ ## Related
167
+
168
+ - `galaxy-mcp-reference` (galaxy-skills) for history, tool and workflow operations in general.
169
+ - Galaxy API source: [folder contents](https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/webapps/galaxy/api/folder_contents.py),
170
+ [history import from a library](https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/webapps/galaxy/services/history_contents.py).
@@ -0,0 +1,162 @@
1
+ # Galaxy Integration
2
+
3
+ Using Galaxy MCP, JupyterLite notebooks, and BioBlend-based scripts to interact with Galaxy instances.
4
+
5
+ This is the canonical documentation for Galaxy instance integration across skills in this repository.
6
+
7
+ **Agent entrypoint**: See `SKILL.md`.
8
+
9
+ ## Purpose
10
+
11
+ Galaxy integration provides programmatic access to Galaxy instances. Useful for:
12
+
13
+ - **Testing** - Validate converted tools on Galaxy instances
14
+ - **Automation** - Streamline development workflows
15
+ - **Validation** - Compare outputs (e.g., NF vs Galaxy)
16
+ - **Analysis** - Write JupyterLite notebooks that interact with Galaxy datasets
17
+
18
+ ## Structure
19
+
20
+ ```
21
+ galaxy-integration/
22
+ ├── SKILL.md # Router to sub-skills
23
+ ├── galaxy-integration.md # Detailed MCP + BioBlend docs
24
+ │
25
+ ├── jupyterlite/ # JupyterLite notebook skill
26
+ │ ├── SKILL.md # gxy package reference
27
+ │ └── examples/ # Example notebooks
28
+ │
29
+ (mcp-reference now lives at ../galaxy-mcp-reference/)
30
+ │ ├── SKILL.md # Full MCP tools reference
31
+ │ ├── history-access.md # History/dataset access patterns
32
+ │ └── gotchas.md # Common pitfalls (keychain, URL slugs)
33
+ │
34
+ ├── scripts/ # BioBlend automation
35
+ │ └── galaxy_tool_checker.py
36
+ │
37
+ └── examples/ # Tool checking and workflow testing
38
+ ```
39
+
40
+ ## Key Files
41
+
42
+ - **`SKILL.md`** - Router to sub-skills
43
+ - **`jupyterlite/SKILL.md`** - gxy package for JupyterLite notebooks
44
+ - **`../galaxy-mcp-reference/SKILL.md`** - Complete MCP tools reference
45
+ - **`galaxy-integration.md`** - Detailed guide (MCP + BioBlend)
46
+ - **`scripts/`** - Automation scripts (galaxy_tool_checker.py)
47
+ - **`examples/`** - Tool checking and workflow testing examples
48
+
49
+ ## Usage Context
50
+
51
+ MCP is primarily used in the **nf-to-galaxy** conversion workflow for:
52
+ - Testing converted tools on local Galaxy instances
53
+ - Uploading test data
54
+ - Running tools and validating outputs
55
+ - Comparing Nextflow vs Galaxy results
56
+
57
+ It may also be used by other skills that need to interact with a Galaxy instance (tool discovery, workflow testing, automation).
58
+
59
+ ---
60
+
61
+ ## Quick Reference
62
+
63
+ ### Setup
64
+
65
+ ```bash
66
+ # Install
67
+ pip install galaxy-mcp
68
+
69
+ # Configure for Claude Code
70
+ # Add to ~/.config/claude/claude_desktop_config.json:
71
+ {
72
+ "mcpServers": {
73
+ "galaxy-mcp": {
74
+ "command": "uvx",
75
+ "args": ["galaxy-mcp"],
76
+ "env": {
77
+ "GALAXY_URL": "http://localhost:8080",
78
+ "GALAXY_API_KEY": "your-key"
79
+ }
80
+ }
81
+ }
82
+ }
83
+ ```
84
+
85
+ ---
86
+
87
+ ## When to Use Galaxy MCP
88
+
89
+ Use Galaxy MCP when:
90
+ - You want **interactive exploration** of a Galaxy instance (tool search, tool I/O inspection)
91
+ - You are iterating on a workflow/tool and want **fast feedback** (create history, invoke workflow, inspect failures)
92
+ - You are working in an agentic environment where MCP tools are available
93
+
94
+ Prefer a script (e.g. BioBlend) when:
95
+ - You need to check **many tools at once**
96
+ - You want **repeatable automation** (CI-style checks)
97
+ - You want **workflow validation** without interactive iteration
98
+
99
+ ---
100
+
101
+ ## Prerequisites
102
+
103
+ - Galaxy instance URL (e.g. `https://usegalaxy.org/`)
104
+ - Galaxy API key (User → Preferences → Manage API Key)
105
+
106
+ **Where to find these**:
107
+ - **Galaxy URL**: The base URL of the Galaxy server you use (for public servers this is the site URL, e.g. `https://usegalaxy.org/`, `https://usegalaxy.eu/`).
108
+ - **API key**: In Galaxy, go to **User → Preferences → Manage API Key**.
109
+
110
+ **Using the repo-wide `.env` (recommended for this repository)**:
111
+ - From the **skills repository root**:
112
+
113
+ ```bash
114
+ cp .env.example .env
115
+ nano .env
116
+ ```
117
+
118
+ - Add:
119
+
120
+ ```bash
121
+ GALAXY_URL=https://usegalaxy.org/
122
+ GALAXY_API_KEY=your_actual_api_key_here
123
+ ```
124
+
125
+ The root `.env` is gitignored; do not commit API keys.
126
+
127
+ Treat the API key like a password. Do not commit it to git.
128
+
129
+ ---
130
+
131
+ ## Common MCP Tools (Typical Development Loop)
132
+
133
+ - **Connect**: `connect()` (or equivalent connection step depending on the client)
134
+ - **Find tools**: `search_tools_by_name(query=...)`
135
+ - **Inspect tool I/O**: `get_tool_details(tool_id=..., io_details=True)`
136
+ - **Create a history**: `create_history(history_name=...)`
137
+ - **Upload data**: `upload_file(...)`
138
+ - **Run tools**: `run_tool(...)`
139
+ - **Run workflows**: `invoke_workflow(workflow_id=..., inputs=..., history_id=...)`
140
+ - **Inspect outputs**: `get_history_contents(history_id=...)`, `get_dataset_details(...)`
141
+
142
+ ---
143
+
144
+ ## Minimal Workflow Testing Pattern
145
+
146
+ 1. Create a new history for a clean run
147
+ 2. Upload (or reuse) small test inputs
148
+ 3. Invoke your workflow
149
+ 4. Poll history contents until jobs finish
150
+ 5. If something fails:
151
+ - identify the failing step/tool
152
+ - fix tool IDs / parameter mapping
153
+ - re-import workflow and retry
154
+
155
+ ---
156
+
157
+ ## Where This Is Used
158
+
159
+ - **Nextflow → Galaxy conversions**: see `../../dev-skills/nf-to-galaxy/` (the conversion skill points here when MCP is needed)
160
+
161
+ See the upstream project for the full API reference:
162
+ - https://github.com/galaxyproject/galaxy-mcp
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: galaxy-integration
3
+ description: "Use when setting up or choosing how an agent talks to a Galaxy instance -- first-time connection (server URL, API key, verifying access), then picking between Galaxy MCP for interactive work, JupyterLite notebooks for analysis against Galaxy datasets, and BioBlend scripts for batch or CI. Start here to use Galaxy when not yet connected."
4
+ user_invocable: true
5
+ ---
6
+
7
+ # Galaxy Integration Skill
8
+
9
+ Use Galaxy MCP and BioBlend-based scripts to interact with a Galaxy instance for tool discovery, workflow validation, and workflow testing.
10
+
11
+ ## Sub-Skills
12
+
13
+ Route to the appropriate sub-skill based on task:
14
+
15
+ | Task | Sub-Skill | Location |
16
+ |------|-----------|----------|
17
+ | Write JupyterLite notebook | `jupyterlite-galaxy` | `jupyterlite/SKILL.md` |
18
+ | MCP tools reference | `galaxy-mcp-reference` | `../galaxy-mcp-reference/SKILL.md` |
19
+ | History/dataset access | - | `../galaxy-mcp-reference/history-access.md` |
20
+ | Common gotchas | - | `../galaxy-mcp-reference/gotchas.md` |
21
+ | BioBlend batch scripts | - | `scripts/galaxy_tool_checker.py` |
22
+ | Tool checking examples | - | `examples/tool-checking.md` |
23
+ | Workflow testing examples | - | `examples/workflow-testing.md` |
24
+
25
+ ## When to Use
26
+
27
+ - **Query tools** installed on a Galaxy instance
28
+ - **Inspect tool I/O** and parameters
29
+ - **Create histories**, upload data, run tools/workflows
30
+ - **Debug workflow/tool issues** with fast, interactive feedback
31
+ - **Write JupyterLite notebooks** that interact with Galaxy datasets
32
+
33
+ ## Prerequisites
34
+
35
+ ### Galaxy URL
36
+
37
+ The base URL of the Galaxy server:
38
+ - `https://usegalaxy.org/`
39
+ - `https://usegalaxy.eu/`
40
+ - `http://localhost:8080/`
41
+
42
+ ### Galaxy API Key
43
+
44
+ In Galaxy UI: **User -> Preferences -> Manage API Key**
45
+
46
+ ### Repository `.env` (recommended)
47
+
48
+ ```bash
49
+ cp .env.example .env
50
+ nano .env
51
+ ```
52
+
53
+ Set:
54
+ ```bash
55
+ GALAXY_URL=https://usegalaxy.org/
56
+ GALAXY_API_KEY=your_actual_api_key_here
57
+ ```
58
+
59
+ ## When to Use MCP vs Scripts
60
+
61
+ **Galaxy MCP** when:
62
+ - Interactive exploration (find a tool, inspect exact tool IDs)
63
+ - Debugging a workflow with fast iteration
64
+
65
+ **BioBlend script** (`scripts/galaxy_tool_checker.py`) when:
66
+ - Batch checks across many tools
67
+ - Repeatable validation/testing as part of CI-like flow
68
+
69
+ ## Core MCP Workflow
70
+
71
+ 1. **Confirm MCP connectivity**
72
+ - If not connected, see `README.md` for configuration
73
+
74
+ 2. **Tool discovery**
75
+ ```
76
+ search_tools_by_name(query=...)
77
+ get_tool_details(tool_id=..., io_details=True)
78
+ ```
79
+
80
+ 3. **Workflow testing loop**
81
+ ```
82
+ create_history(history_name=...)
83
+ invoke_workflow(workflow_id=..., inputs=..., history_id=...)
84
+ get_history_contents(history_id=...)
85
+ # Fix and repeat
86
+ ```
87
+
88
+ ## Output Expectations
89
+
90
+ When reporting MCP results:
91
+ - Provide **full Galaxy tool ID** (ToolShed-style)
92
+ - Include tool version
93
+ - Note whether tool is installed vs only available in repository
94
+
95
+ ## References
96
+
97
+ - Upstream Galaxy MCP: https://github.com/galaxyproject/galaxy-mcp
98
+ - Repository guide: `README.md`
99
+ - Detailed MCP docs: `galaxy-integration.md`
@@ -0,0 +1,119 @@
1
+ # Galaxy Integration Examples
2
+
3
+ Practical examples for interacting with Galaxy instances using MCP and BioBlend.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ These examples demonstrate **how to use Galaxy MCP and BioBlend** to interact with Galaxy instances. They are **domain-agnostic** and can be applied to any workflow or tool testing scenario.
10
+
11
+ ---
12
+
13
+ ## Examples
14
+
15
+ ### tool-checking.md
16
+
17
+ **Purpose**: Check tool availability on a Galaxy instance
18
+
19
+ **Covers**:
20
+ - Using Galaxy MCP to search for tools
21
+ - Using BioBlend script to validate tool lists
22
+ - Decision matrix: when to use MCP vs BioBlend
23
+ - Interpreting results
24
+
25
+ **Use when**: You need to verify tools exist before creating/running workflows
26
+
27
+ ---
28
+
29
+ ### workflow-testing.md
30
+
31
+ **Purpose**: Test and validate workflows on a Galaxy instance
32
+
33
+ **Covers**:
34
+ - Using Galaxy MCP for interactive workflow testing
35
+ - Using BioBlend script for automated workflow validation
36
+ - Workflow invocation and monitoring
37
+ - Output verification
38
+ - Decision matrix: when to use MCP vs BioBlend
39
+
40
+ **Use when**: You need to test a workflow on a Galaxy instance
41
+
42
+ ---
43
+
44
+ ## When to Use These Examples
45
+
46
+ ### During Conversion (Nextflow → Galaxy)
47
+
48
+ After converting a Nextflow workflow to Galaxy, use these examples to:
49
+ 1. Check that all required tools exist (`tool-checking.md`)
50
+ 2. Test the converted workflow (`workflow-testing.md`)
51
+
52
+ **See also**: `../../../dev-skills/nf-to-galaxy/examples/` for conversion-specific scenarios
53
+
54
+ ### During Tool Development
55
+
56
+ After creating or updating a Galaxy tool, use these examples to:
57
+ 1. Verify tool is available on target instance
58
+ 2. Test tool in a workflow context
59
+
60
+ **See also**: `../../../dev-skills/tool-dev/SKILL.md`
61
+
62
+ ### General Workflow Testing
63
+
64
+ For any Galaxy workflow testing needs:
65
+ 1. Validate workflow structure
66
+ 2. Test workflow execution
67
+ 3. Compare outputs
68
+
69
+ ---
70
+
71
+ ## Prerequisites
72
+
73
+ ### Galaxy MCP
74
+
75
+ Interactive Galaxy client for exploration and debugging.
76
+
77
+ **Setup**: See `../galaxy-integration.md` for MCP configuration
78
+
79
+ **Best for**:
80
+ - Interactive exploration
81
+ - Debugging workflow issues
82
+ - Real-time monitoring
83
+ - Complex decision-making
84
+
85
+ ### BioBlend Script
86
+
87
+ Automated Galaxy tool checker and workflow validator.
88
+
89
+ **Setup**: See `../scripts/README.md` for script configuration
90
+
91
+ **Best for**:
92
+ - Automated validation
93
+ - Batch checking
94
+ - CI/CD integration
95
+ - Scripted workflows
96
+
97
+ ---
98
+
99
+ ## Related Documentation
100
+
101
+ - **Main guide**: `../galaxy-integration.md` - Complete Galaxy integration guide
102
+ - **MCP setup**: `../galaxy-integration.md#setup`
103
+ - **BioBlend script**: `../scripts/README.md` - galaxy_tool_checker.py usage
104
+ - **Conversion examples**: `../../../dev-skills/nf-to-galaxy/examples/` - Conversion-specific scenarios
105
+ - **Testing guide**: `../../../dev-skills/tool-dev/references/testing.md` - Planemo tool testing
106
+
107
+ ---
108
+
109
+ ## Quick Reference
110
+
111
+ | Task | MCP | BioBlend Script |
112
+ |------|-----|-----------------|
113
+ | Check single tool | `search_tools_by_name()` | `--tool-id TOOL_ID` |
114
+ | Check tool list | Multiple calls | `--tool-list file.txt` |
115
+ | Validate workflow | `import_workflow()` | `--workflow file.ga` |
116
+ | Test workflow | `invoke_workflow()` | `--workflow --test` |
117
+ | Monitor execution | `get_invocation()` | `--wait` flag |
118
+ | Batch operations | Manual iteration | Native support |
119
+ | CI/CD integration | Possible but complex | Designed for it |