-
Notifications
You must be signed in to change notification settings - Fork 1.4k
GWS OS — Learning-first Google Workspace OS built on gws CLI #636
-
What I built
GWS OS — an open-source Claude Code skill folder that turns gws into a multi-account Google Workspace operating system with memory that learns your patterns over time.
One command (/gws morning) scans all your accounts, prioritizes what matters, and gets smarter every session.
Why gws
I evaluated several options (gcloud, custom Python scripts, MCP proxy servers) before landing on gws. The killer feature for AI-agent workflows: gws exposes the raw Google API with structured JSON output. The AI constructs the --params JSON directly and parses the response. Thinnest possible layer between "I need this data" and "here it is."
After 4+ weeks in production (500-800+ invocations, zero auth failures), I built an entire orchestration system on top of it.
How it works
/gws morning — full morning brief across all accounts
/gws triage — categorize and act on unread email
/gws reply — context-aware reply from the right account
/gws plan — schedule intelligence (flags conflicts beyond time overlaps)
/gws brief — pre-meeting attendee context
/gws learn — see what the system knows, adjust trust, undo actions
Multi-account via GOOGLE_WORKSPACE_CLI_CONFIG_DIR env var per profile. Works cleanly.
Memory system follows the Clustered Associative Recall (CAR) Protocol — three-tier storage inspired by how human memory actually works:
- Tier 1: Raw episodes (action JSONL logs, 7-30 days)
- Tier 2: Compressed summaries (contact + topic markdown nodes)
- Tier 3: Schemas and patterns (weighted graph edges, permanent)
Trust progression: observe → suggest → assist → automate. Earned per action type per contact. The system never sends without confirmation.
Tech stack
- Transport:
gwsCLI (this project!) — all Google API access - Intelligence: Claude Code skill folder (11 skills with bash preambles + Claude instructions)
- Memory: Flat markdown + JSONL + Python graph engine (1053 lines, stdlib only)
- Tests: 82 pytest tests across 4 phases
- License: MIT
Numbers
- 82 tests, all passing
- 11 skill commands, all complete with working preambles
- 15 shared shell functions in
lib/gws-common.sh - 1053-line Python graph engine with 5 subcommands
- Zero external dependencies beyond Python stdlib +
jq
Try it
git clone https://github.com/cheeky-amit/gws-os.git ~/Projects/gws-os cd ~/Projects/gws-os bash setup /gws onboard /gws triage
Requires: gws CLI (this project), jq, Claude Code.
Validation report
The repo includes a gws CLI validation report and a production case study from 4+ weeks of daily use.
Feature requests for gws
Based on building this, two things that would make gws even better for multi-agent workflows:
- Named profiles (
gws --profile work gmail ...) — theCONFIG_DIRenv var works but a first-class flag would be cleaner - Compact JSON mode (
--format json-compactor--json-lines) — for piping tojqwithout the keyring backend line
Happy to discuss either of these in separate issues if helpful.
Built with gws 0.16.0 on macOS. AI orchestration via Claude Code.
Beta Was this translation helpful? Give feedback.