SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill google-email명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
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.
| 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