DeepSeek Harness plugin

sdlc-harness

A DeepSeek Harness bundle that runs an engineering practice against a locally served model

Jump to install

Source facts

Repository
brunodantas/sdlc-harness
Latest update
Aug 18, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-21

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/brunodantas/sdlc-harness
Plugin: sdlc-harness
Author: brunodantas

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

sdlc-harness

A DeepSeek Harness bundle that runs one engineering practice, its skills and its rules, against a model you serve yourself. It is a bundle, not a fork: the substrate is pinned and never modified, and this repo adds one patch layer that supplies a persona plus one command that installs the practice's skills from their upstreams at pinned releases.

The practice is a fixed build flow. Every step is a skill, invoked by its bare name:

flowchart TB
  subgraph spec ["Spec"]
    direction LR
    A["/grill-with-docs"] --> B["/to-spec"] --> C["/to-tickets"]
  end
  subgraph ticket ["Each ticket, in its own context"]
    direction LR
    D["/to-cases"] --> E["/to-tests"] --> F["/implement"] --> G["/code-review"]
  end
  subgraph ship ["Ship"]
    I["/build-pr"]
  end
  spec --> ticket --> ship

Quickstart

Six steps, in order. No prior Claude Code experience is assumed.

1. Serve a model. Any OpenAI-compatible endpoint whose chat template advertises tool support. The substrate always sends the native tools field and has no text-parsing fallback, so a model without declared tools cannot run here.

2. Install the substrate and pnpm. Node 22 or newer; pnpm is required because dsh plugin shells out to it.

npm i -g @deepseek-ai/dsh@0.1.0-rc.7 pnpm

The version is pinned on purpose: this bundle is verified against rc.7, and the installer warns when it finds any other release.

3. Clone this repo and add it to the browser profile.

git clone https://github.com/brunodantas/sdlc-harness.git ~/sdlc-harness
dsh plugin --profile web add file:$HOME/sdlc-harness

Use the web profile (created on first use) rather than building your own: it already composes the browser surface, which is not installable on its own.

4. Install the practice.

node ~/sdlc-harness/bin/install.js

This fetches every skill at its pinned release into ~/.dsh/skills, writes the practice's rules to ~/.dsh/AGENTS.md with their on-demand reference beside them as ~/.dsh/practice-reference.md, records what it resolved in ~/.dsh/skills.lock.json, and generates an agent preset named SDLC Harness.

5. Boot. A key is required even for a local server, and any non-empty string satisfies it.

DEEPSEEK_API_KEY=local-none DEEPSEEK_BASE_URL=http://localhost:8080/v1 dsh --profile web --port 7777

6. Select the preset. Open the printed URL and, in the session's mode menu, choose SDLC Harness in place of Standard mode. This does not persist: a session started without it runs the substrate's own persona and rules, and looks identical until the agent's behaviour tells you otherwise.

Then invoke a skill by its bare name, for example /to-cases path/to/spec.md, and send it with the send button (Enter does not send while the skill autocomplete is open).

What gets installed

Forty skills, flattened into one unnamespaced root:

  • brunodantas/skills at v0.2.0 (cc6da61): build-pr, harden-tests,

ilities, to-cases, to-tests

  • mattpocock/skills at v1.2.3 (6acc160): 35 skills; the full roster is

in [skills.manifest.json](skills.manifest.json)

Both sources are MIT licensed and installed unmodified. Their licences travel with the skills and apply to your copies; this repo's own MIT licence covers only the bundle.

Known gaps

The biggest gap is judgment, not structure. The structure is all here: skills load, rules are read, the flow runs in the order the practice prescribes. But in the acceptance run, a locally served 24B ran the whole chain to completion and froze a test file that contained no assertions. Read [docs/worked-example.md](docs/worked-example.md) before trusting anything this harness produces unattended.

The rest, including everything else the acceptance run found, lives in [docs/dsh-parity-delta.md](docs/dsh-parity-delta.md). The headlines:

  • Skill tool restrictions do nothing. The frontmatter parser silently drops

allowed-tools, so every skill runs with the full tool set.

  • The hook bridge is not composed. No PostToolUse or similar automation

runs here.

  • Permission behaviour is the profile's defaults. No equivalent of

acceptEdits, and plan mode is advisory rather than enforced.

Where the rest lives

Vocabulary[CONTEXT.md](CONTEXT.md)
Ranked architectural characteristics[docs/architecture.md](docs/architecture.md)
Decisions that bind[docs/adr/](docs/adr/)
Feature-by-feature map[docs/dsh-parity-map.md](docs/dsh-parity-map.md)
The measured gap[docs/dsh-parity-delta.md](docs/dsh-parity-delta.md)
One ticket, start to finish[docs/worked-example.md](docs/worked-example.md)

Licence

MIT. See [LICENSE](LICENSE).