openhands-extensions 0.8.0__tar.gz → 0.10.0__tar.gz

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 (510) hide show
  1. openhands_extensions-0.10.0/.github/workflows/deprecation-check.yml +25 -0
  2. openhands_extensions-0.10.0/.release-please-manifest.json +3 -0
  3. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/PKG-INFO +4 -1
  4. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/README.md +3 -2
  5. openhands_extensions-0.10.0/automations/catalog/jira-issue-to-pr.json +14 -0
  6. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/index.js +2 -0
  7. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/README.md +25 -0
  8. openhands_extensions-0.10.0/integrations/catalog/atlassian.json +116 -0
  9. openhands_extensions-0.10.0/integrations/catalog/datadog.json +65 -0
  10. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/github.json +20 -0
  11. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/microsoft-outlook.json +13 -0
  12. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/microsoft-teams.json +13 -0
  13. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/notion.json +13 -0
  14. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/onedrive.json +13 -0
  15. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/sharepoint.json +13 -0
  16. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/slack.json +14 -0
  17. openhands_extensions-0.10.0/integrations/catalog/superhuman-mail.json +36 -0
  18. openhands_extensions-0.10.0/integrations/catalog/vanta.json +55 -0
  19. openhands_extensions-0.10.0/integrations/catalog-index.js +155 -0
  20. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog.schema.json +70 -3
  21. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/index.d.ts +49 -3
  22. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/marketplaces/openhands-extensions.json +10 -0
  23. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/package.json +1 -1
  24. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/build-setup/SKILL.md +1 -0
  25. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/cobol-modernization/SKILL.md +9 -0
  26. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/skills/migration-scoring/SKILL.md +11 -0
  27. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/SKILL.md +2 -0
  28. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/SKILL.md +7 -0
  29. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/SKILL.md +1 -0
  30. openhands_extensions-0.10.0/plugins/openhands/skills/openhands-api/references/windows.md +44 -0
  31. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-automation/SKILL.md +1 -0
  32. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-automation/references/custom-automation.md +20 -0
  33. openhands_extensions-0.10.0/plugins/openhands/skills/openhands-automation/references/windows.md +57 -0
  34. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/SKILL.md +1 -0
  35. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/github-pr-review/SKILL.md +1 -0
  36. openhands_extensions-0.10.0/plugins/pr-review/skills/github-pr-review/references/windows.md +47 -0
  37. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/SKILL.md +9 -0
  38. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/skills/github/SKILL.md +3 -1
  39. openhands_extensions-0.10.0/plugins/vulnerability-remediation/skills/github/references/windows.md +48 -0
  40. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/pyproject.toml +6 -1
  41. openhands_extensions-0.10.0/python/openhands_extensions/__init__.py +62 -0
  42. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/python/openhands_extensions/_version.py +2 -2
  43. openhands_extensions-0.10.0/python/openhands_extensions/deprecation.py +159 -0
  44. openhands_extensions-0.10.0/python/openhands_extensions/integration_models.py +233 -0
  45. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/python/openhands_extensions/integrations.py +59 -4
  46. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/scripts/build-skills-catalog.mjs +1 -1
  47. openhands_extensions-0.10.0/scripts/check_deprecations.py +488 -0
  48. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-skill/SKILL.md +2 -0
  49. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/azure-devops/SKILL.md +12 -1
  50. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket-cloud/SKILL.md +11 -0
  51. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/datadog/SKILL.md +3 -1
  52. openhands_extensions-0.10.0/skills/datadog/references/windows.md +45 -0
  53. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/SKILL.md +2 -0
  54. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/docker/SKILL.md +5 -1
  55. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-pr-reviewer/SKILL.md +1 -0
  56. openhands_extensions-0.10.0/skills/github-pr-reviewer/references/windows.md +61 -0
  57. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/SKILL.md +1 -0
  58. openhands_extensions-0.10.0/skills/github-repo-monitor/references/windows.md +61 -0
  59. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/gitlab/SKILL.md +3 -1
  60. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/incident-retrospective/SKILL.md +2 -0
  61. openhands_extensions-0.10.0/skills/index.js +518 -0
  62. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/SKILL.md +1 -0
  63. openhands_extensions-0.10.0/skills/iterate/references/windows.md +41 -0
  64. openhands_extensions-0.10.0/skills/jira-issue-to-pr/.claude-plugin/plugin.json +19 -0
  65. openhands_extensions-0.10.0/skills/jira-issue-to-pr/README.md +56 -0
  66. openhands_extensions-0.10.0/skills/jira-issue-to-pr/SKILL.md +216 -0
  67. openhands_extensions-0.10.0/skills/jira-issue-to-pr/references/setup.md +170 -0
  68. openhands_extensions-0.10.0/skills/jira-issue-to-pr/scripts/main.py +341 -0
  69. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/jupyter/SKILL.md +7 -1
  70. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/kubernetes/SKILL.md +2 -1
  71. openhands_extensions-0.10.0/skills/kubernetes/references/windows.md +38 -0
  72. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear/SKILL.md +2 -0
  73. openhands_extensions-0.10.0/skills/linear/references/windows.md +29 -0
  74. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear-triage/SKILL.md +2 -0
  75. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/notion/SKILL.md +2 -0
  76. openhands_extensions-0.10.0/skills/notion/references/windows.md +43 -0
  77. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/pdflatex/SKILL.md +3 -1
  78. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/research-brief/SKILL.md +2 -0
  79. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/SKILL.md +1 -0
  80. openhands_extensions-0.10.0/skills/skill-creator/references/windows.md +30 -0
  81. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/SKILL.md +1 -0
  82. openhands_extensions-0.10.0/skills/slack-channel-monitor/references/windows.md +64 -0
  83. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-standup-digest/SKILL.md +2 -0
  84. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/spark-version-upgrade/SKILL.md +2 -1
  85. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/ssh/SKILL.md +2 -1
  86. openhands_extensions-0.10.0/skills/ssh/references/windows.md +59 -0
  87. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/swift-linux/SKILL.md +2 -1
  88. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/vercel/SKILL.md +5 -0
  89. openhands_extensions-0.10.0/tests/test_catalog_schema.py +105 -0
  90. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_catalogs.py +6 -1
  91. openhands_extensions-0.10.0/tests/test_deprecations.py +136 -0
  92. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_integration_catalog_in_sync.py +118 -7
  93. openhands_extensions-0.8.0/.release-please-manifest.json +0 -3
  94. openhands_extensions-0.8.0/integrations/catalog/atlassian.json +0 -28
  95. openhands_extensions-0.8.0/integrations/catalog/datadog.json +0 -34
  96. openhands_extensions-0.8.0/integrations/catalog-index.js +0 -151
  97. openhands_extensions-0.8.0/python/openhands_extensions/__init__.py +0 -24
  98. openhands_extensions-0.8.0/skills/index.js +0 -512
  99. openhands_extensions-0.8.0/tests/test_catalog_schema.py +0 -47
  100. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.agents/skills/custom-codereview-guide.md +0 -0
  101. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.claude-plugin/marketplace.json +0 -0
  102. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/pull_request_template.md +0 -0
  103. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/release.yml +0 -0
  104. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/check-extensions.yml +0 -0
  105. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/npm-publish.yml +0 -0
  106. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/pr.yml +0 -0
  107. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/pypi-publish.yml +0 -0
  108. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/release.yml +0 -0
  109. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/tests.yml +0 -0
  110. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.github/workflows/vulnerability-scan.yml +0 -0
  111. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/.gitignore +0 -0
  112. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/AGENTS.md +0 -0
  113. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/LICENSE +0 -0
  114. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/MIGRATION.md +0 -0
  115. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/analysis_results.md +0 -0
  116. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/README.md +0 -0
  117. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/github-pr-reviewer.json +0 -0
  118. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/github-repo-monitor.json +0 -0
  119. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/incident-retrospective-drafter.json +0 -0
  120. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/linear-triage-assistant.json +0 -0
  121. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/research-brief-writer.json +0 -0
  122. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/slack-channel-monitor.json +0 -0
  123. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/catalog/slack-standup-digest.json +0 -0
  124. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/automations/index.d.ts +0 -0
  125. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/index.d.ts +0 -0
  126. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/index.js +0 -0
  127. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/airtable.json +0 -0
  128. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/apify.json +0 -0
  129. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/asana.json +0 -0
  130. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/bitbucket.json +0 -0
  131. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/box.json +0 -0
  132. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/brave-search.json +0 -0
  133. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/browser-mcp.json +0 -0
  134. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/canva.json +0 -0
  135. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/clickhouse.json +0 -0
  136. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/cloudflare-bindings.json +0 -0
  137. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/cloudflare-browser-rendering.json +0 -0
  138. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/cloudflare-builds.json +0 -0
  139. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/cloudflare-docs.json +0 -0
  140. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/cloudflare-observability.json +0 -0
  141. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/confluence.json +0 -0
  142. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/deepwiki.json +0 -0
  143. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/discord.json +0 -0
  144. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/elevenlabs.json +0 -0
  145. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/everything.json +0 -0
  146. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/exa.json +0 -0
  147. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/fetch.json +0 -0
  148. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/figma.json +0 -0
  149. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/filesystem.json +0 -0
  150. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/firecrawl.json +0 -0
  151. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/git.json +0 -0
  152. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/gmail.json +0 -0
  153. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/google-calendar.json +0 -0
  154. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/google-docs.json +0 -0
  155. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/google-drive.json +0 -0
  156. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/google-sheets.json +0 -0
  157. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/hubspot.json +0 -0
  158. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/huggingface.json +0 -0
  159. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/intercom.json +0 -0
  160. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/jira.json +0 -0
  161. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/kagi.json +0 -0
  162. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/linear.json +0 -0
  163. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/memory.json +0 -0
  164. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/miro.json +0 -0
  165. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/monday.json +0 -0
  166. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/mongodb.json +0 -0
  167. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/neon.json +0 -0
  168. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/netlify.json +0 -0
  169. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/obsidian.json +0 -0
  170. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/okta.json +0 -0
  171. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/ordinal.json +0 -0
  172. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/paypal.json +0 -0
  173. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/playwright.json +0 -0
  174. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/posthog.json +0 -0
  175. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/quickbooks.json +0 -0
  176. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/redis.json +0 -0
  177. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/resend.json +0 -0
  178. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/salesforce.json +0 -0
  179. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/sentry.json +0 -0
  180. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/sequential-thinking.json +0 -0
  181. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/stripe.json +0 -0
  182. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/supabase.json +0 -0
  183. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/tavily.json +0 -0
  184. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/time.json +0 -0
  185. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/trello.json +0 -0
  186. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/vercel.json +0 -0
  187. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/webflow.json +0 -0
  188. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/xero.json +0 -0
  189. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/catalog/zoom.json +0 -0
  190. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/icons/salesforce.svg +0 -0
  191. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/icons/slack.svg +0 -0
  192. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/integrations/index.js +0 -0
  193. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/marketplaces/large-codebase.json +0 -0
  194. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/README.md +0 -0
  195. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/city-weather/.claude-plugin/plugin.json +0 -0
  196. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/city-weather/README.md +0 -0
  197. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/city-weather/commands/now.md +0 -0
  198. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/.claude-plugin/plugin.json +0 -0
  199. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/README.md +0 -0
  200. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/references/troubleshooting.md +0 -0
  201. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/build-setup/scripts/install-gnucobol.sh +0 -0
  202. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/mainframe-planning/SKILL.md +0 -0
  203. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/mainframe-removal/SKILL.md +0 -0
  204. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/mainframe-removal/references/cics-transformation-examples.md +0 -0
  205. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/to-java-migration/SKILL.md +0 -0
  206. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/to-java-migration/references/cobol-to-java-example.md +0 -0
  207. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/cobol-modernization/skills/to-java-migration/references/datatype-mappings.md +0 -0
  208. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/.claude-plugin/plugin.json +0 -0
  209. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/README.md +0 -0
  210. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/action.yml +0 -0
  211. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/scripts/auto_close_duplicate_issues.py +0 -0
  212. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/scripts/issue_duplicate_check_openhands.py +0 -0
  213. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/scripts/post_duplicate_notice.cjs +0 -0
  214. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/issue-duplicate-checker/scripts/remove_duplicate_candidate_label.cjs +0 -0
  215. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/magic-test/.claude-plugin/plugin.json +0 -0
  216. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/magic-test/skills/magic-word/SKILL.md +0 -0
  217. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/.claude-plugin/plugin.json +0 -0
  218. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/README.md +0 -0
  219. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/skills/migration-mapping/SKILL.md +0 -0
  220. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/skills/migration-report/SKILL.md +0 -0
  221. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/skills/score-quality/SKILL.md +0 -0
  222. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/skills/score-quality/references/scoring-criteria.md +0 -0
  223. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/migration-scoring/skills/score-style/SKILL.md +0 -0
  224. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/.claude-plugin/plugin.json +0 -0
  225. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/README.md +0 -0
  226. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/references/criteria.md +0 -0
  227. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/README.md +0 -0
  228. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/references/criteria.md +0 -0
  229. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_agent_instructions.sh +0 -0
  230. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_build_env.sh +0 -0
  231. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_feedback_loops.sh +0 -0
  232. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_policy.sh +0 -0
  233. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_workflows.sh +0 -0
  234. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/improve-agent-readiness/README.md +0 -0
  235. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/improve-agent-readiness/SKILL.md +0 -0
  236. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/improve-agent-readiness/references/criteria.md +0 -0
  237. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/setup-agents-md/README.md +0 -0
  238. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/setup-agents-md/SKILL.md +0 -0
  239. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/setup-openhands/README.md +0 -0
  240. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/setup-openhands/SKILL.md +0 -0
  241. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/setup-pr-review/README.md +0 -0
  242. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/onboarding/skills/setup-pr-review/SKILL.md +0 -0
  243. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/.claude-plugin/plugin.json +0 -0
  244. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/README.md +0 -0
  245. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/commands/create.md +0 -0
  246. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/commands/openhands-cloud.md +0 -0
  247. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/scripts/run.sh +0 -0
  248. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/.claude-plugin/plugin.json +0 -0
  249. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/README.md +0 -0
  250. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/references/README.md +0 -0
  251. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/references/TROUBLESHOOTING.md +0 -0
  252. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/references/example_prompt.md +0 -0
  253. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/scripts/openhands_api.py +0 -0
  254. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-api/scripts/openhands_api.ts +0 -0
  255. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-automation/.claude-plugin/plugin.json +0 -0
  256. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-automation/README.md +0 -0
  257. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-automation/commands/automation-create.md +0 -0
  258. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-automation/references/ab-testing.md +0 -0
  259. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-sdk/.claude-plugin/plugin.json +0 -0
  260. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-sdk/README.md +0 -0
  261. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-sdk/SKILL.md +0 -0
  262. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/openhands/skills/openhands-sdk/commands/sdk.md +0 -0
  263. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/.claude-plugin/plugin.json +0 -0
  264. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/README.md +0 -0
  265. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/action.yml +0 -0
  266. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/scripts/agent_script.py +0 -0
  267. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/scripts/evaluate_review.py +0 -0
  268. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/scripts/prompt.py +0 -0
  269. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/.claude-plugin/plugin.json +0 -0
  270. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/README.md +0 -0
  271. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/commands/codereview-roasted.md +0 -0
  272. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/commands/codereview.md +0 -0
  273. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/references/risk-evaluation.md +0 -0
  274. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/code-review/references/supply-chain-security.md +0 -0
  275. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/github-pr-review/.claude-plugin/plugin.json +0 -0
  276. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/github-pr-review/README.md +0 -0
  277. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/skills/github-pr-review/commands/github-pr-review.md +0 -0
  278. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/workflows/pr-review-by-openhands.yml +0 -0
  279. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/pr-review/workflows/pr-review-evaluation.yml +0 -0
  280. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/.claude-plugin/plugin.json +0 -0
  281. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/README.md +0 -0
  282. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/action.yml +0 -0
  283. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/scripts/agent_script.py +0 -0
  284. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/scripts/evaluate_qa_changes.py +0 -0
  285. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/scripts/prompt.py +0 -0
  286. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/skills/qa-changes/README.md +0 -0
  287. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/skills/qa-changes/SKILL.md +0 -0
  288. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/skills/qa-changes/commands/qa-changes.md +0 -0
  289. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/workflows/qa-changes-by-openhands.yml +0 -0
  290. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/qa-changes/workflows/qa-changes-evaluation.yml +0 -0
  291. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/.claude-plugin/plugin.json +0 -0
  292. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/README.md +0 -0
  293. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/action.yml +0 -0
  294. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/commands/release-notes.md +0 -0
  295. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/scripts/agent_script.py +0 -0
  296. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/scripts/generate_release_notes.py +0 -0
  297. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/scripts/prompt.py +0 -0
  298. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/scripts/validate_release_notes.py +0 -0
  299. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/skills/release-notes/README.md +0 -0
  300. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/skills/release-notes/SKILL.md +0 -0
  301. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/skills/release-notes/commands/release-notes.md +0 -0
  302. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/release-notes/workflows/release-notes.yml +0 -0
  303. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/.claude-plugin/plugin.json +0 -0
  304. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/README.md +0 -0
  305. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/action.yml +0 -0
  306. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/scripts/scan_and_remediate.py +0 -0
  307. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/skills/github/.claude-plugin/plugin.json +0 -0
  308. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/skills/github/README.md +0 -0
  309. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/skills/security/.claude-plugin/plugin.json +0 -0
  310. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/skills/security/README.md +0 -0
  311. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/skills/security/SKILL.md +0 -0
  312. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/plugins/vulnerability-remediation/workflows/vulnerability-scan.yml +0 -0
  313. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/release-please-config.json +0 -0
  314. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/scripts/build-integration-catalog.mjs +0 -0
  315. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/scripts/sync_extensions.py +0 -0
  316. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/scripts/sync_openhands_sdk_skill.py +0 -0
  317. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/README.md +0 -0
  318. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-javadoc/.claude-plugin/plugin.json +0 -0
  319. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-javadoc/README.md +0 -0
  320. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-javadoc/SKILL.md +0 -0
  321. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-javadoc/references/example.md +0 -0
  322. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-skill/.claude-plugin/plugin.json +0 -0
  323. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-skill/README.md +0 -0
  324. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/add-skill/scripts/fetch_skill.py +0 -0
  325. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-canvas-environment/.claude-plugin/plugin.json +0 -0
  326. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-canvas-environment/README.md +0 -0
  327. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-canvas-environment/SKILL.md +0 -0
  328. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-creator/.claude-plugin/plugin.json +0 -0
  329. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-creator/README.md +0 -0
  330. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-creator/SKILL.md +0 -0
  331. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-creator/commands/agent-creator.md +0 -0
  332. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-creator/references/fallback.md +0 -0
  333. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-memory/.claude-plugin/plugin.json +0 -0
  334. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-memory/README.md +0 -0
  335. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-memory/SKILL.md +0 -0
  336. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-memory/commands/remember.md +0 -0
  337. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-sdk-builder/.claude-plugin/plugin.json +0 -0
  338. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-sdk-builder/README.md +0 -0
  339. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-sdk-builder/SKILL.md +0 -0
  340. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/agent-sdk-builder/commands/agent-builder.md +0 -0
  341. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/azure-devops/.claude-plugin/plugin.json +0 -0
  342. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/azure-devops/README.md +0 -0
  343. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket/.claude-plugin/plugin.json +0 -0
  344. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket/README.md +0 -0
  345. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket/SKILL.md +0 -0
  346. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket-cloud/.claude-plugin/plugin.json +0 -0
  347. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket-cloud/README.md +0 -0
  348. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket-data-center/.claude-plugin/plugin.json +0 -0
  349. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket-data-center/README.md +0 -0
  350. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/bitbucket-data-center/SKILL.md +0 -0
  351. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/.claude-plugin/plugin.json +0 -0
  352. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/README.md +0 -0
  353. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/SKILL.md +0 -0
  354. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/commands/simplify.md +0 -0
  355. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/references/code-quality-review.md +0 -0
  356. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/references/code-reuse-review.md +0 -0
  357. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/code-simplifier/references/efficiency-review.md +0 -0
  358. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/datadog/.claude-plugin/plugin.json +0 -0
  359. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/datadog/README.md +0 -0
  360. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/deno/.claude-plugin/plugin.json +0 -0
  361. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/deno/README.md +0 -0
  362. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/deno/SKILL.md +0 -0
  363. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/deno/references/README.md +0 -0
  364. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/.claude-plugin/plugin.json +0 -0
  365. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/README.md +0 -0
  366. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/__init__.py +0 -0
  367. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/references/REFERENCE.md +0 -0
  368. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/scripts/__init__.py +0 -0
  369. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/scripts/_http.py +0 -0
  370. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/scripts/post_webhook.py +0 -0
  371. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/discord/scripts/send_message.py +0 -0
  372. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/docker/.claude-plugin/plugin.json +0 -0
  373. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/docker/README.md +0 -0
  374. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/evidence-based-citations/.claude-plugin/plugin.json +0 -0
  375. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/evidence-based-citations/README.md +0 -0
  376. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/evidence-based-citations/SKILL.md +0 -0
  377. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/flarglebargle/.claude-plugin/plugin.json +0 -0
  378. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/flarglebargle/README.md +0 -0
  379. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/flarglebargle/SKILL.md +0 -0
  380. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/frontend-design/.claude-plugin/plugin.json +0 -0
  381. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/frontend-design/LICENSE.txt +0 -0
  382. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/frontend-design/README.md +0 -0
  383. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/frontend-design/SKILL.md +0 -0
  384. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-actions/.claude-plugin/plugin.json +0 -0
  385. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-actions/README.md +0 -0
  386. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-actions/SKILL.md +0 -0
  387. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-pr-reviewer/.claude-plugin/plugin.json +0 -0
  388. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-pr-reviewer/README.md +0 -0
  389. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-pr-reviewer/commands/pr-reviewer-setup.md +0 -0
  390. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-pr-reviewer/references/state-schema.md +0 -0
  391. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-pr-reviewer/scripts/main.py +0 -0
  392. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/.claude-plugin/plugin.json +0 -0
  393. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/README.md +0 -0
  394. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/commands/github-monitor-poll.md +0 -0
  395. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/references/github-api.md +0 -0
  396. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/references/state-schema.md +0 -0
  397. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/scripts/main.py +0 -0
  398. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/github-repo-monitor/tests/test_main.py +0 -0
  399. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/gitlab/.claude-plugin/plugin.json +0 -0
  400. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/gitlab/README.md +0 -0
  401. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/incident-retrospective/.claude-plugin/plugin.json +0 -0
  402. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/incident-retrospective/README.md +0 -0
  403. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/incident-retrospective/commands/incident-retro-setup.md +0 -0
  404. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/index.d.ts +0 -0
  405. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/.claude-plugin/plugin.json +0 -0
  406. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/README.md +0 -0
  407. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/commands/babysit.md +0 -0
  408. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/commands/iterate.md +0 -0
  409. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/commands/verify.md +0 -0
  410. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/references/heuristics.md +0 -0
  411. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/iterate/references/verification.md +0 -0
  412. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/jupyter/.claude-plugin/plugin.json +0 -0
  413. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/jupyter/README.md +0 -0
  414. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/kubernetes/.claude-plugin/plugin.json +0 -0
  415. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/kubernetes/README.md +0 -0
  416. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/learn-from-code-review/.claude-plugin/plugin.json +0 -0
  417. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/learn-from-code-review/README.md +0 -0
  418. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/learn-from-code-review/SKILL.md +0 -0
  419. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/learn-from-code-review/commands/learn-from-reviews.md +0 -0
  420. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear/.claude-plugin/plugin.json +0 -0
  421. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear/README.md +0 -0
  422. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear-triage/.claude-plugin/plugin.json +0 -0
  423. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear-triage/README.md +0 -0
  424. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/linear-triage/commands/linear-triage-setup.md +0 -0
  425. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/notion/.claude-plugin/plugin.json +0 -0
  426. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/notion/README.md +0 -0
  427. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/npm/.claude-plugin/plugin.json +0 -0
  428. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/npm/README.md +0 -0
  429. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/npm/SKILL.md +0 -0
  430. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/pdflatex/.claude-plugin/plugin.json +0 -0
  431. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/pdflatex/README.md +0 -0
  432. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/plain-english-content/.claude-plugin/plugin.json +0 -0
  433. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/plain-english-content/README.md +0 -0
  434. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/plain-english-content/SKILL.md +0 -0
  435. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/prd/.claude-plugin/plugin.json +0 -0
  436. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/prd/README.md +0 -0
  437. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/prd/SKILL.md +0 -0
  438. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/prd/commands/prd.md +0 -0
  439. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/research-brief/.claude-plugin/plugin.json +0 -0
  440. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/research-brief/README.md +0 -0
  441. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/research-brief/commands/research-brief-setup.md +0 -0
  442. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/.claude-plugin/plugin.json +0 -0
  443. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/LICENSE.txt +0 -0
  444. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/README.md +0 -0
  445. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/references/output-patterns.md +0 -0
  446. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/references/workflows.md +0 -0
  447. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/scripts/init_skill.py +0 -0
  448. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/skill-creator/scripts/quick_validate.py +0 -0
  449. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/.claude-plugin/plugin.json +0 -0
  450. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/README.md +0 -0
  451. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/commands/slack-monitor-poll.md +0 -0
  452. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/references/slack-api.md +0 -0
  453. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/references/state-schema.md +0 -0
  454. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-channel-monitor/scripts/main.py +0 -0
  455. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-standup-digest/.claude-plugin/plugin.json +0 -0
  456. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-standup-digest/README.md +0 -0
  457. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/slack-standup-digest/commands/standup-digest-setup.md +0 -0
  458. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/spark-version-upgrade/.claude-plugin/plugin.json +0 -0
  459. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/spark-version-upgrade/README.md +0 -0
  460. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/ssh/.claude-plugin/plugin.json +0 -0
  461. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/ssh/README.md +0 -0
  462. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/swift-linux/.claude-plugin/plugin.json +0 -0
  463. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/swift-linux/README.md +0 -0
  464. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/.claude-plugin/plugin.json +0 -0
  465. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/LICENSE.txt +0 -0
  466. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/README.md +0 -0
  467. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/SKILL.md +0 -0
  468. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/theme-showcase.pdf +0 -0
  469. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/arctic-frost.md +0 -0
  470. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/botanical-garden.md +0 -0
  471. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/desert-rose.md +0 -0
  472. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/forest-canopy.md +0 -0
  473. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/golden-hour.md +0 -0
  474. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/midnight-galaxy.md +0 -0
  475. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/modern-minimalist.md +0 -0
  476. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/ocean-depths.md +0 -0
  477. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/sunset-boulevard.md +0 -0
  478. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/theme-factory/themes/tech-innovation.md +0 -0
  479. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/uv/.claude-plugin/plugin.json +0 -0
  480. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/uv/README.md +0 -0
  481. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/uv/SKILL.md +0 -0
  482. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/uv/references/README.md +0 -0
  483. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/vercel/.claude-plugin/plugin.json +0 -0
  484. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/skills/vercel/README.md +0 -0
  485. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_add_skill_installs_to_agents_dir.py +0 -0
  486. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_code_review_risk_evaluation.py +0 -0
  487. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_github_pr_review_skill.py +0 -0
  488. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_issue_duplicate_checker.py +0 -0
  489. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_openhands_api_python.py +0 -0
  490. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_plugin_manifest.py +0 -0
  491. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_pr_review_diff_payload.py +0 -0
  492. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_pr_review_feedback.py +0 -0
  493. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_pr_review_prompt.py +0 -0
  494. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_pr_review_review_context.py +0 -0
  495. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_qa_changes.py +0 -0
  496. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_qa_changes_evaluation.py +0 -0
  497. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_release_notes_generator.py +0 -0
  498. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_sdk_loading.py +0 -0
  499. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_skill_plugin_loading.py +0 -0
  500. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_skills_catalog.py +0 -0
  501. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_skills_have_readme.py +0 -0
  502. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_slack_channel_monitor.py +0 -0
  503. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_sync_extensions.py +0 -0
  504. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_version_alignment.py +0 -0
  505. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/tests/test_workflow_sync.py +0 -0
  506. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/utils/analysis/README.md +0 -0
  507. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/utils/analysis/laminar_signals/README.md +0 -0
  508. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/utils/analysis/laminar_signals/analyze.py +0 -0
  509. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/utils/analysis/laminar_signals/templates/default.j2 +0 -0
  510. {openhands_extensions-0.8.0 → openhands_extensions-0.10.0}/utils/analysis/laminar_signals/templates/pr_review.j2 +0 -0
