🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@openhands/extensions

Package Overview
Dependencies
Maintainers
3
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openhands/extensions

Public OpenHands extension catalogs for skills, plugins, integrations, and automation templates.

latest
Source
npmnpm
Version
0.6.0
Version published
Maintainers
3
Created
Source

OpenHands Extensions

This repository is the public extensions registry for OpenHands. It contains reusable, shareable skills and plugins that customize agent behavior.

Repository Layout

Skills

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/examples

Browse the catalog in skills/.

Plugins

Plugins are extensions with executable code components (hooks, scripts). They live under plugins/, one directory per plugin:

  • plugins/<plugin-name>/SKILL.md — the plugin definition
  • plugins/<plugin-name>/hooks/ — lifecycle hooks
  • plugins/<plugin-name>/scripts/ — utility scripts

Browse available plugins in plugins/.

NPM Package

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.

Python Package

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 asset integrations/integration-catalog.json (NOT generated from any .mjs/.js source). Each per-integration entry also exists as integrations/catalog/<id>.json; a CI parity test asserts the two never drift. Both the JS package (@openhands/extensions/integrations) and the Python package read that same JSON asset at runtime, so the two language bindings can never drift.

The catalog is one array where each 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(mcp=, oauth=) (Python) to filter by connector type - for example only integrations that support an oauth connector.

from openhands_extensions import (
    list_integration_catalog,                        # listIntegrationCatalog({ mcp, oauth })
    get_integration_catalog_entry,                   # getIntegrationCatalogEntry(id)
    INTEGRATION_CATALOG_SNAPSHOT,                    # { integrations }
)

all_integrations = list_integration_catalog()
oauth_integrations = list_integration_catalog(oauth=True)      # only entries with an oauth connector
mcp_integrations = list_integration_catalog(mcp=True)          # only entries with an mcp connector
hubspot = get_integration_catalog_entry("hubspot")

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.

Extensions Catalog

This repository contains 2 marketplace(s) with 58 extensions (48 skills, 10 plugins).

large-codebase

OpenHands skills for interacting, improving, and refactoring large codebases

4 extensions (2 skills, 2 plugins)

NameTypeDescriptionCommands
add-javadocskillAdd comprehensive JavaDoc documentation to Java classes and methods. Use when documenting Java code, adding API docum...
cobol-modernizationpluginEnd-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration wi...
migration-scoringpluginEvaluate code migration quality with coverage, correctness, and style scoring. Generates executive reports with actio...
spark-version-upgradeskillUpgrade Apache Spark applications between major versions (2.x→3.x, 3.x→4.x). Covers build files, deprecated APIs, con...

openhands-extensions

Official skills and plugins for OpenHands — the open-source AI software engineer.

54 extensions (46 skills, 8 plugins)

