Build, debug, or publish an OpenClacky extension — scaffold a new one from an idea, fix a broken/invisible panel/api/skill/agent, or ship it to the marketplace. Trigger on create/start extension, plugin, panel, ext verify error, "won't load", "not showing up", publish/ship/unpublish an extension.
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use this skill to guide the workflow, not as a second API manual. The online references below own the detailed contracts, examples, and reload behavior. The local engineering checks below remain mandatory even when those references cannot be fetched.
temp_file for the needed section. For HTML pages, web_fetch
saves extracted text with whitespace collapsed, not original HTML: line-based reading
may still return one long line. One targeted text extraction is enough to check a
detail. Do not write helper scripts or try to reconstruct code formatting from that
text; lost newlines can change the meaning of code comments and examples.
A no-file-change task includes temporary files such as /tmp/*.py: only read the
tool-returned cache, do not create a script or reformatted copy elsewhere.browser tool to read only the relevant official
documentation. Do not navigate, inspect, or close unrelated tabs. Read beyond truncated
snapshots as needed; opening a page alone does not verify its contents. If browser setup
is required, ask whether the user wants to use browser-setup; never enable it silently
or bypass a disabled browser. If the tool is unavailable, do not invent another browser
control mechanism or install one without approval.| Need | Read |
|---|---|
| Container model, source layers, scaffold, reload, verification, publishing | Extension System Overview |
| Manifest metadata, panels, agents, tools, skill restrictions, field validation | ext.yml Manifest |
| Slots, agent scope, tab lifecycle/badges, subscriptions, replay, Composer, Aside, Modal, Workspace | Web UI Extensions |
| Extension-owned backend, route parameters, persistent data, session/project helpers, public endpoints | HTTP API Extensions |
| Host sessions/history, files, recovery, billing, media, development UI helpers | Calling Host APIs |
| Agent persona and configuration | Agent Configuration |
| Skill authoring and invocation | Skills |
| IM adapters, optional file delivery and buffered output | Channel Adapters |
| Tool-call/lifecycle hooks and persistent custom events | Hooks |
| Explicitly requested runtime patches | Runtime Patches |
Read the pages needed for this task, not every reference indiscriminately. This index routes lookups; field lists, signatures, and code examples belong in those pages.
~/.clacky/ext/local/<id>/. Never edit installed/builtin packages or
gem source to customize a user's extension. Do not search or read installed OpenClacky
gem implementation source, even to resolve missing documentation; version metadata is
allowed. Confirm intentional id overrides.Apply these when proposing the design and again against the actual code before handoff. Do not count a promise to follow a rule as evidence that the implementation follows it.
btn-* / form-*,
Clacky.Modal, and var(--color-*); use scoped, prefixed custom styles where needed.
For basic inputs use form-input / form-textarea. Confirm custom property names in
the relevant reference or generated scaffold, not by their plausible spelling; do not
invent fallback token names. If a token is unverified, omit the color override and
inherit host styling, rather than adding a guessed token with hardcoded fallback colors.
Prefix tab ids with the extension id to avoid collisions.
Check light/dark appearance for UI work. Do not add unrequested hooks or patches or
modify installed packages. Test the applicable boundaries above with controlled data;
do not use real destructive, disclosure, or paid operations just to prove a safeguard.
Report which checks were exercised, which were code review only, and which remain open..clacky/skills/.clacky ext new <id> for a runnable skeleton. Use --full only when the task
needs the broader examples. Read generated files before changing them.clacky ext verify; resolve errors and review warnings using its actual
code, file, and hint. Verify the visible feature or endpoint afterward.clacky ext verify and read its structured findings. Use clacky ext list
to identify the resolved layer and accidental shadowing. Do not maintain a second
hardcoded list of accepted keys in this skill.README.md is missing, ask whether to write usage
instructions before proceeding; derive them from the actual implemented behavior.ext.yml; --force does not
increment it. Explain failures instead of guessing alternate publish behavior.8a66b10
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.