DeepSeek Harness Plugin

STARDUSTLC666/dsh-remotion

Stars ★ 7 Downloads (30d) 1,967 Category Skills Added 2026-08-15 npm dsh-remotion

Official Remotion skill ported to DSH: programmatic video with React (animation/audio/captions/3D/charts/fonts, 38 rule files), plus a bundled-resource health check.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-remotion

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:STARDUSTLC666/dsh-remotion

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

中文

dsh-remotion

DSH (DeepSeek Harness) video-creation skill plugin: installing it registers the official Remotion skill into DSH (programmatic video with React: animation, audio, captions, 3D, charts, fonts; synced with the official Remotion v4.0.529 twelve-skill structure).

Compatibility

Validation host: Harness 0.2.0-rc.1 built from official sources (commit 407e65c8) with Node 24.16.0 on 2026-09-28. All 23 plugin tests pass in an isolated environment; all 18 plugins mount together in one host registering 12 skills and 1 tools, with tool schemas and health-check contracts passing. No live ports or external services were exercised in this round.

Installation

dsh plugin --profile web add dsh-remotion

After restarting, say "make a video with Remotion" to trigger it.

Uninstall

dsh plugin --profile web remove dsh-remotion

Then restart the web service. To clean up fully, also remove the plugin entry from your profile cordis.patch.yml if you overrode it.

Contents

  • remotion-best-practices (router hub) + 11 domain skills (captions/create/docs/interactivity/maps/markup/multimedia/render/saas/studio/upgrade), synced from official Remotion v4.0.529

Requirements

Node.js ≥ 22 + npx (npm registry); rendering needs ffmpeg (guided by the skill itself).

Porting notes

Synced from the official remotion-dev/skills checkout at v4.0.529 (2026-09-25): upstream skill bodies are vendored as-is, including the embedded reference copies under remotion-best-practices/ and remotion-markup/, with scripts/sync-skills.mjs making the port repeatable and checkable. Only the frontmatter is ours (name/description plus the upstream version).

Multi-harness

Skills use the open Agent Skills (SKILL.md) format — not just DSH. Copy the directories under skills/ into another agent's skills directory:

Agent Skills directory
Claude Code ~/.claude/skills/
Cursor .cursor/skills/ (or project-local skills/)
Gemini CLI ~/.gemini/skills/
OpenAI Codex ~/.codex/skills/

Port once, use everywhere.

Health checks and reloads

remotion_health rereads every SKILL.md, verifies readable files, valid YAML frontmatter, names matching their directories, and nonempty descriptions/bodies, then queries the host's skills.get. The effective name, description, body and resource directory must match this plugin instance's loaded snapshot. Existing files alone do not prove successful or still-active registration.

Health checks do not mutate files or registrations. After changing a file or repairing one that failed initial loading, reload the plugin (or restart DSH). The result reports changed, not_registered or registration_failed until then. A previously loaded file that was temporarily missing becomes healthy again if its exact original content is restored and its registration remains active.

Each item retains name / ok / detail and adds code / fileOk / registered / registryChecked / reloadRequired. registered means the registry still matches the loaded version, so a changed file can have registered: true and ok: false. Missing or failed registry lookup produces registry_unavailable; a disposed plugin produces disposed. The public checkBundledSkills() is disk-only, while the original non-throwing parseSkillFile() helper remains available.

Development and shared implementation

src/index.ts declares only package identity, skill names and the resource directory. Parsing, validation, registration and health logic live in src/skill-bundle.ts. The canonical source is in dsh-hyperframes; Remotion carries an identical version-controlled copy. Each package builds and ships its own lib/skill-bundle.js, with no cross-package runtime dependency and no sibling checkout required for building or installation.

With dependencies already installed:

node node_modules/typescript/bin/tsc -p tsconfig.json
node --test "test/*.test.mjs"

When developing the sibling repositories together, edit the shared module and regression tests in HyperFrames, then synchronize:

# Run in dsh-hyperframes; updates only three shared files in sibling dsh-remotion
node scripts/sync-skill-bundle.mjs
node scripts/sync-skill-bundle.mjs --check

Both suites compare shared source and regression tests to prevent drift. A standalone checkout skips only that cross-repository comparison. Tests cover invalid YAML, unreadable files, empty bodies, rejected/inactive registrations, file changes and repairs, disposal races and cleanup failures, without invoking video or speech services.

License

MIT for the porting arrangement; skill content copyright remains with Remotion.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.