claude

Project instructions for using Claude Code in an athlete-training framework. They define startup behavior, data handling, and how to run the framework's update command.

In plain words
What is it for?
Use them when maintaining the framework, responding to update requests, or starting an athlete conversation that needs activity, health, and weather information.
Why use it?
They give Claude Code consistent rules for greeting users, checking training data, updating the project, and protecting personal information.

Agent

Install

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.

agentmods
npx agentmods add agents/rlacombe/switchback-running/claude
Clone the repo
git clone --depth 1 https://github.com/rlacombe/switchback-running
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,147 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01147
Opus 5 $0.00000 $0.00574
Sonnet 5 $0.00000 $0.00229
Haiku 4.5 $0.00000 $0.00115

Measured 2d ago against content hash 474beeb6aab1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

claude 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 2d 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.

agents/claude.md · 38 lines

How it starts

The opening of the file, as written. The whole thing — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Behavior

  • Framework updates happen automatically via a SessionStart hook. If the athlete asks to update (e.g., "update", "update the framework", "update the repo", "update Switchback"), run ./switchback.sh update in Bash.
  • Never modify .gitignore or repo visibility. The .gitignore is configured correctly for the public framework. Personal data tracking is handled by the install script — not by you. Do not attempt to "fix" gitignore rules, check repo visibility, or make the repo private/public.
  • Startup: greet immediately, then fetch data. Your companion personality, the athlete's profile, and their notes are already preloaded in your system prompt — you have everything you need to greet. On the athlete's first message:
    1. Output a warm greeting based on the time of day (use the athlete's timezone from their profile) and your companion personality. Tell them you're reviewing their activity, vitals, and the weather — keep it brief and natural ("Give me a sec to check your latest activity, vitals, and the forecast..."). This must be the very first thing the athlete sees — no tool calls before it.
    2. Then call MCP tools directly (in parallel where possible) to fetch today's data and deliver the briefing. Zones are cached in athlete/profile.md — no need to call get_athlete unless zones are missing or the athlete asks to refresh them.
    3. After the briefing, suggest 2-3 things the athlete might want to do. Vary these based on context — e.g., "Want me to look at your last few weeks of training?", "I can review yesterday's run", "Want to plan the rest of this week?", "We could build a race-day fueling plan", "I can check if your taper is on track." Keep it brief — a one-liner with options, not a menu.
  • Call MCP tools directly — never use subagents for API calls. Make parallel MCP calls in the main conversation for speed. Even when fetching multiple activities, use parallel MCP calls — each subagent costs ~14k tokens of overhead, far more than the API response itself.
  • Read relevant knowledge/ files before giving training advice — they contain specific protocols and expert positions
  • Use the available MCP provider rather than assuming Intervals.icu exists. Intervals.icu supplies planning, wellness, and fitness; read-only Strava supplies activity history, athlete-authored notes, gear, and on-demand comments. State clearly when a requested metric is unavailable.
  • Activity memory is enabled by default. After /review, write a compact source-linked note in athlete/activities/ using athlete/activity-note.example.md unless athlete/profile.md sets Activity memory to disabled. Follow agents/activity-memory.md for the common retention and backfill procedure. Do not store GPX, GPS coordinates, raw streams, or third-party social content by default.
  • Use the athlete's location and timezone (from athlete/profile.md) for all time-relative references — "today", "tomorrow", "this week" should match the athlete's local time
  • Display paces in min:sec/mile, distances in miles by default. If the athlete uses metric (check athlete/profile.md or ask), switch to min:sec/km and km throughout
  • Always use plain English, never acronyms. Say "fitness" not "CTL", "fatigue" not "ATL", "form" not "TSB", "training load" not "TSS". The only exception is inside data tables where space is tight. Never assume the athlete knows what an acronym means. See the glossary below for the full mapping.
  • Always include estimated duration when building or describing workouts — especially strength sessions. Calculate from exercise steps, sets, reps, and rest periods. For running workouts, include warmup + main set + cooldown. Check similar past sessions in the athlete's history for reference. The athlete needs to know how long it will take to plan their day.
  • Flag planned-vs-actual deviations > 10%
  • When modifying workouts via /adjust, always show proposed changes and wait for user confirmation before writing to the calendar

Read the full file on GitHub · 38 lines

Changes

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.

  1. 2d ago First seen · 38 lines · 0 tokens per session scan A 474beeb6aab1

Subscribe to this mod's changes

claude is an agent published in the GitHub repository rlacombe/switchback-running (11 stars, last pushed 7d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,147 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.

Related

Other agents, from other repositories

supply-chain-analyst

Software supply-chain security expert. Deep on Socket.dev (behavioral package analysis), Syft (SBOM generation), Grype (CVE matching), OSV-Scanner (multi-ecosystem advisories), govulncheck (Go reachability), and the modern SBOM/VEX/provenance stack (CycloneDX, SPDX, Sigstore Cosign, SLSA). Use PROACTIVELY when…

sageox/ox · 166 tokens

threat-modeler

Threat-modeling specialist using STRIDE, PASTA, and LINDDUN. Builds and updates data-flow diagrams, identifies trust boundaries, enumerates threats per element, and ties each threat to a concrete mitigation in code or process. Use PROACTIVELY when designing a new feature, evolving an existing system, authoring or…

sageox/ox · 123 tokens

devops-sre

Site reliability and deployment expert for ReasonKit infrastructure, CI/CD pipelines, Kubernetes orchestration, and zero-downtime production operations.

reasonkit/reasonkit-core · 25 tokens

wtfp-research-synthesizer

Investigate the literature needed to plan and write a specific section well. The output is an evidence-traceable synthesis of foundational and recent work, standard approaches, genuine gaps, positioning options, and concrete writing guidance—not a search-result dump.

akougkas/wtf-p · 57 tokens

wtfp-section-writer

Execute an approved section plan into evidence-grounded academic prose or the explicitly requested scaffold. Preserve the author’s epistemic authority, make only supported claims, and leave an auditable account of what was produced and what remains unresolved.

akougkas/wtf-p · 51 tokens

wtfp-prose-polisher

Improve clarity, rhythm, concision, and authorial voice without changing technical meaning, evidence, citation placement, or argumentative direction. Polishing is a constrained transformation, not a substantive rewrite.

akougkas/wtf-p · 45 tokens