{"id":"5244733a-5abc-419f-9c14-380ad6591381","entityType":"agent","slug":"clawhub-swang62-strava-api","name":"Strava Api","canonicalUrl":"https://www.xpersona.co/agent/clawhub-swang62-strava-api","canonicalPath":"/agent/clawhub-swang62-strava-api","generatedAt":"2026-10-11T20:57:01.940Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T16:53:29.896Z","emptyReason":null},"description":"Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for... Skill: Strava Api Owner: swang62 Summary: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-04-19T06:44:19.425Z | auto - Removed normalization and rendering scripts and documentation, focusing the skill on fetching activity data only. - Updated instructions: n","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s176fnaaqcfs30e667hmpdzpyh84cs4f:strava-api","sourceUrl":"https://clawhub.ai/swang62/strava-api","homepage":"https://clawhub.ai/swang62/skills/strava-api","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/swang62/strava-api","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/swang62/skills/strava-api","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for... "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:53:29.896Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:53:29.896Z","emptyReason":null},"stars":null,"forks":null,"downloads":1024,"packageName":null,"latestVersion":"1.0.1","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:53:29.831Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T16:53:29.896Z","lastCrawledAt":"2026-10-11T16:53:29.831Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T16:53:29.831Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.1","createdAt":"2026-04-19T06:44:19.425Z","changelog":"- Removed normalization and rendering scripts and documentation, focusing the skill on fetching activity data only. - Updated instructions: now fetch activities directly as JSON output. - Cleaned up references and removed output schema documentation. - Renamed skill from openclaw-strava to strava-api.","fileCount":6,"zipByteSize":7764},{"version":"1.0.0","createdAt":"2026-04-15T08:40:06.742Z","changelog":"Initial release of Strava OAuth integration for OpenClaw. - Enables secure Strava account connection and authorization via OAuth. - Stores and refreshes access tokens automatically. - Fetches and normalizes workout/activity data (runs, rides, etc.) for specific dates or ranges. - Provides tools to generate training summaries, weekly mileage, and activity lists. - Output is formatted for use in the OpenClaw Wellness hub or for generic channel delivery.","fileCount":9,"zipByteSize":9553}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s176fnaaqcfs30e667hmpdzpyh84cs4f:strava-api","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:57:01.940Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-swang62-strava-api/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T16:53:29.896Z","emptyReason":null},"readme":"Skill: Strava Api\n\nOwner: swang62\n\nSummary: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for...\n\nTags: latest:1.0.1\n\nVersion history:\n\nv1.0.1 | 2026-04-19T06:44:19.425Z | auto\n\n- Removed normalization and rendering scripts and documentation, focusing the skill on fetching activity data only.\n- Updated instructions: now fetch activities directly as JSON output.\n- Cleaned up references and removed output schema documentation.\n- Renamed skill from openclaw-strava to strava-api.\n\nv1.0.0 | 2026-04-15T08:40:06.742Z | auto\n\nInitial release of Strava OAuth integration for OpenClaw.\n\n- Enables secure Strava account connection and authorization via OAuth.\n- Stores and refreshes access tokens automatically.\n- Fetches and normalizes workout/activity data (runs, rides, etc.) for specific dates or ranges.\n- Provides tools to generate training summaries, weekly mileage, and activity lists.\n- Output is formatted for use in the OpenClaw Wellness hub or for generic channel delivery.\n\nArchive index:\n\nArchive v1.0.1: 6 files, 7764 bytes\n\nFiles: _meta.json (129b), references/strava_api.md (605b), scripts/strava_fetch_activities.py (5981b), scripts/strava_oauth_login.py (7510b), skill-card.md (1731b), SKILL.md (1329b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: strava-api\ndescription: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for today/yesterday or a date range. Use for generating training summaries, weekly mileage, activity lists, and for feeding the Wellness hub with normalized workout data.\n---\n\n# Strava (Official API)\n\nKeep this skill source-only: connect to Strava, fetch activities, normalize output. Delivery is channel-agnostic.\n\n## Configuration\n\nRequired env vars:\n\n- `STRAVA_CLIENT_ID`\n- `STRAVA_CLIENT_SECRET`\n- `STRAVA_REDIRECT_URI`\n\nOptional:\n\n- `STRAVA_TOKEN_PATH` (default: `~/.config/openclaw/strava/token.json`)\n- `STRAVA_TZ` (default: `Asia/Shanghai`)\n\n## Connect (OAuth)\n\nChoose one mode:\n\n- **Phone/remote mode (recommended):**\n\n```bash\npython3 scripts/strava_oauth_login.py\n```\n\n- **Desktop loopback mode (optional):** if you are authorizing in a browser on the same machine that runs OpenClaw and your `STRAVA_REDIRECT_URI` is a loopback URL (e.g. `http://127.0.0.1:58539/callback`):\n\n```bash\npython3 scripts/strava_oauth_login.py --loopback\n```\n\n## Fetch activities for a day (json output)\n\n```bash\npython3 scripts/strava_fetch_activities.py --date today --out /tmp/strava_today.json\n```\n\n## Notes\n\n- API details: `references/strava_api.md`\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn71sg7ypnpnawfq0kzj3xbp7x84c22c\",\n  \"slug\": \"strava-api\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1776581059425\n}\n\nFile v1.0.1:references/strava_api.md\n\n# Strava API (quick reference)\n\nThis skill uses Strava’s official OAuth2 + API v3.\n\n## OAuth\n\n- Authorize: `https://www.strava.com/oauth/authorize`\n- Token: `https://www.strava.com/oauth/token`\n\nCommon scope:\n- `activity:read_all`\n\n## Common endpoint\n\nList athlete activities (supports pagination):\n- `GET https://www.strava.com/api/v3/athlete/activities`\n  - Query params: `after` (epoch seconds), `before` (epoch seconds), `page`, `per_page`\n\nList detailed activity:\n- `GET https://www.strava.com/api/v3/activities/{id}`\n\nNotes:\n- Strava tokens include `expires_at` (epoch seconds) + `refresh_token`.\n\nFile v1.0.1:skill-card.md\n\n## Description:\n\nOfficial Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for today/yesterday or a date range.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[swang62](https://clawhub.ai/user/swang62)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to authorize Strava access, refresh stored tokens, and fetch normalized activity data for training summaries, weekly mileage, activity lists, or wellness workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles Strava OAuth tokens and private fitness data in local files.\n\nMitigation: Use a private token path with restrictive permissions, avoid shared export paths, and revoke or rotate Strava credentials if token files are exposed.\n\n## Reference(s):\n\n- [Strava API Quick Reference](references/strava_api.md)\n- [Strava Api ClawHub Page](https://clawhub.ai/swang62/skills/strava-api)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON activity files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses Strava OAuth credentials and writes fetched activity data to a user-specified JSON file.]\n\n## Skill Version(s):\n\n1.0.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 9 files, 9553 bytes\n\nFiles: _meta.json (129b), references/output_schema.md (641b), references/strava_api.md (527b), scripts/strava_fetch_activities.py (4797b), scripts/strava_normalize_daily.py (2495b), scripts/strava_oauth_login.py (4089b), scripts/strava_render.py (1994b), scripts/strava_token.py (3532b), SKILL.md (1622b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: openclaw-strava\ndescription: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for today/yesterday or a date range. Use for generating training summaries, weekly mileage, activity lists, and for feeding the Wellness hub with normalized workout data.\n---\n\n# Strava (Official API)\n\nKeep this skill source-only: connect to Strava, fetch activities, normalize output, and render a short message. Delivery is channel-agnostic.\n\n## Configuration\n\nRequired env vars:\n\n- `STRAVA_CLIENT_ID`\n- `STRAVA_CLIENT_SECRET`\n- `STRAVA_REDIRECT_URI`\n\nOptional:\n\n- `STRAVA_TOKEN_PATH` (default: `~/.config/openclaw/strava/token.json`)\n- `STRAVA_TZ` (default: `Asia/Shanghai`)\n\n## Connect (OAuth)\n\nChoose one mode:\n\n- **Phone/remote mode (recommended):**\n\n```bash\npython3 scripts/strava_oauth_login.py\n```\n\n- **Desktop loopback mode (optional):** if you are authorizing in a browser on the same machine that runs OpenClaw and your `STRAVA_REDIRECT_URI` is a loopback URL (e.g. `http://127.0.0.1:58539/callback`):\n\n```bash\npython3 scripts/strava_oauth_login.py --loopback\n```\n\n## Fetch activities for a day\n\n```bash\npython3 scripts/strava_fetch_activities.py --date today --out /tmp/strava_raw_today.json\npython3 scripts/strava_normalize_daily.py /tmp/strava_raw_today.json --out /tmp/strava_today.json\npython3 scripts/strava_render.py /tmp/strava_today.json --format markdown --channel generic\n```\n\n## Notes\n\n- API details: `references/strava_api.md`\n- Normalized output contract (for Wellness hub): `references/output_schema.md`\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn71sg7ypnpnawfq0kzj3xbp7x84c22c\",\n  \"slug\": \"strava-api\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776242406742\n}\n\nFile v1.0.0:references/output_schema.md\n\n# Output schema (for Wellness hub)\n\n`strava_normalize_daily.py` outputs:\n\n```json\n{\n  \"date\": \"YYYY-MM-DD\",\n  \"timezone\": \"IANA/Zone\",\n  \"generated_at\": \"ISO-8601\",\n  \"training\": {\n    \"workouts\": [\n      {\n        \"start\": \"ISO-8601|null\",\n        \"end\": \"ISO-8601|null\",\n        \"type\": \"string\",\n        \"duration_minutes\": \"number|null\",\n        \"distance_km\": \"number|null\",\n        \"calories_kcal\": \"number|null\",\n        \"avg_hr_bpm\": \"number|null\",\n        \"max_hr_bpm\": \"number|null\",\n        \"source\": \"strava\"\n      }\n    ],\n    \"source\": \"strava\"\n  },\n  \"sources_present\": [\"strava\"],\n  \"source\": {\"raw_files\": [\"string\"]}\n}\n```\n\nFile v1.0.0:references/strava_api.md\n\n# Strava API (quick reference)\n\nThis skill uses Strava’s official OAuth2 + API v3.\n\n## OAuth\n\n- Authorize: `https://www.strava.com/oauth/authorize`\n- Token: `https://www.strava.com/oauth/token`\n\nCommon scope:\n- `activity:read_all`\n\n## Common endpoint\n\nList athlete activities (supports pagination):\n\n- `GET https://www.strava.com/api/v3/athlete/activities`\n  - Query params: `after` (epoch seconds), `before` (epoch seconds), `page`, `per_page`\n\nNotes:\n- Strava tokens include `expires_at` (epoch seconds) + `refresh_token`.","readmeExcerpt":"Skill: Strava Api Owner: swang62 Summary: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-04-19T06:44:19.425Z | auto - Removed normalization and rendering scripts and documentation, focusing the skill on fetching activity data only. - Updated instructions: n","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python3 scripts/strava_oauth_login.py"},{"language":"bash","snippet":"python3 scripts/strava_oauth_login.py --loopback"},{"language":"bash","snippet":"python3 scripts/strava_fetch_activities.py --date today --out /tmp/strava_today.json"},{"language":"bash","snippet":"python3 scripts/strava_oauth_login.py"},{"language":"bash","snippet":"python3 scripts/strava_oauth_login.py --loopback"},{"language":"bash","snippet":"python3 scripts/strava_fetch_activities.py --date today --out /tmp/strava_raw_today.json\npython3 scripts/strava_normalize_daily.py /tmp/strava_raw_today.json --out /tmp/strava_today.json\npython3 scripts/strava_render.py /tmp/strava_today.json --format markdown --channel generic"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: strava-api\ndescription: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for today/yesterday or a date range. Use for generating training summaries, weekly mileage, activity lists, and for feeding the Wellness hub with normalized workout data.\n---\n\n# Strava (Official API)\n\nKeep this skill source-only: connect to Strava, fetch activities, normalize output. Delivery is channel-agnostic.\n\n## Configuration\n\nRequired env vars:\n\n- `STRAVA_CLIENT_ID`\n- `STRAVA_CLIENT_SECRET`\n- `STRAVA_REDIRECT_URI`\n\nOptional:\n\n- `STRAVA_TOKEN_PATH` (default: `~/.config/openclaw/strava/token.json`)\n- `STRAVA_TZ` (default: `Asia/Shanghai`)\n\n## Connect (OAuth)\n\nChoose one mode:\n\n- **Phone/remote mode (recommended):**\n\n```bash\npython3 scripts/strava_oauth_login.py\n```\n\n- **Desktop loopback mode (optional):** if you are authorizing in a browser on the same machine that runs OpenClaw and your `STRAVA_REDIRECT_URI` is a loopback URL (e.g. `http://127.0.0.1:58539/callback`):\n\n```bash\npython3 scripts/strava_oauth_login.py --loopback\n```\n\n## Fetch activities for a day (json output)\n\n```bash\npython3 scripts/strava_fetch_activities.py --date today --out /tmp/strava_today.json\n```\n\n## Notes\n\n- API details: `references/strava_api.md`"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71sg7ypnpnawfq0kzj3xbp7x84c22c\",\n  \"slug\": \"strava-api\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1776581059425\n}"},{"path":"references/strava_api.md","content":"# Strava API (quick reference)\n\nThis skill uses Strava’s official OAuth2 + API v3.\n\n## OAuth\n\n- Authorize: `https://www.strava.com/oauth/authorize`\n- Token: `https://www.strava.com/oauth/token`\n\nCommon scope:\n- `activity:read_all`\n\n## Common endpoint\n\nList athlete activities (supports pagination):\n- `GET https://www.strava.com/api/v3/athlete/activities`\n  - Query params: `after` (epoch seconds), `before` (epoch seconds), `page`, `per_page`\n\nList detailed activity:\n- `GET https://www.strava.com/api/v3/activities/{id}`\n\nNotes:\n- Strava tokens include `expires_at` (epoch seconds) + `refresh_token`."},{"path":"skill-card.md","content":"## Description:\n\nOfficial Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for today/yesterday or a date range.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[swang62](https://clawhub.ai/user/swang62)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to authorize Strava access, refresh stored tokens, and fetch normalized activity data for training summaries, weekly mileage, activity lists, or wellness workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles Strava OAuth tokens and private fitness data in local files.\n\nMitigation: Use a private token path with restrictive permissions, avoid shared export paths, and revoke or rotate Strava credentials if token files are exposed.\n\n## Reference(s):\n\n- [Strava API Quick Reference](references/strava_api.md)\n- [Strava Api ClawHub Page](https://clawhub.ai/swang62/skills/strava-api)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON activity files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses Strava OAuth credentials and writes fetched activity data to a user-specified JSON file.]\n\n## Skill Version(s):\n\n1.0.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for... Skill: Strava Api Owner: swang62 Summary: Official Strava OAuth integration for OpenClaw. Use to connect/authorize Strava, store+refresh tokens, and fetch workout/activity data (runs/rides/etc.) for... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-04-19T06:44:19.425Z | auto - Removed normalization and rendering scripts and documentation, focusing the skill on fetching activity data only. - Updated instructions: n","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":948,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:53:29.896Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:53:29.896Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:57:01.940Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}