openhands-extensions 0.22.1__tar.gz → 0.24.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 (655) hide show
  1. openhands_extensions-0.24.0/.agents/skills/custom-codereview-guide.md +101 -0
  2. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/check-extensions.yml +6 -6
  3. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/deprecation-check.yml +1 -1
  4. openhands_extensions-0.24.0/.github/workflows/issue-readiness-check.yml +73 -0
  5. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/npm-publish.yml +2 -2
  6. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/pr-description-check.yml +1 -1
  7. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/pypi-publish.yml +3 -3
  8. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/tests.yml +2 -2
  9. openhands_extensions-0.24.0/.release-please-manifest.json +3 -0
  10. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/AGENTS.md +32 -2
  11. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/PKG-INFO +2 -2
  12. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/README.md +4 -3
  13. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/bundle-index.js +12 -11
  14. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/github-issue-triage/manifest.json +2 -2
  15. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/github-pr-reviewer/manifest.json +42 -5
  16. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog.schema.json +0 -4
  17. openhands_extensions-0.24.0/integrations/catalog/granola.json +38 -0
  18. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog-index.js +16 -14
  19. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/marketplaces/openhands-extensions.json +14 -0
  20. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/package.json +1 -1
  21. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-sdk/SKILL.md +3 -1
  22. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/README.md +2 -1
  23. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/scripts/agent_script.py +198 -81
  24. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/scripts/prompt.py +35 -11
  25. openhands_extensions-0.24.0/plugins/pr-review/skills/code-review/SKILL.md +174 -0
  26. openhands_extensions-0.24.0/plugins/pr-review/skills/code-review/commands/codereview-roasted.md +8 -0
  27. openhands_extensions-0.24.0/plugins/pr-review/skills/code-review/commands/codereview.md +8 -0
  28. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/github/scripts/agent_conversation.py +8 -3
  29. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/github/scripts/github_client.py +4 -0
  30. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/pyproject.toml +2 -2
  31. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/python/openhands_extensions/_version.py +1 -1
  32. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-skill/SKILL.md +5 -2
  33. openhands_extensions-0.24.0/skills/canvas-extension-api/.claude-plugin/plugin.json +19 -0
  34. openhands_extensions-0.24.0/skills/canvas-extension-api/README.md +33 -0
  35. openhands_extensions-0.24.0/skills/canvas-extension-api/SKILL.md +254 -0
  36. openhands_extensions-0.24.0/skills/canvas-extension-api/references/acceptance-checklist.md +20 -0
  37. openhands_extensions-0.24.0/skills/canvas-extension-api/references/backend-safety.md +9 -0
  38. openhands_extensions-0.24.0/skills/canvas-extension-api/references/connections.md +126 -0
  39. openhands_extensions-0.24.0/skills/canvas-extension-api/references/packaging-recipes.md +43 -0
  40. openhands_extensions-0.24.0/skills/canvas-extension-api/references/sidecar-pattern.md +49 -0
  41. openhands_extensions-0.24.0/skills/canvas-extension-api/references/testing-and-installation.md +286 -0
  42. openhands_extensions-0.24.0/skills/canvas-extension-api/references/v1-contract.md +250 -0
  43. openhands_extensions-0.24.0/skills/canvas-extension-api/scripts/validate-extension.mjs +92 -0
  44. openhands_extensions-0.24.0/skills/canvas-extension-api/scripts/validate-extension.test.mjs +60 -0
  45. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-triage/.claude-plugin/plugin.json +1 -1
  46. openhands_extensions-0.24.0/skills/github-issue-triage/README.md +16 -0
  47. openhands_extensions-0.24.0/skills/github-issue-triage/SKILL.md +57 -0
  48. openhands_extensions-0.24.0/skills/github-issue-triage/scripts/worker.py +222 -0
  49. openhands_extensions-0.24.0/skills/github-pr-reviewer/README.md +57 -0
  50. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/SKILL.md +36 -10
  51. openhands_extensions-0.24.0/skills/github-pr-reviewer/commands/pr-reviewer-setup.md +8 -0
  52. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/scripts/main.py +63 -16
  53. openhands_extensions-0.24.0/skills/github-pr-reviewer/scripts/maintainer_handoff.py +151 -0
  54. openhands_extensions-0.24.0/skills/github-pr-reviewer/scripts/worker.py +291 -0
  55. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/tests/test_main.py +85 -0
  56. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/index.js +16 -8
  57. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/fixtures/automations/github-pr-reviewer.json +120 -26
  58. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/github_automation_helpers.py +1 -0
  59. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_agent_conversation_dispatch.py +19 -4
  60. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_automation_setup.py +15 -0
  61. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_code_review_risk_evaluation.py +2 -2
  62. openhands_extensions-0.24.0/tests/test_github_reviewer_delivery.py +553 -0
  63. openhands_extensions-0.24.0/tests/test_github_triage_delivery.py +284 -0
  64. openhands_extensions-0.24.0/tests/test_maintainer_handoff.py +198 -0
  65. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_pr_review_prompt.py +6 -2
  66. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_pr_review_review_context.py +144 -0
  67. openhands_extensions-0.22.1/.agents/skills/custom-codereview-guide.md +0 -32
  68. openhands_extensions-0.22.1/.github/scripts/check_issue_readiness.py +0 -272
  69. openhands_extensions-0.22.1/.github/scripts/post-readiness-comment.mjs +0 -184
  70. openhands_extensions-0.22.1/.github/workflows/issue-readiness-check.yml +0 -142
  71. openhands_extensions-0.22.1/.release-please-manifest.json +0 -3
  72. openhands_extensions-0.22.1/plugins/pr-review/skills/code-review/SKILL.md +0 -209
  73. openhands_extensions-0.22.1/plugins/pr-review/skills/code-review/commands/codereview-roasted.md +0 -8
  74. openhands_extensions-0.22.1/plugins/pr-review/skills/code-review/commands/codereview.md +0 -8
  75. openhands_extensions-0.22.1/skills/github-issue-triage/README.md +0 -9
  76. openhands_extensions-0.22.1/skills/github-issue-triage/SKILL.md +0 -34
  77. openhands_extensions-0.22.1/skills/github-issue-triage/scripts/worker.py +0 -106
  78. openhands_extensions-0.22.1/skills/github-pr-reviewer/README.md +0 -46
  79. openhands_extensions-0.22.1/skills/github-pr-reviewer/commands/pr-reviewer-setup.md +0 -8
  80. openhands_extensions-0.22.1/skills/github-pr-reviewer/scripts/worker.py +0 -94
  81. openhands_extensions-0.22.1/tests/test_check_issue_readiness.py +0 -135
  82. openhands_extensions-0.22.1/tests/test_github_reviewer_delivery.py +0 -110
  83. openhands_extensions-0.22.1/tests/test_github_triage_delivery.py +0 -90
  84. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.claude-plugin/marketplace.json +0 -0
  85. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/dependabot.yml +0 -0
  86. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/pull_request_template.md +0 -0
  87. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/release.yml +0 -0
  88. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/scripts/check_pr_description.py +0 -0
  89. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/scripts/refresh_linked_pr_checks.py +0 -0
  90. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/pr-artifacts.yml +0 -0
  91. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/pr.yml +0 -0
  92. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/release.yml +0 -0
  93. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.github/workflows/vulnerability-scan.yml +0 -0
  94. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/.gitignore +0 -0
  95. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/LICENSE +0 -0
  96. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/MIGRATION.md +0 -0
  97. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/analysis_results.md +0 -0
  98. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/README.md +0 -0
  99. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/custom-automation/manifest.json +0 -0
  100. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/github-agents-md-maintainer/manifest.json +0 -0
  101. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/github-delivery-watchdog/manifest.json +0 -0
  102. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/github-issue-to-pr/manifest.json +0 -0
  103. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/github-repo-monitor/manifest.json +0 -0
  104. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/gitlab-issue-to-mr/manifest.json +0 -0
  105. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/incident-retrospective-drafter/manifest.json +0 -0
  106. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/jira-issue-to-bitbucket-pr/manifest.json +0 -0
  107. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/jira-issue-to-gitlab-mr/manifest.json +0 -0
  108. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/jira-issue-to-pr/manifest.json +0 -0
  109. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/linear-issue-to-bitbucket-pr/manifest.json +0 -0
  110. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/linear-issue-to-github-pr/manifest.json +0 -0
  111. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/linear-issue-to-gitlab-mr/manifest.json +0 -0
  112. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/linear-triage-assistant/manifest.json +0 -0
  113. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/news-digest/manifest.json +0 -0
  114. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/qa-changes/manifest.json +0 -0
  115. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/research-brief-writer/manifest.json +0 -0
  116. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/slack-channel-monitor/manifest.json +0 -0
  117. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/slack-github-linear-daily-organization.json +0 -0
  118. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/slack-standup-digest/manifest.json +0 -0
  119. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog/upstream-fork-sync/manifest.json +0 -0
  120. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/catalog-index.js +0 -0
  121. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/index.d.ts +0 -0
  122. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/index.js +0 -0
  123. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/interface.json +0 -0
  124. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/automations/interface.schema.json +0 -0
  125. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/index.d.ts +0 -0
  126. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/index.js +0 -0
  127. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/README.md +0 -0
  128. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/airtable.json +0 -0
  129. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/apify.json +0 -0
  130. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/asana.json +0 -0
  131. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/atlassian-rovo.json +0 -0
  132. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/atlassian.json +0 -0
  133. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/bitbucket.json +0 -0
  134. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/box.json +0 -0
  135. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/brave-search.json +0 -0
  136. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/browser-mcp.json +0 -0
  137. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/canva.json +0 -0
  138. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/clickhouse.json +0 -0
  139. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/cloudflare-bindings.json +0 -0
  140. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/cloudflare-browser-rendering.json +0 -0
  141. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/cloudflare-builds.json +0 -0
  142. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/cloudflare-docs.json +0 -0
  143. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/cloudflare-observability.json +0 -0
  144. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/confluence.json +0 -0
  145. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/datadog.json +0 -0
  146. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/deepwiki.json +0 -0
  147. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/discord.json +0 -0
  148. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/elevenlabs.json +0 -0
  149. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/everything.json +0 -0
  150. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/exa.json +0 -0
  151. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/fetch.json +0 -0
  152. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/figma.json +0 -0
  153. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/filesystem.json +0 -0
  154. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/firecrawl.json +0 -0
  155. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/git.json +0 -0
  156. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/github.json +0 -0
  157. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/gitlab.json +0 -0
  158. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/gmail.json +0 -0
  159. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/google-calendar.json +0 -0
  160. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/google-docs.json +0 -0
  161. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/google-drive.json +0 -0
  162. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/google-sheets.json +0 -0
  163. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/hubspot.json +0 -0
  164. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/huggingface.json +0 -0
  165. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/intercom.json +0 -0
  166. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/jira.json +0 -0
  167. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/kagi.json +0 -0
  168. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/linear.json +0 -0
  169. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/memory.json +0 -0
  170. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/microsoft-outlook.json +0 -0
  171. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/microsoft-teams.json +0 -0
  172. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/miro.json +0 -0
  173. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/monday.json +0 -0
  174. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/mongodb.json +0 -0
  175. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/neon.json +0 -0
  176. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/netlify.json +0 -0
  177. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/notion.json +0 -0
  178. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/obsidian.json +0 -0
  179. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/okta.json +0 -0
  180. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/onedrive.json +0 -0
  181. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/ordinal.json +0 -0
  182. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/paypal.json +0 -0
  183. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/playwright.json +0 -0
  184. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/posthog.json +0 -0
  185. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/quickbooks.json +0 -0
  186. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/redis.json +0 -0
  187. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/reportportal.json +0 -0
  188. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/resend.json +0 -0
  189. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/salesforce.json +0 -0
  190. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/sentry.json +0 -0
  191. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/sequential-thinking.json +0 -0
  192. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/sharepoint.json +0 -0
  193. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/slack.json +0 -0
  194. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/sonarqube.json +0 -0
  195. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/stripe.json +0 -0
  196. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/supabase.json +0 -0
  197. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/superhuman-mail.json +0 -0
  198. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/tavily.json +0 -0
  199. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/time.json +0 -0
  200. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/trello.json +0 -0
  201. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/vanta.json +0 -0
  202. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/vercel.json +0 -0
  203. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/webflow.json +0 -0
  204. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/xero.json +0 -0
  205. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog/zoom.json +0 -0
  206. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/catalog.schema.json +0 -0
  207. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/icons/salesforce.svg +0 -0
  208. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/icons/slack.svg +0 -0
  209. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/index.d.ts +0 -0
  210. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/integrations/index.js +0 -0
  211. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/marketplaces/large-codebase.json +0 -0
  212. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/README.md +0 -0
  213. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/city-weather/.claude-plugin/plugin.json +0 -0
  214. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/city-weather/README.md +0 -0
  215. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/city-weather/commands/now.md +0 -0
  216. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/.claude-plugin/plugin.json +0 -0
  217. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/README.md +0 -0
  218. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/references/troubleshooting.md +0 -0
  219. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/build-setup/SKILL.md +0 -0
  220. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/build-setup/scripts/install-gnucobol.sh +0 -0
  221. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/cobol-modernization/SKILL.md +0 -0
  222. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/mainframe-planning/SKILL.md +0 -0
  223. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/mainframe-removal/SKILL.md +0 -0
  224. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/mainframe-removal/references/cics-transformation-examples.md +0 -0
  225. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/to-java-migration/SKILL.md +0 -0
  226. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/to-java-migration/references/cobol-to-java-example.md +0 -0
  227. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/cobol-modernization/skills/to-java-migration/references/datatype-mappings.md +0 -0
  228. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/.claude-plugin/plugin.json +0 -0
  229. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/README.md +0 -0
  230. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/action.yml +0 -0
  231. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/scripts/auto_close_duplicate_issues.py +0 -0
  232. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/scripts/issue_duplicate_check_openhands.py +0 -0
  233. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/scripts/post_duplicate_notice.cjs +0 -0
  234. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/issue-duplicate-checker/scripts/remove_duplicate_candidate_label.cjs +0 -0
  235. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/magic-test/.claude-plugin/plugin.json +0 -0
  236. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/magic-test/skills/magic-word/SKILL.md +0 -0
  237. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/.claude-plugin/plugin.json +0 -0
  238. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/README.md +0 -0
  239. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/skills/migration-mapping/SKILL.md +0 -0
  240. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/skills/migration-report/SKILL.md +0 -0
  241. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/skills/migration-scoring/SKILL.md +0 -0
  242. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/skills/score-quality/SKILL.md +0 -0
  243. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/skills/score-quality/references/scoring-criteria.md +0 -0
  244. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/migration-scoring/skills/score-style/SKILL.md +0 -0
  245. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/.claude-plugin/plugin.json +0 -0
  246. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/README.md +0 -0
  247. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/references/criteria.md +0 -0
  248. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/README.md +0 -0
  249. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/SKILL.md +0 -0
  250. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/references/criteria.md +0 -0
  251. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_agent_instructions.sh +0 -0
  252. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_build_env.sh +0 -0
  253. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_feedback_loops.sh +0 -0
  254. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_policy.sh +0 -0
  255. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/agent-readiness-report/scripts/scan_workflows.sh +0 -0
  256. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/improve-agent-readiness/README.md +0 -0
  257. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/improve-agent-readiness/SKILL.md +0 -0
  258. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/improve-agent-readiness/references/criteria.md +0 -0
  259. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/setup-agents-md/README.md +0 -0
  260. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/setup-agents-md/SKILL.md +0 -0
  261. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/setup-openhands/README.md +0 -0
  262. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/setup-openhands/SKILL.md +0 -0
  263. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/setup-pr-review/README.md +0 -0
  264. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/onboarding/skills/setup-pr-review/SKILL.md +0 -0
  265. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/.claude-plugin/plugin.json +0 -0
  266. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/README.md +0 -0
  267. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/SKILL.md +0 -0
  268. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/commands/create.md +0 -0
  269. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/commands/openhands-cloud.md +0 -0
  270. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/scripts/run.sh +0 -0
  271. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/.claude-plugin/plugin.json +0 -0
  272. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/README.md +0 -0
  273. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/SKILL.md +0 -0
  274. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/references/README.md +0 -0
  275. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/references/TROUBLESHOOTING.md +0 -0
  276. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/references/example_prompt.md +0 -0
  277. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/references/windows.md +0 -0
  278. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/scripts/openhands_api.py +0 -0
  279. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-api/scripts/openhands_api.ts +0 -0
  280. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/.claude-plugin/plugin.json +0 -0
  281. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/README.md +0 -0
  282. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/SKILL.md +0 -0
  283. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/commands/automation-create.md +0 -0
  284. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/references/ab-testing.md +0 -0
  285. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/references/custom-automation.md +0 -0
  286. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/references/security.md +0 -0
  287. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-automation/references/windows.md +0 -0
  288. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-sdk/.claude-plugin/plugin.json +0 -0
  289. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-sdk/README.md +0 -0
  290. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/openhands/skills/openhands-sdk/commands/sdk.md +0 -0
  291. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/.claude-plugin/plugin.json +0 -0
  292. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/action.yml +0 -0
  293. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/scripts/evaluate_review.py +0 -0
  294. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/code-review/.claude-plugin/plugin.json +0 -0
  295. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/code-review/README.md +0 -0
  296. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/code-review/references/risk-evaluation.md +0 -0
  297. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/code-review/references/supply-chain-security.md +0 -0
  298. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/github-pr-review/.claude-plugin/plugin.json +0 -0
  299. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/github-pr-review/README.md +0 -0
  300. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/github-pr-review/SKILL.md +0 -0
  301. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/github-pr-review/commands/github-pr-review.md +0 -0
  302. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/skills/github-pr-review/references/windows.md +0 -0
  303. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/workflows/pr-review-by-openhands.yml +0 -0
  304. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/pr-review/workflows/pr-review-evaluation.yml +0 -0
  305. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/.claude-plugin/plugin.json +0 -0
  306. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/README.md +0 -0
  307. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/action.yml +0 -0
  308. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/scripts/agent_script.py +0 -0
  309. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/scripts/evaluate_qa_changes.py +0 -0
  310. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/scripts/prompt.py +0 -0
  311. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/skills/qa-changes/README.md +0 -0
  312. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/skills/qa-changes/SKILL.md +0 -0
  313. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/skills/qa-changes/commands/qa-changes.md +0 -0
  314. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/workflows/qa-changes-by-openhands.yml +0 -0
  315. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/qa-changes/workflows/qa-changes-evaluation.yml +0 -0
  316. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/.claude-plugin/plugin.json +0 -0
  317. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/README.md +0 -0
  318. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/SKILL.md +0 -0
  319. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/action.yml +0 -0
  320. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/commands/release-notes.md +0 -0
  321. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/scripts/agent_script.py +0 -0
  322. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/scripts/generate_release_notes.py +0 -0
  323. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/scripts/prompt.py +0 -0
  324. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/scripts/validate_release_notes.py +0 -0
  325. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/skills/release-notes/README.md +0 -0
  326. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/skills/release-notes/SKILL.md +0 -0
  327. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/skills/release-notes/commands/release-notes.md +0 -0
  328. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/release-notes/workflows/release-notes.yml +0 -0
  329. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/.claude-plugin/plugin.json +0 -0
  330. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/README.md +0 -0
  331. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/action.yml +0 -0
  332. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/scripts/scan_and_remediate.py +0 -0
  333. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/github/.claude-plugin/plugin.json +0 -0
  334. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/github/README.md +0 -0
  335. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/github/SKILL.md +0 -0
  336. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/github/references/windows.md +0 -0
  337. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/security/.claude-plugin/plugin.json +0 -0
  338. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/security/README.md +0 -0
  339. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/skills/security/SKILL.md +0 -0
  340. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/plugins/vulnerability-remediation/workflows/vulnerability-scan.yml +0 -0
  341. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/python/openhands_extensions/__init__.py +0 -0
  342. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/python/openhands_extensions/deprecation.py +0 -0
  343. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/python/openhands_extensions/integration_models.py +0 -0
  344. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/python/openhands_extensions/integrations.py +0 -0
  345. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/release-please-config.json +0 -0
  346. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/scripts/build-automation-catalog.mjs +0 -0
  347. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/scripts/build-integration-catalog.mjs +0 -0
  348. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/scripts/build-skills-catalog.mjs +0 -0
  349. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/scripts/check_deprecations.py +0 -0
  350. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/scripts/sync_extensions.py +0 -0
  351. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/scripts/sync_openhands_sdk_skill.py +0 -0
  352. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/README.md +0 -0
  353. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-javadoc/.claude-plugin/plugin.json +0 -0
  354. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-javadoc/README.md +0 -0
  355. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-javadoc/SKILL.md +0 -0
  356. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-javadoc/references/example.md +0 -0
  357. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-skill/.claude-plugin/plugin.json +0 -0
  358. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-skill/README.md +0 -0
  359. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/add-skill/scripts/fetch_skill.py +0 -0
  360. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-canvas-environment/.claude-plugin/plugin.json +0 -0
  361. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-canvas-environment/README.md +0 -0
  362. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-canvas-environment/SKILL.md +0 -0
  363. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-creator/.claude-plugin/plugin.json +0 -0
  364. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-creator/README.md +0 -0
  365. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-creator/SKILL.md +0 -0
  366. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-creator/commands/agent-creator.md +0 -0
  367. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-creator/references/fallback.md +0 -0
  368. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-memory/.claude-plugin/plugin.json +0 -0
  369. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-memory/README.md +0 -0
  370. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-memory/SKILL.md +0 -0
  371. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-memory/commands/remember.md +0 -0
  372. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-sdk-builder/.claude-plugin/plugin.json +0 -0
  373. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-sdk-builder/README.md +0 -0
  374. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-sdk-builder/SKILL.md +0 -0
  375. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/agent-sdk-builder/commands/agent-builder.md +0 -0
  376. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/azure-devops/.claude-plugin/plugin.json +0 -0
  377. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/azure-devops/README.md +0 -0
  378. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/azure-devops/SKILL.md +0 -0
  379. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket/.claude-plugin/plugin.json +0 -0
  380. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket/README.md +0 -0
  381. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket/SKILL.md +0 -0
  382. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket-cloud/.claude-plugin/plugin.json +0 -0
  383. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket-cloud/README.md +0 -0
  384. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket-cloud/SKILL.md +0 -0
  385. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket-data-center/.claude-plugin/plugin.json +0 -0
  386. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket-data-center/README.md +0 -0
  387. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/bitbucket-data-center/SKILL.md +0 -0
  388. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/.claude-plugin/plugin.json +0 -0
  389. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/README.md +0 -0
  390. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/SKILL.md +0 -0
  391. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/commands/simplify.md +0 -0
  392. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/references/code-quality-review.md +0 -0
  393. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/references/code-reuse-review.md +0 -0
  394. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/code-simplifier/references/efficiency-review.md +0 -0
  395. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/datadog/.claude-plugin/plugin.json +0 -0
  396. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/datadog/README.md +0 -0
  397. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/datadog/SKILL.md +0 -0
  398. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/datadog/references/windows.md +0 -0
  399. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/deno/.claude-plugin/plugin.json +0 -0
  400. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/deno/README.md +0 -0
  401. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/deno/SKILL.md +0 -0
  402. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/deno/references/README.md +0 -0
  403. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/.claude-plugin/plugin.json +0 -0
  404. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/README.md +0 -0
  405. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/SKILL.md +0 -0
  406. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/__init__.py +0 -0
  407. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/references/REFERENCE.md +0 -0
  408. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/scripts/__init__.py +0 -0
  409. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/scripts/_http.py +0 -0
  410. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/scripts/post_webhook.py +0 -0
  411. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/discord/scripts/send_message.py +0 -0
  412. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/docker/.claude-plugin/plugin.json +0 -0
  413. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/docker/README.md +0 -0
  414. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/docker/SKILL.md +0 -0
  415. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/evidence-based-citations/.claude-plugin/plugin.json +0 -0
  416. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/evidence-based-citations/README.md +0 -0
  417. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/evidence-based-citations/SKILL.md +0 -0
  418. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/flarglebargle/.claude-plugin/plugin.json +0 -0
  419. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/flarglebargle/README.md +0 -0
  420. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/flarglebargle/SKILL.md +0 -0
  421. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/frontend-design/.claude-plugin/plugin.json +0 -0
  422. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/frontend-design/LICENSE.txt +0 -0
  423. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/frontend-design/README.md +0 -0
  424. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/frontend-design/SKILL.md +0 -0
  425. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-actions/.claude-plugin/plugin.json +0 -0
  426. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-actions/README.md +0 -0
  427. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-actions/SKILL.md +0 -0
  428. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/.claude-plugin/plugin.json +0 -0
  429. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/README.md +0 -0
  430. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/SKILL.md +0 -0
  431. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/commands/agents-md-setup.md +0 -0
  432. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/references/state-schema.md +0 -0
  433. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/scripts/github_client.py +0 -0
  434. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-agents-md-maintainer/scripts/main.py +0 -0
  435. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-delivery-watchdog/.claude-plugin/plugin.json +0 -0
  436. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-delivery-watchdog/README.md +0 -0
  437. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-delivery-watchdog/SKILL.md +0 -0
  438. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-delivery-watchdog/commands/github-delivery-watchdog.md +0 -0
  439. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-delivery-watchdog/scripts/github_client.py +0 -0
  440. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-delivery-watchdog/scripts/worker.py +0 -0
  441. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/.claude-plugin/plugin.json +0 -0
  442. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/README.md +0 -0
  443. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/SKILL.md +0 -0
  444. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/commands/issue-to-pr-setup.md +0 -0
  445. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/references/state-schema.md +0 -0
  446. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/scripts/agent_conversation.py +0 -0
  447. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/scripts/github_client.py +0 -0
  448. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/scripts/main.py +0 -0
  449. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-to-pr/scripts/worker.py +0 -0
  450. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-triage/commands/github-issue-triage.md +0 -0
  451. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-triage/scripts/agent_conversation.py +0 -0
  452. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-issue-triage/scripts/github_client.py +0 -0
  453. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/.claude-plugin/plugin.json +0 -0
  454. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/references/state-schema.md +0 -0
  455. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/references/windows.md +0 -0
  456. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/scripts/agent_conversation.py +0 -0
  457. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-pr-reviewer/scripts/github_client.py +0 -0
  458. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/.claude-plugin/plugin.json +0 -0
  459. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/README.md +0 -0
  460. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/SKILL.md +0 -0
  461. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/commands/github-monitor-poll.md +0 -0
  462. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/references/github-api.md +0 -0
  463. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/references/state-schema.md +0 -0
  464. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/references/windows.md +0 -0
  465. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/scripts/github_client.py +0 -0
  466. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/scripts/main.py +0 -0
  467. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/github-repo-monitor/tests/test_main.py +0 -0
  468. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab/.claude-plugin/plugin.json +0 -0
  469. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab/README.md +0 -0
  470. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab/SKILL.md +0 -0
  471. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab-issue-to-mr/.claude-plugin/plugin.json +0 -0
  472. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab-issue-to-mr/README.md +0 -0
  473. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab-issue-to-mr/SKILL.md +0 -0
  474. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab-issue-to-mr/commands/issue-to-mr-setup.md +0 -0
  475. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab-issue-to-mr/references/state-schema.md +0 -0
  476. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/gitlab-issue-to-mr/scripts/main.py +0 -0
  477. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/incident-retrospective/.claude-plugin/plugin.json +0 -0
  478. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/incident-retrospective/README.md +0 -0
  479. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/incident-retrospective/SKILL.md +0 -0
  480. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/incident-retrospective/commands/incident-retro-setup.md +0 -0
  481. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/index.d.ts +0 -0
  482. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/.claude-plugin/plugin.json +0 -0
  483. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/README.md +0 -0
  484. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/SKILL.md +0 -0
  485. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/commands/babysit.md +0 -0
  486. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/commands/iterate.md +0 -0
  487. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/commands/verify.md +0 -0
  488. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/references/heuristics.md +0 -0
  489. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/references/verification.md +0 -0
  490. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/iterate/references/windows.md +0 -0
  491. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jira-issue-to-pr/.claude-plugin/plugin.json +0 -0
  492. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jira-issue-to-pr/README.md +0 -0
  493. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jira-issue-to-pr/SKILL.md +0 -0
  494. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jira-issue-to-pr/references/setup.md +0 -0
  495. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jira-issue-to-pr/scripts/main.py +0 -0
  496. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jupyter/.claude-plugin/plugin.json +0 -0
  497. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jupyter/README.md +0 -0
  498. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/jupyter/SKILL.md +0 -0
  499. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/kubernetes/.claude-plugin/plugin.json +0 -0
  500. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/kubernetes/README.md +0 -0
  501. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/kubernetes/SKILL.md +0 -0
  502. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/kubernetes/references/windows.md +0 -0
  503. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/learn-from-code-review/.claude-plugin/plugin.json +0 -0
  504. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/learn-from-code-review/README.md +0 -0
  505. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/learn-from-code-review/SKILL.md +0 -0
  506. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/learn-from-code-review/commands/learn-from-reviews.md +0 -0
  507. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear/.claude-plugin/plugin.json +0 -0
  508. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear/README.md +0 -0
  509. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear/SKILL.md +0 -0
  510. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear/references/windows.md +0 -0
  511. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear-triage/.claude-plugin/plugin.json +0 -0
  512. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear-triage/README.md +0 -0
  513. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear-triage/SKILL.md +0 -0
  514. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/linear-triage/commands/linear-triage-setup.md +0 -0
  515. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/news-digest/.claude-plugin/plugin.json +0 -0
  516. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/news-digest/README.md +0 -0
  517. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/news-digest/SKILL.md +0 -0
  518. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/news-digest/commands/news-digest-setup.md +0 -0
  519. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/news-digest/references/state-schema.md +0 -0
  520. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/news-digest/scripts/main.py +0 -0
  521. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/notion/.claude-plugin/plugin.json +0 -0
  522. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/notion/README.md +0 -0
  523. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/notion/SKILL.md +0 -0
  524. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/notion/references/windows.md +0 -0
  525. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/npm/.claude-plugin/plugin.json +0 -0
  526. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/npm/README.md +0 -0
  527. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/npm/SKILL.md +0 -0
  528. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/openhands-enterprise-troubleshooting/.claude-plugin/plugin.json +0 -0
  529. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/openhands-enterprise-troubleshooting/README.md +0 -0
  530. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/openhands-enterprise-troubleshooting/SKILL.md +0 -0
  531. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/openhands-enterprise-troubleshooting/references/diagnostics.md +0 -0
  532. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/openhands-enterprise-troubleshooting/references/support-bundle-analysis.md +0 -0
  533. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/openhands-enterprise-troubleshooting/scripts/bundle_triage.py +0 -0
  534. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/pdflatex/.claude-plugin/plugin.json +0 -0
  535. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/pdflatex/README.md +0 -0
  536. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/pdflatex/SKILL.md +0 -0
  537. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/plain-english-content/.claude-plugin/plugin.json +0 -0
  538. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/plain-english-content/README.md +0 -0
  539. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/plain-english-content/SKILL.md +0 -0
  540. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/prd/.claude-plugin/plugin.json +0 -0
  541. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/prd/README.md +0 -0
  542. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/prd/SKILL.md +0 -0
  543. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/prd/commands/prd.md +0 -0
  544. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/research-brief/.claude-plugin/plugin.json +0 -0
  545. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/research-brief/README.md +0 -0
  546. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/research-brief/SKILL.md +0 -0
  547. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/research-brief/commands/research-brief-setup.md +0 -0
  548. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/.claude-plugin/plugin.json +0 -0
  549. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/LICENSE.txt +0 -0
  550. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/README.md +0 -0
  551. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/SKILL.md +0 -0
  552. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/references/output-patterns.md +0 -0
  553. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/references/windows.md +0 -0
  554. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/references/workflows.md +0 -0
  555. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/scripts/init_skill.py +0 -0
  556. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/skill-creator/scripts/quick_validate.py +0 -0
  557. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/.claude-plugin/plugin.json +0 -0
  558. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/README.md +0 -0
  559. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/SKILL.md +0 -0
  560. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/commands/slack-monitor-poll.md +0 -0
  561. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/references/slack-api.md +0 -0
  562. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/references/state-schema.md +0 -0
  563. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/references/windows.md +0 -0
  564. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-channel-monitor/scripts/main.py +0 -0
  565. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-standup-digest/.claude-plugin/plugin.json +0 -0
  566. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-standup-digest/README.md +0 -0
  567. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-standup-digest/SKILL.md +0 -0
  568. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/slack-standup-digest/commands/standup-digest-setup.md +0 -0
  569. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/spark-version-upgrade/.claude-plugin/plugin.json +0 -0
  570. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/spark-version-upgrade/README.md +0 -0
  571. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/spark-version-upgrade/SKILL.md +0 -0
  572. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ssh/.claude-plugin/plugin.json +0 -0
  573. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ssh/README.md +0 -0
  574. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ssh/SKILL.md +0 -0
  575. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ssh/references/windows.md +0 -0
  576. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/swift-linux/.claude-plugin/plugin.json +0 -0
  577. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/swift-linux/README.md +0 -0
  578. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/swift-linux/SKILL.md +0 -0
  579. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/technical-writing/.claude-plugin/plugin.json +0 -0
  580. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/technical-writing/README.md +0 -0
  581. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/technical-writing/SKILL.md +0 -0
  582. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/.claude-plugin/plugin.json +0 -0
  583. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/LICENSE.txt +0 -0
  584. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/README.md +0 -0
  585. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/SKILL.md +0 -0
  586. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/theme-showcase.pdf +0 -0
  587. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/arctic-frost.md +0 -0
  588. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/botanical-garden.md +0 -0
  589. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/desert-rose.md +0 -0
  590. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/forest-canopy.md +0 -0
  591. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/golden-hour.md +0 -0
  592. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/midnight-galaxy.md +0 -0
  593. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/modern-minimalist.md +0 -0
  594. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/ocean-depths.md +0 -0
  595. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/sunset-boulevard.md +0 -0
  596. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/theme-factory/themes/tech-innovation.md +0 -0
  597. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ticket-to-code-change/.claude-plugin/plugin.json +0 -0
  598. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ticket-to-code-change/README.md +0 -0
  599. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ticket-to-code-change/SKILL.md +0 -0
  600. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/ticket-to-code-change/commands/ticket-to-code-change-setup.md +0 -0
  601. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/upstream-fork-sync/.claude-plugin/plugin.json +0 -0
  602. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/upstream-fork-sync/README.md +0 -0
  603. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/upstream-fork-sync/SKILL.md +0 -0
  604. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/upstream-fork-sync/commands/upstream-fork-sync-setup.md +0 -0
  605. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/uv/.claude-plugin/plugin.json +0 -0
  606. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/uv/README.md +0 -0
  607. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/uv/SKILL.md +0 -0
  608. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/uv/references/README.md +0 -0
  609. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/vercel/.claude-plugin/plugin.json +0 -0
  610. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/vercel/README.md +0 -0
  611. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/skills/vercel/SKILL.md +0 -0
  612. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/fixtures/automations/capabilities.json +0 -0
  613. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/fixtures/automations/custom-automation.json +0 -0
  614. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/fixtures/automations/github-repo-monitor.json +0 -0
  615. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/fixtures/automations/incident-retrospective-drafter.json +0 -0
  616. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/fixtures/automations/upstream-fork-sync.json +0 -0
  617. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_add_skill_installs_to_agents_dir.py +0 -0
  618. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_catalog_schema.py +0 -0
  619. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_catalogs.py +0 -0
  620. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_check_pr_description.py +0 -0
  621. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_deprecations.py +0 -0
  622. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_agents_md_maintainer.py +0 -0
  623. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_automation_foundation.py +0 -0
  624. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_developer_delivery.py +0 -0
  625. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_issue_to_pr.py +0 -0
  626. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_pr_review_skill.py +0 -0
  627. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_skill_installation.py +0 -0
  628. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_github_watchdog_delivery.py +0 -0
  629. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_gitlab_issue_to_mr.py +0 -0
  630. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_integration_catalog_in_sync.py +0 -0
  631. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_interface_manifest.py +0 -0
  632. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_issue_duplicate_checker.py +0 -0
  633. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_live_integration_smoke.py +0 -0
  634. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_news_digest.py +0 -0
  635. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_openhands_api_python.py +0 -0
  636. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_plugin_manifest.py +0 -0
  637. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_pr_review_diff_payload.py +0 -0
  638. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_pr_review_feedback.py +0 -0
  639. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_qa_changes.py +0 -0
  640. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_qa_changes_evaluation.py +0 -0
  641. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_refresh_linked_pr_checks.py +0 -0
  642. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_release_notes_generator.py +0 -0
  643. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_sdk_loading.py +0 -0
  644. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_skill_plugin_loading.py +0 -0
  645. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_skills_catalog.py +0 -0
  646. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_skills_have_readme.py +0 -0
  647. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_slack_channel_monitor.py +0 -0
  648. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_sync_extensions.py +0 -0
  649. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_version_alignment.py +0 -0
  650. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/tests/test_workflow_sync.py +0 -0
  651. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/utils/analysis/README.md +0 -0
  652. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/utils/analysis/laminar_signals/README.md +0 -0
  653. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/utils/analysis/laminar_signals/analyze.py +0 -0
  654. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/utils/analysis/laminar_signals/templates/default.j2 +0 -0
  655. {openhands_extensions-0.22.1 → openhands_extensions-0.24.0}/utils/analysis/laminar_signals/templates/pr_review.j2 +0 -0
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: custom-codereview-guide
3
+ description: Repository-specific review guidance for OpenHands/extensions.
4
+ triggers:
5
+ - /codereview
6
+ ---
7
+
8
+ # OpenHands/extensions review guide
9
+
10
+ Apply this guide with the general code-review skill and `AGENTS.md`. Approve the
11
+ current head when it has no material correctness, security, compatibility, or
12
+ acceptance-criterion defect. Comment only on concrete failures; do not withhold
13
+ approval for optional refactors, tone, style, or speculative improvements.
14
+
15
+ ## Repository scope
16
+
17
+ This repository owns reusable extensions: skills, plugins, and automation
18
+ bundles that use existing public host and runtime interfaces. Out of scope here,
19
+ because another repository owns the contract or machinery:
20
+
21
+ - SDK, agent-server, and client contracts — `OpenHands/software-agent-sdk`;
22
+ - generic automation scheduling, state, dispatch, and profile machinery —
23
+ `OpenHands/automation`;
24
+ - Canvas product and UI integration — `OpenHands/OpenHands`.
25
+
26
+ Cross-repository work is acceptable when this PR contains only the
27
+ extensions-owned portion and relies on public interfaces from the owning
28
+ repository.
29
+
30
+ ## Blocking checkpoints
31
+
32
+ ### Executable instructions and runtime parity
33
+
34
+ Commands, imports, environment variables, endpoints, and setup steps in extension
35
+ content are executable contracts. Verify them against the released packages and
36
+ the actual local and cloud environments that claim support. Do not approve an
37
+ example that relies on an unreleased API, a developer-only dependency, a private
38
+ path, or a variable that the production runtime does not provide.
39
+
40
+ For a changed skill, plugin, hook, or automation, follow its documented entrypoint
41
+ in a clean environment far enough to exercise the changed behavior. Keep local
42
+ and cloud behavior identical unless the documentation names and explains a real
43
+ platform capability difference.
44
+
45
+ ### Untrusted triggers and credentials
46
+
47
+ Treat repository events, issue and PR comments, chat messages, catalog fields,
48
+ and extension-provided arguments as untrusted. Verify who may trigger the action,
49
+ whose identity it runs as, which repository or organization it can affect, and
50
+ which secrets it receives. A trigger phrase alone is not authorization. Require
51
+ an explicit allowlist, permission check, or repository policy before performing
52
+ mutating or credentialed work.
53
+
54
+ Use only the minimum documented credential set. Never place secret values in
55
+ prompts, logs, generated files, examples, or persisted state.
56
+
57
+ ### Sources of truth and generated artifacts
58
+
59
+ Identify the hand-authored source before reviewing a catalog or generated file.
60
+ A change should update that source once and regenerate every derived artifact
61
+ with the repository's existing sync/build command. Documentation must describe
62
+ the real direction of generation; do not call a generated asset the source of
63
+ truth or claim two runtimes read one asset when they do not.
64
+
65
+ Check the marketplace entry and generated command/catalog coverage required by
66
+ `AGENTS.md`. Do not add a parallel catalog, provider-specific copy, or manual
67
+ compatibility layer when the repository already has a generator or schema.
68
+
69
+ ### Documentation claims
70
+
71
+ Test copy-paste commands and verify named tools, flags, package exports, URLs, and
72
+ installation mechanisms from authoritative sources. A plausible command is not
73
+ evidence. Documentation that teaches the wrong data flow or setup is a material
74
+ finding because agents execute it directly.
75
+
76
+ SDK documentation belongs in `docs.openhands.dev/sdk`; the generated
77
+ `skills/openhands-sdk/SKILL.md` remains a thin synchronized entrypoint. The
78
+ former `@openhands/extensions/mcps` catalog was experimental and pre-release, so
79
+ an explicitly coordinated replacement with the `integrations` catalog needs
80
+ consumer migration documentation but not compatibility aliases or a deprecation
81
+ window.
82
+
83
+ ### Dependencies and supply chain
84
+
85
+ Apply the general seven-day release-recency guard to the exact dependency version,
86
+ regardless of the package's age or popularity. Validate installation with the
87
+ package manager and runtime used by the extension. Temporary git pins and
88
+ unreleased package APIs are blockers for merge unless the PR is an explicit,
89
+ coordinated stack that will replace them before release.
90
+
91
+ ## Evidence and comment discipline
92
+
93
+ Evidence should exercise the extension as users invoke it: run the command, hook,
94
+ plugin, or automation entrypoint and show the relevant result. Static text checks
95
+ alone do not validate executable instructions. Require only the environments and
96
+ paths the change affects.
97
+
98
+ Do not comment on punctuation, preferred prose tone, optional DRY cleanup, or
99
+ hypothetical non-standard configurations without a supported failure mode. Before
100
+ raising a finding, verify that the referenced file and behavior are present in
101
+ the current PR head and have not already been addressed in review history.
@@ -11,10 +11,10 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - name: Checkout repository
14
- uses: actions/checkout@v4
14
+ uses: actions/checkout@v7
15
15
 
