How Mail actions pick between the real Gmail API and synthetic local-emails fallback data per user. Use when mail data looks fake or empty, when a user has no connected Google account, or before claiming a message really was sent or fetched from Gmail.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add BuilderIO/agent-native --skill mail-backends --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mail Backends?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/builderio-mail-backends)More formats (shields.io, HTML) on the badges page.
---
name: mail-backends
description: >-
How Mail actions pick between the real Gmail API and synthetic local-emails
fallback data per user. Use when mail data looks fake or empty, when a user
has no connected Google account, or before claiming a message really was
sent or fetched from Gmail.
---
# Mail Backends
## Rule
**Two mail backends, chosen automatically per user.** When the user has a
connected Google account (`isConnected(ownerEmail)`), actions call the real
Gmail API. When no account is connected, the same actions fall back
transparently to synthetic `local-emails` data stored via `getUserSetting` /
`putUserSetting`. Never assume Gmail is connected — actions like
`search-emails`, `list-emails`, `get-thread`, `get-email`, and `move-email`
branch on this internally, so call them the same way either way.
## Why it matters
The fallback exists so the app is usable and demoable without OAuth. It is not
a queue that later flushes to Gmail. If you are in fallback mode, do not tell
the user that mail left their real inbox or that a real Gmail record changed —
say the data is local demo state.
## Related Skills
- `inbox-reads-and-triage` — reading mail and reporting coverage honestly.
- `email-drafts` — what `send-email` does in each mode, including the synthetic
"Sent" item written to `local-emails`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!
Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.
**Complete production-ready guide for Google Gemini embeddings API** This skill provides comprehensive coverage of the `gemini-embedding-001` model for generating text embeddings, including SDK usage, REST API patterns, batch processing, RAG integration with Cloudflare Vectorize, and advanced use cases like semantic search and document clustering. ---
Interview, source-challenge, verify, save, and ADR-gate fuzzy coding requests into Codex-ready implementation specs. Use when a feature, bugfix, refactor, migration, repo-wide change, or architecture task needs user-verified requirements, source-backed decisions, durable architecture decisions, acceptance criteria, validation commands, rollout notes, saved spec/ADR files, and a Codex execution prompt. Do not use when already fully specified or when the user wants direct implementation now.