upload-fit-to-blackbird-web

v1.0.0

Automatically batch upload modified _GM.fit files to the Blackbird Cycling web platform with login detection and upload status handling.

0· 84·0 current·0 all-time
by码代码的猿猿@ckboss
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included Python script and instructions. The code uses Playwright to open the Blackbird upload page and set file inputs to upload local .fit files—this is consistent with the stated purpose.
Instruction Scope
SKILL.md stays within scope (install Playwright, run the script, wait for interactive login). It includes user-specific absolute example paths (/home/ckboss/...) and references another skill path, which are documentation artifacts and should be replaced with generic examples; otherwise instructions do not request unrelated files or secrets.
Install Mechanism
This is instruction-only (no install spec). It requires the user to install Playwright and the Chromium browser manually; that is expected for a browser-automation script and is proportionate to the task.
Credentials
The skill declares no required environment variables or credentials, which is appropriate. The documentation and examples use explicit absolute interpreter and pip paths tied to a specific user account; these are odd but not dangerous—users should adapt them to their environment.
Persistence & Privilege
The skill is not always-enabled and does not request system-level persistence or other skills' credentials. It runs interactively and relies on manual login; nothing indicates elevated privileges or automatic long-term presence.
Assessment
This skill appears coherent: it bundles a Playwright-based Python script that opens a browser to https://www.blackbirdsport.com and uploads local .fit files you provide. Before installing/running: 1) Review and run the script locally in a controlled environment (it only interacts with the Blackbird site and the local filesystem you point to). 2) Install Playwright and Chromium per the README rather than blindly running the example absolute paths—those examples reference a specific user account and are not generic. 3) Expect to log in interactively in a non-headless browser; the script's claim that cookies will persist across runs is misleading unless you use a persistent browser context or a user-data directory. 4) If you are concerned about sensitive data, inspect the script for network calls (it makes none beyond navigating to the site) and only point it at FIT files you intend to upload. Overall the skill is internally consistent, but adapt the paths and install steps to your environment and inspect the code before executing.

Like a lobster shell, security has layers — review code before you run it.

latestvk970ejy5d35t1dc150j0x7bc1183dy93

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

blackbird-upload

批量上传 FIT 文件到黑鸟骑行网页版 (https://www.blackbirdsport.com)

用途

  • 自动上传修改后的 _GM.fit 文件到黑鸟骑行平台
  • 支持批量上传多个文件
  • 自动检测登录状态,支持手动登录

依赖

  • Python 3.x
  • Playwright: pip install playwright
  • Playwright 浏览器:playwright install chromium

安装依赖

# 使用 conda Python
/home/ckboss/anaconda3/bin/pip install playwright
/home/ckboss/anaconda3/bin/playwright install chromium

使用方法

上传单个文件

cd /home/ckboss/.openclaw/workspace/skills/blackbird-upload/scripts
/home/ckboss/anaconda3/bin/python upload_to_blackbird.py /path/to/ride_GM.fit

上传整个目录

/home/ckboss/anaconda3/bin/python upload_to_blackbird.py /home/ckboss/Downloads/onelap-rides-0316-0321/

上传多个文件(通配符)

/home/ckboss/anaconda3/bin/python upload_to_blackbird.py /home/ckboss/Downloads/onelap-rides-0316-0321/*_GM.fit

工作流程

  1. 启动浏览器 - 打开黑鸟骑行上传页面
  2. 检测登录 - 如果未登录,等待用户手动登录(最长 5 分钟)
  3. 上传文件 - 自动选择并上传所有 FIT 文件
  4. 等待完成 - 等待上传完成后显示结果

注意事项

  • 首次运行需要登录 - 脚本会等待你在浏览器中登录黑鸟账号
  • 登录状态保持 - 浏览器会保存 cookies,下次运行可能无需重新登录
  • 文件命名 - 优先上传 _GM.fit 文件(已修改设备 ID 的版本)
  • 重复检测 - 黑鸟会自动检测重复文件,避免重复上传

完整流程示例

# 1. 修改 FIT 文件设备 ID
/home/ckboss/anaconda3/bin/python /home/ckboss/.openclaw/workspace/skills/fit-device-id-modifier/scripts/modify_fit.py /path/to/rides/

# 2. 上传到黑鸟
/home/ckboss/anaconda3/bin/python /home/ckboss/.openclaw/workspace/skills/blackbird-upload/scripts/upload_to_blackbird.py /path/to/rides/*_GM.fit

文件结构

skills/blackbird-upload/
├── SKILL.md
└── scripts/
    └── upload_to_blackbird.py

相关 Skill

  • fit-device-id-modifier - 修改 FIT 文件设备 ID 为 Garmin Edge 500

故障排除

浏览器无法启动

# 重新安装 Playwright 浏览器
/home/ckboss/anaconda3/bin/playwright install chromium

上传超时

  • 检查网络连接
  • 确认黑鸟网站可访问
  • 尝试减少单次上传的文件数量

登录状态失效

  • 清除浏览器缓存后重新登录
  • 或者使用 headless=False 模式手动登录

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…