16
16
  - name: Setup Node.js
17
- uses: actions/setup-node@v4
17
+ uses: actions/setup-node@v7
18
18
  with:
19
19
  node-version: "20"
20
20
 
@@ -44,10 +44,10 @@ jobs:
44
44
  runs-on: ubuntu-latest
45
45
  steps:
46
46
  - name: Checkout repository
47
- uses: actions/checkout@v4
47
+ uses: actions/checkout@v7
48
48
 
49
49
  - name: Setup Python
50
- uses: actions/setup-python@v5
50
+ uses: actions/setup-python@v7
51
51
  with:
52
52
  python-version: "3.12"
53
53
 
@@ -63,10 +63,10 @@ jobs:
63
63
  runs-on: ubuntu-latest
64
64
  steps:
65
65
  - name: Checkout repository
66
- uses: actions/checkout@v4
66
+ uses: actions/checkout@v7
67
67
 
68
68
  - name: Setup Python
69
- uses: actions/setup-python@v5
69
+ uses: actions/setup-python@v7
70
70
  with:
71
71
  python-version: "3.12"
72
72
 
@@ -13,7 +13,7 @@ jobs:
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
15
  - name: Checkout repository
16
- uses: actions/checkout@v4
16
+ uses: actions/checkout@v7
17
17
 
