Skip to content
Automation
Skill

/set-rpe

Manually record RPE and subjective notes for a specific Strava activity. Use for backfilling, correcting entries, or rating a non-latest activity that the auto-capture skill skipped.

From plugin
claude-code-hermit
7486 skills11 agents
Install
$ npx -y skills add gtapps/claude-code-hermit --skill set-rpe --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/set-rpe

Context preview

The summary Claude sees to decide when to auto-load this skill.

Manually record RPE and subjective notes for a specific Strava activity. Use for backfilling, correcting entries, or rating a non-latest activity that the auto-capture skill skipped.

SKILL.md

set-rpe.SKILL.md
name: set-rpe
description: Manually record RPE and subjective notes for a specific Strava activity. Use for backfilling, correcting entries, or rating a non-latest activity that the auto-capture skill skipped.
allowed-tools:
  - Bash(bun *fitness-lab.ts*)

Set RPE

Records perceived effort and subjective notes for any Strava activity. Thin wrapper over `scripts/fitness-lab.ts rpe`, which validates the RPE, resolves `latest` if needed, and does the atomic upsert into `state/activity-notes.json`.

Usage

/claude-code-fitness-hermit:set-rpe <activity-id|latest> <rpe> [notes...]

Steps

1. Parse arguments:

  • First arg: activity ID (integer) or the literal string `latest`.
  • Second arg: RPE (must be an integer 1–10).
  • Remaining args: optional free-text notes.
  • If any required arg is missing, respond with the usage line and stop (the script also rejects an out-of-range RPE with a `fetch` error and exit 1).

2. Run the script:

   bun ${CLAUDE_PLUGIN_ROOT}/scripts/fitness-lab.ts rpe <activity-id|latest> <rpe> [notes...]

The script writes `{rpe, notes, recorded_at}` keyed by activity ID (`notes` is `null` when none were provided) and emits `{activity_id, written:true, previous:{…}|null}`. On `{"error":"strava_auth",…}` (only reachable via `latest`, which resolves the ID from Strava) relay the message verbatim; on `{"error":"fetch",…}` report it and stop.

3. Confirm from the returned JSON:

  • If `previous` is `null`: `"Saved RPE <rpe>/10 for activity <activity_id>."`
  • If `previous` is present: `"Updated RPE for activity <activity_id>. (was: RPE <previous.rpe>/10 — <previous.notes>)"`
Read more
Ships withclaude-code-hermit

If you know Claude Tag, the idea will feel familiar: hand Claude work through a channel, such as Discord, Telegram, or your custom integration, and get results back there.

Get the whole plugin

Other skills on claude-code-hermit.