用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill google-email命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
基于 SOC 职业分类
正在显示 SKILL.md
| name | google-email |
| description | interact w/ Google Gmail inbox |
The google-email command is installed globally.
It is a dual-mode email management system for Gmail with offline analysis capabilities.
It provides:
The system is designed for AI agents to integrate email processing into workflows, supporting:
6498ce), used for Git-like partial matchingExample:
Gmail ID: 18d676f08ff64932bf93e7ec3c0adb2b
SHA1 Hash: 6498cec18d676f0328ff649bf933e7ec3c0adb2b
Short ID: 6498ce
Each email is stored as a Markdown file in storage/ with YAML front matter containing metadata, and the HTML body in a code block:
---
id: '18d676f08ff64932bf93e7ec3c0adb2b'
threadId: '18d676f08ff64932'
subject: 'Project Status Update'
from:
name: 'Alice Smith'
address: 'asmith@company.com'
toRecipients:
- name: 'Team'
address: 'team@company.com'
receivedDateTime: '2026-01-05T10:30:00Z'
isRead: false
labelIds:
- 'INBOX'
- 'UNREAD'
webLink: 'https://mail.google.com/mail/u/0/#inbox/18d676f08ff64932bf93e7ec3c0adb2b'
body:
contentType: html
_stored_id: '6498cec18d676f08ff64932bf93e7ec33c0adb2b'
_stored_at: '2026-01-05T18:05:13.476Z'
offline:
read: true
readAt: '2026-01-05T18:06:00.000Z'
---
# Project Status Update
```html
<html>
<head>...</head>
<body>
<p>Email content here...</p>
</body>
</html>
### ID Matching (Git-style)
All CLI commands support partial IDs. The system matches the longest unique prefix:
```bash
# These all refer to the same email:
google-email inbox view 6498cec18d676f08ff64932bf93e7ec33c0adb2b # Full (40 chars)
google-email inbox view 6498cec18d676f08 # 16 chars
google-email inbox view 6498ce # 6 chars (short)
google-email inbox view 6498 # 4 chars (if unique)
google-email inbox view 6498cec18d676f08ff64932bf93e7ec33c0adb2b.md # Filename format
Error on ambiguity:
Error: Ambiguous ID "62". Matches: 62e8e2d5adb20b15..., 62b19cb17ec4628a...
google-email pullPurpose: Fetch unread emails from Gmail, store locally as Markdown files, mark as read/processed in Gmail.
IMPORTANT: When instructed to fetch more emails, use this command. Always fetch exactly one email at a time (
--limit 1) unless specifically directed to pull more.
Command:
google-email pull --since <date> [--limit N]
Parameters:
--since <date>: Required. Fetch emails received on/after this date
YYYY-MM-DD, yesterday, "7 days ago", "1 day ago"--limit <n>: Optional. Stop after processing N emails (default: no limit)Behavior:
storage/<id>.mdExamples:
# RECOMMENDED: Pull exactly 1 new email (safest, most controlled)
google-email pull --since yesterday --limit 1
# Pull from specific date, one at a time
google-email pull --since 2026-01-01 --limit 1
# Pull from last week, one at a time
google-email pull --since "7 days ago" --limit 1
# Pull multiple emails (only when specifically instructed)
google-email pull --since yesterday --limit 5
Output Example:
Fetching unread emails since: 2026-01-05
Processing limit: 1
Found 14 unread emails.
✓ Stored: (71c95a+NOTICE: Password Expiration)
→ Marking as read...
→ Adding Processed label and archiving...
✓ Updated in Gmail
Reached processing limit of 1. Stopping.
Summary:
Available: 14
Processed: 1
Written: 1
Skipped: 0
All google-email commands work purely offline, reading/writing Markdown files in storage/.
google-email inbox summaryPurpose: Get overall email statistics
Command:
google-email inbox summary
Output:
Folder Summary:
===============
Inbox:
Unread: 46
Read: 1
Total: 47
Overall:
Unread: 46
Read: 1
Total: 47
google-email inbox list [OPTIONS]Purpose: List emails with filtering and display
Command:
google-email inbox list [--limit N] [--since DATE] [--all]
Options:
-l, --limit <n>: Max results (default: 10)--since <date>: Filter emails after date-a, --all: Include read emails (default: unread only)Output Example:
Showing 3 of 46 emails:
f86bca / Today 10:00 / Science Operations <ScienceOperations@company.com>
Science record review request
cda64a / Today 9:46 / Alice Johnson <alice@company.com>
Re: [team] Create new feature (PR #537)
8fb5bf / Today 9:01 / U.S. Payroll <payroll@company.com>
Payroll for 2026
... and 43 more
google-email inbox view <id>Purpose: Display full YAML content of an email
Command:
google-email inbox view <id>
Supports: Partial IDs, full IDs, or filename format
google-email inbox read <id>Purpose: Mark an email as read (offline only)
Command:
google-email inbox read <id>
Effect:
offline.read: true to YAML front matteroffline.readAt timestampgoogle-email inbox unread <id>Purpose: Mark an email as unread (offline only, reverses read state)
Command:
google-email inbox unread <id>
# Typical agent workflow
1. google-email pull --since yesterday # Get new emails
2. google-email inbox summary # Get stats
3. google-email inbox list --limit 50 # Scan subjects
4. google-email inbox view <id> # Get full content
5. <agent analyzes>
6. google-email inbox read <id> # Mark processed
# Process in batches to avoid overwhelming
1. google-email pull --since yesterday --limit 20 # Get batch
2. for each email:
a. google-email inbox view <id> | extract content
b. Send to AI for analysis
c. Store result in database
d. google-email inbox read <id> # Mark done
3. Repeat if more emails available
google-email inbox view 6498ce | yq '.from.name'
# Output: "Alice Smith"
google-email inbox view 6498ce | yq '.toRecipients[].address'
google-email inbox view 6498ce | yq '.subject'
google-email inbox view 6498ce | yq '.receivedDateTime'
google-email inbox view 6498ce | yq '.offline.read'
google-email inbox summary6498ce instead of full hashgoogle-email inbox view <id> | yq '.field'--limit 5 or --limit 1 when prototypingread after processing to track stateyesterday, "7 days ago" are clearerstorage/ are Markdown with YAML front matter (Git-friendly)offline.* fields are never overwritten by pullpull syncs Gmail → storage; read/unread mark locally only