18
18
  - name: Install uv
19
19
  uses: astral-sh/setup-uv@v7
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: Ready-for-dev Label Policy
3
+
4
+ # The issue-triage automation and repository writers may grant ready-for-dev.
5
+ # Labels from any other actor are removed.
6
+
7
+ on:
8
+ issues:
9
+ types: [labeled, unlabeled]
10
+
11
+ concurrency:
12
+ group: ready-for-dev-policy-${{ github.event.issue.number }}
13
+ cancel-in-progress: false
14
+
15
+ jobs:
16
+ enforce-label-policy:
17
+ name: Enforce ready-for-dev label policy
18
+ if: >-
19
+ github.event.issue.state == 'open'
20
+ && github.event.issue.pull_request == null
21
+ && github.event.label.name == 'ready-for-dev'
22
+ runs-on: ubuntu-latest
23
+ timeout-minutes: 5
24
+ permissions:
25
+ issues: write
26
+ outputs:
27
+ refresh-linked-prs: ${{ steps.policy.outputs.refresh-linked-prs }}
28
+ steps:
29
+ - name: Check label actor
30
+ id: policy
31
+ env:
32
+ GH_TOKEN: ${{ github.token }}
33
+ ACTION: ${{ github.event.action }}
34
+ ACTOR: ${{ github.event.sender.login }}
35
+ REPOSITORY: ${{ github.repository }}
36
+ ISSUE_NUMBER: ${{ github.event.issue.number }}
37
+ run: |
38
+ set -euo pipefail
39
+
40
+ if [ "$ACTION" = "unlabeled" ]; then
41
+ echo "refresh-linked-prs=true" >> "$GITHUB_OUTPUT"
42
+ exit 0
43
+ fi
44
+
45
+ permission="$(gh api "repos/$REPOSITORY/collaborators/$ACTOR/permission" --jq .permission 2>/dev/null || true)"
46
+ case "$permission" in
47
+ write|maintain|admin)
48
+ echo "refresh-linked-prs=true" >> "$GITHUB_OUTPUT"
49
+ ;;
50
+ *)
51
+ gh issue edit "$ISSUE_NUMBER" --repo "$REPOSITORY" --remove-label ready-for-dev
52
+ echo "refresh-linked-prs=false" >> "$GITHUB_OUTPUT"
53
+ ;;
54
+ esac
55
+
56
+ refresh-linked-pr-gates:
57
+ name: Refresh PR gates for linked issues
58
+ needs: enforce-label-policy
59
+ if: needs.enforce-label-policy.outputs.refresh-linked-prs == 'true'
60
+ runs-on: ubuntu-latest
61
+ timeout-minutes: 10
62
+ permissions:
63
+ contents: read
64
+ pull-requests: read
65
+ actions: write
66
+ steps:
67
+ - name: Checkout trusted workflow scripts
68
+ uses: actions/checkout@v7
69
+
70
+ - name: Re-run PR description checks for linked open PRs
71
+ env:
72
+ GH_TOKEN: ${{ github.token }}
73
+ run: python .github/scripts/refresh_linked_pr_checks.py
@@ -31,14 +31,14 @@ jobs:
31
31
 
