openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > SparkyFitness

SparkyFitness CLI for food diary, exercise tracking, biometric check-ins, and health summaries.

开发与 DevOps

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.4.0

统计:⭐ 0 · 40 · 0 current installs · 0 all-time installs

0

安装量(当前) 0

🛡 VirusTotal :良性 · OpenClaw :可疑

Package:aronjanosch/sparkyfitness

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :可疑

OpenClaw 评估

The skill appears to match its stated fitness/diary purpose, but there are multiple mismatches and omissions in the instructions (different GitHub repos, undocumented tool dependencies like jq) that make the package inconsistent and worth manually verifying before installation.

目的

The declared purpose (SparkyFitness CLI for food, exercise, check-ins) aligns with the single required binary 'sparky' and the CLI commands shown. However, the SKILL.md's install/build instructions reference a different GitHub repo and Homebrew tap (aronjanosch/sparky-cli and aronjanosch/tap) while the skill metadata/homepage points to CodeWithCJ/SparkyFitness. This repo/homepage mismatch is unexpected and should be verified.

说明范围

SKILL.md instructs the agent/user to run and configure the sparky CLI and to set a server URL and API key (sparky config set-url / set-key). That behavior is consistent with a self-hosted CLI. But the instructions also use additional tools/commands without declaring them (example: 'sparky -j food diary | jq ...' references jq). The doc also instructs fetching data from online providers (Open Food Facts, Free Exercise DB) — expected for this pu…

安装机制

There is no install spec in the registry (instruction-only), which is lowest automated risk. The included install instructions point to GitHub (aronjanosch/sparky-cli) and a Homebrew tap — both are standard hosts, but they are not the same as the declared homepage repo. The mismatch between homepage/source and the install target is an inconsistency that could indicate a stale fork/copy or an error; confirm the correct upstream and review the u…

证书

The registry declares no required environment variables or credentials. The CLI uses an API key configured via 'sparky config set-key <key>' (so the key is stored in the CLI config rather than passed via environment). This is proportionate to a client for a self-hosted server. There are no unrelated credential requests in the metadata.

持久

The skill does not request 'always' privilege and is user-invocable only; autonomous invocation is allowed by default (normal). There is no install action performed by the platform. The SKILL.md suggests using 'sudo mv' when installing manually, which requires elevated local privileges — standard for installing system binaries but something to avoid unless you trust the binary/repo.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「SparkyFitness」。简介:SparkyFitness CLI for food diary, exercise tracking, biometric check-ins, and h…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/aronjanosch/sparkyfitness/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: sparky
description: SparkyFitness CLI for food diary, exercise tracking, biometric check-ins, and health summaries.
homepage: https://github.com/CodeWithCJ/SparkyFitness
metadata: {"clawdbot":{"emoji":"🏃","requires":{"bins":["sparky"]}}}
---

# sparky

Use `sparky` to interact with a self-hosted SparkyFitness server — log food, exercise, weight, steps, and mood.

Install
- Homebrew (macOS/Linux): `brew tap aronjanosch/tap && brew install sparky-cli`
- Build from source (requires Go 1.21+):
  ```
  git clone https://github.com/aronjanosch/sparky-cli
  cd sparky-cli
  go build -o sparky .
  sudo mv sparky /usr/local/bin/
  ```

Setup (once)
- `sparky config set-url <url>` — e.g. `sparky config set-url https://sparky.example.com`
- `sparky config set-key <key>`
- `sparky config show`
- `sparky ping` — verify connection

