Bundle
@firefly0621/dsh-skill-superpowers
obra/superpowers skills provider plus session-start bootstrap for DeepSeek Harness
- Source
- oThTJx
- License
- MIT
- Updated
- Updated 14 days ago
Readme
# @firefly0621/dsh-skill-superpowers English | [中文](README.zh.md) Installable DeepSeek Harness plugin bundle that brings [obra/superpowers](https://github.com/obra/superpowers) into product sessions: the full skill library, adapted to dsh tooling, plus a SessionStart-equivalent bootstrap. Publish name: `@firefly0621/dsh-skill-superpowers` (version tracks the harness family, currently `0.1.0-rc.9`). Source of record for this fork package: [github.com/oThTJx/dsh-skill-superpowers](https://github.com/oThTJx/dsh-skill-superpowers). This package is opt-in and is not part of the official main `dsh-base` composition. ## What it restores | Superpowers behavior | dsh realization | |---|---| | Skills library under `skills/*/SKILL.md` | `ctx.skills` provider `superpowers` (packaged `skills/` directory, dsh-adapted) | | SessionStart hook injecting `using-superpowers` | `agent/session-start` → `agent.inject()` with the same `<EXTREMELY_IMPORTANT>` framing | | Platform `references/*-tools.md` | bundled `skills/using-superpowers/references/dsh-tools.md` appended in that bootstrap | | Subagent skip (`SUBAGENT-STOP`) | no bootstrap when `session.header.origin === 'subagent'` | | Model loads other skills on demand | existing `dsh-tool-skill` catalog + `skill` tool | The skill bodies ship as dsh-adapted prose under `skills/` (no vendored source, no git submodule). Foreign-harness tool names and platform references were rewritten for dsh, and the `superpowers:` skill-name prefix was removed. The published tarball includes `skills/` plus `assets/NOTICE.md`, which records the upstream provenance (`obra/superpowers` @ `b36e0829`, v6.3.0) and MIT license. ## Install into a dsh profile Requires DeepSeek Harness peers at `^0.1.0-rc.5` (`@deepseek-ai/dsh-skill` and related packages), typically from the official CLI/`dsh-base` stack. ```sh dsh plugin --profile web add @firefly0621/dsh-skill-superpowers ``` From a harness source tree: ```sh pnpm dsh plugin --profile web add @firefly0621/dsh-skill-superpowers ``` Then boot `dsh --profile web` (or `pnpm dsh web`). If this fork's `dsh-base` already mounts `id: skill-superpowers`, do not add the same row again — disable the base row first, or use a profile that does not include it. ### Local / pre-publish check ```sh pnpm run build:lib:host pnpm --filter @firefly0621/dsh-skill-superpowers pack pnpm dsh plugin --profile superpowers-demo add ./firefly0621-dsh-skill-superpowers-0.1.0-rc.7.tgz ``` (`pnpm pack` writes the tarball to the repository root by default. There is no per-package `build` script; host lib build produces `lib/`.) ## Enable from this monorepo without npm The fork `dsh-base` composition mounts this plugin by default. Start as usual: ```sh pnpm dsh web pnpm dsh --profile headless "task" ``` To omit it, set `disabled: true` on the `superpowers` row. The package still ships `cordis.patch.yml` for custom bases: ```sh dsh web --patch packages/skill/skill-superpowers/cordis.patch.yml ``` ## Config | Field | Default | Meaning | |---|---|---| | `skillsRoot` | packaged `skills/` directory | Absolute skills directory | | `bootstrap` | `true` | Inject `using-superpowers` (+ dsh adapter) on session start | ## Update Superpowers There is no vendored submodule. To re-port a newer upstream release, diff the upstream `skills/` against the recorded commit (`b36e0829`, v6.3.0) and re-apply the dsh adaptation by hand: replace foreign-harness tool names and platform references, remove the `superpowers:` prefix, and keep the behavioral content verbatim. ## Model Experience ### Session-start bootstrap #### What the model sees On `startup` for non-subagent sessions, one durable user-role plugin message whose text is `buildBootstrapPreamble(...)`: Superpowers' `<EXTREMELY_IMPORTANT>` wrapper, the full `using-superpowers` SKILL.md, then the dsh platform adaptation from `skills/using-superpowers/references/dsh-tools.md`. On `resume`, the same preamble is injected only when the restored log does not already contain a Superpowers bootstrap message (sessions created before this overlay was enabled). If compaction shadows the durable copy, the next pre-step re-injects it, so the guidance cannot stay lost mid-session. #### Token effect One large retained preamble per session that needs it; skill catalog entries add their usual summary cost when `dsh-tool-skill` is mounted. #### KV Cache effect Append-only after existing reusable prefixes for that session. Resume of a session that already carries the bootstrap does not append another copy; a compaction-shadowed re-inject appends one fresh copy. ### Skill catalog and `skill` tool #### What the model sees Indirectly through `@deepseek-ai/dsh-tool-skill`: every model-invocable Superpowers skill name/description in `<available_skills>`, and full bodies when loaded via `skill`. #### Token effect Scales with skill count and description caps owned by `dsh-tool-skill`. #### KV Cache effect Same as the skill consumer: initial catalog after the reusable prefix; replacements append. ## Known Limitations and Deferred Work - **No Claude Code hook binary** — bootstrap is a native Cordis listener, not `hooks/session-start`. - **Cross-harness reference content is removed** — Anthropic's Claude-specific best-practices guide, the CLAUDE.md testing example, and the Claude-derived creation log are deleted rather than shipped; the dsh skill bodies are self-contained. - **Upstream sync is manual** — no vendored submodule; re-porting means diffing against the recorded commit and re-applying the dsh adaptation. - **Peers come from DeepSeek Harness** — this bundle does not vendor `@deepseek-ai/dsh-*`; install into a profile that already has the CLI/base stack. - **Fork default mounts the publish scope** — `dsh-base` depends on `@firefly0621/dsh-skill-superpowers` so the product default and npm identity stay one package; splitting a private workspace name from the publish name remains deferred.
Install
dsh plugin --profile web add github:oThTJx/dsh-skill-superpowers
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 firefly0621-dsh-skill-superpowers from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.