32
32
  steps:
33
33
  - name: Check out repository
34
- uses: actions/checkout@v6
34
+ uses: actions/checkout@v7
35
35
  with:
36
36
  ref: ${{ inputs.tag || github.ref }}
37
37
 
38
38
  # Trusted publishing requires Node 22.14.0+ and npm 11.5.1+
39
39
  # See: https://docs.npmjs.com/trusted-publishers/
40
40
  - name: Set up Node.js for npm trusted publishing
41
- uses: actions/setup-node@v6
41
+ uses: actions/setup-node@v7
42
42
  with:
43
43
  node-version: '24'
44
44
  registry-url: https://registry.npmjs.org
@@ -29,7 +29,7 @@ jobs:
29
29
  runs-on: ubuntu-latest
30
30
  steps:
31
31
  - name: Checkout trusted workflow scripts
32
- uses: actions/checkout@v4
32
+ uses: actions/checkout@v7
33
33
  with:
34
34
  ref: ${{ github.event.pull_request.base.sha }}
35
35
 
@@ -20,7 +20,7 @@ jobs:
20
20
 
21
21
  steps:
22
22
  - name: Check out repository
23
- uses: actions/checkout@v6
23
+ uses: actions/checkout@v7
24
24
 
25
25
  - name: Extract version