@@ -0,0 +1,25 @@
1
+ name: Deprecation deadlines
2
+
3
+ # release-please opens its release PR with the OpenHands GitHub App token, so
4
+ # this pull_request workflow also runs against the generated version bump.
5
+ on:
6
+ pull_request:
7
+ branches: ["**"]
8
+ push:
9
+ branches: ["main", "master"]
10
+
11
+ jobs:
12
+ check:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout repository
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Install uv
19
+ uses: astral-sh/setup-uv@v7
20
+ with:
21
+ enable-cache: true
22
+ python-version: "3.12"
23
+
24
+ - name: Verify deprecation deadlines
25
+ run: uv run python scripts/check_deprecations.py
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.10.0"
3
+ }
@@ -1,6 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openhands-extensions
3
- Version: 0.8.0
3
+ Version: 0.10.0
4
4
  Summary: OpenHands extensions, plugins, and skills (Python bindings for the integration catalog)
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
7
+ Requires-Dist: deprecation<3,>=2.1
8
+ Requires-Dist: packaging<26,>=24
9
+ Requires-Dist: pydantic<3,>=2.10
@@ -87,7 +87,7 @@ The JS and Python versions are kept in lock-step by `release-please` and guarded
87
87
  ## Extensions Catalog
88
88
 
89
89
  <!-- BEGIN AUTO-GENERATED CATALOG -->
