/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.
Claude Code
$ npx -y skills add gtapps/hermitd --skill set-rpe --agent claude-code
Codex
$ npx skills add gtapps/hermitd --skill set-rpe -a codex -y
Cursor
$ npx skills add gtapps/hermitd --skill set-rpe -a cursor -y
Gemini CLI
$ npx skills add gtapps/hermitd --skill set-rpe -a gemini-cli -y
GitHub Copilot
$ npx skills add gtapps/hermitd --skill set-rpe -a github-copilot -y
OpenCode
$ npx skills add gtapps/hermitd --skill set-rpe -a opencode -y
Windsurf
$ npx skills add gtapps/hermitd --skill set-rpe -a windsurf -y
SKILL.md
set-rpe.SKILL.mdname: 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
/hermitd-fitness: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 `usage` 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:<message>"}` (only reachable via `latest`, which resolves the ID from Strava) relay `<message>` verbatim; on any other `{"error":…}` 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
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
/hermitd-fitness: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 `usage` 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:<message>"}` (only reachable via `latest`, which resolves the ID from Strava) relay `<message>` verbatim; on any other `{"error":…}` 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>)"`
Run an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.
Other skills on hermitd.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Questions about set-rpe.
- Which coding agents can use set-rpe?
- set-rpe installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

