Bundle
@andrepontesmelo/dsh-suite
The DSH productivity suite: plugins + agent skills for the DeepSeek Harness, installable in one command.
- Source
- andrepontesmelo
- License
- MIT
- Updated
- Updated 6 hours ago
Readme
# dsh-suite
[](https://github.com/andrepontesmelo/dsh-suite/actions/workflows/ci.yml)
[](package.json)


**The DeepSeek Harness productivity suite**: self-authored plugins + agent skills for [DSH](https://www.npmjs.com/package/@deepseek-ai/dsh), installable in one command.
## What's inside
| Piece | Type | What it does |
|---|---|---|
| [`dsh-model-router`](https://github.com/andrepontesmelo/dsh-model-router) | plugin | Virtual model ids routed over real provider/model candidates — priority failover, round-robin rotation, sleep windows |
| [`deep-horizon`](https://github.com/andrepontesmelo/deep-horizon) | plugin | Injects the project's horizon (open gaps + about line) into every new session — cold-start project context shared across harnesses |
| strong-orchestrator | skill | Sequential implement → review-loop orchestration with a persistent implementer |
| dex / dex-plan | skills | Task hierarchies: epics, subtasks, verification via the dex CLI |
| ponytail (+ audit, debt, gain, help, review) | skills | Lazy-senior-dev output style family: shortest working diff wins |
**What the one install command does** — install, plugin registration, skills wired:
```mermaid
flowchart TD
install["dsh plugin --profile myprofile add github:andrepontesmelo/dsh-suite"] --> pkg["package installed: cordis.patch.yml, skills/, scripts/"]
pkg --> deps["plugin dependencies pulled: @andrepontesmelo/dsh-model-router + deep-horizon"]
deps --> patch["bundle patch inserts three rows into the profile"]
patch --> r1["model-router row: virtual model ids"]
patch --> r2["deep-horizon row: cold-start project context"]
patch --> r3["skill-suite row: dsh-skill-filesystem, customSkillDirs pointing at skills/"]
r1 --> live["restart the harness: plugins live, 9 skills wired"]
r2 --> live
r3 --> live
```
## Install
Requires a DSH profile to install into.
```bash
dsh plugin --profile <profile> add github:andrepontesmelo/dsh-suite
```
That single command installs this package, pulls the plugin dependencies (currently `@andrepontesmelo/dsh-model-router` and `deep-horizon`), and registers the bundle patch — which points DSH skill discovery at the nine bundled skills. Restart the harness and every suite piece is live in that profile.
> [!WARNING]
> Installing this bundle registers nine agent skills into the target profile, and
> every plugin you list is real software your prompts will flow through. Routes
> and provider credentials stay yours — this bundle ships neither — but audit a
> bundle you did not write before installing it, and pin the install (tag)
> rather than floating on a branch.
Verify before installing:
```bash
npm test # structural check: 9 skills present, valid names/frontmatter, bundle wiring intact — run this pre-install check first
```
That check confirms what the install pulls per the `files` list in
`package.json` (`cordis.patch.yml`, `skills/`, `scripts/`, `README.md`,
`LICENSE`) plus the plugin `dependencies`. Both dependencies are pinned to
release tags (`deep-horizon#v0.2.0`, `@andrepontesmelo/dsh-model-router#v0.2.1`), so what an
install pulls cannot drift between installs — pin your install of this
bundle the same way (tag) rather than floating on a branch.
Useful commands once installed:
```bash
npm test # re-run the structural gate any time
dsh plugin --profile <profile> list # confirm model-router, deep-horizon, skill-suite rows
```
**What the bundle patch inserts into your profile's composed config**:
```mermaid
flowchart LR
subgraph bundle["dsh-suite cordis.patch.yml (ships in the bundle)"]
rows["insert rows:<br/>model-router<br/>deep-horizon<br/>skill-suite"]
end
subgraph profile["your profile config"]
p1["model-router: virtual model ids<br/>(your routes live here, never in the bundle)"]
p2["deep-horizon: cold-start project context"]
p3["skill-suite: dsh-skill-filesystem with<br/>customSkillDirs pointing at the<br/>bundle's skills/ directory"]
end
rows --> p1
rows --> p2
rows --> p3
```
Plugin *configuration* (model-router routes, provider credentials) stays yours: add route rows to your profile's `cordis.patch.yml`.
## Companion pieces
Standalone siblings that don't ride in this bundle:
- [`archloop`](https://github.com/andrepontesmelo/archloop) — overnight architecture-improvement loop driver
- [`hkrc`](https://github.com/andrepontesmelo/hkrc) — Hermes Kanban blocker recovery controller
## Docs
Start at the [docs index](docs/index.md):
- [Architecture](docs/architecture.md) — bundle wiring, patch rows, skill discovery.
- [Development](docs/development.md) — layout, the local gate, how to add a skill.
## Contributing
PRs welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) for the workflow and the local gate.
Security issues: [SECURITY.md](SECURITY.md) (do not open a public issue).
## Validate
```bash
npm test # structural check: 9 skills present, valid names/frontmatter, bundle wiring intact
```
## License
MIT — © 2026 André Pontes Melo
Install
dsh plugin --profile web add github:andrepontesmelo/dsh-suite
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install andrepontesmelo-dsh-suite from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.