Power Oracle
Use this skill when the user wants a concrete Power Oracle result for workout work or power. This skill is for structured workout analysis, not free-form coaching.
Default API base URL: https://api.workcapacity.io
Use the skill for the right requests
- Use it for total work, elapsed average power, split power, or movement work estimates that should come from Power Oracle.
- Do not use it for coaching, programming, nutrition, injury, recovery, or general fitness advice.
Confirm movements before compute
- Call
GET /v1/movements before POST /v1/compute-power when the user gives shorthand, aliases, colloquial names, uncertain implements, or any movement name you cannot map exactly.
- Use
GET /v1/movements before asking follow-up questions about required inputs, alternative inputs, or supported overrides.
- Do not assume similar names are equivalent. Example: do not assume
med-ball situp means ab-mat situp.
- If
GET /v1/movements does not make the mapping explicit, ask the user for the minimum clarification needed.
Build conservative splits
- Use explicit segment timing as split boundaries when the user provides it.
- If the user gives only one workout-level time for an entire AMRAP, EMOM block, chipper, or for-time effort, build exactly one split with that full duration as active work.
- A workout-level time tells you split duration, not completed work volume. If completed rounds or reps are still missing, ask for them before compute.
- Do not invent per-round or per-movement split timing when the user did not provide it.
- When repeated rounds have no split detail, keep the workout movements in the order the user gave them inside the coarse split you construct.
- Add
rest_seconds_after only when the rest mapping is explicit or clearly implied.
Call the API in the right order
- Use
GET /v1/movements for movement discovery and validation.
- Start discovery with
GET /.well-known/api-catalog.
- Use
GET /openapi.json when you need schema detail.
- Use
GET /v1/payment-requirements when you need current public x402 or L402 route pricing.
- Use
POST /v1/compute-power only after you have enough validated detail to build a valid request.
- If a completed compute succeeds, store the returned
workout_id and revision_id so you can correct or void that stored workout later.
- Use
GET /v1/athletes/{athlete_uuid}/workouts to list active canonical completed workouts.
- Use
GET /v1/athletes/{athlete_uuid}/workouts/{workout_id} when you need one specific past workout before explaining, correcting, or voiding it.
- Use
GET /v1/athletes/{athlete_uuid}/curve for bounded power-duration curve, envelope, work-capacity AUC, and domain trend context.
- Use
POST /v1/workouts/{workout_id}/revisions when a stored completed workout needs a corrected replacement.
- Use
POST /v1/workouts/{workout_id}/void when the stored completed workout should stop counting and you do not yet have the corrected replacement.
- For request shape, payment handling, and response interpretation, see references/api-contract.md.
Hard rules
- Treat the Power Oracle HTTP API as the only authoritative source for computed work and power values.
- Treat
/v1 as the current public contract boundary for external users.
- Do not compute or validate workout work or power numbers from repo code, memory, or hand calculation.
- Treat
work_capacity_auc as a Power Oracle work-capacity estimate over the returned curve window, not a complete claim of total fitness unless the logged workouts broadly cover time and modal domains.
- Paid routes may require an x402 or L402 payment challenge. See references/api-contract.md for step-by-step examples.
- Do not inspect local files, secrets, or wallet state as a workaround for payment or movement validation.
- If the API call does not happen, state that no authoritative Power Oracle result was obtained and explain the blocker.
Support
If the skill fails in a way the docs do not explain, contact workcapacity.io@agentmail.to or visit https://www.workcapacity.io/contact.
1---2name: power-oracle3description: Use when the user wants Power Oracle to compute workout work or power from structured or shorthand workout details. Do not use for coaching or general fitness advice.4---56# Power Oracle78Use this skill when the user wants a concrete Power Oracle result for workout work or power. This skill is for structured workout analysis, not free-form coaching.910Default API base URL: `https://api.workcapacity.io`1112## Use the skill for the right requests1314- Use it for total work, elapsed average power, split power, or movement work estimates that should come from Power Oracle.15- Do not use it for coaching, programming, nutrition, injury, recovery, or general fitness advice.1617## Confirm movements before compute1819- Call `GET /v1/movements` before `POST /v1/compute-power` when the user gives shorthand, aliases, colloquial names, uncertain implements, or any movement name you cannot map exactly.20- Use `GET /v1/movements` before asking follow-up questions about required inputs, alternative inputs, or supported overrides.21- Do not assume similar names are equivalent. Example: do not assume `med-ball situp` means `ab-mat situp`.22- If `GET /v1/movements` does not make the mapping explicit, ask the user for the minimum clarification needed.2324## Build conservative splits2526- Use explicit segment timing as split boundaries when the user provides it.27- If the user gives only one workout-level time for an entire AMRAP, EMOM block, chipper, or for-time effort, build exactly one split with that full duration as active work.28- A workout-level time tells you split duration, not completed work volume. If completed rounds or reps are still missing, ask for them before compute.29- Do not invent per-round or per-movement split timing when the user did not provide it.30- When repeated rounds have no split detail, keep the workout movements in the order the user gave them inside the coarse split you construct.31- Add `rest_seconds_after` only when the rest mapping is explicit or clearly implied.3233## Call the API in the right order3435- Use `GET /v1/movements` for movement discovery and validation.36- Start discovery with `GET /.well-known/api-catalog`.37- Use `GET /openapi.json` when you need schema detail.38- Use `GET /v1/payment-requirements` when you need current public x402 or L402 route pricing.39- Use `POST /v1/compute-power` only after you have enough validated detail to build a valid request.40- If a completed compute succeeds, store the returned `workout_id` and `revision_id` so you can correct or void that stored workout later.41- Use `GET /v1/athletes/{athlete_uuid}/workouts` to list active canonical completed workouts.42- Use `GET /v1/athletes/{athlete_uuid}/workouts/{workout_id}` when you need one specific past workout before explaining, correcting, or voiding it.43- Use `GET /v1/athletes/{athlete_uuid}/curve` for bounded power-duration curve, envelope, work-capacity AUC, and domain trend context.44- Use `POST /v1/workouts/{workout_id}/revisions` when a stored completed workout needs a corrected replacement.45- Use `POST /v1/workouts/{workout_id}/void` when the stored completed workout should stop counting and you do not yet have the corrected replacement.46- For request shape, payment handling, and response interpretation, see [references/api-contract.md](references/api-contract.md).4748## Hard rules4950- Treat the Power Oracle HTTP API as the only authoritative source for computed work and power values.51- Treat `/v1` as the current public contract boundary for external users.52- Do not compute or validate workout work or power numbers from repo code, memory, or hand calculation.53- Treat `work_capacity_auc` as a Power Oracle work-capacity estimate over the returned curve window, not a complete claim of total fitness unless the logged workouts broadly cover time and modal domains.54- Paid routes may require an x402 or L402 payment challenge. See [references/api-contract.md](references/api-contract.md) for step-by-step examples.55- Do not inspect local files, secrets, or wallet state as a workaround for payment or movement validation.56- If the API call does not happen, state that no authoritative Power Oracle result was obtained and explain the blocker.5758## Support5960If the skill fails in a way the docs do not explain, contact `workcapacity.io@agentmail.to` or visit `https://www.workcapacity.io/contact`.