google-loops

Connects Gmail, Calendar, and Contacts to track open loops and unanswered commitments.

29.4k|4.4k|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/garrytan/gbrain --skill google-loops
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: google-loops
Source: https://github.com/garrytan/gbrain/tree/main/plugin/skills/google-loops
Command: npx skills add https://github.com/garrytan/gbrain --skill google-loops

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It answers the question "who is waiting on me and what did I promise them" by ingesting Gmail threads, calendar events, and contacts into a knowledge brain and maintaining a ranked open-loop record behind the gbrain waiting digest.

Core Features & Use Cases

  • Guided Google OAuth setup: A single gbrain google setup --json command walks through credential intake, consent, source registration, and a first sync in exactly two user interactions, with typed errors carrying fixes.
  • Open-loop tracking: gbrain waiting ranks counterparties by what they are owed, with evidence quotes, Gmail deep links, and due dates; loops can be closed, dropped, or muted per sender.
  • Context for responding: Each loop group carries the counterparty's entity card, and context_pack provides deeper history before replying.
  • Use Case: After connecting a work Gmail account, ask your agent each morning who is waiting on you, review the ranked digest with evidence quotes, and close each loop as you reply.

Quick Start

Ask your agent to connect your Gmail account and show who is currently waiting on you.

Frequently Asked Questions about google-loops

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect Gmail to gbrain?

Run `gbrain google setup --json`, which handles credential intake, OAuth consent, source registration, and a first sync. The flow needs exactly two user interactions: providing the downloaded Google Cloud client JSON and clicking one consent URL.

How do I see who is waiting on me in email?

Run `gbrain waiting --json` to get a ranked digest of counterparties, what each is owed, evidence quotes, Gmail deep links, and due dates. It refuses to run on data older than 24 hours and names the sync command needed to refresh.

Can I use gbrain with multiple Google accounts?

Yes, repeat the setup with `--account [email protected]` for each account. You can also point a source at an external token provider using `--access command --token-command` so no credential is stored in gbrain.

Why did my Google sync stop working after about 7 days?

This is the `invalid_grant_testing_expiry` error: the OAuth consent screen is still in Testing mode, so refresh tokens expire after 7 days. Publish the app to Production, then run `gbrain google connect --reauth <email>`.

Does the loop detection send my email content to an LLM?

Commitment extraction sends recent email text (up to 30 days, 50 threads per sweep) to the configured chat provider. You can disable it with `gbrain config set loops.extraction_enabled false`; the unanswered-thread detector is free and unaffected.