google-master

This is NOT a user-facing skill. It's a shared resource library referenced by all Google integration skills.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "google-master" with this command: npx skills add abdullahbeam/nexus-design-abdullah/abdullahbeam-nexus-design-abdullah-google-master

Google Master

This is NOT a user-facing skill. It's a shared resource library referenced by all Google integration skills.

Purpose

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.

Architecture: DRY Principle

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:

  • Single OAuth flow for all Google services

  • One credentials source (.env file with GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_PROJECT_ID)

  • One unified token with all scopes

  • Consistent error handling across skills

Shared Resources

All Google skills reference these resources (progressive disclosure).

scripts/

Authentication & Configuration

google_auth.py - Unified OAuth for all Google services

python google_auth.py --check [--service SERVICE] [--json] python google_auth.py --login [--service SERVICE] python google_auth.py --logout 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:

  • 0 = configured and ready

  • 1 = needs login (credentials exist but not authenticated)

  • 2 = not configured (missing credentials or dependencies)

When to Use: Run this FIRST before any Google operation. Called automatically by individual skills.

check_google_config.py - Pre-flight validation

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.

references/

setup-guide.md - Complete setup wizard

  • Creating Google Cloud project

  • Enabling APIs (Gmail, Docs, Sheets, Calendar)

  • Creating OAuth 2.0 credentials

  • Adding credentials to .env file

  • First-time authentication flow

error-handling.md - Troubleshooting

  • Common errors and solutions

  • HTTP error codes (401, 403, 404)

  • Scope/permission issues

  • Rate limiting

  • Token refresh failures

api-patterns.md - Common patterns

  • Authentication headers

  • Pagination

  • Batch requests

  • Error responses

Service Scopes

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 Locations

File Location Purpose

OAuth credentials .env (GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_PROJECT_ID) App identity from Google Cloud

Access token 01-memory/integrations/google-token.json

User's authenticated token

How Skills Reference This

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

NEXUS_ROOT = Path(file).resolve().parents[4] # Adjust based on skill location sys.path.insert(0, str(NEXUS_ROOT / "00-system/skills/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')

Intelligent Error Detection Flow

When a Google skill fails due to missing configuration, the AI should:

Step 1: Run Config Check with JSON Output

python 00-system/skills/google/google-master/scripts/check_google_config.py --json

Step 2: Parse the 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

Step 3: Help User Fix Issues

If credentials missing:

  • Direct user to: https://console.cloud.google.com/

  • Guide through: APIs & Services > Credentials > Create OAuth Client ID (Desktop app)

  • Copy Client ID and Client Secret, add to .env : GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=your-client-secret GOOGLE_PROJECT_ID=your-project-id

  • Run --login to authenticate

Usage Example

User says: "send an email to john@example.com"

What happens:

  • AI loads gmail skill (NOT google-master)

  • gmail SKILL.md says: "Run pre-flight check first"

  • AI executes: python google-master/scripts/google_auth.py --check --service gmail

  • If exit code 0: proceed with gmail_operations.py

  • If exit code 1: run --login automatically

  • If exit code 2: load error-handling.md, guide user through setup

google-master is NEVER loaded directly - it's just a resource library.

Adding New Google Services

To add a new Google service (e.g., Google Drive, Google Tasks):

  • Add scopes to SCOPES dict in google_auth.py

  • Create new skill folder with operations script

  • Import get_service() from google-master

  • Document in this SKILL.md

Version: 1.0 Created: 2025-12-17 Updated: 2025-12-17 Status: Production Ready

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

mental-models

No summary provided by upstream source.

Repository SourceNeeds Review
General

notion-connect

No summary provided by upstream source.

Repository SourceNeeds Review
General

google-tasks

No summary provided by upstream source.

Repository SourceNeeds Review
General

airtable-master

No summary provided by upstream source.

Repository SourceNeeds Review