skills/integrations/google/google-master/SKILL.md
Shared resource library for Google integration skills. DO NOT load directly - provides common references (setup, API docs, error handling, authentication) and scripts used by gmail, google-docs, google-sheets, google-calendar, and future Google skills.
npx skillsauth add beam-ai-team/beam-next-skills google-masterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is NOT a user-facing skill. It's a shared resource library referenced by all Google integration skills.
This shared library may authenticate and execute Google Workspace operations. Before OAuth login, credential/token writes, or any operation that sends email, creates calendar events, changes files, writes sheets/docs/slides, or creates tasks, show the account, service, scopes, target resource, payload summary, and side effects. Require explicit user approval in the current turn before mutating Google Workspace or writing local files. Config checks and read-only metadata queries do not require additional approval after scope is confirmed.
Provides shared resources to eliminate duplication across:
gmail - Email operations (read, send, reply, forward)google-docs - Document operations (read, write, create, export)google-sheets - Spreadsheet operations (read, write, append)google-calendar - Calendar operations (events, availability, scheduling)Instead of loading this skill, users directly invoke the specific skill they need above.
Problem solved: Google skills would have duplicated content (OAuth setup, credentials management, error handling, API patterns).
Solution: Extract shared content into google-master/references/ and google-master/scripts/, then reference from each skill.
Result:
.env file with GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_PROJECT_ID)All Google skills reference these resources (progressive disclosure).
google_auth.py - Unified OAuth for all Google services
uv run python google_auth.py --check [--service SERVICE] [--json]
uv run python google_auth.py --login [--service SERVICE]
uv run python google_auth.py --logout
uv run python google_auth.py --status
| Argument | Required | Default | Description |
|----------|----------|---------|-------------|
| --check | No | - | Check if authenticated and ready |
| --login | No | - | Initiate OAuth login flow |
| --logout | No | - | Remove stored token |
| --status | No | - | Show detailed auth status |
| --service | No | all | Specific service: gmail, docs, sheets, calendar, or all |
| --json | No | False | Output as JSON |
Exit codes:
When to Use: Run this FIRST before any Google operation. Called automatically by individual skills.
check_google_config.py - Pre-flight validation
uv run python check_google_config.py [--json]
| Argument | Required | Default | Description |
|----------|----------|---------|-------------|
| --json | No | False | Output structured JSON for AI consumption |
When to Use: Quick check if Google integration is configured. Use for diagnostics.
setup-guide.md - Complete setup wizard
.env fileerror-handling.md - Troubleshooting
api-patterns.md - Common patterns
The unified token requests all scopes on first login:
| Service | Scopes | |---------|--------| | Gmail | gmail.readonly, gmail.send, gmail.compose, gmail.modify, gmail.labels | | Docs | documents, drive | | Sheets | spreadsheets, drive.readonly | | Calendar | calendar, calendar.events |
Note: User grants all permissions once, then all Google skills work.
| File | Location | Purpose |
|------|----------|---------|
| OAuth credentials | .env (GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_PROJECT_ID) | App identity from Google Cloud |
| Access token | 02-memory/integrations/google-token.json | User's authenticated token |
Each skill imports the shared auth module:
# In any Google skill's operations script
import sys
from pathlib import Path
# Add google-master to path
BEAM_NEXT_ROOT = Path(__file__).resolve().parents[4] # Adjust based on skill location
sys.path.insert(0, str(BEAM_NEXT_ROOT / "skills/integrations/google/google-master/scripts"))
from google_auth import get_credentials, get_service
# Get authenticated service
gmail = get_service('gmail', 'v1')
docs = get_service('docs', 'v1')
sheets = get_service('sheets', 'v4')
calendar = get_service('calendar', 'v3')
When a Google skill fails due to missing configuration, the AI should:
uv run python skills/integrations/google/google-master/scripts/check_google_config.py --json
ai_action Field| ai_action | What to Do |
|-----------|------------|
| proceed | Config OK, continue with operation |
| install_dependencies | Run: pip install google-auth google-auth-oauthlib google-api-python-client |
| need_credentials | Guide user to create OAuth credentials in Google Cloud Console |
| need_login | Run: python google_auth.py --login |
If credentials missing:
.env:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_PROJECT_ID=your-project-id
--login to authenticateUser says: "send an email to [email protected]"
What happens:
gmail skill (NOT google-master)gmail SKILL.md says: "Run pre-flight check first"python google-master/scripts/google_auth.py --check --service gmail--login automaticallygoogle-master is NEVER loaded directly - it's just a resource library.
To add a new Google service (e.g., Google Drive, Google Tasks):
SCOPES dict in google_auth.pyget_service() from google-masterVersion: 1.0 Created: 2025-12-17 Updated: 2025-12-17 Status: Production Ready
tools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.