agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Google OAuth2 client credentials (downloaded from Google Cloud Console)
$ npx -y skills add johnson7788/multiuserclaw --skill google-workspace --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/google-workspaceContext preview
The summary Claude sees to decide when to auto-load this skill.
Google OAuth2 client credentials (downloaded from Google Cloud Console)
name: google-workspace
description: "Gmail, Calendar, Drive, Docs, Sheets via gws CLI or Python."
version: 1.1.0
author: Nous Research
license: MIT
platforms: [linux, macos, windows]
required_credential_files:
- path: google_token.json
description: Google OAuth2 token (created by setup script)
- path: google_client_secret.json
description: Google OAuth2 client credentials (downloaded from Google Cloud Console)
metadata:
hermes:
tags: [Google, Gmail, Calendar, Drive, Sheets, Docs, Contacts, Email, OAuth]
homepage: https://github.com/NousResearch/hermes-agent
related_skills: [himalaya]Gmail, Calendar, Drive, Contacts, Sheets, and Docs — through Hermes-managed OAuth and a thin CLI wrapper. When `gws` is installed, the skill uses it as the execution backend for broader Google Workspace coverage; otherwise it falls back to the bundled Python client implementation.
The setup is fully non-interactive — you drive it step by step so it works on CLI, Telegram, Discord, or any platform.
Define a shorthand first:
GSETUP="python ${HERMES_HOME:-$HOME/.hermes}/skills/productivity/google-workspace/scripts/setup.py"$GSETUP --check
If it prints `AUTHENTICATED`, skip to Usage — setup is already done.
Before starting OAuth setup, ask the user TWO questions:
**Question 1: "What Google services do you need? Just email, or also Calendar/Drive/Sheets/Docs?"**
instead — it works with a Gmail App Password (Settings → Security → App Passwords) and takes 2 minutes to set up. No Google Cloud project needed. Load the himalaya skill and follow its setup instructions.
`--services email,calendar` during auth so the consent screen only asks for the scopes they actually need.
narrower `--services` set like `calendar,drive,sheets,docs`.
`all` service set.
**Question 2: "Does your Google account use Advanced Protection (hardware security keys required to sign in)? If you're not sure, you probably don't — it's something you would have explicitly enrolled in."**
allowed apps list before Step 4 will work. Let them know upfront.
Tell the user:
> You need a Google Cloud OAuth client. This is a one-time setup: > > 1. Create or select a project: > https://console.cloud.google.com/projectselector2/home/dashboard > 2. Enable the required APIs from the API Library: > https://console.cloud.google.com/apis/library > Enable: Gmail API, Google Calendar API, Google Drive API, > Google Sheets API, Google Docs API, People API > 3. Create the OAuth client here: > https://console.cloud.google.com/apis/credentials > Credentials → Create Credentials → OAuth 2.0 Client ID > 4. Application type: "Desktop app" → Create > 5. If the app is still in Testing, add the user's Google account as a test user here: > https://console.cloud.google.com/auth/audience > Audience → Test users → Add users > 6. Download the JSON file and tell me the file path > > Important Hermes CLI note: if the file path starts with `/`, do NOT send only the bare path as its own message in the CLI, because it can be mistaken for a slash command. Send it in a sentence instead, like: > `The JSON file path is: /home/user/Downloads/client_secret_....json`
Once they provide the path:
$GSETUP --client-secret /path/to/client_secret.json
If they paste the raw client ID / client secret values instead of a file path, write a valid Desktop OAuth JSON file for them yourself, save it somewhere explicit (for example `~/Downloads/hermes-google-client-secret.json`), then run `--client-secret` against that file.
Use the service set chosen in Step 1. Examples:
$GSETUP --auth-url --services email,calendar --format json $GSETUP --auth-url --services calendar,drive,sheets,docs --format json $GSETUP --auth-url --services all --format json
This returns JSON with an `auth_url` field and also saves the exact URL to `~/.hermes/google_oauth_last_url.txt`.
Agent rules for this step:
The user will paste back either a URL like `http://localhost:1/?code=4/0A...&scope=...` or just the code string. Either works. The `--auth-url` step stores a temporary pending OAuth session locally so `--auth-code` can complete the PKCE exchange later, even on headless systems:
$GSETUP --auth-code "THE_URL_OR_CODE_THE_USER_PASTED" --format json
If `--auth-code` fails because the code expired, was already used, or came from an older browser tab, it now returns a fresh `fresh_auth_url`. In that case, immediately send the new URL to the user and have
基于 Hermes 改造的轻量级 AI 助手框架,可以快速打造商用 SaaS 平台,支持多租户隔离部署、多平台渠道接入、工具调用、定时任务和 Web 实时通信。 在线体验地址: (直接注册即可使用) 当前默认内核后端:Hermes Agent
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks,…