Adds the new apps to the CLI, per Philipp's 2026-10-22 request (chat first, plus photos, notes, tasks; meet/forms/booking noted below).
New protocols (same command shape as the four existing ones):
ordner notes— folders, list, get, create (--body-stdin), update, rm. Note/* under the vendor notes capability; live-verified create/read/update/destroy round trip on srv.ordner.fyi.ordner tasks— lists, list (--all/--open, --due today|tomorrow|+Nd), add, done, reopen, rm, get. Task/set needs a taskListId, so the default list is resolved client-side (named Tasks, else the first); live-verified full round trip on srv.ordner photos— albums, list (the library: Pictures minus Upload minus Albums, photoTaken sort), get, render (Photo/render JPEG, --size/--quality, --out or stdout), original (raw bytes). check tolerates an account that has never opened Photos (no library yet — that is what keptaccount addfrom accepting the account).ordner chat— conversations, read, send (--reply-to), login, check. Chat is bearer-only by design (an app password reaches none, a delegated token opens none), so the account's secret is a token: a device-flow refresh token (RFC 8628 viachat login, auth rotates it on every use and a replay kills the family — the CLI stores each rotation as it happens, into the keychain or a 0600tokenFilefor headless machines) or a JWT access token minted elsewhere. The same device token reaches meet and forms; their verbs are a natural follow-up once this lands.
Tests: battery 122/122 on node 26; typecheck clean. Live on srv.ordner.fyi: notes and tasks full round trips (scratch data, cleaned up), photos/photos check canaries, chat refusal paths (bad JWT 401, bad refresh token, env-indirection refusal). NOT live-tested: the chat success path — the device flow needs a person to approve in a browser (ordner chat login prints the URL); booking is the forms-backed /book app, so it follows forms.
Generated SKILL.md regenerated and pinned (the shipped copy matches ordner skill --stdout).