26
26
  id: extract_version
@@ -72,7 +72,7 @@ jobs:
72
72
  run: uv build
73
73
 
74
74
  - name: Upload distributions
75
- uses: actions/upload-artifact@v6
75
+ uses: actions/upload-artifact@v7
76
76
  with:
77
77
  name: python-package-distributions
78
78
  path: dist/
@@ -95,7 +95,7 @@ jobs:
95
95
 
96
96
  steps:
97
97
  - name: Download distributions
98
- uses: actions/download-artifact@v6
98
+ uses: actions/download-artifact@v8
99
99
  with:
100
100
  name: python-package-distributions
101
101
  path: dist/
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
14
  - name: Checkout repository
15
- uses: actions/checkout@v4
15
+ uses: actions/checkout@v7
16
16
 
17
17
  - name: Install uv
18
18
  uses: astral-sh/setup-uv@v7
@@ -21,7 +21,7 @@ jobs:
21
21
  python-version: "3.12"
22
22
 
23
23
  - name: Setup Node.js
24
- uses: actions/setup-node@v4
24
+ uses: actions/setup-node@v7
25
25
  with:
26
26
  node-version: "20"
27
27
 
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.24.0"
3
+ }
@@ -16,6 +16,27 @@ Related repositories have distinct responsibilities:
16
16
 
