editing-cordis-compositions

Author, validate, and diagnose Cordis agent preset compositions in dsh deployments.

3|1|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/wopal-cn/wopal-space-ontology --skill editing-cordis-compositions-wopal-cn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: editing-cordis-compositions
Source: https://github.com/wopal-cn/wopal-space-ontology/tree/main/dsh/agents-presets/wopal/skills/editing-cordis-compositions
Command: npx skills add https://github.com/wopal-cn/wopal-space-ontology --skill editing-cordis-compositions-wopal-cn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Editing a Cordis composition (agent presets and plugin rows in agent.cordis.yml) fails in non-obvious ways: rows that publish services collide across sessions, preset-bundled skills stay invisible, and packages under the wrong scope never resolve. This Skill encodes the plane rules, realm rules, and validation workflow needed to author presets that actually mount. ## Core Features & Use Cases - Plane and realm decisions: Decide whether a capability belongs in the host composition or an agent preset, and wrap service-providing rows in isolate realms so multiple sessions can mount the same preset. - Preset authoring workflow: Copy a shipped preset via the roster service (copy, resolve, standingKeyFor), edit the copy under the user root, and mount-validate the result before opening a real session. - Bundled skills visibility: Point a preset's skill-filesystem row at its own skills/ directory with a relocatable customSkillDirs entry so bundled skills are discovered. - Use Case: You copied the standard preset, added a custom plugin row, and the new session shows no new tools. Use this Skill to mount-validate with standingKeyFor, read the rejection naming the offending service, and fix the missing isolate realm. ## Quick Start Ask the agent to copy the standard preset to a new id, add your plugin row to its agent.cordis.yml, and mount-validate the result.

Frequently Asked Questions about editing-cordis-compositions

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

FAQPage Schema
How do I create a custom agent preset in dsh?

Copy a shipped preset with the roster service's copy(from, id, name) into the user root under $DSH_HOME/.agent-presets/, then edit the copy's agent.cordis.yml and preset.yml. Never edit shipped presets in place; the copy is loadable and lands in the writable root.

Why does my preset mount but contribute no tools or services?

A consumer row left outside its provider's isolate realm resolves the host registry, which the preset never populated, so the row never activates. Mount-validate with standingKeyFor(id); it reports rows that did not activate and the service they were waiting for.

How do I make a preset's bundled skills directory visible?

Add a customSkillDirs entry to the preset's skill-filesystem row pointing at its own skills/ directory, resolved relative to baseUrl so it stays relocatable. Preset-bundled skills are not auto-discovered; without this entry the agent never sees them.

Can a preset row publish a service without an isolate realm?

No. A service published without an isolate realm lands in the process-global realm, so the second session mounting the preset collides with the first and the mount is rejected. Wrap the provider and all its consumers in one group with an isolate realm.

Why does my preset row fail with 'Cannot find module' for a @deepseek-ai package?

In dsh-in-ellamaka the @deepseek-ai/* scope is reserved for the official closure; packages borrowing that scope without living in the closure cannot resolve. Author self-owned plugins under a scope you control, such as @wopal/* or your organization's scope.

When should a capability go in the host composition instead of a preset?

Anything shared across sessions belongs host-side: registries, persistence, session query, sandbox and approval stack, model route, and the subagent registry. A preset holds only what one session contributes, such as its tool plugins, persona, and compaction policy.