[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PYAMZM823B0YT279YRT2MM":3,"skill-same:01M6PYAMZM823B0YT279YRT2MM":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6PYAMZM823B0YT279YRT2MM","trainingpeaks",null,"Pull real-time training plans, workouts, fitness metrics (CTL\u002FATL\u002FTSB), and personal records from TrainingPeaks. Uses cookie-based authentication (no API key needed). Use in conjunction with other endurance, cycling, running or swimming triathlon coach skills for best results.","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F安全与密码\u002Ftrainingpeaks\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"personal","training","authentication","pull","metrics","real-time","api","results","use","coach","time","plans","records","with","for","2026-11-10 10:12:30",false,"---\nname: trainingpeaks\ndescription: Pull real-time training plans, workouts, fitness metrics (CTL\u002FATL\u002FTSB), and personal records from TrainingPeaks. Uses cookie-based authentication (no API key needed). Use in conjunction with other endurance, cycling, running or swimming triathlon coach skills for best results.\n---\n\n# TrainingPeaks Skill\n\nCLI access to the TrainingPeaks internal API. Pure Python stdlib — no pip dependencies.\n\n## Setup: Getting Your Auth Cookie\n\n1. Log in to [TrainingPeaks](https:\u002F\u002Fapp.trainingpeaks.com) in your browser\n2. Open DevTools → Application → Cookies → `app.trainingpeaks.com`\n3. Find the cookie named `Production_tpAuth`\n4. Copy its value (long encoded string)\n\nThen authenticate:\n\n```bash\npython3 scripts\u002Ftp.py auth \"\u003Cpaste_cookie_value_here>\"\n```\n\nOr set the environment variable (useful for CI\u002Fscripts):\n\n```bash\nexport TP_AUTH_COOKIE=\"\u003Ccookie_value>\"\n```\n\nCredentials are stored in `~\u002F.trainingpeaks\u002F` with `0600` permissions.\n\n## Commands\n\n### `auth \u003Ccookie>` — Authenticate\n\nStore and validate a `Production_tpAuth` cookie. Exchanges it for a Bearer token and caches the athlete ID.\n\n```bash\npython3 scripts\u002Ftp.py auth \"eyJhbGci...\"\n# ✓ Authenticated successfully!\n#   Account: user@example.com\n#   Athlete ID: 12345\n#   Token expires in: 60 minutes\n```\n\n### `auth-status` — Check Authentication\n\n```bash\npython3 scripts\u002Ftp.py auth-status\n# Cookie: stored (file)\n# Token: valid (42m remaining)\n# Athlete ID: 12345\n# ✓ Ready\n```\n\n### `profile [--json]` — Athlete Profile\n\n```bash\npython3 scripts\u002Ftp.py profile\n# Profile\n# ════════════════════════════════════════\n#   Name:        Ruben Example\n#   Email:       ruben@example.com\n#   Athlete ID:  12345\n#   Account:     Premium\n#   Bike FTP:    280 W\n```\n\n### `workouts \u003Cstart> \u003Cend> [--filter all|planned|completed] [--json]`\n\nList workouts in a date range (max 90 days).\n\n```bash\n# All workouts this week\npython3 scripts\u002Ftp.py workouts 2026-01-26 2026-02-01\n\n# Only completed workouts\npython3 scripts\u002Ftp.py workouts 2026-01-01 2026-01-31 --filter completed\n\n# Raw JSON for scripting\npython3 scripts\u002Ftp.py workouts 2026-01-26 2026-02-01 --json\n```\n\nOutput columns: Date, Title, Sport, Status (✓\u002F○), Planned duration, Actual duration, TSS, Distance.\n\n### `workout \u003Cid> [--json]` — Workout Detail\n\nGet full details for a single workout including description, coach comments, and all metrics.\n\n```bash\npython3 scripts\u002Ftp.py workout 123456789\n# Workout: Tempo Intervals 3x10min\n# ══════════════════════════════════════════════════\n#   Date:         2026-01-28\n#   Sport:        Bike\n#   Status:       Completed ✓\n#   ...\n```\n\n### `fitness [--days 90] [--json]` — CTL\u002FATL\u002FTSB\n\nGet fitness (CTL), fatigue (ATL), and form (TSB) data.\n\n```bash\n# Last 90 days (default)\npython3 scripts\u002Ftp.py fitness\n\n# Full season\npython3 scripts\u002Ftp.py fitness --days 365\n\n# JSON for charts\npython3 scripts\u002Ftp.py fitness --json\n```\n\nShows a summary with current CTL\u002FATL\u002FTSB and status interpretation, plus a 14-day daily table.\n\n### `peaks \u003Csport> \u003Cpr_type> [--days 3650] [--json]` — Personal Records\n\nGet ranked personal records by sport and metric.\n\n```bash\n# Best 20-minute power (all time)\npython3 scripts\u002Ftp.py peaks Bike power20min\n\n# 5K running PRs from last year\npython3 scripts\u002Ftp.py peaks Run speed5K --days 365\n\n# 5-second max power\npython3 scripts\u002Ftp.py peaks Bike power5sec\n```\n\n**Valid PR types:**\n\n| Sport | Types |\n|-------|-------|\n| Bike  | `power5sec`, `power1min`, `power5min`, `power10min`, `power20min`, `power60min`, `power90min`, `hR5sec`, `hR1min`, `hR5min`, `hR10min`, `hR20min`, `hR60min`, `hR90min` |\n| Run   | `hR5sec`–`hR90min`, `speed400Meter`, `speed800Meter`, `speed1K`, `speed1Mi`, `speed5K`, `speed5Mi`, `speed10K`, `speed10Mi`, `speedHalfMarathon`, `speedMarathon`, `speed50K` |\n\n## Token Management\n\n- Bearer tokens are cached in `~\u002F.trainingpeaks\u002Ftoken.json`\n- Tokens expire in ~1 hour; auto-refreshed from stored cookie\n- Cookie lasts weeks; stored in `~\u002F.trainingpeaks\u002Fcookie`\n- If the cookie expires, you'll get a clear error to re-authenticate\n\n## File Locations\n\n| File | Purpose |\n|------|---------|\n| `~\u002F.trainingpeaks\u002Fcookie` | Stored `Production_tpAuth` cookie |\n| `~\u002F.trainingpeaks\u002Ftoken.json` | Cached OAuth Bearer token + expiry |\n| `~\u002F.trainingpeaks\u002Fconfig.json` | Cached athlete ID and account info |\n\n## Notes\n\n- All dates use `YYYY-MM-DD` format\n- Maximum workout query range: 90 days\n- Rate limiting: 150ms minimum between API requests\n- `TP_AUTH_COOKIE` environment variable overrides stored cookie\n- Default output is human-readable; `--json` gives raw API responses\n","# TrainingPeaks Skill\n\nCLI access to the TrainingPeaks internal API. Pure Python stdlib — no pip dependencies.\n\n## Setup: Getting Your Auth Cookie\n\n1. Log in to [TrainingPeaks](https:\u002F\u002Fapp.trainingpeaks.com) in your browser\n2. Open DevTools → Application → Cookies → `app.trainingpeaks.com`\n3. Find the cookie named `Production_tpAuth`\n4. Copy its value (long encoded string)\n\nThen authenticate:\n\n```bash\npython3 scripts\u002Ftp.py auth \"\u003Cpaste_cookie_value_here>\"\n```\n\nOr set the environment variable (useful for CI\u002Fscripts):\n\n```bash\nexport TP_AUTH_COOKIE=\"\u003Ccookie_value>\"\n```\n\nCredentials are stored in `~\u002F.trainingpeaks\u002F` with `0600` permissions.\n\n## Commands\n\n### `auth \u003Ccookie>` — Authenticate\n\nStore and validate a `Production_tpAuth` cookie. Exchanges it for a Bearer token and caches the athlete ID.\n\n```bash\npython3 scripts\u002Ftp.py auth \"eyJhbGci...\"\n# ✓ Authenticated successfully!\n#   Account: user@example.com\n#   Athlete ID: 12345\n#   Token expires in: 60 minutes\n```\n\n### `auth-status` — Check Authentication\n\n```bash\npython3 scripts\u002Ftp.py auth-status\n# Cookie: stored (file)\n# Token: valid (42m remaining)\n# Athlete ID: 12345\n# ✓ Ready\n```\n\n### `profile [--json]` — Athlete Profile\n\n```bash\npython3 scripts\u002Ftp.py profile\n# Profile\n# ════════════════════════════════════════\n#   Name:        Ruben Example\n#   Email:       ruben@example.com\n#   Athlete ID:  12345\n#   Account:     Premium\n#   Bike FTP:    280 W\n```\n\n### `workouts \u003Cstart> \u003Cend> [--filter all|planned|completed] [--json]`\n\nList workouts in a date range (max 90 days).\n\n```bash\n# All workouts this week\npython3 scripts\u002Ftp.py workouts 2026-01-26 2026-02-01\n\n# Only completed workouts\npython3 scripts\u002Ftp.py workouts 2026-01-01 2026-01-31 --filter completed\n\n# Raw JSON for scripting\npython3 scripts\u002Ftp.py workouts 2026-01-26 2026-02-01 --json\n```\n\nOutput columns: Date, Title, Sport, Status (✓\u002F○), Planned duration, Actual duration, TSS, Distance.\n\n### `workout \u003Cid> [--json]` — Workout Detail\n\nGet full details for a single workout including description, coach comments, and all metrics.\n\n```bash\npython3 scripts\u002Ftp.py workout 123456789\n# Workout: Tempo Intervals 3x10min\n# ══════════════════════════════════════════════════\n#   Date:         2026-01-28\n#   Sport:        Bike\n#   Status:       Completed ✓\n#   ...\n```\n\n### `fitness [--days 90] [--json]` — CTL\u002FATL\u002FTSB\n\nGet fitness (CTL), fatigue (ATL), and form (TSB) data.\n\n```bash\n# Last 90 days (default)\npython3 scripts\u002Ftp.py fitness\n\n# Full season\npython3 scripts\u002Ftp.py fitness --days 365\n\n# JSON for charts\npython3 scripts\u002Ftp.py fitness --json\n```\n\nShows a summary with current CTL\u002FATL\u002FTSB and status interpretation, plus a 14-day daily table.\n\n### `peaks \u003Csport> \u003Cpr_type> [--days 3650] [--json]` — Personal Records\n\nGet ranked personal records by sport and metric.\n\n```bash\n# Best 20-minute power (all time)\npython3 scripts\u002Ftp.py peaks Bike power20min\n\n# 5K running PRs from last year\npython3 scripts\u002Ftp.py peaks Run speed5K --days 365\n\n# 5-second max power\npython3 scripts\u002Ftp.py peaks Bike power5sec\n```\n\n**Valid PR types:**\n\n| Sport | Types |\n|-------|-------|\n| Bike  | `power5sec`, `power1min`, `power5min`, `power10min`, `power20min`, `power60min`, `power90min`, `hR5sec`, `hR1min`, `hR5min`, `hR10min`, `hR20min`, `hR60min`, `hR90min` |\n| Run   | `hR5sec`–`hR90min`, `speed400Meter`, `speed800Meter`, `speed1K`, `speed1Mi`, `speed5K`, `speed5Mi`, `speed10K`, `speed10Mi`, `speedHalfMarathon`, `speedMarathon`, `speed50K` |\n\n## Token Management\n\n- Bearer tokens are cached in `~\u002F.trainingpeaks\u002Ftoken.json`\n- Tokens expire in ~1 hour; auto-refreshed from stored cookie\n- Cookie lasts weeks; stored in `~\u002F.trainingpeaks\u002Fcookie`\n- If the cookie expires, you'll get a clear error to re-authenticate\n\n## File Locations\n\n| File | Purpose |\n|------|---------|\n| `~\u002F.trainingpeaks\u002Fcookie` | Stored `Production_tpAuth` cookie |\n| `~\u002F.trainingpeaks\u002Ftoken.json` | Cached OAuth Bearer token + expiry |\n| `~\u002F.trainingpeaks\u002Fconfig.json` | Cached athlete ID and account info |\n\n## Notes\n\n- All dates use `YYYY-MM-DD` format\n- Maximum workout query range: 90 days\n- Rate limiting: 150ms minimum between API requests\n- `TP_AUTH_COOKIE` environment variable overrides stored cookie\n- Default output is human-readable; `--json` gives raw API responses\n",{"name":5,"description":7},"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","安全与密码\u002Ftrainingpeaks",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill trainingpeaks",{"tool":52,"command":53},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill trainingpeaks",{"tool":55,"command":56},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill trainingpeaks","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F安全与密码\u002Ftrainingpeaks\u002FSKILL.md",true,[60,66],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"_meta.json","REFERENCE","参考文档",284,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F安全与密码\u002Ftrainingpeaks\u002F_meta.json",{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002Ftp.py","SCRIPT","脚本",27786,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F安全与密码\u002Ftrainingpeaks\u002Fscripts\u002Ftp.py",[73,96,131,142,152,179],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":33},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[75,80,81,82,83,84,26,85,86,87,88,89,90,91,92,93,94,95],"safe","ethereum","defi","Optimization","user","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":114,"publishedAt":33},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[101,106,109],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":107,"categoryName":108,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,115,116,117,118,119,120,82,121,85,122,123,124,125,126,127,128,129,130],"zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":132,"name":133,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":33},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[136,137,138],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":107,"categoryName":108,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},[24,140,141,115,116,117,118,119,120,82,121,85,123,124,125,126,127,128,129,130],"api skill","zerion api skill",{"skillNo":143,"name":144,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":33},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[147,148,149],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":107,"categoryName":108,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},[117,24,151,115,116,118,119,82,121,85,122,123,124,125,126,127,128,129,130],"zerion api mcp",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":33},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[158],{"categoryNo":159,"categoryName":160,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000040","财务",[162,163,164,165,166,167,168,169,23,170,171,172,173,174,28,175,176,177,178,32],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","python3","install","Market","usd","news","currency","gbp","pip","market data",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":33},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[185],{"categoryNo":159,"categoryName":160,"taxonomyType":112,"taxonomyTypeDesc":113},[162,163,165,187,188,189,190,191,192,172,193,194,195,196,197,198,199,200,130,178],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]