ext-develop

Scaffold, debug, verify, and publish OpenClacky extensions with panels, APIs, skills, and agents.

1.2k|105|Updated Dec 30, 2025
One-click install
npx skills add https://github.com/clacky-ai/openclacky --skill ext-develop
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ext-develop
Source: https://github.com/clacky-ai/openclacky/tree/main/lib/clacky/default_extensions/ext-studio/skills/ext-develop
Command: npx skills add https://github.com/clacky-ai/openclacky --skill ext-develop

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building an OpenClacky extension involves many moving parts — the ext.yml manifest, WebUI panels, API backends, skills, and agents — and small mistakes like a wrong slot name or mismatched view path silently break everything. This Skill guides the full lifecycle: scaffolding a new extension, debugging verify errors, and optionally publishing to the marketplace.

Core Features & Use Cases

  • Scaffold new extensions: Turn a plain-language idea into a working skeleton with clacky ext new, then reshape the panel, handler, and manifest to the real feature.
  • Debug and verify: Diagnose clacky ext verify errors by code (loader.error, schema.unknown_field, ref.missing_panel, etc.) and fix the top failure modes like wrong mount signatures, invalid slot names, and route mismatches.
  • Publish to the marketplace: Pack and upload a local extension with clacky ext publish, manage versions with --force, and unpublish when needed.
  • Use Case: A user says "my extension panel shows a red error box" — the Skill identifies the wrong ui.mount render signature, fixes it to (container, ctx, runtime), re-runs verify, and confirms the panel loads after a page reload.

Quick Start

Ask the AI to create a new OpenClacky extension that adds a notes panel to the session sidebar with a backend route to save notes.

Frequently Asked Questions about ext-develop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a new OpenClacky extension?

Run `clacky ext new <id>` to scaffold a working extension in ~/.clacky/ext/local/<id>/ with an ext.yml manifest, a hello panel, an API handler, and a minitest example. Then reshape the panel view.js, handler routes, and manifest fields to match your feature.

Why does my OpenClacky extension panel not appear?

A missing panel is usually caused by a typo in the ui.mount slot name, a missing attach field, or no agent referencing the panel. Check the browser console for an unknown slot warning and confirm the slot is one of the documented valid names.

How do I fix clacky ext verify loader.error?

A loader.error means a file referenced in ext.yml is missing or the YAML is invalid. Open the file path shown in the error and make sure the manifest's view, prompt, or handler path matches the on-disk file exactly.

Do I need to restart the server after editing an extension?

No. Hot reload is per-request — after editing view.js, handler.rb, or a SKILL.md, just reload the WebUI page. Editing ext.yml also applies on the next load, so a server restart is never required.

Where should an OpenClacky extension store user data?

Use the data_path helper in the API handler, which writes under ~/.clacky/ext-data/<id>/ outside the package tree. Never write user data into the extension's code directory, because uninstall deletes the whole package.

When should I use patches or hooks in an extension?

Only when the user explicitly asks. Patches and hooks run arbitrary Ruby and carry supply-chain risk, so default to panels, api, skills, or agents for most extensions.