Food
- Search: `sparky food search "chicken breast" [-l 10]` — local DB first, falls back to Open Food Facts; shows Brand column
- Search by barcode: `sparky food search --barcode 4061458284547` — exact product lookup, no ambiguity
- Log by name: `sparky food log "chicken breast" -m lunch -q 150 -u g [-d YYYY-MM-DD]`
- Log by barcode: `sparky food log --barcode 4061458284547 -m lunch -q 113 -u g` — most reliable, no brand guessing
- Log by ID: `sparky food log --id <uuid> -m lunch -q 150 -u g` — skips search, unambiguous
- Pick result: `sparky food log "Hähnchenbrust" --pick 2` — select Nth search result instead of defaulting to results[0]
- Diary: `sparky food diary [-d YYYY-MM-DD]`
- Delete entry: `sparky food delete <uuid>`
- Remove from library: `sparky food remove <external_id>` — purge a wrongly imported product from local library

Exercise
- Search: `sparky exercise search "bench press" [-l 10]` — local DB first, falls back to Free Exercise DB
- Search external only: `sparky exercise search --external "pushup"` — bypasses local cache
- Log by name: `sparky exercise log "Pushups" [--duration 45] [--calories 400] [-d YYYY-MM-DD]`
- Log by ID: `sparky exercise log --id <uuid> --set 10x80@8 --set 10x80@9` — skips search, unambiguous
- Sets format: `REPS[xWEIGHT][@RPE]` — e.g. `10x80@8` = 10 reps, 80 kg, RPE 8; `10x80` or `10@8` also valid
- Diary: `sparky exercise diary [-d YYYY-MM-DD]`
- Delete: `sparky exercise delete <uuid>`

Check-ins
- Weight: `sparky checkin weight 75.5 [-u kg|lbs] [-d YYYY-MM-DD]`
- Steps: `sparky checkin steps 9500 [-d YYYY-MM-DD]`
- Mood: `sparky checkin mood 8 [-n "notes"] [-d YYYY-MM-DD]`
- Diary: `sparky checkin diary [-d YYYY-MM-DD]` — shows biometrics + mood together

Summary & trends
- `sparky summary [-s YYYY-MM-DD] [-e YYYY-MM-DD]` — nutrition/exercise/wellbeing totals (default: last 7 days)
- `sparky trends [-n 30]` — day-by-day nutrition table

Agentic workflow (always prefer --id to avoid ambiguity)

Exercise — search first, then log by ID:
```
# 1. Find candidates; use --external to bypass local cache if needed
sparky -j exercise search --external "pushup"
# Each result has is_local: true/false
#   is_local: true  → id is a UUID → use --id directly
#   is_local: false → id is a source string → log by exact name to import first,
#                     then search again to get the UUID

# 2a. Local exercise
sparky -j exercise log --id <uuid> --set 3x10@8

# 2b. External exercise (import on first log, then switch to --id)
sparky -j exercise log "Pushups" --set 3x10
sparky -j exercise search "Pushups"        # now is_local: true
sparky -j exercise log --id <uuid> --set 3x10
```

Food — preferred agentic workflow:
```
# Option A: barcode (most reliable)
sparky food log --barcode 4061458284547 -q 113 -u g -m lunch

# Option B: search → inspect brand+macros → log by --id
sparky -j food search "Hähnchenbrust"
# check brand + calories in results; pick the right one
sparky food log --id <uuid> -q 400 -u g -m dinner

# Option C: search with --pick N (when brand column shows the right one)
sparky food log "Hähnchenbrust" --pick 3 -q 400 -u g -m dinner

# Remove a bad import from local library
sparky food remove <external_id>   # external_id from search results
```

Notes
- `-j` / `--json` is a **root-level flag**: `sparky -j food diary`, not `sparky food diary -j`
- Always verify brand in search results before logging — Open Food Facts has many products with identical names
- `--barcode` is the most reliable option when the product has a scannable barcode
- `--pick N` selects the Nth result (1-based); exact local match bypasses `--pick` entirely
- Both search commands fall back to online providers automatically; matches are added to your library on first log
- Weight is stored in kg; lbs are auto-converted (`166 lbs → 75.30 kg`)
- Full UUIDs for delete: `sparky -j food diary | jq '.[0].id'`
- Meal options: `breakfast`, `lunch`, `dinner`, `snacks` (default: `snacks`)