cordis-plugin-development
Create, modify, debug, or extend dynamic Cordis Plugins, including Host Services and Events, Client Slot and theme UI, Package-private Client-to-Host calls…
Skill by origin-labs-ai
Chalk Labs
Need help deploying cordis-plugin-development?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/origin-labs-ai-cordis-plugin-development
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
cordis-plugin-development- Description
- Create, modify, debug, or extend dynamic Cordis Plugins, including Host Services and Events, Client Slot and theme UI, Package-private Client-to-Host calls, dynamic Tools, version updates, approval failures, and runtime diagnostics. Use this Skill to route a user request to the correct platform and Inspect Provider, then define, run, repair, or roll back the Plugin.
- License
- MIT
- Instructions
- 417 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Develop Dynamic Cordis Plugins
First determine whether a capability belongs on Host or Client, then query the real interface before writing code. Never infer a complete API from a Service name, Event payload, Slot props, theme token, or example.
## Standard workflow
1. Call `cordis_inspect_list` to obtain the Providers, methods, and schemas currently registered on Host and Client.
2. Select the smallest set of `cordis_inspect_query` calls needed to read the exact Services, Events, Builtins, Slots, Theme tokens, or Tools that the implementation will use.
3. For a new Plugin, design its first Package. To modify an existing Plugin, first use `cordis_inspect_self(pluginId, packageId)` to read the base source and diagnostics.
4. Write plain JavaScript in `code.host`, `code.client`, or both, then call `cordis_define`.
5. Call `cordis_run` with the final `pluginId` and `packageId` returned by define.
6. Handle approval, waiting, Client loading, and render failures from the Run card, steering messages, or `cordis_inspect_self`.
7. Use `cordis_stop` to disable the Plugin temporarily. Use `cordis_undefine` only when it is no longer needed.
Do not wait in the same turn for user approval or asynchronous browser results. After `cordis_run` returns `awaiting-approval` or `starting`, end the current Tool flow and wait for the system to report the final outcome through state updates and steering.
## Tool usage guidance
| Tool | Use it when | Do not |
| --- | --- | --- |
| `cordis_inspect_list` | Discover current Host/Client Providers and method schemas in one call; refresh after the runtime capability directory changes | Hard-code Provider names and skip list; treat a manifest as business data |
| `cordis_inspect_query` | Confirm exact Service methods, Event modes, Builtins, Slots, tokens, or Tool schemas before writing code | Use it instead of calling a real Service from the Plugin; assume a Client query will finish without a responding page |
| `cordis_inspect_self` | List current Plugins, inspect version pointers, or read exact Package source and runtime diagnostics | Fetch all source just to build a list; use it to modify or start a Plugin |
| `cordis_define` | Create a Plugin's first version or append an immutable Package to an existing Plugin; let the user preview the code first | Expect define to execute `apply`, request approval, or update current |
| `cordis_run` | Activate an exact Package; use `run` for first activation, restart, or rollback, and `update` to switch versions | Use `run` to switch versions implicitly; treat pending or starting as success |
| `cordis_stop` | Pause current effects while preserving Packages, grants, and version pointers for later use | Use stop to mean permanent deletion |
| `cordis_undefine` | Permanently remove a Plugin and all of its Packages and clear historical business views | Call it while rollback, inspection, or restart is still needed |
## Choose a platform
| Requirement | Preferred platform | Inspect first |
| --- | --- | --- |
| Files, commands, processes, or networking | Host | `fs`, `bash`, `subprocess`, `pty`, and `web` in `Service.listService` |
| Agents, durable Session data, or Host lifecycle | Host | The relevant Service and `Event.listEvents` |
| Register a dynamic Tool callable in the next model step | Host | `harness` in `Builtin.listBuiltins`, plus `Tool.listTools` |
| Page theme, layout, or current page state | Client | `Theme.listTokens` and Client `Service.listService` |
| Conversation Snapshot or session/workspace lists | Client | The target Slot's standard props and owner props |
| Settings pages, sidebars, input areas, overlays, or Tool cards | Client | `Slots.listSubTree` |
| Fetch on Host and display on Client | Both | Host Service + `harness.handle`; Client Slot + `host.call` |
Prefer the capability closest to the data owner. If Slot props already provide the Conversation Snapshot, do not fetch it again through Host. If only the Package's own styles need to change, do not override the global theme. If only a small entry point is needed, do not replace an entire product UI region.
## Provider navigation
Select methods from the actual `cordis_inspect_list` result. Common initial methods include:
- `Service.listService`: without `service`, returns every callable Service with its purpose and exact method signatures. Query the selected `service` again for access rules, structured method descriptions/parameters/returns, and only its referenced types.
- `Event.listEvents`: without `event`, returns every Event with its purpose, dispatch mode, and exact listener signature. Query the selected `event` again for its structured listener contract and only its referenced types; a Waterfall listener must call `next()`.
- `Builtin.listBuiltins`: returns evaluator-provided symbols and signatures that cannot be obtained through `ctx.get()`.
- `Slots.listSubTree`: without `root`, returns compact live trees with each Slot's purpose, kind, scope, registration keys, replacement risk, and children. With an exact `root`, it also returns that selected Slot's full contract, props, and current occupants while keeping descendants compact.
- `Theme.listTokens`: returns theme tokens that may currently be queried and overridden; it does not modify the theme.
- `Tool.listTools`: returns Tool schemas actually visible to the current Agent, including dynamically registered Tools.
Provider names, methods, and inputs must come from the current list result. The Service/Event Catalog describes which interfaces this version permits; it does not guarantee that a Service is currently mounted. At runtime, use real Services and Events rather than caching or displaying Catalog query results.
## Execution environment
Both `code.host` and `code.client` are plain JavaScript function bodies that return a Cordis Plugin. They are not compiled by TypeScript, JSX, or a bundler.
Do not use:
- `import`, `require`, TypeScript types, `as`, decorators, or JSX;
- globals not confirmed by `Builtin.listBuiltins`;
- guessed access to `window`, `document`, `process`, `Buffer`, `fetch`, or native timers.
Client React code must use `React.createElement(...)`.
Correct:
```js
return {
apply(ctx) {
const slots = ctx.get('slots')
if (slots === undefined) return
slots.inject('tool.view.cordis', () => slots.register(
{ name: 'tool.view.cordis', key: 'self' },
() => React.createElement('div', null, 'Hello'),
))
},
}
```
Incorrect:
```jsx
return {
apply(ctx) {
return <div>Hello</div>
},
}
```
JSX is not the only problem in this example. `apply()` registers lifecycle contributions and cannot return a React Element as the Plugin result. UI must be registered in a queried Slot.
## Access Services
Read optional capabilities with `ctx.get(name)` by default and handle their absence:
```js
return {
apply(ctx) {
const service = ctx.get('serviceName')
if (service === undefined) return
service.someMethod()
},
}
```
Declare `inject` only when a Service is a hard dependency and the Plugin must enter waiting until Cordis reactivates it after the Service appears:
```js
return {
inject: ['requiredService'],
apply(ctx) {
ctx.requiredService.someMethod()
},
}
```From origin-labs-ai/code-fusion, MIT.
More from origin-labs-ai/code-fusion
- 0.529score
record-browser-gif
origin-labs-ai
Record browser or Web UI interaction demos as optimized GIFs using the available built-in browser, state-based frame capture, and deterministic encoding, then…
SkillBFreshness: BClaude Code +9 - 0.529score
xhe-prose-standard
origin-labs-ai
Use when writing, reviewing, restoring, trimming, or auditing prose in the xhe repo, including deciding where documentation or comments are required across…
SkillBFreshness: BClaude Code +9 - 0.529score
xhe-trim-cot-leakage
origin-labs-ai
Use when auditing or fixing prose that reads like a leaked reasoning transcript — dead design-session citations such as (decision N), audit item codes, or §N…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-doc-site-sync
origin-labs-ai
Use when publishing, updating, moving, or removing Xee Harness Enhanced documentation website pages; editing website/docs.ts mappings or navigation…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-doc-standards
origin-labs-ai
Use when writing, moving, reviewing, or auditing documentation in the xhe repo — choosing hierarchy and detail, separating tutorials from references, checking…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-find-simplifications
origin-labs-ai
Use when working in the xhe repo to find non-obvious simplification candidates, write proposed Agent Notes or inline TODO/FIXME/XXX notes, audit or coalesce…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-pre-push-checks
origin-labs-ai
Use before pushing, force-pushing, marking ready for review, or claiming checks pass on a xhe branch, and immediately after gh stack sync publishes rewritten…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-merging-stacked-prs
origin-labs-ai
Use when landing a stack of dependent GitHub PRs (A ← B ← C, where each bases on the one below) onto master, merging a PR whose base is another open PR's…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-archive-agent-notes
origin-labs-ai
Use when adding, auditing, pruning, archiving, restoring, or reviewing Agent Notes in xhe; checks every new note for superseded active records, classifies…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-code-review
origin-labs-ai
Use when reviewing a pull request in the xhe repo — orients the reviewer to this codebase's standards (AGENTS.md conventions, defensive patterns, ADRs…
SkillBFreshness: BClaude Code +9 - 0.521score
xhe-translate-docs
origin-labs-ai
Manually run the extended Xee Harness Enhanced bilingual-document workflow, including generated briefings, delegated prose translation, whole-document…
SkillBFreshness: BClaude Code +9 - 0.281score
xhe-popular-skills
origin-labs-ai
No description from the publisher yet.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 23, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/origin-labs-ai/code-fusion
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.569score
cordis-plugin-development
udit79
Create, modify, debug, or extend dynamic Cordis Plugins, including Host Services and Events, Client Slot and theme UI, Package-private Client-to-Host calls…
SkillBFreshness: B★ 4Claude Code +9 - 0.341score
cordis-plugin-development
Narendarcodes
Create, modify, debug, or extend dynamic Cordis Plugins, including Host Services and Events, Client Slot and theme UI, Package-private Client-to-Host calls…
SkillBFreshness: B★ 4Claude Code +9
More from origin-labs-ai
- 0.529score
record-browser-gif
origin-labs-ai
Record browser or Web UI interaction demos as optimized GIFs using the available built-in browser, state-based frame capture, and deterministic encoding, then…
SkillBFreshness: BClaude Code +9 - 0.529score
xhe-prose-standard
origin-labs-ai
Use when writing, reviewing, restoring, trimming, or auditing prose in the xhe repo, including deciding where documentation or comments are required across…
SkillBFreshness: BClaude Code +9 - 0.529score
xhe-trim-cot-leakage
origin-labs-ai
Use when auditing or fixing prose that reads like a leaked reasoning transcript — dead design-session citations such as (decision N), audit item codes, or §N…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-code-review
origin-labs-ai
Use when reviewing a pull request in the xhe repo — orients the reviewer to this codebase's standards (AGENTS.md conventions, defensive patterns, ADRs…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-doc-standards
origin-labs-ai
Use when writing, moving, reviewing, or auditing documentation in the xhe repo — choosing hierarchy and detail, separating tutorials from references, checking…
SkillBFreshness: BClaude Code +9 - 0.524score
xhe-find-simplifications
origin-labs-ai
Use when working in the xhe repo to find non-obvious simplification candidates, write proposed Agent Notes or inline TODO/FIXME/XXX notes, audit or coalesce…
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get cordis-plugin-development running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
cordis-plugin-development skill. Agent Mart. https://agentmart.dev/skills/origin-labs-ai-cordis-plugin-development (last updated 2026-10-24)