DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-endurance-coach

x

dsh-endurance-coach

Discovered

DeepSeek Harness skill bundle: Hongxia Coach turns endurance training data into training decisions (readiness gating, VDOT zones, periodized plans, race execution, weather-adjusted workouts).

dsh-endurance-coach

Endurance Coach (耐力教练) — an endurance-coaching skill for DeepSeek Harness, packaged as an installable DSH skill-provider bundle.

It turns training data from COROS, iGPSPORT, and Intervals.icu into concrete training decisions: whether to train today, what the week should look like, how a session went, how to prepare for a race, and when to re-evaluate fitness. The skill files ship with the package; the plugin registers the skill with DSH's skill registry so the model and the user can load it like any built-in skill.

  • Package: dsh-endurance-coach (DSH plugin bundle, skill provider)
  • Skill name: endurance-coach
  • License: MIT
  • No personal data is bundled. Your athlete profile lives in your workspace.

Install

Requires DeepSeek Harness >= 0.2.1-rc.1 and Node.js >= 20.

dsh plugin --profile desktop add 'github:xsnnnnnn/dsh-endurance-coach'

Restart DSH (or reload the profile) after installation. The endurance-coach skill then appears in the skill catalog, and the model can load it through the normal skill tool.

Verify the bundle is mounted:

dsh --profile desktop --dump-config    # look for an entry id "dsh-endurance-coach"
dsh plugin --profile desktop list      # the dependency dsh-endurance-coach is listed

Uninstall:

dsh plugin --profile desktop remove dsh-endurance-coach

Installing from a checkout instead of GitHub also works — point add at the package directory (pnpm links it):

dsh plugin --profile desktop add /path/to/dsh-endurance-coach

First-time setup: your athlete profile

The skill deliberately keeps no athlete data inside itself. It reads a JSON profile from your workspace and never writes personal numbers back into the package:

<your-workspace>/coach/athlete.json     # your thresholds, goals, available days
<your-workspace>/coach/decisions.log.md # running log of plan adjustments

Create them from the bundled templates:

  1. In your workspace, ask the agent to initialize the coach, or run the script manually. The installed skill directory is usually <DSH_HOME>/profiles/<profile>/node_modules/dsh-endurance-coach/skill/endurance-coach:

    cd /path/to/your-workspace
    python <skill-dir>/scripts/init_athlete.py
    
  2. Edit coach/athlete.json with your real numbers (thresholds, goals, weekly availability). Every example value in the template is fictional and must be replaced.

  3. Set ENDURANCE_COACH_DIR=/absolute/path if you want the coach files somewhere other than <workspace>/coach.

init_athlete.py refuses to overwrite existing files unless you pass --force.

Tip: check in the resulting files privately. They contain your training data — do not publish them.

Dependencies

ComponentNeedNotes
DeepSeek Harness>= 0.2.1-rc.1Bundle declares dsh.bundle.patch; the plugin needs the skills service.
Node.js>= 20Host plugin runtime. The bundle itself has zero npm runtime dependencies.
Python3.10+Only the Python standard library is used by the bundled scripts.
COROS data (recommended)dsh-coros pluginAdds the COROS MCP tools the skill expects for runs, plans, and sleep.
iGPSPORT (optional)MCP serverCycling detail and power data.
Intervals.icu (optional)MCP serverCombined training load (CTL/ATL/TSB).
WeathernoneThe bundled weather.py uses Open-Meteo, which needs no sign-up.

Recommended companion install:

dsh plugin --profile desktop add 'github:xsnnnnnn/dsh-coros'

If a data source is missing, the skill is supposed to say "that data was not available" instead of inventing numbers. You can also use it with manual numbers only.

What it does

Five workflows

WorkflowWhenOutput
W1 · Today"Should I train today?" / morning checkA go / caution / rest decision, today's session with a weather note, one reminder.
W2 · Week"Plan my week" / adjust the planRolling two-week schedule with phase, session mix, and weather-aware placements.
W3 · Review"Review that run/ride" / "how was this week"Completion-based review: what went well, what did not, what changes next.
W4 · Race prep2–4 weeks before a raceTaper curve, segment pacing, fueling plan, heat/humidity correction, recovery week.
W5 · ReassessmentEvery 4 weeks or after a new resultRecalculate VDOT/thresholds; only fully replace zones when the change is meaningful.

Non-negotiable guardrails

  • Safety > science > efficiency. Every suggestion passes the safety gate first.
  • Data first, then words. Missing data is reported as missing, never guessed.
  • Arithmetic belongs to scripts. VDOT, pace conversion, readiness flags, fueling, and weather corrections are computed by scripts/*.py; the model retells the result.
  • Small changes only. A single adjustment is at most ±30%, at most two proactive adjustments per week; three red-light days trigger a 20–30% deload week.
  • No medical diagnosis. Persistent pain, chest tightness, or palpitations mean stop and see a doctor.
  • No internal IDs in answers. Plan IDs, workout IDs, and similar handles stay internal.
  • Warm-up and cooldown on every session, weather corrections are applied before the session is written, and training plans are written only to COROS.

Repository layout

dsh-endurance-coach/
├── package.json            # bundle metadata, dsh.bundle.patch, engines
├── cordis.patch.yml        # inserts the dsh-endurance-coach plugin row
├── dsh.plugin.json         # display metadata for the plugin manager
├── lib/index.js            # host plugin: registers the skill with ctx.skills
├── locale/{en,zh}.json     # plugin display title / description
├── assets/icon.png         # original 512×512 icon
├── skill/endurance-coach/    # the skill itself
│   ├── SKILL.md
│   ├── references/         # data sources, readiness, periodization, zones, ...
│   ├── scripts/            # vdot, readiness, nutrition, weather, init_athlete
│   └── assets/             # athlete profile + decision-log templates
├── test/                   # node:test suites (not shipped in the npm tarball)
├── README.md
├── README.zh.md
└── LICENSE

Development

node --test        # or: npm test

In sandboxed environments that deny piped child processes (the Node test runner spawns one process per file), use npm run test:sandbox (node --test --test-isolation=none) instead.

The tests are offline and dependency-free. They mock the Cordis context, load the real SKILL.md, and verify the manifest, patch row, locales, icon, and that the provider exposes exactly one endurance-coach candidate with a non-empty description and a Bundled files index.

The host plugin API is small and stable:

  • export const name = 'dsh-endurance-coach' and export const inject = ['skills']
  • apply(ctx, config) discovers skill/<name>/SKILL.md, builds a candidate list, and calls ctx.skills.registerProvider(() => provider); the returned disposer is registered through ctx.effect(...).
  • Candidates use rank: 600 (the bundled-skill rank), so a local skill with the same name in your own profile can override this one.
  • config.skillDir overrides the bundled skill directory (useful for development); a missing or malformed skill directory logs a warning instead of crashing the host.

Safety and disclaimer

This project is a training-planning aid, not medical advice. It is not a substitute for a doctor, physiotherapist, or qualified coach. Stop training and seek professional help for chest pain, fainting, palpitations, or pain that worsens while running. Training data can be wrong or delayed — always sanity-check what the agent reports. Use at your own risk; the authors accept no liability for injury, illness, or lost data. See LICENSE.

License and attribution

MIT — Copyright (c) 2026 xsnnnnnn.

The coaching methodology was distilled from ideas in these open-source projects; the implementation and wording here are original, and none of them are runtime dependencies:

SourceWhat was borrowed
ai-running-coachthree-tier adjustment protocol, VDOT auto-calibration, deterministic arithmetic in scripts
tri-coachgenerate → review → candidate checklist, safety guardrails
cycling-plan-coachrider-type classification, polarized weeks, workout quality checklist
claude-coachperiodization layers, race execution, split reference files
strava-coachtriathlon allocation, combined load, swim metrics
endurance-coachingperiodization theory and zone definitions

These projects mostly assume Strava APIs; this skill deliberately reads COROS / iGPSPORT / Intervals.icu / manual input instead.

Comments

Loading…

Similar plugins

dsh-project-based-learning

by Kirisame1969

DeepSeek Harness (DSH) 项目制教学教练:学科无关的教学引擎 + 可替换领域包(Unity/C#)。A project-based learning coach shipped as a DSH skill and plugin bundle.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 2

MIT

JavaScript

Sep 27, 2026

dsh plugin --profile web add dsh-project-based-learning

Coding agent preset plus an embedded coding-discipline skill for DeepSeek Harness: verify-first edits, minimal diffs, real test runs and evidence-based reports.

Tools & CapabilitiesManifest valid

★ 0

dsh plugin --profile web add dsh-coding-discipline

Session context handoff for DeepSeek Harness — stop re-reading and re-deriving context every session. A single skill (layer ①) that keeps the next session warm.

Tools & CapabilitiesManifest valid

★ 0

dsh plugin --profile web add dsh-token-handoff

by qkycir-123

Automatically turn successful DeepSeek Harness sessions into reusable, reviewable Agent Skills.

Tools & CapabilitiesManifest valid

★ 107

↓ 442/wk

MIT

TypeScript

Oct 20, 2026

dsh plugin --profile web add dsh-run2skill

by zimai233

ADHD behavioral coaching skill: task breakdown, overwhelm management, launch rituals, and failure recovery.

Tools & CapabilitiesManifest valid

★ 7

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-adhd-copilot

by Ame-Choo

DSH 学习教练插件:把一门课拆成知识地图,逐单元记掌握度、排每日任务,并给学生一个看得见进度的网页面板。

Tools & CapabilitiesTerminal & ClientsManifest valid

★ 3

↓ 172/wk

MIT

JavaScript

Oct 14, 2026

dsh plugin --profile web add dsh-study-coach