Gws
kv0906/pm-kit
This skill should be used when the user asks to "set up gws", "install Google Workspace CLI", "connect Gmail to Claude", "manage Google Drive from terminal", "send email from CLI", "check my…
Set up and verify Apple Mail search on macOS, including the search index that silently returns nothing when it was never built.
$ npx skills add davekilleen/Dex --skill apple-mail-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install davekilleen/Dex apple-mail-setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/apple-mail-setup .claude/skills/apple-mail-setup && rm -rf skills-srcUse ~/.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/
Install the "apple-mail-setup" agent skill from https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setup into .claude/skills/apple-mail-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-mail-setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add davekilleen/Dex --skill apple-mail-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install davekilleen/Dex apple-mail-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/apple-mail-setup .agents/skills/apple-mail-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "apple-mail-setup" agent skill from https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setup into .agents/skills/apple-mail-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-mail-setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davekilleen/Dex --skill apple-mail-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install davekilleen/Dex apple-mail-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/apple-mail-setup .cursor/skills/apple-mail-setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "apple-mail-setup" agent skill from https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setup into .cursor/skills/apple-mail-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-mail-setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/davekilleen/Dex.git --path .claude/skills/apple-mail-setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add davekilleen/Dex --skill apple-mail-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install davekilleen/Dex apple-mail-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/apple-mail-setup .gemini/skills/apple-mail-setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "apple-mail-setup" agent skill from https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setup into .gemini/skills/apple-mail-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-mail-setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install davekilleen/Dex apple-mail-setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add davekilleen/Dex --skill apple-mail-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/apple-mail-setup .github/skills/apple-mail-setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "apple-mail-setup" agent skill from https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setup into .github/skills/apple-mail-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-mail-setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davekilleen/Dex --skill apple-mail-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install davekilleen/Dex apple-mail-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/apple-mail-setup .opencode/skills/apple-mail-setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "apple-mail-setup" agent skill from https://github.com/davekilleen/Dex/tree/main/.claude/skills/apple-mail-setup into .opencode/skills/apple-mail-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apple-mail-setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
apple-mail-setupSet up and verify Apple Mail search on macOS, including the search index that silently returns nothing when it was never built.
Apple Mail Setup is an agent skill from davekilleen/Dex. Set up and verify Apple Mail search on macOS, including the search index that silently returns nothing when it was never built. Use when the user says 'connect Apple Mail', 'set up mail search', 'Dex can't find my emails', 'mail search returns nothing'. Not for Gmail or Google Workspace; use google-workspace-setup.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Documents & Office, covering Cloud office suites and Email management. It works with Google Workspace, macOS, Gmail and Model Context Protocol. The repository describes itself as: Your AI Chief of Staff — a personal operating system starter kit that adapts to your role. No coding required. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 227f78e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pipxclaudebrewFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pipx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Apple Mail Setup loads about 2.5k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 1,400 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from davekilleen/Dex at commit 227f78e, republished under its MIT licence (© davekilleen). 1,400 words, ~2,484 tokens.
.claude/skills/apple-mail-setup/SKILL.md (or your agent's skills folder).Purpose: Connect a community Apple Mail MCP server and — critically — build and verify its search index, so mail search reports honestly instead of failing silently.
When to run:
/apple-mail-setup/dex-doctor reports mail.apple-search as brokenApple Mail servers have two data paths with different permissions, and only one of them announces failure:
| Path | Needs | What happens when it's missing |
|---|---|---|
| List / read messages | Automation permission | Prompts you — you notice |
| Search | A pre-built local index (default ~/.apple-mail-mcp/index.db), which requires Full Disk Access to build and to keep current | Looks empty — or worse, returns subject/sender hits labelled as body matches. |
Because list and read keep working, the integration looks healthy. On older server versions, search returned nothing. On the current supported release (0.4.3), a missing index no longer stays silent: body search falls through to a live Mail query of subject and sender, then labels those hits as body matches. That is plausible-looking evidence for a search that never read a message body.
One reporter ran the silent version for months. The labelled-as-body version is worse than silence.
So this setup is not finished when the server is registered. It is finished when the
index exists, the serving process can read ~/Library/Mail, and /dex-doctor reports
mail.apple-search as OK.
Apple Mail is macOS-only. On any other platform, say so plainly and stop:
"Apple Mail integration only works on macOS. For Gmail, run /google-workspace-setup."
Check whether it is already installed: which apple-mail-mcp
If not, install the version Dex currently supports and tests:
pipx install 'apple-mail-mcp==0.4.3'
apple-mail-mcp is community-maintained. Version 0.4.3 is Dex's current supported
contract for its index schema and CLI. Do not upgrade it during setup; a newer community
release should be adopted only after Dex's health checks and macOS CI prove compatibility.
If pipx itself is missing: brew install pipx && pipx ensurepath
Dex requires an explicit scope (a hook enforces this). Register it for the user:
claude mcp add --scope user apple-mail -- apple-mail-mcp serveThis is the step people skip, and skipping it is what produces the silent (or worse,
plausible-looking) failure. Building the index reads ~/Library/Mail directly, which
macOS protects. Keeping the index current does the same read from whatever process
launches the Mail server — that is Dex, Claude, or Cursor, not the terminal that ran
index.
Those are two different grants. The one you would naturally test (Terminal) is not the one that keeps search alive.
Full Disk Access is a broad macOS permission: the approved app can read protected personal data across the Mac, not only Mail. Grant it to:
index commandWalk the user through it for each app:
1. Open System Settings (Command+Space, type "System Settings")
2. Click "Privacy & Security" in the sidebar
3. Click "Full Disk Access"
4. Click "+" and add the app
5. Toggle it ON
6. Quit and reopen that app — the permission only applies to a fresh launchExplain why in one line: "macOS treats your mail files as private. The indexer needs permission to build the search copy, and the app that runs Mail search needs the same permission to keep that copy current — without it, refresh can report success after reading nothing."
If any Dex, Claude, or Cursor session is using Mail search, quit those first. A live Mail server holds the search-index lock for its whole life, so the command below fails while those sessions are open.
Have the user run, in the terminal they just granted access to:
umask 077; apple-mail-mcp index --verboseumask 077 makes any new database and SQLite sidecar files private to this Mac account.
The build takes a few minutes on a large mailbox and must be run manually. After the
build, leave Full Disk Access on for the app that launches the Mail server. Background
sync reads ~/Library/Mail the same way the indexer does; if that grant is missing,
every refresh can return zero changes and still write a fresh "last synced" time.
apple-mail-mcp statusThen confirm through Dex itself: /dex-doctor — check mail.apple-search reports OK.
Doctor also verifies that the database and any -wal / -shm sidecars are exactly 0600
(readable and writable only by this Mac account).
Confirm: "✅ Mail search is working — indexed and fresh."
Then tell them the two maintenance facts that matter:
~/Library/Mail, not only that the index file looks fresh./dex-doctor runs mail.apple-search as a deep check and reports:
| Verdict | Meaning |
|---|---|
OFF | No Apple Mail server registered — opt-in, not a problem |
OK | The configured SQLite index has real schema and data, a successful sync within its configured freshness limit, private file permissions, and this process can read ~/Library/Mail |
BROKEN | Command missing; config invalid; index missing, empty, unreadable, corrupt, incomplete, stale, readable by other local accounts, or the serving process cannot read the Mail store — each with the exact fix and the Full Disk Access prerequisite |
UNKNOWN | A server is registered but this isn't macOS |
Search returns empty but status says an index exists:
Run /dex-doctor. A file can exist while its schema is broken, it contains zero messages,
or its recorded sync is stale. If Doctor asks you to rebuild, quit every Dex, Claude, or Cursor session that is using Mail search first, then run apple-mail-mcp rebuild --verbose.
A live Mail server holds the search-index lock for its whole life.
The index is in a custom location:
Dex follows APPLE_MAIL_INDEX_PATH from the registered MCP server first, then [index] path
in ~/.apple-mail-mcp/config.toml, then the default location. Doctor applies the same order.
"No index found" even after granting Full Disk Access: Quit Terminal completely (Command+Q, not just closing the window) and reopen it. macOS applies the permission at launch.
Search worked before and stopped:
Run apple-mail-mcp status, then /dex-doctor. A recent last-sync time is not enough —
if Doctor says the serving process cannot read ~/Library/Mail, grant Full Disk Access
to Dex / Claude / Cursor (not only Terminal), quit and reopen that app, then rebuild.
If Doctor asks you to refresh or rebuild the index, quit every Dex, Claude, or Cursor session that is using Mail search first — a live Mail server holds the search-index lock for its whole life, so the refresh command fails while those sessions stay open.
Search returns subject-looking hits labelled as body matches:
On 0.4.3, body search with no usable index falls through to a live Mail query of
subject and sender. Treat that as broken, not as evidence. Run /dex-doctor.
The model keeps retrying searches with different keywords:
That's the server's empty-result hint ("try fewer keywords") being misread as a search miss
rather than a missing index. Run apple-mail-mcp status to check the real cause — and if it
says no index, that hint was the bug, not your query.
~/.apple-mail-mcp/index.db by default; the server supports a custom
path through its MCP environment or config.toml.emlx paths, attachment
metadata, and sync records; the database plus any -wal / -shm sidecars must be 0600© davekilleen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/apple-mail-setup of davekilleen/Dex.
Open the folder on GitHubat commit 227f78e
Apple Mail Setup 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Apple Mail Setup this skilldavekilleen/Dex | 493 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Gwskv0906/pm-kit | 138 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Google Workspaceswarmclawai/swarmclaw | 688 | — | ~680 | Automated safety check: Pass | MIT | |
| Google Workspace CLIhoodini/ai-agents-skills | 282 | — | ~10k | Automated safety check: Notes | None | |
| Managing Google Workspacetaylorwilsdon/google_workspace_mcp | 3.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Google Workspacemitsuhiko/agent-stuff | 3.2k | — | ~919 | Automated safety check: Pass | Apache-2.0 |
kv0906/pm-kit
This skill should be used when the user asks to "set up gws", "install Google Workspace CLI", "connect Gmail to Claude", "manage Google Drive from terminal", "send email from CLI", "check my…
swarmclawai/swarmclaw
Use Google Workspace CLI (gws) for Drive, Docs, Sheets, Gmail, Calendar, Chat, and related Workspace API tasks.
hoodini/ai-agents-skills
Interact with all Google Workspace APIs via the gws CLI. An agent skill from hoodini/ai-agents-skills.
taylorwilsdon/google_workspace_mcp
Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).
mitsuhiko/agent-stuff
Access Google Workspace APIs (Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, People) via local helper scripts without MCP.
provos/ironcurtain
Reference for Gmail's search query syntax — operators like is:sent, newerthan:, from:, has:attachment, label:, and how they compose.
davekilleen/Dex
This skill should be used when working with DSPy.rb, a Ruby framework for building type-safe, composable LLM applications.
davekilleen/Dex
Adopt a full published Heydex profile by handle ('set me up like @davekilleen').
davekilleen/Dex
Package one workflow — how you use Dex for a specific job — into a shareable DexDiff methodology doc.
davekilleen/Dex
Expert guidance for creating, writing, and refining Claude Code Skills.
davekilleen/Dex
Report a Dex bug to the Dex team with zero homework — Dex investigates locally, builds a privacy-safe report, shows it to you (or auto-sends if you've chosen that), and tracks the ticket until it's…
davekilleen/Dex
This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style.
Set up and verify Apple Mail search on macOS, including the search index that silently returns nothing when it was never built. Apple Mail Setup is an agent skill from davekilleen/Dex. Set up and verify Apple Mail search on macOS, including the search index that silently returns nothing when it was never built.
Apple Mail Setup fits situations like: the user says connect Apple Mail; set up mail search; dex cant find my emails; mail search returns nothing.
Run `npx skills add davekilleen/Dex --skill apple-mail-setup -a claude-code`. Or copy the skill folder (.claude/skills/apple-mail-setup in davekilleen/Dex) into .claude/skills/apple-mail-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add davekilleen/Dex --skill apple-mail-setup -a codex`. Or copy the skill folder (.claude/skills/apple-mail-setup in davekilleen/Dex) into .agents/skills/apple-mail-setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davekilleen/Dex --skill apple-mail-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apple-mail-setup, .gemini/skills/apple-mail-setup, .github/skills/apple-mail-setup and .opencode/skills/apple-mail-setup in your project.
Going by SKILL.md and its folder, Apple Mail Setup needs the command-line tools its instructions call (pipx, claude and brew).
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.
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. Review the folder before installing.
Apple Mail Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Apple Mail Setup: Gws (kv0906/pm-kit, 138 stars), Google Workspace (swarmclawai/swarmclaw, 688 stars), Google Workspace CLI (hoodini/ai-agents-skills, 282 stars) and Managing Google Workspace (taylorwilsdon/google_workspace_mcp, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
davekilleen (a GitHub user) maintains it in davekilleen/Dex, which has 493 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 8, 2026.
Source: davekilleen/Dex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.