17
17
  Put reusable skills, plugins, automations, and integrations here; put backend execution behavior and typed API access in the SDK, application UI in Agent Canvas, and scheduling/dispatch lifecycle code in `automation`. If a PR is opened in the wrong repository, explicitly recommend closing and moving it to the owning repository. PRs must follow this repository's applicable contribution and code-review guidance.
18
18
 
19
+ ## Review-Facing Extension Checklist
20
+
21
+ Before opening a PR:
22
+
23
+ - Keep a content change focused on one skill, plugin, automation bundle, or
24
+ integration. Put shared product runtime behavior in the repository that owns
25
+ it instead of copying machinery into extension content.
26
+ - Treat every command, import, environment variable, endpoint, setup step, and
27
+ package name as an executable contract. Test the documented entrypoint with
28
+ released packages in each local or cloud environment the extension claims to
29
+ support; do not rely on developer-only variables or private paths.
30
+ - For event-, comment-, or message-triggered work, define who may trigger it,
31
+ whose identity executes it, what scope it may mutate, and which minimal secrets
32
+ it receives. A trigger phrase is not authorization.
33
+ - Edit the hand-authored source once and regenerate derived catalogs, commands,
34
+ indexes, and package assets with the existing sync/build command. Document the
35
+ true generation direction and do not introduce a parallel source of truth.
36
+ - Verify copy-paste commands and factual documentation claims against the actual
37
+ tool or authoritative source. Extension instructions are executed by agents,
38
+ so incorrect setup or data-flow documentation is a functional defect.
39
+
19
40
  ## What this repo contains
