From claude-assist
Set up Google Gmail accounts for email sync and triage. Use when user wants to add a Gmail account, connect their email, configure email sync settings, set up OAuth authorization, or add name aliases for commitment extraction. Triggers on phrases like "set up gmail", "add google account", "connect my email", "configure email sync".
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-assist:google-account-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interactive workflow to set up a Gmail account for sync and triage.
Interactive workflow to set up a Gmail account for sync and triage.
The scripts/ directory contains executable wrappers for all API endpoints. Always use these scripts instead of raw curl commands.
Run scripts using their full path relative to this skill's base directory (provided when the skill is loaded). For example: <skill-base-dir>/scripts/get-account 1
All scripts default to http://localhost:2529. Override with CLAUDE_ASSIST_SERVER env var.
Available scripts: create-account, get-account, update-account, add-alias, sync-emails
Ask the user:
Before generating the OAuth URL, ask the user:
"If this email is not part of your Google Cloud organization, please confirm you've added it as a test user at https://console.cloud.google.com/auth/audience (the app must also be set to 'External' rather than 'Internal'). Have you done this?"
Wait for confirmation before proceeding.
scripts/create-account --identifier "<identifier>" --email "<email>" --display-name "<name>"
Response includes authUrl - present this to the user.
Tell the user to open the authUrl in their browser and complete Google authorization. Wait for them to confirm completion.
scripts/get-account <id>
Confirm has_credentials: true. If false, offer to generate a new auth URL via POST /google/accounts/<id>/reauth.
Ask the user:
Apply settings:
scripts/update-account <id> --sync-start-date "<date>" --label-prefix "<prefix>"
The email_triage_instructions field lets you customize the AI triage behavior with account-specific rules. This plain text gets injected directly into Haiku's system prompt during email analysis.
When to use:
Example - Name disambiguation:
scripts/update-account <id> --triage-instructions "NAME DISAMBIGUATION:
- \"Christopher\" in emails refers to teammate Christopher Yamas, NOT the account owner
- The account owner goes by \"Chris\" or \"Chris Alfano\" only"
Developing triage instructions:
Ask the user what names refer to them (for commitment extraction). Only add names the user actually uses - don't assume variations.
Important: Names that refer to other people (teammates, etc.) should NOT be added as aliases. Instead, document these in email_triage_instructions for disambiguation.
For each alias:
scripts/add-alias <id> --alias "<name>"
Summarize the configured account and ask: "Would you like me to trigger an initial sync now?"
If yes, trigger a full sync:
scripts/sync-emails --account "<identifier>" --full
This will fetch untriaged inbox emails and queue them for triage.
npx claudepluginhub jarvusinnovations/claude-assist --plugin claude-assistCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.