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_pagetools
Send a Telegram message or photo from this machine via the bot — to Nico's DM, Alfie's DM, or the shared group. Use when asked to notify/ping/message someone on Telegram, or to post an update/result there.
databases
Query today's Immich "on this day" memories and print a summary picoclaw can relay. Use when the user asks about Immich memories, on-this-day, or a recap of past photos from today's date.
documentation
Promote items from Wiki/Inbox into curated Wiki/Pages, merging or creating as Wiki/Schema dictates
development
Audit the LLM Wiki for orphans, broken links, duplicates, and stale facts; write a report page