rpi5/openclaw/skills/sure/SKILL.md
Get reports and account / transaction data from the Sure personal finance board
npx skillsauth add nsimonfr/nic-os sureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when the user asks about their Sure personal finance board: balances, accounts, transactions, recent spending, or API connectivity.
https://localhost:3000export SURE_API_KEY="YOUR_API_KEY"
Example:
# Optional remote example:
# export SURE_BASE_URL="https://sure.example.com"
export SURE_API_KEY="..."
Base URL default:
export SURE_BASE_URL="${SURE_BASE_URL:-http://127.0.0.1:3000}"
Reuse this in commands:
AUTH=(-H "X-Api-Key: $SURE_API_KEY" -H "Content-Type: application/json")
curl -fsS "${AUTH[@]}" "$SURE_BASE_URL/api/v1/accounts" | jq '.pagination'
If this fails:
SURE_BASE_URLhttps://...)List accounts:
curl -fsS "${AUTH[@]}" "$SURE_BASE_URL/api/v1/accounts" | jq .
Compact account summary:
curl -fsS "${AUTH[@]}" "$SURE_BASE_URL/api/v1/accounts" \
| jq -r '.accounts[] | "\(.name) | \(.balance) | \(.currency) | \(.account_type)"'
Accounts with pagination:
curl -fsS "${AUTH[@]}" "$SURE_BASE_URL/api/v1/accounts?page=1&per_page=100" | jq .
Useful account fields commonly returned:
idnamebalancecurrencyclassificationaccount_typeList recent transactions for one account:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?account_id=123&per_page=25" | jq .
Filter transactions by date:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?start_date=2026-03-01&end_date=2026-03-31&per_page=100" | jq .
Filter expenses only:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?type=expense&per_page=100" | jq .
Search transactions:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?search=carrefour&per_page=50" | jq .
Compact transaction summary:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?per_page=25" \
| jq -r '.transactions[] | "\(.date) | \(.name) | \(.amount) | \(.account.name)"'
Useful transaction filters:
account_idaccount_idscategory_idmerchant_idstart_dateend_datemin_amountmax_amounttype (income or expense)searchpageper_pageNet worth-style account snapshot:
curl -fsS "${AUTH[@]}" "$SURE_BASE_URL/api/v1/accounts?per_page=100" \
| jq '{count: (.accounts | length), accounts: [.accounts[] | {name, balance, currency, classification, account_type}]}'
Recent expenses this month:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?type=expense&start_date=$(date +%Y-%m-01)&per_page=100" \
| jq -r '.transactions[] | "\(.date) | \(.name) | \(.amount)"'
Top merchants in a date range:
curl -fsS "${AUTH[@]}" \
"$SURE_BASE_URL/api/v1/transactions?start_date=2026-03-01&end_date=2026-03-31&per_page=100" \
| jq -r '.transactions | group_by(.merchant.name // "Unknown") | map({merchant: (.[0].merchant.name // "Unknown"), count: length}) | sort_by(-.count) | .[] | "\(.merchant): \(.count)"'
/api/v1/...jq for filtering and concise summaries in agent workflows401 Unauthorized
404 Not Found
TLS / certificate issues
Empty results
per_pagedevelopment
Log workouts, wishlist media, and query the self-hosted Ryot tracker via its GraphQL API with a Bearer token. Use when the user wants to record a gym session/workout, add a book/film/game/show to their wishlist, or look up what they've tracked in Ryot.
development
AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents.
content-media
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
tools
<!-- vendored via `npx skills add steipete/clawdis@himalaya` (commit 27e5d49); locally adapted for personal ProtonMail via the hydroxide bridge on rpi5 --> --- name: protonmail description: Read, search, and send the user's personal ProtonMail using the himalaya CLI against the local hydroxide bridge (IMAP :1143 / SMTP :1025). homepage: https://github.com/pimalaya/himalaya metadata: {"openclaw":{"emoji":"📧","os":["linux"],"requires":{"bins":["himalaya"]}}} --- # ProtonMail (himalaya + hydroxid