Commit Graph
62 Commits
Author SHA1 Message Date
Moritz Graf 3e9e12bbc5 fix(pwa): version icon filenames to -v3 and bust iOS Safari WebClip cache 2026-10-12 08:36:02 +02:00
Moritz Graf 7b9b3ff0eb feat(growth): add WHO percentile growth curves, Chart.js collapsible section, and tests 2026-10-12 08:32:38 +02:00
Moritz Graf 191c8e9143 feat(pwa): optimize Mila app icons with safe-zone padding to prevent Android/iOS zoom crop 2026-10-12 08:25:27 +02:00
Moritz Graf f5b5deaae7 fix(pwa): enable crossorigin=use-credentials for manifest, add id and header install trigger 2026-10-12 08:16:03 +02:00
Moritz Graf 545752fa60 feat(mila): update app icon, favicon, and header artwork to pop-art baby 2026-10-12 07:36:23 +02:00
Moritz Graf e9d2c59eed feat(pwa): add auto-update on reopen, live tickers, and manual refresh to dashboards 2026-10-11 22:25:37 +02:00
Moritz Graf 63497765b0 fix(datastore): include morning-ending night sleep in dashboard, pass data-dir, and auto git-sync on writes 2026-10-11 22:14:17 +02:00
Moritz Graf 88c42aa1e5 fix(datastore): support retroactive date logging and fix Garmin balance display logic 2026-10-11 21:59:44 +02:00
Moritz Graf bcb04711c0 feat(security): enforce ADR 0005 hosting boundary segregation strictly to family/ 2026-10-11 21:24:06 +02:00
Moritz Graf 694d0c5072 feat(pwa): make Mila app installable with PWA manifest, service worker and high-res icons 2026-10-11 20:57:50 +02:00
Moritz Graf 1ccab5e522 feat(datastore): expose delete command in CLI 2026-10-11 20:48:07 +02:00
Moritz Graf fe21d01a3f fix(datastore): fix item_count column name in update_moritz_website.py 2026-10-11 20:39:35 +02:00
Moritz Graf 1babaab1e2 feat(datastore): add Moritz Health light-mode PWA dashboard generator and hook 2026-10-11 20:37:18 +02:00
Moritz Graf 3abfa18182 feat(datastore): support --since in stop command, trigger website update from render_views, update docs 2026-10-11 15:07:35 +02:00
Moritz Graf 967909c3a7 feat(datastore): add diaper and feeding tracking, automated update_website posthook, and morning_briefing 2026-10-11 12:16:24 +02:00
Moritz Graf 80e38ab64a fix(datastore): add PEP 723 dependencies to garmin_sync.py for automated uv execution 2026-10-10 15:48:55 +02:00
Moritz Graf 786ce47bd4 fix(datastore): alert on open sessions without silent deckeln, support stop by ID 2026-10-09 19:14:01 +02:00
Moritz Graf 88d49f85e5 fix(datastore): auto-close stale sleep sessions and validate event kind in CLI 2026-10-09 18:46:39 +02:00
Moritz Graf c9cbc56441 docs(google-calendar): document OpenClaw calendar__ prefix, CLI fallback, and no-fake guardrails 2026-10-09 12:29:43 +02:00
Moritz Graf 6a93539a97 feat(datastore): support --kind flag and add 15m duplicate suppression 2026-10-09 10:28:11 +02:00
Moritz Graf 77a0e56d96 feat(datastore): add relative --since duration flag and overnight sleep test 2026-10-09 09:25:04 +02:00
Moritz Graf 0489ef7d62 feat(skills): add datastore skill (DuckDB engine, JSONL partitioning, Garmin mirror, and view renderers) 2026-10-06 18:17:52 +02:00
Moritz Graf 2bde04617f feat(skills): add create-website skill for zero-build responsive SPAs and showcases 2026-09-28 07:37:36 +02:00
moritz 7336f7bfff Merge pull request 'feat(skills): add zwift-workout skill (.zwo builder, validator, preview, publishing)' (#1) from feat/zwift-workout-skill into main
Reviewed-on: #1
2026-09-20 13:43:44 +00:00
IT Guy d044eba97a docs(skills): register zwift-workout skill in AGENTS index 2026-09-20 12:31:15 +00:00
IT Guy 109162889c feat(skills): add zwift-workout skill (.zwo builder, validator, preview, publishing)
Bike-only Zwift .zwo generator with human-readable preview + confirmation loop.

- scripts/zwo_builder.py: spec<->.zwo build/validate/parse/render/TSS estimate
- scripts/zwo.py: CLI (build, from-template, validate, parse, render, templates)
- references/zwo-format.md: condensed offline format reference
- assets/example-vo2max.zwo + tests/test_zwo.py (9 tests)
- Publishes via hosting skill; files result into Knowledge Wiki

Format ground truth: h4l/zwift-workout-file-reference
2026-09-20 07:47:05 +00:00
Moritz Graf 42f37a89f8 feat(skills): add garmin-workout skill with sportType validation and schema reference 2026-09-20 08:04:55 +02:00
Moritz Graf be96b1234f feat(skills): add chart-to-chat skill for dbt-charts and quickchart 2026-09-19 21:04:42 +02:00
Moritz Graf 39441067bc feat(skills): add openclaw-audit system diagnostic and commit correlation skill 2026-09-19 16:48:19 +02:00
Moritz Graf 6e98fd83b2 feat(skills): add YouTube and Google Maps Platform MCP skills 2026-09-18 11:30:35 +02:00
Moritz Graf ea079c9852 feat(google-calendar): add RRULE recurrence, transparency, reminders, move_event, and free-slots finder 2026-09-18 11:21:35 +02:00
Moritz Graf a9d386c2e9 feat(skills): add improved grill-me skill for plan stress-testing 2026-09-17 13:34:36 +02:00
Moritz Graf 2dfce6967c feat(skills): add garmin-auth skill with 2-turn Telegram MFA flow 2026-09-17 09:29:56 +02:00
Moritz Graf 0162f9dcd3 fix(brother-printer): support --thread-id for forum topics and prevent double ask_user prompts 2026-09-17 09:05:01 +02:00
Moritz Graf b104b2f6a2 feat(skills): add brother-printer skill with IPP duplex, color, N-up and Telegram live status 2026-09-17 08:08:31 +02:00
Moritz Graf bb31002e19 feat: add hosting and qr-code skills 2026-09-16 08:59:54 +02:00
Moritz Graf 5376ddbc20 feat(skills): add regensburg_ris_mcp.py and universal_product_extractor.py 2026-09-16 08:22:40 +02:00
Moritz Graf 7e82424ca2 feat(calendar): implement visual color-coding, conflict-guard, and prep checklists 2026-09-15 22:28:26 +02:00
Moritz Graf dc874415b4 fix(bring): properly extract items from BringItemsResponse 2026-09-15 22:14:18 +02:00
Moritz Graf 309f4e4856 fix(calendar): improve friendly error message when regensburg calendar is not configured 2026-09-15 22:03:54 +02:00
Moritz Graf 9a857ac23b feat(shopping): add Bring! shopping lists MCP server and protocol 2026-09-15 21:47:26 +02:00
Moritz Graf 505249748e feat(skills): add google-calendar skill and MCP server for family and regensburg calendars 2026-09-15 21:38:57 +02:00
Moritz Graf 71e8909251 feat(skills): add markitdown document converter and regensburg-stadtrat civic intelligence skills 2026-09-12 09:15:16 +02:00
Moritz Graf e2944efb3e fix(spotify): pin mcp<2 and set writable HOME for credentials 2026-09-11 21:37:50 +02:00
Moritz Graf 24e788ba6b feat(spotify): add run_spotify_mcp launcher 2026-09-11 21:15:27 +02:00
Moritz Graf 9c32d8e44c feat(spotify): add spotify skill and oauth generator for openclaw 2026-09-11 21:03:54 +02:00
Moritz Graf e8c0046c51 feat(skills): add shopping skill with supermarket deals, geizhals, and ebay MCP servers 2026-09-10 13:43:29 +02:00
Moritz Graf 3d78c94a58 fix(jelly-media): concatenate poster url string for Python < 3.12 compatibility 2026-09-10 10:33:26 +02:00
Moritz Graf 03a5d38672 fix(jelly-media): fix f-string syntax compatibility for Python < 3.12 2026-09-10 10:26:19 +02:00
Moritz Graf 7aca5dfe70 feat(skills): add jelly-media skill and MCP server for Jellyfin & Jellyseerr 2026-09-10 10:09:05 +02:00