@pulsarinteractive/geniusfitness 0.1.0-beta.3 → 0.1.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/docs/CHATGPT.md +38 -0
- package/docs/OPENAI.md +14 -0
- package/docs/PROGRESS.md +46 -0
- package/docs/WORKFLOWS.md +36 -0
- package/examples/codex.toml +1 -1
- package/examples/mcp.json +1 -1
- package/mcp.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/remote/tool-catalog.json +893 -3
- package/remote/workflows.json +70 -0
- package/skills/geniusfitness/SKILL.md +22 -3
- package/skills/geniusfitness/references/training.md +6 -3
- package/skills/geniusfitness-catalogue/SKILL.md +25 -0
- package/skills/geniusfitness-catalogue/agents/openai.yaml +4 -0
- package/skills/geniusfitness-planning/SKILL.md +24 -0
- package/skills/geniusfitness-planning/agents/openai.yaml +4 -0
- package/skills/geniusfitness-progress/SKILL.md +31 -21
- package/src/cli.mjs +16 -1
- package/src/client.mjs +1 -0
- package/src/fitness.mjs +12 -0
- package/src/mcp.mjs +20 -4
- package/src/presentation.d.mts +1 -0
- package/src/presentation.mjs +12 -0
- package/src/session-analysis.d.mts +24 -0
- package/src/session-analysis.mjs +152 -0
- package/src/workflows.mjs +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.0-beta.5 — 2026-10-24
|
|
4
|
+
|
|
5
|
+
- Add session analysis with measured time per set and exercise, real rest and missing-data coverage.
|
|
6
|
+
- Page large session details with revision-checked continuation.
|
|
7
|
+
- Improve progress-review guidance and distinguish timer intervals from physical effort.
|
|
8
|
+
- Keep operational quota tables out of routine MCP introductions while preserving server controls.
|
|
9
|
+
|
|
10
|
+
## 0.1.0-beta.4 — 2026-10-23
|
|
11
|
+
|
|
12
|
+
- Add on-demand workflow guides to hosted and local MCP and `workflow show` to the CLI.
|
|
13
|
+
- Correct hosted archive filters to the API values `active`, `archived` and `all`.
|
|
14
|
+
- Explain remote immutable-command recovery separately from the local operation journal.
|
|
15
|
+
- Expand connection, permissions, product workflows and live application update documentation.
|
|
16
|
+
|
|
3
17
|
## 0.1.0-beta.3
|
|
4
18
|
|
|
5
19
|
- Explain shared account quotas across CLI, local MCP and ChatGPT.
|
package/docs/CHATGPT.md
CHANGED
|
@@ -48,3 +48,41 @@ Editing another athlete’s program requires the Coach subscription, explicit co
|
|
|
48
48
|
- The public tool catalogue is in [`remote/tool-catalog.json`](../remote/tool-catalog.json). Tools are described separately from private backend implementation.
|
|
49
49
|
|
|
50
50
|
A custom connection is separate from an OpenAI directory listing. See [official publication](OPENAI_PUBLICATION.md). The CLI and local MCP remain supported independently.
|
|
51
|
+
|
|
52
|
+
## If the connection only allows reading
|
|
53
|
+
|
|
54
|
+
1. Open this app’s settings in ChatGPT and choose **Refresh tools** when available.
|
|
55
|
+
2. Choose **Reconnect** for the connected account. Check that the correct account
|
|
56
|
+
appears on the product consent screen.
|
|
57
|
+
3. The requested permissions are selected by default. Keep the ones you want,
|
|
58
|
+
including editing, then authorize. Explicitly restricted connections stay
|
|
59
|
+
restricted; old grants are never silently expanded.
|
|
60
|
+
4. Ask the assistant to read its **identity** and **capabilities** again. Confirm
|
|
61
|
+
that the required permissions and write commands appear before requesting an edit.
|
|
62
|
+
|
|
63
|
+
A new conversation may be needed after the tool catalogue changes. A CLI login
|
|
64
|
+
is a separate connection and does not update ChatGPT’s permissions.
|
|
65
|
+
|
|
66
|
+
## Guides available to the assistant
|
|
67
|
+
|
|
68
|
+
The connector includes a `fitness_workflow` tool. Ask it for the relevant guide
|
|
69
|
+
before an unfamiliar operation. These are reviewed instructions served directly
|
|
70
|
+
by the connector; custom ChatGPT connections do not automatically install the
|
|
71
|
+
skill files from this repository.
|
|
72
|
+
|
|
73
|
+
See [supported workflows](WORKFLOWS.md) for examples and boundaries, and
|
|
74
|
+
[CLI setup](CLI.md) for a terminal or local MCP connection. The local CLI can also
|
|
75
|
+
show a guide without downloading account data:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
geniusfitness workflow show --topic mutations --json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## See changes in the application
|
|
82
|
+
|
|
83
|
+
An accepted connector command changes the same data used by the application.
|
|
84
|
+
The open application’s normal realtime subscription receives a version hint and
|
|
85
|
+
loads the canonical change. When reconnecting after a network interruption, the
|
|
86
|
+
application catches up through its existing sync system. A server receipt and a
|
|
87
|
+
screen update are different observations: the assistant should verify the changed
|
|
88
|
+
record, and should not claim to have seen your screen unless it actually did.
|
package/docs/OPENAI.md
CHANGED
|
@@ -5,3 +5,17 @@ Use [the hosted ChatGPT connection guide](CHATGPT.md) for a remote OAuth MCP con
|
|
|
5
5
|
For terminal-based agents, the existing local MCP configuration and skills remain available; see [integrations](INTEGRATIONS.md). Local filesystem features remain local.
|
|
6
6
|
|
|
7
7
|
Public directory publication is a separate review: [submission checklist](OPENAI_PUBLICATION.md). A custom plugin is not a directory approval or an OpenAI endorsement.
|
|
8
|
+
|
|
9
|
+
### Reconnecting with edit permissions
|
|
10
|
+
|
|
11
|
+
The remote catalogue exposes permission-specific read and edit tools. This lets
|
|
12
|
+
ChatGPT request the permissions needed for tasks, planning and other supported
|
|
13
|
+
actions when linking or reconnecting an account. Consent remains editable;
|
|
14
|
+
selecting fewer permissions keeps the connection restricted. Coach tools also
|
|
15
|
+
require the Coach subscription and explicit access to the athlete's program.
|
|
16
|
+
|
|
17
|
+
Older linked accounts may have only read permissions. Refresh the plugin tools
|
|
18
|
+
and reconnect if editing permissions are missing; verify the connected account
|
|
19
|
+
and capabilities before working. Reconnection never bypasses account quotas.
|
|
20
|
+
The generic read/execute entry points remain for existing clients; new workflows
|
|
21
|
+
should prefer the permission-specific tools after preparing an immutable command.
|
package/docs/PROGRESS.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Understand a training session
|
|
2
|
+
|
|
3
|
+
Ask ChatGPT: “Compare my recent squat sessions. Check the time spent on each set
|
|
4
|
+
and my rests before interpreting the total duration.”
|
|
5
|
+
|
|
6
|
+
The connector can read a specific recorded session through
|
|
7
|
+
`fitness_session_analysis`. The CLI equivalent is:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
geniusfitness sessions analyze --scope project:PROGRAM_ID --id SESSION_ID --json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Find real session IDs in the program's `sessions` collection. Exercise IDs refer
|
|
14
|
+
to your exercise library; reuse the catalogue identity when comparing movements.
|
|
15
|
+
|
|
16
|
+
| Information | Meaning |
|
|
17
|
+
| ------------------------- | --------------------------------------------------------------------------------------------- |
|
|
18
|
+
| Recorded session duration | Duration saved by the application; separate from the wall-clock span |
|
|
19
|
+
| Set elapsed time | Time recorded by the set timer; it may include interruptions |
|
|
20
|
+
| Actual rest | Measured rest following that set, when recorded |
|
|
21
|
+
| Target rest | The planned rest, which is not a measurement |
|
|
22
|
+
| Completion time | When the set was marked complete |
|
|
23
|
+
| Timing coverage | Number of completed sets with a measurement versus eligible completed sets |
|
|
24
|
+
| Long timer observation | A set or rest timer reached ten minutes; a reason to ask for context, not proof of an absence |
|
|
25
|
+
|
|
26
|
+
Missing time is reported as `null`; a measured zero stays zero. Disabled timing,
|
|
27
|
+
skipped sets and corrections remain distinct. Old sessions are not filled with
|
|
28
|
+
invented measurements. An exercise's duration value is not substituted for a
|
|
29
|
+
missing elapsed timer.
|
|
30
|
+
|
|
31
|
+
Set details page at 50 entries. Continue with `nextSetOffset` as `offset` and the
|
|
32
|
+
same `revision`. If the session changes, restart the read. Exercise totals and
|
|
33
|
+
coverage describe the recorded session; one page is not the whole set inventory.
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
geniusfitness sessions analyze --scope project:PROGRAM_ID --id SESSION_ID \
|
|
37
|
+
--offset 50 --revision REVISION --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This requires `metrics:read` and current access to the program. Coach access is
|
|
41
|
+
limited to shared programs and does not include an athlete's private health.
|
|
42
|
+
Historical Watch BPM is not part of this session analysis. A live watch display
|
|
43
|
+
does not mean that a heart-rate time series was saved or shared with the agent.
|
|
44
|
+
|
|
45
|
+
Operational limits are enforced by the service. Ordinary training reviews focus
|
|
46
|
+
on your question; a service refusal remains explicit when it prevents an action.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# GeniusFitness workflows
|
|
2
|
+
|
|
3
|
+
| What you want | Guide topic | Operations |
|
|
4
|
+
| -------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
5
|
+
| Find a movement or create a custom one | `catalogue` | Search catalogue; reuse/import an exercise; create, update or delete a custom exercise; maintain workout slots and instructions |
|
|
6
|
+
| Plan training | `planning` | Create/update/delete programs, workout templates, individual planning entries, recurring schedules and goals |
|
|
7
|
+
| Review recent performances | `progress` | Daily totals and targeted session analysis with per-set timing, rest and measurement coverage |
|
|
8
|
+
| Read or record measurements | `progress` | Your stored personal health records, with separate consent |
|
|
9
|
+
| Work with a student | `coaching` | Shared program workouts, planning and results, with Coach, coaching permission and current membership |
|
|
10
|
+
| Recover an interrupted edit | `mutations` | Preserve the exact request; read back; reconcile a revision conflict |
|
|
11
|
+
| Connect or fix missing permissions | `connection` | Correct account, consent and reconnect |
|
|
12
|
+
|
|
13
|
+
Use `fitness_workflow` in MCP or `geniusfitness workflow show --topic TOPIC`.
|
|
14
|
+
Use command help for current field types rather than copying guessed payloads.
|
|
15
|
+
For timing and measurement coverage, see [Understand a training session](PROGRESS.md).
|
|
16
|
+
|
|
17
|
+
## Example requests
|
|
18
|
+
|
|
19
|
+
- “Find a catalogue squat variation using dumbbells and add it to my Tuesday workout.”
|
|
20
|
+
- “Create a custom exercise for this movement, with three sets of eight and 90 seconds rest.”
|
|
21
|
+
- “Move my recurring training from Thursday to Saturday, keeping my timezone.”
|
|
22
|
+
- “Compare my recorded sessions over the last four weeks.”
|
|
23
|
+
- “Show my recent stored weight measurements.”
|
|
24
|
+
- “As coach, update the workout in the program my student shared with me.”
|
|
25
|
+
|
|
26
|
+
## Boundaries that remain important
|
|
27
|
+
|
|
28
|
+
The athlete must share the program through the application. Coach access never
|
|
29
|
+
exposes another account’s private health or personal exercise library. The
|
|
30
|
+
connector reads stored health measurements; it does not connect directly to
|
|
31
|
+
Apple Health on a phone. A completed session is a fact, not a planning template.
|
|
32
|
+
Deleting the final finished result can reopen its linked plan under ordinary task
|
|
33
|
+
permissions. Read back affected planning after that operation.
|
|
34
|
+
|
|
35
|
+
Writes do not manage subscriptions, billing or permission grants. The account’s
|
|
36
|
+
[limits](LIMITS.md) apply across ChatGPT, CLI and local MCP together.
|
package/examples/codex.toml
CHANGED
package/examples/mcp.json
CHANGED
package/mcp.json
CHANGED
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "geniusfitness",
|
|
4
|
-
"version": "0.1.0-beta.
|
|
4
|
+
"version": "0.1.0-beta.5",
|
|
5
5
|
"description": "Manage training plans, exercise catalogues and activity progress with your own agents.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Pulsar Interactive"
|