Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add dsh-remotion
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
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.
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.