90
- This repository contains **2 marketplace(s)** with **61 extensions** (51 skills, 10 plugins).
90
+ This repository contains **2 marketplace(s)** with **62 extensions** (52 skills, 10 plugins).
91
91
 
92
92
  ### large-codebase
93
93
 
@@ -106,7 +106,7 @@ OpenHands skills for interacting, improving, and refactoring large codebases
106
106
 
107
107
  Official skills and plugins for OpenHands — the open-source AI software engineer.
108
108
 
109
- **57 extensions** (49 skills, 8 plugins)
109
+ **58 extensions** (50 skills, 8 plugins)
110
110
 
111
111
  | Name | Type | Description | Commands |
112
112
  |------|------|-------------|----------|
@@ -137,6 +137,7 @@ Official skills and plugins for OpenHands — the open-source AI software engine
137
137
  | gitlab | skill | Interact with GitLab repositories, merge requests, and APIs using the GITLAB_TOKEN environment variable. Use when wor... | — |
138
138
  | incident-retrospective | skill | Create an automation that drafts incident retrospectives by gathering incident-channel messages from Slack, collectin... | `/incident-retro:setup` |
139
139
  | iterate | skill | Iterate on a GitHub pull request — drive it through CI, code review, and QA until merge-ready. Monitors state, fixes ... | `/iterate`, `/verify`, `/babysit` |
