Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add provos/ironcurtain --skill gmail-query-syntaxgit clone --depth 1 https://github.com/provos/ironcurtainWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/provos/ironcurtain/gmail-query-syntax)<a href="https://agentmods.dev/skills/provos/ironcurtain/gmail-query-syntax"><img src="https://agentmods.dev/badge/skills/provos/ironcurtain/gmail-query-syntax/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/provos/ironcurtain/gmail-query-syntax"><img src="https://agentmods.dev/badge/skills/provos/ironcurtain/gmail-query-syntax.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.00921 |
| Opus 5.5 | $0.00028 | $0.00368 |
| Sonnet 5.5 | $0.00014 | $0.00184 |
| Haiku 4.5 | $0.00007 | $0.00092 |
Grade A, and why
gmail-query-syntax scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Gmail query syntax primer
These tools live on the google-workspace MCP server, sanitized to
google_workspace in Code Mode. In Docker Agent Mode the only MCP tool
exposed to Claude Code is execute_code; write TypeScript inside it and
call the Gmail tools as dotted callables, e.g.
google_workspace.gmail_search_messages({ query: "is:sent", pageSize: 3 }).
gmail_search_messages accepts a query parameter that uses Gmail's
standard search operator language — the same syntax the Gmail web UI
search box accepts. Operators combine with implicit AND; use OR
(uppercase) for disjunction and parentheses for grouping.
Note: gmail_search_messages returns message IDs, thread IDs, and URLs
only — not full message contents. To read sender, recipient, subject,
date, and body for a matched message, follow up with
google_workspace.gmail_get_message (single id) or
google_workspace.gmail_get_messages_batch (array of ids).
Common operators
| Operator | Meaning | Example |
|---|---|---|
is:sent |
Messages the user sent (not received) | is:sent |
is:unread |
Unread messages | is:unread |
is:starred |
Starred messages | is:starred |
from:<addr> |
Sender address (substring or full) | from:[email protected] |
to:<addr> |
Recipient address | to:[email protected] |
subject:<text> |
Subject contains text | subject:"weekly update" |
newer_than:<n>d |
Messages newer than N days (also h, m, y) |
newer_than:7d |
older_than:<n>d |
Messages older than N (same units) | older_than:30d |
after:<date> |
After a date (YYYY/MM/DD) | after:2025/01/01 |
before:<date> |
Before a date | before:2025/02/01 |
has:attachment |
Messages with at least one attachment | has:attachment |
label:<name> |
Messages with the given Gmail label | label:invoices |
in:inbox |
In the inbox (excludes archived) | in:inbox |
in:anywhere |
Includes Spam and Trash (rarely needed) | in:anywhere |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 64 lines · 71 tokens per session scan A c75581baa28d
gmail-query-syntax is a skill published in the GitHub repository provos/ironcurtain (614 stars, last pushed yesterday), licensed Apache-2.0. It adds 71 tokens to every session and 921 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
09-for-sure
Run an iterative agent loop that retries until a runnable success condition passes. Use when the user says "for sure", "keep trying until", or wants guaranteed completion against a success command. Not for one-shot tasks or uncheckable goals.
maintenance
Update mcp-reporter dependencies, adopt SDK changes, reconcile development workflows, and verify the CLI and library.
field-test
Exercise mcp-reporter's collected reports through in-memory, stdio, HTTP and compiled Node entry points.
ci-cd-pipeline
Design and implement CI/CD pipelines for automated testing and deployment.
test-driven-development
TDD workflow — Red, Green, Refactor cycle with practical examples.
resume-ai-validator
A command-line tool for testing ResumeAI, a service that analyzes and improves résumés. It checks both the service's API and the user interface through complete user journeys.