Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/airbone42/360-data-athlete/analysegit clone --depth 1 https://github.com/airbone42/360-data-athleteWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/airbone42/360-data-athlete/analyse)<a href="https://agentmods.dev/commands/airbone42/360-data-athlete/analyse"><img src="https://agentmods.dev/badge/commands/airbone42/360-data-athlete/analyse.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.01866 |
| Opus 5 | $0.00000 | $0.00933 |
| Sonnet 5 | $0.00000 | $0.00373 |
| Haiku 4.5 | $0.00000 | $0.00187 |
Grade A, and why
analyse scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/analyse — Activity analysis
Analyse a completed training session.
Arguments
$ARGUMENTS
Required: intervals.icu activity ID, e.g. i12345678
Workflow
Analysis standard (MANDATORY):
- FIT file + sub-laps is the primary data path — intervals.icu streams alone are not enough
- Compliance — one canonical definition: direct compliance = actual
vs. planned, computed by the analysing agent itself from activity +
plan data. The precomputed
complianceproperty from intervals.icu is unreliable — it is never cited and never used as a gate; coaching feedback never comments on it - ERG-trainer power is not an athlete signal (MANDATORY). On an
ERG-controlled smart trainer the device holds target watts whatever the
athlete is doing, so a flat power trace is the trainer working, not the
rider. Never report "power held to the last rep", "zero decay", "watts
never dropped" as a strength, a finding, or evidence of adaptation, and
never gate a progression on it. What stays valid from such a session is
repetition count (volume compliance), cadence, HR and
RPE — cadence being the variable that actually carries muscular
capacity, since it falls when the athlete runs out while power does
not. Check
config/equipment.mdfor the trainer and its control mode before analysing any indoor ride; where the mode is unknown, assume ERG for a structured session and state the assumption. Prescribed watt anchors remain valid as dose — only the inference from held watts back to athlete state is invalid. - GCT on recovery runs: High GCT during slow jogging is biomechanics, not error. Only evaluate GCT as a fatigue indicator when the GCT rise disproportionately exceeds the pace slowdown (pace-normalized). Do not comment negatively on absolute GCT values in recovery phases.
- Cool-down running dynamics are out of scope (MANDATORY). The cool-down is run at a shuffle — far below any pace the athlete trains at — and gait at that speed is a different movement pattern, not a slower version of the same one. Ground-contact time, vertical oscillation, step length, cadence and contact balance measured there describe the shuffle, not the session. Restrict every running-dynamics statement, trend and fresh-vs-fatigued comparison to the warm-up- completed main block; never close a dynamics argument with a cool-down value, and never let a claim about persistence ("the shift had not recovered by the end") rest on cool-down data. State the excluded window rather than silently trimming it. The same applies to the post-interval jog segments inside a session.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 184 lines · 0 tokens per session scan A 5f285c303361
analyse is a command published in the GitHub repository airbone42/360-data-athlete (22 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,866 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
git
Git operations with intelligent commit messages and workflow optimization.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.