140
+ | jira-issue-to-pr | skill | Deploy a cron-based OpenHands automation that watches a Jira Cloud project for issues labeled with a configurable lab... | — |
140
141
  | jupyter | skill | Read, modify, execute, and convert Jupyter notebooks programmatically. Use when working with .ipynb files for data sc... | — |
141
142
  | kubernetes | skill | Set up and manage local Kubernetes clusters using KIND (Kubernetes IN Docker). Use when testing Kubernetes applicatio... | — |
142
143
  | learn-from-code-review | skill | Distill code review feedback from GitHub PRs into reusable skills and guidelines. Use when users ask to learn from co... | `/learn-from-reviews` |
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "jira-issue-to-pr",
3
+ "name": "Jira issue to GitHub PR",
4
+ "category": "Project management",
5
+ "description": "Watch a Jira Cloud project for issues with a configurable label and automatically open a GitHub pull request for each new issue found. The target GitHub repo is read from the ticket body - no repo parameter required at deploy time.",
6
+ "requiredIntegrationIds": [
7
+ "jira",
8
+ "github"
9
+ ],
10
+ "popularityRank": 85,
11
+ "estimatedSetupMinutes": 5,
12
+ "prompt": "Set up a Jira automation to create pull requests",
13
+ "exampleImplementation": "Trigger: cron polling (e.g. every 5 minutes)\nRequired secrets: Jira API token, GitHub personal access token (repo + workflow scope)\n\n1. Collect Jira base URL, email, API token secret name, label to watch, and cron schedule from the user. No GitHub repo is needed at deploy time - each ticket must include the target repo (owner/repo) in its body.\n2. Poll POST /rest/api/3/search/jql on the Jira Cloud instance to find open issues carrying the configured label.\n3. Deduplicate against a KV-store-backed set of already-processed issue keys so re-runs never create duplicate PRs.\n4. For each new issue, start an independent OpenHands agent conversation that extracts the GitHub repo from the ticket body, clones it, creates a branch named after the Jira key, implements or scaffolds the requested change, and opens a pull request.\n5. Immediately after the conversation is created, post a Jira comment on the issue: 'I'm on it: <conversation URL>'.\n6. Persist the processed issue key immediately after dispatching so the next poll skips it."
14
+ }
@@ -5,6 +5,7 @@ import slack_channel_monitor from "./catalog/slack-channel-monitor.json" with {
5
5
  import linear_triage_assistant from "./catalog/linear-triage-assistant.json" with { type: "json" };
6
6
  import research_brief_writer from "./catalog/research-brief-writer.json" with { type: "json" };
7
7
  import incident_retrospective_drafter from "./catalog/incident-retrospective-drafter.json" with { type: "json" };
8
+ import jira_issue_to_pr from "./catalog/jira-issue-to-pr.json" with { type: "json" };
8
9
 
9
10
  export const AUTOMATION_CATALOG = [
10
11
  github_pr_reviewer,
@@ -14,5 +15,6 @@ export const AUTOMATION_CATALOG = [
14
15
  linear_triage_assistant,
15
16
  research_brief_writer,
16
17
  incident_retrospective_drafter,
18
+ jira_issue_to_pr,
17
19
  ];
18
20
  export default AUTOMATION_CATALOG;
@@ -18,6 +18,31 @@ integrations so clients can consume one source of truth.
18
18
  Each integration carries its OAuth/MCP connection data directly. Do not add a
19
19
  separate provider catalog or per-language provider data.
20
20
 
21
+ Every entry must include `docsUrl`. Marketplace input fields must explicitly
22
+ declare both their `type` and whether they are `required`, rather than relying
23
+ on client defaults. When connection metadata includes an `identityMapping`, it
24
+ must also identify the external principal. These requirements keep catalogs
25
+ actionable and prevent clients from guessing security- or UX-relevant defaults.
26
+
27
+ Connection options may also carry an optional `connectionModel`. This metadata
28
+ lets consumers distinguish the authenticated principal from the external
29
+ resource the credential can reach:
30
+
31
+ - `principalType` describes who or what authenticated.
32
+ - `credentialScope` describes the provider boundary enforced by the credential.
33
+ - `resourceType` and `resourceCardinality` describe whether the grant represents
34
+ one workspace/site/tenant or can enumerate several.
35
+ - `selectionMode` tells clients whether the resource is known during auth,
36
+ selected immediately after auth, or supplied at runtime.
37
+ - `identityMapping` contains constrained dot paths for identity values returned
38
+ by OAuth, access-token claims, or a provider identity endpoint.
39
+ - `resourceDiscovery` describes a read-only endpoint used to enumerate resources
40
+ when one grant covers several of them.
41
+
42
+ These fields are descriptive; they never broaden the scopes enforced by the
43
+ provider credential. Consumers must not claim resource-level isolation when a
44
+ provider token is only account- or tenant-scoped.
45
+
21
46
  Consumers should use the read functions exported by the package:
22
47
 
23
48
  ```js
@@ -0,0 +1,116 @@
1
+ {
2
+ "id": "atlassian",
3
+ "name": "Atlassian (Jira & Confluence)",
4
+ "description": "Search Jira issues, manage tickets, and read Confluence pages from your agent.",
5
+ "categories": [
6
+ "Project management",
7
+ "Documentation"
8
+ ],
9
+ "appUrl": "https://www.atlassian.com",
10
+ "docsUrl": "https://mcp-atlassian.soomiles.com/docs/installation",
11
+ "iconBg": "#0052CC",
12
+ "logoUrl": "https://cdn.simpleicons.org/atlassian/FFFFFF",
13
+ "keywords": [
14
+ "jira",
15
+ "confluence",
16
+ "tickets",
17
+ "wiki",
18
+ "issues",
19
+ "sprint"
20
+ ],
21
+ "popularityRank": 88,
22
+ "installHint": "Paste your Jira and/or Confluence URL and API token. The mcp-atlassian package runs via uvx - no install needed.",
23
+ "connectionOptions": [
24
+ {
25
+ "id": "oauth",
26
+ "provider": "mcp",
27
+ "connectionModel": {
28
+ "principalType": "user",
29
+ "credentialScope": "account",
30
+ "resourceType": "site",
31
+ "resourceCardinality": "many",
32
+ "selectionMode": "post_auth",
33
+ "resourceDiscovery": {
34
+ "endpoint": "https://api.atlassian.com/oauth/token/accessible-resources",
35
+ "externalResourceIdPath": "id",
36
+ "resourceNamePath": "name",
37
+ "resourceUrlPath": "url"
38
+ }
39
+ },
40
+ "transport": {
41
+ "kind": "shttp",
42
+ "url": "https://mcp.atlassian.com/v1/mcp"
43
+ },
44
+ "auth": {
45
+ "strategy": "oauth2"
46
+ }
47
+ },
48
+ {
49
+ "id": "api",
50
+ "provider": "mcp",
51
+ "transport": {
52
+ "kind": "stdio",
53
+ "serverName": "mcp-atlassian",
54
+ "command": "uvx",
55
+ "args": [
56
+ "mcp-atlassian"
57
+ ],
58
+ "envFields": [
59
+ {
60
+ "key": "JIRA_URL",
61
+ "label": "Jira URL",
62
+ "type": "text",
63
+ "placeholder": "https://your-company.atlassian.net",
64
+ "required": false,
65
+ "helperText": "Your Atlassian Jira base URL. Omit if using Confluence only."
66
+ },
67
+ {
68
+ "key": "JIRA_USERNAME",
69
+ "label": "Jira username (email)",
70
+ "type": "text",
71
+ "placeholder": "your.email@company.com",
72
+ "required": false,
73
+ "helperText": "Email address linked to your Atlassian account."
74
+ },
75
+ {
76
+ "key": "JIRA_API_TOKEN",
77
+ "label": "Jira API token",
78
+ "type": "password",
79
+ "placeholder": "ATATT...",
80
+ "required": false,
81
+ "helperText": "Atlassian API token for Jira. Required when JIRA_URL is set.",
82
+ "helperLink": "https://id.atlassian.com/manage-profile/security/api-tokens"
83
+ },
84
+ {
85
+ "key": "CONFLUENCE_URL",
86
+ "label": "Confluence URL",
87
+ "type": "text",
88
+ "placeholder": "https://your-company.atlassian.net/wiki",
89
+ "required": false,
90
+ "helperText": "Your Atlassian Confluence base URL. Omit if using Jira only."
91
+ },
92
+ {
93
+ "key": "CONFLUENCE_USERNAME",
94
+ "label": "Confluence username (email)",
95
+ "type": "text",
96
+ "placeholder": "your.email@company.com",
97
+ "required": false,
98
+ "helperText": "Email address linked to your Atlassian account."
99
+ },
100
+ {
101
+ "key": "CONFLUENCE_API_TOKEN",
102
+ "label": "Confluence API token",
103
+ "type": "password",
104
+ "placeholder": "ATATT...",
105
+ "required": false,
106
+ "helperText": "Atlassian API token for Confluence. Required when CONFLUENCE_URL is set.",
107
+ "helperLink": "https://id.atlassian.com/manage-profile/security/api-tokens"
108
+ }
109
+ ]
110
+ },
111
+ "auth": {
112
+ "strategy": "api_key"
113
+ }
114
+ }
115
+ ]
116
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "id": "datadog",
3
+ "name": "Datadog",
4
+ "description": "Logs, metrics, monitors, incidents, and observability workflows.",
5
+ "categories": [
6
+ "Observability",
7
+ "Operations"
8
+ ],
9
+ "appUrl": "https://www.datadoghq.com",
10
+ "docsUrl": "https://docs.datadoghq.com/bits_ai/mcp_server/setup/",
11
+ "notes": "Uses Datadog's official hosted MCP server. The MCP endpoint host is site-specific: use https://mcp.<site>.datadoghq.com/v1/mcp for your Datadog site (e.g. mcp.us5.datadoghq.com for US5). The default URL below targets US1 and can be edited in the install dialog.",
12
+ "popularityRank": 35,
13
+ "installHint": "The Datadog MCP URL is site-specific. Edit the URL to https://mcp.<site>.datadoghq.com/v1/mcp for your Datadog site (for example https://mcp.us5.datadoghq.com/v1/mcp for US5, https://mcp.eu.datadoghq.com/v1/mcp for EU). Find your site at Organization Settings → Site in Datadog.",
14
+ "connectionOptions": [
15
+ {
16
+ "id": "oauth",
17
+ "provider": "mcp",
18
+ "auth": {
19
+ "strategy": "oauth2",
20
+ "oauth": {
21
+ "authorizationUrl": "https://app.datadoghq.com/oauth2/v1/authorize",
22
+ "tokenUrl": "https://api.datadoghq.com/oauth2/v1/token",
23
+ "scopes": [
24
+ "dashboards_read",
25
+ "monitors_read"
26
+ ]
27
+ }
28
+ },
29
+ "transport": {
30
+ "kind": "shttp",
31
+ "url": "https://mcp.datadoghq.com/v1/mcp"
32
+ }
33
+ },
34
+ {
35
+ "id": "api",
36
+ "provider": "mcp",
37
+ "auth": {
38
+ "strategy": "none"
39
+ },
40
+ "transport": {
41
+ "kind": "shttp",
42
+ "url": "https://mcp.datadoghq.com/v1/mcp",
43
+ "urlEditable": true,
44
+ "headerFields": [
45
+ {
46
+ "key": "DD-API-KEY",
47
+ "label": "Datadog API key",
48
+ "type": "password",
49
+ "required": true,
50
+ "placeholder": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
51
+ "helperText": "Created in Datadog under Organization Settings → API Keys. Used to authenticate to the Datadog MCP server. See the [setup docs](https://docs.datadoghq.com/mcp_server/setup/?tab=other#authentication)."
52
+ },
53
+ {
54
+ "key": "DD-APPLICATION-KEY",
55
+ "label": "Datadog Application key",
56
+ "type": "password",
57
+ "required": true,
58
+ "placeholder": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
59
+ "helperText": "Created in Datadog under Organization Settings → Application Keys. Grants the MCP server access to your Datadog data. See the [setup docs](https://docs.datadoghq.com/mcp_server/setup/?tab=other#authentication)."
60
+ }
61
+ ]
62
+ }
63
+ }
64
+ ]
65
+ }
@@ -14,6 +14,26 @@
14
14
  {
15
15
  "id": "oauth",
16
16
  "provider": "mcp",
17
+ "connectionModel": {
18
+ "principalType": "user",
19
+ "credentialScope": "account",
20
+ "resourceType": "organization",
21
+ "resourceCardinality": "many",
22
+ "selectionMode": "post_auth",
23
+ "identityMapping": {
24
+ "source": "identity_api",
25
+ "endpoint": "https://api.github.com/user",
26
+ "externalPrincipalIdPath": "id",
27
+ "resourceNamePath": "login",
28
+ "resourceUrlPath": "html_url"
29
+ },
30
+ "resourceDiscovery": {
31
+ "endpoint": "https://api.github.com/user/orgs",
32
+ "externalResourceIdPath": "id",
33
+ "resourceNamePath": "login",
34
+ "resourceUrlPath": "html_url"
35
+ }
36
+ },
17
37
  "auth": {
18
38
  "strategy": "oauth2",
19
39
  "oauth": {
@@ -14,6 +14,19 @@
14
14
  {
15
15
  "id": "oauth",
16
16
  "provider": "http",
17
+ "connectionModel": {
18
+ "principalType": "user",
19
+ "credentialScope": "tenant",
20
+ "resourceType": "tenant",
21
+ "resourceCardinality": "one",
22
+ "selectionMode": "automatic",
23
+ "identityMapping": {
24
+ "source": "access_token_claims",
25
+ "externalPrincipalIdPath": "oid",
26
+ "externalTenantIdPath": "tid",
27
+ "externalResourceIdPath": "tid"
28
+ }
29
+ },
17
30
  "auth": {
18
31
  "strategy": "oauth2",
19
32
  "oauth": {
@@ -14,6 +14,19 @@
14
14
  {
15
15
  "id": "oauth",
16
16
  "provider": "http",
17
+ "connectionModel": {
18
+ "principalType": "user",
19
+ "credentialScope": "tenant",
20
+ "resourceType": "tenant",
21
+ "resourceCardinality": "one",
22
+ "selectionMode": "automatic",
23
+ "identityMapping": {
24
+ "source": "access_token_claims",
25
+ "externalPrincipalIdPath": "oid",
26
+ "externalTenantIdPath": "tid",
27
+ "externalResourceIdPath": "tid"
28
+ }
29
+ },
17
30
  "auth": {
18
31
  "strategy": "oauth2",
19
32
  "oauth": {
@@ -13,6 +13,19 @@
13
13
  {
14
14
  "id": "oauth",
15
15
  "provider": "http",
16
+ "connectionModel": {
17
+ "principalType": "user",
18
+ "credentialScope": "resource",
19
+ "resourceType": "workspace",
20
+ "resourceCardinality": "one",
21
+ "selectionMode": "automatic",
22
+ "identityMapping": {
23
+ "source": "oauth_token_response",
24
+ "externalPrincipalIdPath": "owner.user.id",
25
+ "externalResourceIdPath": "workspace_id",
26
+ "resourceNamePath": "workspace_name"
27
+ }
28
+ },
16
29
  "auth": {
17
30
  "strategy": "oauth2",
18
31
  "oauth": {
@@ -14,6 +14,19 @@
14
14
  {
15
15
  "id": "oauth",
16
16
  "provider": "http",
17
+ "connectionModel": {
18
+ "principalType": "user",
19
+ "credentialScope": "tenant",
20
+ "resourceType": "tenant",
21
+ "resourceCardinality": "one",
22
+ "selectionMode": "automatic",
23
+ "identityMapping": {
24
+ "source": "access_token_claims",
25
+ "externalPrincipalIdPath": "oid",
26
+ "externalTenantIdPath": "tid",
27
+ "externalResourceIdPath": "tid"
28
+ }
29
+ },
17
30
  "auth": {
18
31
  "strategy": "oauth2",
19
32
  "oauth": {
@@ -14,6 +14,19 @@
14
14
  {
15
15
  "id": "oauth",
16
16
  "provider": "http",
17
+ "connectionModel": {
18
+ "principalType": "user",
19
+ "credentialScope": "tenant",
20
+ "resourceType": "tenant",
21
+ "resourceCardinality": "one",
22
+ "selectionMode": "automatic",
23
+ "identityMapping": {
24
+ "source": "access_token_claims",
25
+ "externalPrincipalIdPath": "oid",
26
+ "externalTenantIdPath": "tid",
27
+ "externalResourceIdPath": "tid"
28
+ }
29
+ },
17
30
  "auth": {
18
31
  "strategy": "oauth2",
19
32
  "oauth": {
@@ -14,6 +14,20 @@
14
14
  {
15
15
  "id": "oauth",
16
16
  "provider": "mcp",
17
+ "connectionModel": {
18
+ "principalType": "user",
19
+ "credentialScope": "resource",
20
+ "resourceType": "workspace",
21
+ "resourceCardinality": "one",
22
+ "selectionMode": "automatic",
23
+ "identityMapping": {
24
+ "source": "oauth_token_response",
25
+ "externalPrincipalIdPath": "authed_user.id",
26
+ "externalTenantIdPath": "enterprise.id",
27
+ "externalResourceIdPath": "team.id",
28
+ "resourceNamePath": "team.name"
29
+ }
30
+ },
17
31
  "auth": {
18
32
  "strategy": "oauth2",
19
33
  "oauth": {
@@ -0,0 +1,36 @@
1
+ {
2
+ "id": "superhuman-mail",
3
+ "name": "Superhuman Mail",
4
+ "description": "Search, read, draft, and send email via Superhuman's hosted MCP server.",
5
+ "categories": [
6
+ "Communication",
7
+ "Email"
8
+ ],
9
+ "appUrl": "https://superhuman.com",
10
+ "docsUrl": "https://github.com/superhuman/mcp-mail",
11
+ "notes": "OAuth is handled by the Superhuman MCP server itself (mcp-remote). No client credentials required.",
12
+ "connectionOptions": [
13
+ {
14
+ "id": "oauth",
15
+ "provider": "mcp",
16
+ "transport": {
17
+ "kind": "shttp",
18
+ "url": "https://mcp.mail.superhuman.com/mcp"
19
+ },
20
+ "auth": {
21
+ "strategy": "oauth2",
22
+ "oauth": {
23
+ "clientAuthentication": "none"
24
+ }
25
+ }
26
+ }
27
+ ],
28
+ "iconBg": "#FF5C28",
29
+ "logoUrl": "https://cdn.simpleicons.org/superhuman/FFFFFF",
30
+ "keywords": [
31
+ "email",
32
+ "mail",
33
+ "superhuman",
34
+ "inbox"
35
+ ]
36
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "id": "vanta",
3
+ "name": "Vanta",
4
+ "description": "Query Vanta compliance controls, tests, evidence, risks, and vulnerabilities from the agent.",
5
+ "categories": [
6
+ "Security",
7
+ "Compliance"
8
+ ],
9
+ "appUrl": "https://www.vanta.com",
10
+ "docsUrl": "https://developer.vanta.com/docs/vanta-mcp",
11
+ "notes": "Vanta's hosted remote MCP server (beta, requires a Vanta Admin role). Regional endpoints: US https://mcp.vanta.com/mcp, EU https://mcp.eu.vanta.com/mcp, AUS https://mcp.aus.vanta.com/mcp. Authentication is OAuth only - no API keys.",
12
+ "popularityRank": 64,
13
+ "connectionOptions": [
14
+ {
15
+ "id": "oauth",
16
+ "provider": "mcp",
17
+ "auth": {
18
+ "strategy": "oauth2",
19
+ "oauth": {
20
+ "authorizationUrl": "https://app.vanta.com/oauth/authorize",
21
+ "tokenUrl": "https://api.vanta.com/oauth/token",
22
+ "registrationUrl": "https://api.vanta.com/oauth/register",
23
+ "scopes": [
24
+ "mcp-api.all:read"
25
+ ],
26
+ "optionalScopes": [
27
+ "mcp-api.all:write"
28
+ ],
29
+ "pkce": true,
30
+ "clientAuthentication": "none",
31
+ "additionalAuthorizationParams": {
32
+ "resource": "https://mcp.vanta.com"
33
+ },
34
+ "additionalTokenParams": {
35
+ "resource": "https://mcp.vanta.com"
36
+ }
37
+ }
38
+ },
39
+ "transport": {
40
+ "kind": "shttp",
41
+ "url": "https://mcp.vanta.com/mcp"
42
+ }
43
+ }
44
+ ],
45
+ "iconBg": "#003D2B",
46
+ "keywords": [
47
+ "compliance",
48
+ "soc2",
49
+ "security",
50
+ "audit",
51
+ "risk",
52
+ "vanta"
53
+ ],
54
+ "installHint": "Connect via the OAuth MCP option. After connecting, complete the OAuth flow in your browser as a Vanta Admin. EU tenants should use https://mcp.eu.vanta.com/mcp and AUS tenants https://mcp.aus.vanta.com/mcp as the transport URL. The legacy local server @vantasdk/vanta-mcp-server is deprecated - prefer the hosted remote server."
55
+ }