This repository is the public extensions registry for OpenHands.
$ npx -y skills add openhands/extensions --agent claude-code
This repository is the public extensions registry for OpenHands. It contains reusable, shareable skills, plugins, and Agent Canvas Apps that customize agent behavior and interfaces.
OpenHands/extensions is the public registry for reusable skills, plugins, automations, and integrations. OpenHands/software-agent-sdk owns Agent Server execution, the canonical API, and typed browser access to it under clients/typescript/, OpenHands/OpenHands owns Agent Canvas UI, and OpenHands/automation owns scheduling, webhooks, run history, dispatch, and sandbox lifecycle orchestration.
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.
Skills are Markdown-based guidelines that provide domain-specific knowledge and instructions.
They live under skills/, one directory per skill:
skills/<skill-name>/SKILL.md — the skill definition (AgentSkills-style progressive disclosure)skills/<skill-name>/README.md — optional human-facing notes/examplesBrowse the catalog in skills/.
Plugins are extensions with executable code components (hooks, scripts).
They live under plugins/, one directory per plugin:
plugins/<plugin-name>/SKILL.md — the plugin definitionplugins/<plugin-name>/hooks/ — lifecycle hooksplugins/<plugin-name>/scripts/ — utility scriptsBrowse available plugins in plugins/.
Apps are installable interfaces that bring dashboards, internal tools, and workflows directly into Agent Canvas without requiring a fork. They are powered by the beta Canvas Extensions API. Browse apps/ and read its package conventions before contributing. Enabling an App executes trusted JavaScript in the Agent Canvas browser context and permits authenticated requests to the active Agent Server, so review its source and resolved revision first. Apps are distinct from skills and plugins: they provide Canvas interfaces rather than agent instructions or capabilities.
This repository also publishes catalog data through the @openhands/extensions package. It requires Node.js 18.20.0 or newer because the catalog entry points import JSON modules with import attributes.
import { AUTOMATION_CATALOG, INTEGRATION_CATALOG } from "@openhands/extensions";
import { INTEGRATION_CATALOG as MCP_MARKETPLACE } from "@openhands/extensions/integrations";
import { AUTOMATION_CATALOG as RECOMMENDED_AUTOMATIONS } from "@openhands/extensions/automations";
React logo components are isolated behind a separate export so data-only consumers do not need React peer dependencies:
import { INTEGRATION_LOGOS } from "@openhands/extensions/integrations/logos";
The package ships the whole repo, so the skills/, plugins/, and marketplaces/ trees are available from the installed package. Resolve content files to a path, or import JSON manifests directly:
// .md / .py / etc.: resolve to a path, then read with fs
const skillPath = import.meta.resolve("@openhands/extensions/skills/code-review/SKILL.md");
// .json: import directly
import marketplace from "@openhands/extensions/marketplaces/openhands-extensions.json" with { type: "json" };
See integrations/README.md, automations/README.md, and MIGRATION.md for catalog-specific details.
The integration catalog is also published as a Python package (openhands-extensions) so Python services read the same catalog data as JS consumers. The single source of truth is the hand-authored JSON directory integrations/catalog/<id>.json; there is no separate provider file and no aggregate catalog JSON to maintain. Both the JS package (@openhands/extensions/integrations) and the Python package read those same per-integration JSON files and expose parallel read functions.
Each catalog entry can carry oauth and/or mcp/http connectionOptions. supportsOauth / supportsMcp flags are derived at runtime. Use listIntegrationCatalog({ mcp, oauth }) (JS) or list_integration_catalog_models(mcp=, oauth=) (Python) to filter by connector type - for example only integrations that support an oauth connector.
from openhands_extensions import (
list_integration_catalog_models, # listIntegrationCatalog({ mcp, oauth })
get_integration_catalog_entry_model, # getIntegrationCatalogEntry(id)
INTEGRATION_CATALOG_SNAPSHOT, # { integrations }
)
all_integrations = list_integration_catalog_models()
oauth_integrations = list_integration_catalog_models(oauth=True) # only entries with an oauth connector
mcp_integrations = list_integration_catalog_models(mcp=True) # only entries with an mcp connector
sample = get_integration_catalog_entry_model(all_integrations[0].id)
The Python functions return validated IntegrationCatalogEntry models. The raw-dictionary accessors list_integration_catalog / get_integration_catalog_entry were deprecated in 0.10.0 and removed in 0.12.0; see MIGRATION.md.
Install from git (the hub backend consumes it this way):
pip install git+https://github.com/OpenHands/extensions.git
The JS and Python versions are kept in lock-step by release-please and guarded by tests/test_version_alignment.py.
This repository contains 2 marketplace(s) with 78 extensions (67 skills, 11 plugins).
OpenHands skills for interacting, improving, and refactoring large codebases
4 extensions (2 skills, 2 plugins)
| Name | Type | Description | Commands |
|---|---|---|---|
| add-javadoc | skill | Add comprehensive JavaDoc documentation to Java classes and methods. Use when documenting Java code, adding API docum... | — |
| cobol-modernization | plugin | End-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration wi... | — |
| migration-scoring | plugin | Evaluate code migration quality with coverage, correctness, and style scoring. Generates executive reports with actio... | — |
| spark-version-upgrade | skill | Upgrade Apache Spark applications between major versions (2.x→3.x, 3.x→4.x). Covers build files, deprecated APIs, con... | — |
Official skills and plugins for OpenHands — the open-source AI software engineer.
74 extensions (65 skills, 9 plugins)
| Name | Type | Description | Commands |
|---|---|---|---|
| add-skill | skill | Add (import) an OpenHands skill from a GitHub repository into the current workspace. | — |
| agent-canvas-environment | skill | Work effectively inside a local Agent Canvas environment, including local agent-server auth, safe workspace hygiene, ... | — |
| agent-creator | skill | Create file-based sub-agents as Markdown files — no Python code required. Guides the user through a structured interv... | /agent-creator |
| agent-memory | skill | Persist and retrieve repository-specific knowledge using AGENTS.md files. Use when you want to save important informa... | /remember |
| agent-sdk-builder | skill | Guided workflow for building custom AI agents using the OpenHands Software Agent SDK. Use when you want to create a n... | /agent-builder |
| azure-devops | skill | Interact with Azure DevOps repositories, pull requests, and APIs using the AZURE_DEVOPS_TOKEN environment variable. U... | — |
| bitbucket | skill | Bitbucket integration hub. Detects whether the repository is on Bitbucket Cloud or Bitbucket Data Center and directs ... | — |
| bitbucket-cloud | skill | Bitbucket Cloud (bitbucket.org) specifics — authenticate with BITBUCKET_TOKEN, use the REST API v2, workspace/repo_sl... | — |
| bitbucket-data-center | skill | Bitbucket Data Center (self-hosted Bitbucket Server) specifics — authenticate with BITBUCKET_DATA_CENTER_TOKEN, use t... | — |
| canvas-extension-api | skill | Build and validate Apps for Agent Canvas using the supported Canvas Extensions API v1 routed-page contract. | — |
| city-weather | plugin | Get current weather, time, and precipitation forecast for any city using the free Open-Meteo API. Provides slash comm... | — |
| code-review | skill | Rigorous code review focusing on data structures, simplicity, security, pragmatism, and risk/safety evaluation. Provi... | /codereview, /codereview-roasted |
| code-simplifier | skill | Simplifies and refines code across three dimensions - code reuse, code quality, and efficiency - while preserving all... | /simplify |
| datadog | skill | Query and analyze Datadog logs, metrics, APM traces, and monitors using the Datadog API. Use when debugging productio... | — |
| deno | skill | Common project operations using Deno (tasks, run/test/lint/fmt, and dependency management). | — |
| discord | skill | Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows). Use when the user m... | — |
| docker | skill | Run Docker commands within a container environment, including starting the Docker daemon and managing containers. Use... | — |
| evidence-based-citations | skill | Back factual claims and field values with official, verifiable sources. Use when the user asks to fill fields, answer... | — |
| flarglebargle | skill | A test skill that responds to the magic word 'flarglebargle' with a compliment. Use for testing skill activation and ... | — |
| frontend-design | skill | Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks ... | — |
| github | skill | Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUB_TOKEN environment variable a... | — |
| github-actions | skill | Create, debug, and test GitHub Actions workflows and custom actions. Use when building CI/CD pipelines, automating wo... | — |
| github-agents-md-maintainer | skill | Create an automation that keeps AGENTS.md current in one or more GitHub repositories. On a schedule an agent reads th... | /agents-md:setup |
| github-delivery-watchdog | skill | Periodically check pull requests and merge only current heads with independent review, tests, and passing CI. | /github-delivery-watchdog |
| github-issue-to-pr | skill | Create an automation that implements GitHub issues when a configurable trigger label is applied. Clones the default b... | /issue-to-pr:setup |
| github-issue-triage | skill | Prioritize open issues and establish acceptance criteria before marking them ready for development. | /github-issue-triage |
| github-pr-review | skill | Post structured PR reviews to GitHub with inline comments/suggestions in a single API call. | /github-pr-review |
| github-pr-reviewer | skill | Create an automation that reviews GitHub pull requests when they are opened or updated. Inspects the diff, changed fi... | /pr-reviewer:setup |
| github-repo-monitor | skill | Create a cron automation that polls a GitHub repository for issue and PR comments containing a configurable trigger p... | /github-monitor:poll |
| github-stale-ci-pr-closer | skill | Warn and close abandoned pull requests whose required CI remains failing. | /github-stale-ci-pr-closer |
| gitlab | skill | Interact with GitLab repositories, merge requests, and APIs using the GITLAB_TOKEN environment variable. Use when wor... | — |
extensions is a Claude Code plugin with 85 hand-picked skills, indexed on Flowy in the Agent Orchestration category. Install it with the command on its page. It includes build-setup, cobol-modernization, mainframe-planning. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it