dsh-plugin-compose

Installs and verifies DSH plugins in isolated profiles using cordis.patch.yml composition.

21|4|Updated Aug 13, 2026
One-click install
npx skills add https://github.com/0xsline/dsh-spotlight --skill dsh-plugin-compose-0xsline
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dsh-plugin-compose
Source: https://github.com/0xsline/dsh-spotlight/tree/main/.agents/skills/dsh-plugin-compose
Command: npx skills add https://github.com/0xsline/dsh-spotlight --skill dsh-plugin-compose-0xsline

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Wiring a standalone DSH plugin into a profile involves fragile steps: declaring the bundle patch in package.json, writing correct cordis.patch.yml rows, installing through dsh plugin, and proving the plugin actually activated. This Skill guides that composition workflow so overrides, insertions, and activation are verified instead of assumed. ## Core Features & Use Cases - Bundle declaration verification: Checks that package.json declares dsh.bundle.patch and that cordis.patch.yml ships in the manifest files list. - Patch semantics review: Enforces rules for id-targeted replacement, insert rows, !!js usage, empty patches, and credential handling before installation. - Isolated profile installation: Uses a dedicated DSH_HOME, installs packed artifacts or approved Git specs via dsh plugin, and handles pnpm allowBuilds prompts correctly. - Activation proof: Dumps effective configuration, boots the real runner, and distinguishes bundle presence from actual plugin behavior. - Use Case: After building a DSH Web plugin, use this Skill to pack it, install it into a throwaway profile, inspect the effective config dump, and confirm the plugin mounts and disposes through its real entry path. ## Quick Start Use the dsh-plugin-compose skill to install this plugin into an isolated DSH profile, inspect the effective configuration, and prove activation.

Frequently Asked Questions about dsh-plugin-compose

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

FAQPage Schema
How do I install a DSH plugin into a profile?▼

Pack the plugin with pnpm pack, then pass the archive, registry spec, or approved Git spec to dsh plugin for the target profile. Avoid repository-relative link: or file: specs, since the package artifact must first prove it is complete.

How do I declare a DSH bundle patch in package.json?▼

Add a dsh.bundle.patch field pointing to ./cordis.patch.yml and include that file in the manifest files list. A dependency without dsh.bundle.patch installs but stays inactive as a bundle.

Why does my cordis.patch.yml override not take effect?▼

An id-targeted patch replaces the row's entire config value, so any field not restated is lost. If the target id is absent, the patch only warns on stderr; inspect the effective config dump and treat the warning as failed composition.

Can cordis.patch.yml modify DSH source or build files?▼

No. cordis.patch.yml cannot edit DSH source files, compiler settings, build scripts, generated catalogs, CLI routing, or runtime boot code. Such changes must be carried as documented host patches under patches/ instead.

Why does Git-based DSH plugin installation fail with pnpm?▼

pnpm 10 and later block dependency lifecycle builds until allowed, so a source package with a prepare script may fail the first install. Add only the exact allowBuilds key printed in the error to the profile's pnpm-workspace.yaml and rerun the unchanged install.

How do I prove a DSH plugin actually activated?▼

Boot through the real intended runner and observe an effect specific to the plugin, not just package resolution or a generic log line. Compare dsh --dump-config output for expected rows and collect output from the long-lived process before disposing it.