20
41
 
21
42
  - `skills/` — a catalog of skills, **one directory per skill**.
@@ -110,7 +131,7 @@ When editing or adding skills in this repo, follow these rules (and add new skil
110
131
  - Agent-driven plugins (for example `plugins/pr-review` and `plugins/release-notes`) use `uv run --with openhands-sdk --with openhands-tools ...` and require an `LLM_API_KEY` in addition to `GITHUB_TOKEN`.
111
132
  - For OpenHands Cloud API guidance, automations, and CLI integration, use `plugins/openhands`. It is the canonical unified OpenHands plugin covering the V1 Cloud API, Automations API, and CLI. The individual skills (`skills/openhands-api`, `skills/openhands-automation`) are also available standalone.
112
133
  - When reviewing or editing `skills/openhands-sdk`, validate copy-paste imports against the released packages with `uv run --with openhands-tools --with openhands-workspace --with openhands-agent-server python ...`. In the current released workspace package, the exported remote workspace classes are `APIRemoteWorkspace` / `OpenHandsCloudWorkspace`; `RemoteAPIWorkspace` is not available.
113
- - For agent-driven plugin scripts, prefer `from openhands.sdk.plugin import PluginSource` and pass `plugins=[PluginSource(source=...)]` into `Conversation`. In the current released SDK (`openhands-sdk` 1.18.x), `Plugin` is not exported from `openhands.sdk.plugin`, so direct `Plugin.load(...)` imports can break CI.
134
+ - For agent-driven plugin scripts, prefer `from openhands.sdk.plugin import PluginSource` and pass `plugins=[PluginSource(source=...)]` into `Conversation`. The current released SDK (`openhands-sdk` 1.49.x) exports both `PluginSource` and `Plugin` from `openhands.sdk.plugin`, so `Plugin.load(...)` imports also work (used by `tests/test_skill_plugin_loading.py`).
114
135
  - `plugins/qa-changes/action.yml` now has a preflight guard for fork PRs in `pull_request` context: if the PR comes from a fork and `LLM_API_KEY` is unavailable (normal for forks), the action exits successfully with a clear skip notice instead of failing.
115
136
  - `skills/bitbucket` should not tell agents to rewrite remotes proactively. In OpenHands, `BITBUCKET_TOKEN` is commonly kept in unencoded `user:token` form for API calls like `curl --user "$BITBUCKET_TOKEN" ...`; only split and URL-encode it when constructing a non-interactive HTTPS Git remote URL.
116
137
 
@@ -148,7 +169,16 @@ Important notes:
148
169
  - `scripts/sync_extensions.py` keeps generated artifacts in sync: Claude Code command files, README catalog section, coverage checks, and vendor symlinks. Run `python scripts/sync_extensions.py --check` (or just push — CI runs it) to verify everything is consistent. Run without `--check` to auto-fix. The "Quick Start" section in `README.md` (OpenHands SDK, Claude Code, and Codex setup instructions) is **manually maintained** above the auto-generated catalog markers and is intentionally not generated by the sync script.
149
170
  - The sync script uses PyYAML to parse SKILL.md frontmatter. If you add a skill with a slash trigger (e.g., `triggers: ["/mycommand"]`), the script auto-generates `commands/mycommand.md`. **Note:** Slash triggers in SKILL.md frontmatter are deprecated — prefer adding a `commands/command-name.md` file to the plugin's `commands/` directory instead. Keyword triggers (non-slash) remain the recommended way to activate skills by topic.
150
171
 
151
- - The `ready-for-dev` gates live in `.github/workflows/issue-readiness-check.yml` and `.github/workflows/pr-description-check.yml`, backed by `.github/scripts/check_issue_readiness.py`, `check_pr_description.py`, `refresh_linked_pr_checks.py`, and `post-readiness-comment.mjs`. Issues labeled `bug` or `enhancement` must meet type-specific readiness criteria (reproducible command plus Acceptance Criteria checklist for bugs; Desired Behavior plus Acceptance Criteria checklist for enhancements) to receive the `ready-for-dev` label. Non-draft PRs must keep the `## Why`, `## Summary`, and `## How to Test` template sections filled, and any issue linked via a closing keyword or the `## Issue Number` section must carry `ready-for-dev` unless it predates the 2026-08-25 rollout. Label transitions on an issue re-run the PR Description Check for linked open PRs. Tests live in `tests/test_check_issue_readiness.py`, `tests/test_check_pr_description.py`, and `tests/test_refresh_linked_pr_checks.py`.
172
+ - The GitHub issue-triage automation and repository writers may grant
173
+ `ready-for-dev`.
174
+ `.github/workflows/issue-readiness-check.yml` removes a newly applied label
175
+ unless a user with `write`, `maintain`, or `admin` permission applied it. An
176
+ `unlabeled` event then lets triage reassess the issue.
177
+ `.github/workflows/pr-description-check.yml` still requires linked issues to
178
+ be ready, and label transitions refresh that check through
179
+ `.github/scripts/refresh_linked_pr_checks.py`. Tests for the PR gates live in
180
+ `tests/test_check_pr_description.py` and
181
+ `tests/test_refresh_linked_pr_checks.py`.
152
182
 
153
183
  ## OpenHands SDK documentation policy
154
184
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: openhands-extensions
3
- Version: 0.22.1
3
+ Version: 0.24.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
7
  Requires-Dist: deprecation<3,>=2.1
8
- Requires-Dist: packaging<26,>=24
8
+ Requires-Dist: packaging<27,>=24
9
9
  Requires-Dist: pydantic<3,>=2.10
@@ -9,7 +9,7 @@ It contains reusable, shareable skills and plugins that customize agent behavior
9
9
 
10
10
  ## Repository boundaries
11
11
 
12
- `OpenHands/extensions` is the public registry for reusable skills, plugins, automations, and integrations. [`OpenHands/software-agent-sdk`](https://github.com/OpenHands/software-agent-sdk) owns Agent Server execution and the canonical API, [`OpenHands/typescript-client`](https://github.com/OpenHands/typescript-client) owns typed browser access to that API, [`OpenHands/OpenHands`](https://github.com/OpenHands/OpenHands) owns Agent Canvas UI, and [`OpenHands/automation`](https://github.com/OpenHands/automation) owns scheduling, webhooks, run history, dispatch, and sandbox lifecycle orchestration.
12
+ `OpenHands/extensions` is the public registry for reusable skills, plugins, automations, and integrations. [`OpenHands/software-agent-sdk`](https://github.com/OpenHands/software-agent-sdk) owns Agent Server execution, the canonical API, and typed browser access to it under `clients/typescript/`, [`OpenHands/OpenHands`](https://github.com/OpenHands/OpenHands) owns Agent Canvas UI, and [`OpenHands/automation`](https://github.com/OpenHands/automation) owns scheduling, webhooks, run history, dispatch, and sandbox lifecycle orchestration.
13
13
 
14
14
  Put reusable extension artifacts here rather than in application repositories. If a PR is opened in the wrong repository, close and move it to the repository that owns the change.
15
15
 
@@ -96,7 +96,7 @@ The JS and Python versions are kept in lock-step by `release-please` and guarded
96
96
  ## Extensions Catalog
97
97
 
98
98
  <!-- BEGIN AUTO-GENERATED CATALOG -->
99
- This repository contains **2 marketplace(s)** with **72 extensions** (62 skills, 10 plugins).
99
+ This repository contains **2 marketplace(s)** with **73 extensions** (63 skills, 10 plugins).
100
100
 
101
101
  ### large-codebase
102
102
 
@@ -115,7 +115,7 @@ OpenHands skills for interacting, improving, and refactoring large codebases
115
115
 
116
116
  Official skills and plugins for OpenHands — the open-source AI software engineer.
117
117
 
118
- **68 extensions** (60 skills, 8 plugins)
118
+ **69 extensions** (61 skills, 8 plugins)
119
119
 
120
120
  | Name | Type | Description | Commands |
121
121
  |------|------|-------------|----------|
@@ -128,6 +128,7 @@ Official skills and plugins for OpenHands — the open-source AI software engine
128
128
  | bitbucket | skill | Bitbucket integration hub. Detects whether the repository is on Bitbucket Cloud or Bitbucket Data Center and directs ... | — |
129
129
  | bitbucket-cloud | skill | Bitbucket Cloud (bitbucket.org) specifics — authenticate with BITBUCKET_TOKEN, use the REST API v2, workspace/repo_sl... | — |
130
130
  | bitbucket-data-center | skill | Bitbucket Data Center (self-hosted Bitbucket Server) specifics — authenticate with BITBUCKET_DATA_CENTER_TOKEN, use t... | — |
131
+ | canvas-extension-api | skill | Build and validate Apps for Agent Canvas using the supported Canvas Extensions API v1 routed-page contract. | — |
131
132
  | city-weather | plugin | Get current weather, time, and precipitation forecast for any city using the free Open-Meteo API. Provides slash comm... | — |
132
133
  | code-review | skill | Rigorous code review focusing on data structures, simplicity, security, pragmatism, and risk/safety evaluation. Provi... | `/codereview`, `/codereview-roasted` |
133
134
  | code-simplifier | skill | Simplifies and refines code across three dimensions - code reuse, code quality, and efficiency - while preserving all... | `/simplify` |