Independent OpenClaw reporting, releases, guides, and community coverage
Releases

defineToolPlugin and Three New Skills: OpenClaw Gets a Typed Plugin SDK

OpenClaw v2026.5.19 betas introduced the defineToolPlugin SDK plus meme-maker, Python debugger, and node inspector skills for developers.

Filed under Releases 6 min read Updated May 21, 2026
defineToolPlugin and Three New Skills: OpenClaw Gets a Typed Plugin SDK

The v2026.5.19 beta releases that shipped over the May 18-19 weekend included a significant push for developers building on top of OpenClaw: a typed plugin SDK with a proper CLI toolchain, and three new bundled skills covering meme generation, Python debugging, and Node.js inspector workflows. None of this made it into the broad stable release coverage — it's developer-facing detail worth unpacking.

defineToolPlugin: Simple Plugins With Types

The biggest new API surface is defineToolPlugin, a typed helper for building simple tool plugins without having to wire up a full plugin manifest by hand.

import { defineToolPlugin } from 'openclaw'

export default defineToolPlugin({
  name: 'my-tool',
  description: 'Does a specific thing',
  tools: [
    {
      name: 'do_thing',
      description: 'Does the thing',
      parameters: {
        type: 'object',
        properties: {
          input: { type: 'string', description: 'What to do' }
        },
        required: ['input']
      },
      async execute({ input }, context) {
        // your logic here
        return { result: `Processed: ${input}` }
      }
    }
  ]
})

The key things defineToolPlugin handles for you:

  • Generated manifest metadata — you don't write the plugin manifest JSON by hand; it's derived from your plugin definition
  • Optional tool declarations — you can ship a plugin without tools if you only need lifecycle hooks or context factories
  • Context factories — typed access to the OpenClaw runtime context within your tool handlers
  • Type safety — the function signature is typed end to end, so your editor catches parameter shape mistakes before runtime

This is a much lower-friction entry point than the full plugin API, which is appropriate for the most common plugin pattern: adding a handful of custom tools to an OpenClaw instance.

The Plugin CLI Toolchain

defineToolPlugin ships with three new CLI commands that make the plugin development loop significantly tighter:

openclaw plugins build

Compiles a plugin from source, resolving dependencies and generating the distributable bundle. Works with the standard plugin directory layout.

openclaw plugins validate

Validates a plugin's manifest and source against the OpenClaw plugin contract before you try to install it. Catches schema errors, missing required fields, and obvious API mismatches early — no more discovering errors at install time.

openclaw plugins init

Scaffolds a new plugin directory with the correct structure, a starter defineToolPlugin call, and the right metadata fields. The fastest way to go from zero to a working plugin skeleton.

Together these three commands cover the full plugin lifecycle: scaffold → validate → build → install. The --global flag (covered below) covers the install side.

Skills CLI: --global for Shared Managed Skills

One addition that pairs well with the plugin SDK: openclaw skills install and openclaw skills update now accept a --global flag, contributed by @Marvae in #74466.

Without --global, skills are installed into the current project's skill directory. With --global, they go into the shared managed skills location, making them available across all OpenClaw instances on the machine. This is the right approach for debugging utilities, productivity tools, and anything else you want available everywhere rather than tied to one project.

/codex plugins list/enable/disable From Chat

Beta.2 added a quality-of-life improvement for Codex users: you can now manage configured native Codex plugins from within the chat interface using /codex plugins list, /codex plugins enable <name>, and /codex plugins disable <name>.

Previously, toggling Codex plugins required editing the config file and restarting. Now it's a chat command. Small change, meaningful for people who switch between Codex plugin configurations depending on what they're working on.

Three New Bundled Skills

Meme Maker

The meme-maker skill supports curated template search, local SVG/PNG rendering, Imgflip hosted rendering, and Know Your Meme provenance links. The KYM integration is a nice touch — it means the skill can surface context about a template (origin, meaning, common usage) rather than just generating an image.

Use cases: generating memes for community posts, illustrating technical concepts with humor, or just having fun. The local SVG/PNG rendering path means it works without an Imgflip account if you have the right tooling installed.

Python Debugging Skill

The Python debugging skill wraps the core Python debugging tools:

  • pdb — the standard Python debugger, for when you need to step through code
  • breakpoint() — the modern way to drop into a debug session from code
  • Post-mortem inspection — examining a traceback after an exception, without having to re-run the code
  • debugpy remote attach — for debugging processes remotely, including code running in containers or on other machines

This is a workflow skill — it doesn't replace the debuggers, it helps the agent reason about and set up debugging sessions correctly. Useful for anyone using OpenClaw as a coding assistant on Python projects.

Node Inspector Debugging

The node inspector debugging skill pairs with the Python one, covering the Node.js side: the --inspect flag, breakpoints, the Chrome DevTools Protocol, and remote debugging patterns. If you're working on OpenClaw's own internals (or any other Node.js project), this gives the agent the right vocabulary and workflow guidance for debugging sessions.

A fused diagram generation skill and a throwaway spike workflow skill also landed alongside these — lighter-weight utilities for quickly generating architecture diagrams and scaffolding experiments without cluttering the main project.

Browser: Modal Dialog Awareness

The browser automation side got a useful capability in the beta cycle: modal dialogs are now surfaced in snapshots. When a browser action opens a dialog (alert, confirm, prompt), the snapshot includes its state. Actions that are blocked by a dialog return blockedByDialog instead of silently failing.

You can answer pending dialogs with openclaw browser dialog --dialog-id. This closes a gap where browser automation scripts would mysteriously stall on confirmation dialogs with no feedback about why.

@eefreenyc also contributed openclaw browser evaluate --timeout-ms in #83447, which lets long-running page functions extend both the evaluate action and the request timeout budget. Previously there was no way to tell OpenClaw "this page function will take a while, don't time out on me."

Telegram Forum Topic Traffic Isolation

Beta.2 included a meaningful fix for Telegram users with bots in forum (supergroup) channels: forum topics no longer block sibling topic traffic. Inbound serialization, media/text buffers, and account API queues are now routed on topic-aware lanes, so a stuck or slow topic doesn't starve the other topics in the same channel.

A paired fix keeps queued follow-up messages in a forum topic from inheriting superseded abort signals — so if a turn gets replaced, later messages in the same topic can still run and reply. These two changes together make Telegram forum topic bots significantly more reliable.


The v2026.5.19 betas packed a lot into two releases over a Sunday-Monday window. The plugin SDK and new skills are the thread that ties the developer-facing changes together — OpenClaw's extension surface is getting cleaner tooling and sharper defaults, one beta at a time.

Daily Briefing

Get the Open-Source Briefing

The stories that matter, delivered to your inbox every morning. Free, no spam, unsubscribe anytime.

Join 45,000+ developers. No spam. Unsubscribe anytime.