NameTypeDescriptionCommands
add-skillskillAdd (import) an OpenHands skill from a GitHub repository into the current workspace.
agent-canvas-environmentskillWork effectively inside a local Agent Canvas environment, including local agent-server auth, safe workspace hygiene, ...
agent-creatorskillCreate file-based sub-agents as Markdown files — no Python code required. Guides the user through a structured interv.../agent-creator
agent-memoryskillPersist and retrieve repository-specific knowledge using AGENTS.md files. Use when you want to save important informa.../remember
agent-sdk-builderskillGuided workflow for building custom AI agents using the OpenHands Software Agent SDK. Use when you want to create a n.../agent-builder
azure-devopsskillInteract with Azure DevOps repositories, pull requests, and APIs using the AZURE_DEVOPS_TOKEN environment variable. U...
bitbucketskillInteract with Bitbucket repositories and pull requests using the BITBUCKET_TOKEN environment variable. Use when worki...
city-weatherpluginGet current weather, time, and precipitation forecast for any city using the free Open-Meteo API. Provides slash comm...
code-reviewskillRigorous code review focusing on data structures, simplicity, security, pragmatism, and risk/safety evaluation. Provi.../codereview, /codereview-roasted
code-simplifierskillSimplifies and refines code across three dimensions - code reuse, code quality, and efficiency - while preserving all.../simplify
datadogskillQuery and analyze Datadog logs, metrics, APM traces, and monitors using the Datadog API. Use when debugging productio...
denoskillCommon project operations using Deno (tasks, run/test/lint/fmt, and dependency management).
discordskillBuild and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows). Use when the user m...
dockerskillRun Docker commands within a container environment, including starting the Docker daemon and managing containers. Use...
evidence-based-citationsskillBack factual claims and field values with official, verifiable sources. Use when the user asks to fill fields, answer...
flarglebargleskillA test skill that responds to the magic word 'flarglebargle' with a compliment. Use for testing skill activation and ...
frontend-designskillCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks ...
githubskillInteract with GitHub repositories, pull requests, issues, and workflows using the GITHUB_TOKEN environment variable a...
github-actionsskillCreate, debug, and test GitHub Actions workflows and custom actions. Use when building CI/CD pipelines, automating wo...
github-pr-reviewskillPost structured PR reviews to GitHub with inline comments/suggestions in a single API call./github-pr-review
github-pr-reviewerskillCreate an automation that reviews GitHub pull requests when they are opened or updated. Inspects the diff, changed fi.../pr-reviewer:setup
github-repo-monitorskillCreate a cron automation that polls a GitHub repository for issue and PR comments containing a configurable trigger p.../github-monitor:poll
gitlabskillInteract with GitLab repositories, merge requests, and APIs using the GITLAB_TOKEN environment variable. Use when wor...
incident-retrospectiveskillCreate an automation that drafts incident retrospectives by gathering incident-channel messages from Slack, collectin.../incident-retro:setup
iterateskillIterate on a GitHub pull request — drive it through CI, code review, and QA until merge-ready. Monitors state, fixes .../iterate, /verify, /babysit
jupyterskillRead, modify, execute, and convert Jupyter notebooks programmatically. Use when working with .ipynb files for data sc...
kubernetesskillSet up and manage local Kubernetes clusters using KIND (Kubernetes IN Docker). Use when testing Kubernetes applicatio...
learn-from-code-reviewskillDistill code review feedback from GitHub PRs into reusable skills and guidelines. Use when users ask to learn from co.../learn-from-reviews
linearskillInteract with Linear project management - query issues, update status, create tickets using the Linear GraphQL API.
linear-triageskillCreate an automation that triages new Linear issues by inspecting title, description, team, and recent related issues.../linear-triage:setup
magic-testpluginA simple test plugin for verifying plugin loading. Triggers on magic words (alakazam, abracadabra) and returns a spec...
notionskillCreate, search, and update Notion pages/databases using the Notion API. Use for documenting work, generating runbooks...
npmskillHandle npm package installation in non-interactive environments by piping confirmations. Use when installing Node.js ...
onboardingpluginAssess repository agent-readiness across five pillars, propose high-impact fixes, and generate repo-specific AGENTS.m...
openhandspluginUnified OpenHands plugin — bundles Cloud CLI, REST API (openhands-api), and Automations (openhands-automation) into a.../openhands-cloud
openhands-apiskillUse the OpenHands Cloud REST API (V1) and agent-server APIs to create and manage Cloud or local backend conversations...
openhands-automationskillCreate and manage OpenHands automations - scheduled tasks that run in sandboxes. Use the prompt preset to create auto.../automation:create
openhands-sdkskillReference skill for the OpenHands Software Agent SDK - build AI agents with custom tools, LLM configuration, conversa.../sdk
pdflatexskillInstall and use pdflatex to compile LaTeX documents into PDFs on Linux. Use when generating academic papers, research...
pr-reviewpluginAutomated PR code review — analyzes diffs and posts inline review comments via the GitHub API.
prdskillGenerate a Product Requirements Document (PRD) for a new feature through an interactive clarifying-question workflow..../prd
qa-changespluginValidate pull request changes by actually running the code — setting up the environment, exercising changed behavior,...
release-notespluginGenerate consistent, well-structured release notes from git history. Produces categorized changelog with breaking cha.../release-notes
research-briefskillCreate a recurring automation that researches a topic using Tavily web search and publishes a structured brief to Not.../research-brief:setup
securityskillSecurity best practices for secure coding, authentication, authorization, and data protection. Use when developing fe...
skill-creatorskillGuide for creating effective skills. This skill should be used when users want to create a new skill (or update an ex...
slack-channel-monitorskillCreate a cron automation that polls up to 10 Slack channels every minute and starts an OpenHands conversation when a .../slack-monitor:poll
slack-standup-digestskillCreate an automation that generates an async standup digest from Slack. Searches selected channels for messages since.../standup-digest:setup
sshskillEstablish and manage SSH connections to remote machines, including key generation, configuration, and file transfers....
swift-linuxskillInstall and configure Swift programming language on Debian Linux for server-side development. Use when building Swift...
theme-factoryskillToolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc....
uvskillCommon project, dependency, and environment operations using uv.
vercelskillDeploy and manage applications on Vercel, including preview deployments and deployment protection.
vulnerability-remediationpluginAutomated security vulnerability scanning and AI-powered remediation. Scans repositories, skips when no issues found,...

Contributing

Adding a Skill

  • Fork this repository
  • Create a new directory: skills/<your-skill-name>/
  • Add skills/<your-skill-name>/SKILL.md
  • (Optional) Add README.md, references/, scripts/, etc.
  • Submit a pull request

Adding a Plugin

  • Fork this repository
  • Create a new directory: plugins/<your-plugin-name>/
  • Add plugins/<your-plugin-name>/SKILL.md
  • Add hooks/ and/or scripts/ directories with your executable code
  • Submit a pull request

Agent Instructions

See AGENTS.md for the rules agents should follow when editing/adding skills and plugins.

Thank You to Our Contributors

FAQs

Package last updated on 23 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts