← Back to Skills Marketplace
stozo04

Speediance Gym Monster

by Steven Gates · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
30
Downloads
1
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install speediance
Description
Read completed workouts (summaries and full per-set detail), browse and export the exercise catalog, push custom training programs to your Speediance (Gym Mo...
README (SKILL.md)

Speediance — Gym Monster CLI Skill

Talk to your Speediance (Gym Monster) smart cable machine from any agent. Read completed workouts and push custom programs that appear on the machine ready to run — no app navigation mid-session.

Unofficial — reverse-engineered from the Android app. Personal use, your own account only. Built on the MIT-licensed UnofficialSpeedianceWorkoutManager (hbui3) and speediance-influx (gavinmcfall).

Tested on Gym Monster v1 (SPEEDIANCE_DEVICE_TYPE=1). GM2 is untested.

Setup (one time)

Install the CLI:

pip install git+https://github.com/stozo04/speediance-cli
speediance-cli login   # authenticates and caches a token

Or clone and run as a module (no install needed):

git clone https://github.com/stozo04/speediance-cli && cd speediance-cli
pip install -r requirements.txt
python -m speediance login

Once installed, speediance-cli and python -m speediance are interchangeable.

Credentials

Set as environment variables — the CLI reads them automatically:

Variable Required Default Notes
SPEEDIANCE_EMAIL Account email
SPEEDIANCE_PASSWORD Account password
SPEEDIANCE_REGION Global Global or EU
SPEEDIANCE_DEVICE_TYPE 1 1 = Gym Monster v1

Alternatively, write a config.json in the working directory (gitignored by the repo):

{
  "email": "[email protected]",
  "password": "yourpassword",
  "region": "Global"
}

Commands

Read workouts

speediance-cli workouts --days 7 --json      # recent sessions (summaries)
speediance-cli session \x3Ctraining_id> --json  # full per-set detail for one session

Sample workouts --json output:

[
  {
    "training_id": 123456,
    "title": "Upper Body",
    "date": "2025-06-15",
    "duration_secs": 2700,
    "calories": 320,
    "volume": 4200.0,
    "type": "Strength"
  }
]

Sample session \x3Cid> --json output:

{
  "training_id": 123456,
  "completion_rate": 0.95,
  "exercises": [
    {
      "name": "Seated Dual-Handle Lat Pulldown",
      "sets": [
        {"set": 1, "reps": 12, "target_reps": 12, "weight": 20.0, "max_hr": 148, "left_right": 0}
      ]
    }
  ]
}

"Free Lift" (freestyle) sessions return totals only — no per-set detail. Sessions started from a program return full set data.

Browse the exercise catalog

speediance-cli library --search "chest" --json   # filter by name or muscle
speediance-cli library                           # save full catalog to library.json

Returns [{id, name, muscle, tab}]. The id is required for plan JSON. A committed library.json snapshot ships with the repo (Gym Monster v1) for offline browsing — regenerate with speediance-cli library to get the freshest catalog or a different device's exercises.

Create a training program

Author a plan JSON, then push it — the program appears on the machine immediately:

speediance-cli push plan.json --dry-run   # preview payload, no network write
speediance-cli push plan.json             # create it on the account

Plan JSON format:

{
  "name": "Pull Day",
  "exercises": [
    {
      "id": 434,
      "title": "Seated Dual-Handle Lat Pulldown",
      "sets": [
        {"reps": 12, "weight": 20, "mode": 1, "rest": 75},
        {"reps": 10, "weight": 22, "mode": 1, "rest": 75},
        {"reps": 8,  "weight": 25, "mode": 1, "rest": 90}
      ]
    },
    {
      "id": 291,
      "title": "Seated Row",
      "sets": [
        {"reps": 12, "weight": 18, "mode": 1, "rest": 60}
      ]
    }
  ]
}
Field Type Notes
id int From speediance-cli library — IDs differ per account/device
weight float Kilograms
mode int 1=Standard, 2=Eccentric, 3=Isokinetic, 4=Constant, 5=Spotter
rest int Seconds between sets

Optional: Markdown week-sheet sync

If you keep workout logs as WEEKS/Week-XX.md Markdown checklists, sync writes a completed session into the matching file automatically:

speediance-cli sync --weeks-dir /path/to/WEEKS --date today
speediance-cli sync --weeks-dir /path/to/WEEKS --date 2025-06-10

This is entirely opt-in — ignore it if you don't use that convention. Core commands (login, workouts, session, library, push) never need a sheets folder.

Full command reference

Command What it does --json
login Authenticate and cache a token in .token.json
workouts [--days N] List recent completed sessions
session \x3Ctraining_id> Full per-set detail for one session
library [--search X] [--out FILE] Dump or search exercise catalog
push \x3Cplan.json> [--dry-run] Create a training program on the account
sync [--date DATE] [--weeks-dir DIR] (Optional) Write session into Markdown sheet

Conventions

  • stdout is parseable with --json; all human-readable hints go to stderr.
  • Secrets: config.json, .token.json, .env are gitignored — never commit them.
  • Token caching: after the first login, the token is cached in .token.json and refreshed automatically on expiry.
  • Dry-run first: always use --dry-run before push when authoring new programs to confirm exercise IDs resolved correctly.
  • If an endpoint breaks after a Speediance app update, speediance/client.py is where all API calls live.
Usage Guidance
Install only if you are comfortable giving this CLI your Speediance account credentials and letting it cache a local session token. Use environment variables or a private config.json, keep .token.json out of sync and source control, and use push --dry-run before creating programs on your account.
Capability Tags
crypto
Capability Assessment
Purpose & Capability
The code and documentation consistently match the stated purpose: authenticate to the Speediance cloud API, read workout/session/library data, create custom training templates, and optionally sync completed sessions into Markdown sheets.
Instruction Scope
Runtime instructions are scoped to explicit CLI commands, with dry-run support for program creation and an opt-in sync command that requires a user-provided weeks directory.
Install Mechanism
Installation uses a normal Python package flow from a GitHub repository with a single runtime dependency on requests; users should recognize that the documented git+ install pulls code from the remote repo at install time.
Credentials
The skill requires Speediance email/password credentials and outbound HTTPS access to Speediance API hosts, which is sensitive but proportionate to the account-management functionality and disclosed in the skill metadata.
Persistence & Privilege
It caches a Speediance session token in .token.json, chmods it owner-only when possible, and writes library.json or Markdown sheets only through explicit commands; no hidden background persistence or privilege escalation was found.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install speediance
  3. After installation, invoke the skill by name or use /speediance
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Expanded skill description to clarify all features and detail required file/network permissions. - Added explicit permissions section listing file read/write and network access in SKILL.md metadata. - Description now documents automatic session token caching and optional Markdown week-sheet sync. - Minor wording, clarification, and formatting improvements across documentation.
v1.0.0
Initial release of the Speediance skill. - Read completed workouts and per-set session details from your Speediance (Gym Monster) device via its cloud API. - Browse and search the full exercise catalog; output as JSON or save snapshots for offline use. - Push author-custom training programs directly to your device, ready to run. - Environment variable and config file support for credentials and device configuration. - Optional sync of completed sessions into Markdown workout checklists. - Unofficial tool, reverse-engineered for personal use; tested on Gym Monster v1.
Metadata
Slug speediance
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Speediance Gym Monster?

Read completed workouts (summaries and full per-set detail), browse and export the exercise catalog, push custom training programs to your Speediance (Gym Mo... It is an AI Agent Skill for Claude Code / OpenClaw, with 30 downloads so far.

How do I install Speediance Gym Monster?

Run "/install speediance" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Speediance Gym Monster free?

Yes, Speediance Gym Monster is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Speediance Gym Monster support?

Speediance Gym Monster is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Speediance Gym Monster?

It is built and maintained by Steven Gates (@stozo04); the current version is v1.0.1.

💬 Comments