dsh-plugin-plan

Plans standalone DSH Cordis plugin architecture before implementation begins.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Designing a DSH plugin without upfront decisions leads to wrong plugin forms, missing dependencies, broken lifecycle disposal, and untestable packages. This Skill turns a requested capability into explicit, evidence-backed package decisions before any code is written. ## Core Features & Use Cases - Plugin Form Selection: Decides between a function plugin (named exports name, inject, Config, apply) and a service plugin (default-exported Service subclass), and records package roles such as service definition, provider, consumer, or bundle. - Dependency & Configuration Design: Builds a dependency matrix covering Cordis access patterns, manifest entries, and test support, and defines validated Config fields with defaults, evidence, and fail-loud behavior. - Lifecycle, Invariant & Composition Planning: Names every owned registration and its disposal path, defines the ./invariant export, designs profile composition rows, and selects the smallest test tiers that prove behavior. - Use Case: When asked to add a new capability to DSH Web, use this Skill to produce a complete planning handoff—plugin form, dependency matrix, configuration schema, lifecycle ownership, invariant, bundle rows, and test plan—ready for the dsh-plugin-development implementation stage. ## Quick Start Use dsh-plugin-plan to design a standalone DSH plugin for my requested capability, covering its form, dependencies, configuration, invariant, composition, and test plan.

Frequently Asked Questions about dsh-plugin-plan

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

FAQPage Schema
How do I plan a DSH Cordis plugin before writing code?▼

Use this planning skill to record the plugin form, roles, dependency matrix, configuration fields, lifecycle ownership, invariant, bundle rows, and test tiers. It produces a handoff compatible with the dsh-plugin-development implementation stage without creating any files.

What is the difference between a function plugin and a service plugin in Cordis?▼

A function plugin uses named exports `name`, `inject`, `Config`, and `apply` with no default export, since Loader unwrapping would discard namespace metadata. A service plugin default-exports the `Service` subclass carrying registration and lifecycle, without competing function-plugin metadata.

How should required and optional DSH services be injected?▼

Required services belong in the `inject` array and are accessed via `ctx.<service>`. Optional services are read with `ctx.get(name)` or scoped `ctx.inject`; undeclared `ctx.<name>` access is never allowed.

Does this skill write plugin code or create files?▼

No. It is guidance only and explicitly does not create files or write code. Implementation happens separately through the dsh-plugin-development skill once the planning handoff has no unresolved blocking decisions.

What happens if a required DSH host contract is missing from the repository?▼

Planning stops until an approved registry dependency or local contract file is added to the repository. The skill never traverses to another checkout to find host contracts.