Moritz Graf
|
fe4edcc217
|
fix(pwa): serve Mila app icons from public /icons/ path for iOS SpringBoard and PWA manifests
|
2026-10-12 08:48:55 +02:00 |
|
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 |
|