Skip to content
v0.1.0

Read-only AI coaching access to locally synchronized workout data.

Next_Set

Optional Windows desktop plugin for the local, read-only Next_Set MCP server. Uses Agent Plugins 1.0 root plugin.json, mcp.json, and skills/. No database, workout snapshot, credential, or duplicate server is bundled.

Prepare and install

From the project checkout, run:

.\scripts\prepare-coach-plugin.ps1

This copies only the five package files to ~/.codex/plugins/next-set, adds an AVAILABLE personal entry to ~/.agents/plugins/marketplace.json, and writes the non-secret checkout path to %LOCALAPPDATA%/NextSet/project.json. It preserves unrelated marketplace entries. It does not install or enable the plugin in Desktop.

First run configure-coach-key.ps1 interactively to set the new Windows User read key. The API must load the same NEXT_SET_COACH_READ_KEY; the demo's process-only key is not automatically available to this launcher. This does not migrate any existing plugin or credentials.

Keep the Next_Set API running at http://127.0.0.1:8787. Fully quit and reopen ChatGPT Desktop on this same Windows machine/account. In Work or Codex, open the Plugins Directory, select Next_Set Local, open Next_Set, and install it. Enable it in a new conversation and ask what workout is next. No OAuth or hosted MCP URL is needed. This local package is not a Mac or web deployment. If a personal marketplace already exists, use its existing label.

The default personal marketplace is discovered automatically; a marketplace CLI registration command is not required. To explicitly register the prepared personal marketplace root if needed:

codex plugin marketplace add "$env:USERPROFILE"

Launch behavior

Desktop caches installed plugins. The launcher therefore resolves the existing checkout via the external non-secret binding, not via the cache's parent folders or the caller's working directory. Move the checkout only after rerunning the preparation script from its new location. Reprepare and reinstall/refresh the Desktop plugin after changing package files so the installed copy is updated.

The launcher runs the existing .venv/Scripts/python.exe with mcp/server.py as a module over STDIO. It passes an OS-variable allowlist plus non-secret settings. Neither Next_Set credential value is inherited by the Python child; the maintained server reads only the coach key from Windows User registry storage. This does not constitute isolation from other code running as the same Windows user. API errors do not trigger synchronization.

Validation

.\.venv\Scripts\python.exe -B .\scripts\validate-coach-plugin.py
.\.venv\Scripts\python.exe -B .\scripts\validate-coach-plugin.py --smoke

The validator retrieves the declared public JSON schemas and validates both manifests. The smoke option requires the existing API and calls all six tools through the package's actual configured command. It emits only pass/fail.

Format and installation reference: https://developers.openai.com/plugins/build/plugins