Agent skill

Gmail Trigger

by vellum-ai in vellum-ai/vellum-assistant

Beta. An agent skill from vellum-ai/vellum-assistant.

MITAuto-check passedProductivity & Automation

Install Gmail Trigger

skills CLI
$ npx skills add vellum-ai/vellum-assistant --skill gmail-trigger -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install vellum-ai/vellum-assistant gmail-trigger --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gmail-trigger .claude/skills/gmail-trigger && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gmail-trigger
GitHub stars
1.4k
Token cost
~1.7k tokens
SKILL.md length
811 words
Files
2 (incl. scripts)
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

Beta. An agent skill from vellum-ai/vellum-assistant.

  • Works in 7 steps: Ensure Google is connected → Choose the accounts to watch → Collect the action prompt → …
  • Tasks that involve Email management
  • SKILL.md covers Why this instead of a watcher, Setup, How it works and Managing it
  • Runs TypeScript scripts from its folder; calls bun

What it does

Gmail Trigger is an agent skill from vellum-ai/vellum-assistant. Beta. Act on new Gmail as it arrives: get pinged only for urgent mail, digest newsletters, forward invoices — any standing instruction, across one or several accounts.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/poll.ts`). Compatibility notes: Designed for Vellum personal assistants

It sits in Productivity & Automation, covering Email management and Newsletters. It works with Gmail. The repository describes itself as: An AI Assistant that’s easy to setup, does your work 24/7, knows your preferences and gets better over time. The licence is MIT.

When your agent uses it

  • Tasks that involve Email management
  • Tasks that involve Newsletters

Example prompts

  • “/gmail-trigger”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): Designed for Vellum personal assistants

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Ensure Google is connected
  2. Choose the accounts to watch
  3. Collect the action prompt
  4. Ask about the first sync
  5. Create the schedule
  6. Copy the poll script into the schedule's directory
  7. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit c92ead1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Vellum personal assistants

    From compatibility in the SKILL.md frontmatter.

Context cost

Gmail Trigger loads about 1.7k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 811 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from vellum-ai/vellum-assistant at commit c92ead1, republished under its MIT licence (© vellum-ai). 811 words, ~1,691 tokens.

Download SKILL.mdSave it as .claude/skills/gmail-trigger/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
gmail-trigger
description
Beta. Act on new Gmail as it arrives: get pinged only for urgent mail, digest newsletters, forward invoices — any standing instruction, across one or several accounts.
compatibility
Designed for Vellum personal assistants
metadata.emoji
📬

Gmail Triggers (Beta)

Polls the user's Gmail inbox on a cron and escalates to the assistant only when a new message arrives — an empty poll spends zero LLM tokens. Installing it means creating a script-mode schedule that runs the schedule's own copy of the shipped poll script. Schedule mechanics (script mode, the schedules/<id>/ convention, waking the agent loop) are documented in the included schedule skill.

Why this instead of a watcher

A watcher could only be configured through its prompt and its cadence. This one is a script that belongs to the schedule, so the assistant can change anything about how it behaves by simply editing the script. And because it runs as a schedule, its runs, errors, and cost all show up on the Schedules page in the app.

Setup

1. Ensure Google is connected

The trigger reads Gmail through the user's Google OAuth connection with Gmail read access. Check with:

bash
assistant oauth status google

If no connection is found, load the vellum-oauth-integrations skill — it evaluates whether managed or your-own mode is appropriate and guides the user through connecting. Managed (proxy) and your-own OAuth both work — poll.ts calls Gmail via assistant oauth request, which resolves either automatically.

2. Choose the accounts to watch

If oauth status shows more than one active Google connection, ask the user which inboxes to watch and pass one --account <email> flag per chosen inbox. With a single connection the flag can be omitted. One schedule watches all chosen accounts and delivers one combined digest.

3. Collect the action prompt

Ask the user what should happen when new email arrives — e.g. "notify me only about emails needing a reply" or "summarize newsletters, flag anything from my boss". If the user doesn't care, omit the flag and the default applies: summarize what's new and flag anything urgent.

4. Ask about the first sync

By default the trigger starts from now and never escalates pre-existing email. Ask the user whether the first sync should instead include recent mail; if yes, append --lookback <duration> (90m/4h/2d/1w).

5. Create the schedule

Create a recurring script-mode schedule (default cadence every 15 minutes unless the user asks for a different one) whose command runs the schedule's own copy of the poll script with the flags chosen above:

bun "$VELLUM_WORKSPACE_DIR/schedules/$__SCHEDULE_ID/poll.ts" --account you@example.com --action-prompt 'Summarize new email; flag anything urgent'

Pass timeout_ms: 900000 — the poll's runtime includes the woken assistant turn. Single-quote the action prompt (the command runs through sh). All configuration lives in this command string, so it is visible in the schedule and editable later with assistant schedules update <id> --script "...".

6. Copy the poll script into the schedule's directory

Read the schedule id from the create result, then:

bash
mkdir -p "$VELLUM_WORKSPACE_DIR/schedules/<id>"
cp "$VELLUM_WORKSPACE_DIR/skills/gmail-trigger/scripts/poll.ts" "$VELLUM_WORKSPACE_DIR/schedules/<id>/poll.ts"

The schedule owns this copy — customizations made to it are never touched by skill upgrades. poll.ts self-provisions its state on first run; create nothing else.

7. Verify
bash
assistant schedules execute <id>
assistant schedules runs <id> --limit 1

The first run records {"ok":true,"new":0,"accounts":[{"account":"you@example.com","baselined":true,...}]}; later empty polls record "new":0 without baselined.

Show full SKILL.md (340 more words)Show less

How it works

  • Deterministic poll, LLM only on new mail. poll.ts syncs incrementally with Gmail's History API via assistant oauth request --provider google (no raw token in the script). Each mailbox's watermark is a Gmail historyId, advanced only past history records actually processed, so a truncated poll resumes where it left off. No model call on an empty poll.
  • Per-mailbox state. Watermarks and dedup are keyed by the email address Gmail reports for the connection, in SQLite under schedules/<id>/state/. Accounts baseline, advance, fail, and recover independently — one broken connection doesn't stop the others, and an account switch behind the schedule starts cleanly instead of misreading another mailbox's watermark.
  • At-most-once escalation. Each account's watermark and reported-message ledger commit before the digest is escalated, so a retried or restarted run never escalates the same message twice; a failed wake surfaces as a failed run instead of a duplicate digest. The ledger is script-local bookkeeping — nothing is written to Gmail, and read/unread state is untouched.
  • Expiry recovery. Gmail keeps history for roughly a week. If a stored historyId has expired, that account re-baselines and catches up with a one-day inbox search; the ledger absorbs the overlap.
  • Fenced escalation. New mail wakes a fresh conversation with the digest passed via --external-content (fenced as untrusted data, never instructions); the user's action prompt goes in --hint as the trusted framing. The digest carries full metadata for the 50 newest messages across all accounts (sorted by internalDate) plus per-account totals.
  • Self-contained. Built-ins + the assistant CLI only — no dependencies.

Managing it

  • Change cadence: update the schedule's expression.
  • Add or remove a watched account: edit the schedule's command string (--account flags).
  • Customize behavior: edit the schedule's copy of poll.ts directly.
  • Update to a newer shipped script: re-copy poll.ts from the skill directory into schedules/<id>/, re-applying any custom edits.
  • Pause / resume: disable / enable the schedule.
  • Remove: delete the schedule; optionally clean up its schedules/<id>/ directory.
  • If polls start failing on auth, try assistant oauth ping google (often refreshes an expired token); if that fails, load the vellum-oauth-integrations skill to reconnect.

© vellum-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/gmail-trigger of vellum-ai/vellum-assistant.

  • SKILL.md
  • scripts/poll.ts

Open the folder on GitHubat commit c92ead1

Compare with similar skills

Gmail Trigger next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gmail Trigger compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gmail Trigger this skillvellum-ai/vellum-assistant1.4k—~1.7kAutomated safety check: PassMIT
Gog Weekly Digestopenclaw/gogcli8.5k—~264Automated safety check: PassMIT
Agent Supply Chain NewsletterDataDog/datadog-agent3.8k—~1.2kAutomated safety check: PassApache-2.0
Gwsglebis/claude-skills389—~1.9kAutomated safety check: PassMIT
Triage Superhuman Inboxsuperset-sh/superset15k—~1.2kAutomated safety check: PassCustom licence
Spark Recipe Inbox By Categoryreaddle/spark-cli-skills149—~531Automated safety check: PassMIT

Similar skills

  • Gog Weekly Digest

    openclaw/gogcli

    Read-only weekly digest across Google Calendar, Gmail, and Tasks with gog.

    8.5k GitHub stars~264 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Agent Supply Chain Newsletter

    DataDog/datadog-agent

    Official

    Generate the Agent Supply Chain newsletter by researching team activity on GitHub and Confluence, then creating a Confluence draft and Gmail draft

    3.8k GitHub stars~1.2k tokensUpdated today
    Writing & ContentAuto-check passed
  • Gws

    glebis/claude-skills

    This skill should be used when interacting with Google Workspace services via the gws CLI — Gmail (search, triage, send, labels, filters, drafts), Calendar (agenda, events, Meet conferencing), Drive…

    389 GitHub stars~1.9k tokensUpdated 12 days ago
    Productivity & AutomationAuto-check passed
  • Triage Superhuman Inbox

    superset-sh/superset

    Work through a Superhuman inbox — sort what is there into needs a reply, waiting on someone else, worth knowing, and noise, then archive, star, label, remind, or unsubscribe only as the user directs.

    15k GitHub stars~1.2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Spark Recipe Inbox By Category

    readdle/spark-cli-skills

    Process inbox in priority order by Spark's smart categories: priority first, then people, invites, notifications, newsletters.

    149 GitHub stars~531 tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Inbox Unsubscribe Purge

    mohitagw15856/pm-claude-skills

    Cut inbox volume at the source — the unsubscribe purge that classifies recurring senders into kill/digest/keep, executes safely (real unsubscribes vs.

    1.4k GitHub stars~1.1k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed

More from vellum-ai/vellum-assistant

All 108 skills in this repo
  • Vellum GitHub App Setup

    vellum-ai/vellum-assistant

    Create and configure a GitHub App so the assistant can push commits, open PRs, and comment under its own bot identity.

    1.4k GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Discord App Setup

    vellum-ai/vellum-assistant

    Connect a Discord bot to the assistant via the Discord Gateway with guided application creation and intent configuration

    1.4k GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed
  • Sentry App Setup

    vellum-ai/vellum-assistant

    Create and configure a Sentry internal integration so the assistant can manage issues, alerts, and releases under its own identity

    1.4k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Memory Corpus Ingest

    vellum-ai/vellum-assistant

    Ingest a large dataset into memory as a skimmed map. An agent skill from vellum-ai/vellum-assistant.

    1.4k GitHub stars~3k tokensUpdated yesterday
    Auto-check: notes
  • Plugin Builder

    vellum-ai/vellum-assistant

    A skill your agent uses when the user wants to build, scaffold, ship, or edit a Vellum plugin that bundles multiple surfaces (hooks, tools, skills, and more) into one installable package.

    1.4k GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Slack App Setup

    vellum-ai/vellum-assistant

    Connect a Slack app to the Vellum Assistant via Socket Mode.

    1.4k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check: warnings

Works with

Questions about Gmail Trigger

What does Gmail Trigger do?

Beta. An agent skill from vellum-ai/vellum-assistant. Gmail Trigger is an agent skill from vellum-ai/vellum-assistant. Beta.

When should I use Gmail Trigger?

Gmail Trigger fits situations like: tasks that involve Email management; tasks that involve Newsletters.

How do I install Gmail Trigger in Claude Code?

Run `npx skills add vellum-ai/vellum-assistant --skill gmail-trigger -a claude-code`. Or copy the skill folder (skills/gmail-trigger in vellum-ai/vellum-assistant) into .claude/skills/gmail-trigger in your project. Claude Code loads it when a task matches its description.

How do I install Gmail Trigger in Codex?

Run `npx skills add vellum-ai/vellum-assistant --skill gmail-trigger -a codex`. Or copy the skill folder (skills/gmail-trigger in vellum-ai/vellum-assistant) into .agents/skills/gmail-trigger in your project. Codex loads it when a task matches its description.

Can I use Gmail Trigger in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vellum-ai/vellum-assistant --skill gmail-trigger -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gmail-trigger, .gemini/skills/gmail-trigger, .github/skills/gmail-trigger and .opencode/skills/gmail-trigger in your project.

What does Gmail Trigger need to run?

Going by SKILL.md and its folder, Gmail Trigger needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bun). Our summary lists: Node.js. Compatibility (from SKILL.md): Designed for Vellum personal assistants.

Does Gmail Trigger access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Gmail Trigger safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Gmail Trigger use?

Gmail Trigger is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gmail Trigger use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gmail Trigger?

Skills that share tags, products or a category with Gmail Trigger: Gog Weekly Digest (openclaw/gogcli, 8.5k stars), Agent Supply Chain Newsletter (DataDog/datadog-agent, 3.8k stars), Gws (glebis/claude-skills, 389 stars) and Triage Superhuman Inbox (superset-sh/superset, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gmail Trigger?

vellum-ai (a GitHub organization) maintains it in vellum-ai/vellum-assistant, which has 1,397 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 7, 2026.

Source: vellum-ai/vellum-assistant on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.