dsh-plugin-implement

Implements standalone DSH Cordis plugins with validated configuration and lifecycle-safe registrations.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Implementing a DeepSeek Harness (DSH) plugin involves many subtle rules—Cordis Loader export shapes, fiber-owned effect disposal, Schemastery config validation, invariant companions, and bundle metadata—that are easy to get wrong and cause silent unload or registration bugs. ## Core Features & Use Cases - Plugin form enforcement: Preserves the correct function-plugin namespace export or service-plugin default export so the Cordis Loader never drops inject, Config, or apply. - Lifecycle and config rules: Requires every registry contribution to be a fiber-owned effect, validates configuration with Schemastery, and keeps credentials out of defaults, logs, and tests. - Invariant and metadata maintenance: Keeps src/invariant.ts, package.json exports, and cordis.patch.yml synchronized with the code, plus JSDoc and README contract documentation. - Use Case: After planning and scaffolding a new DSH Web plugin, use this Skill to implement the approved handoff—producing validated config, declared injections, disposable registrations, an invariant companion, updated docs, and focused tests. ## Quick Start Use the dsh-plugin-implement skill to implement the planned standalone DSH plugin including its invariant, documentation, and focused tests.

Frequently Asked Questions about dsh-plugin-implement

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

FAQPage Schema
How do I implement a Cordis plugin for DSH Web?▼

Define a function plugin with named exports for name, inject, Config, and apply, or default-export a Service subclass for a service plugin. Keep configuration Schemastery-validated and make every registry contribution a fiber-owned effect so unloading removes it.

Why does my Cordis plugin lose its inject and Config exports?▼

The Cordis Loader unwraps exports.default ?? exports, so adding a default export to a function plugin drops the named inject, Config, and apply fields. Keep one ESM namespace entry with no default export for function plugins.

How should DSH plugins handle configuration validation?▼

Represent every deployment-varying choice as a documented Schemastery-validated Config field with defaults resolved once at the owning boundary. Reject self-contained misconfiguration at load time and never silently skip a requested registration.

What is the invariant companion in a DSH plugin package?▼

It is a src/invariant.ts module exported as ./invariant that checks an authoritative event or data relationship owned by the package. It must not assert service presence or plugin metadata, and non-empty installers need positive and negative test paths.

Can a DSH plugin modify host source through cordis.patch.yml?▼

No. A bundle patch only inserts or overrides profile rows; host source modifications belong in DSH itself. An id-targeted patch replaces the complete target config, so every retained field must be restated.