list-emails
关于
This formatting skill transforms retrieved Gmail metadata into a clean, numbered table with summaries and direct links for use in other workflows. It's designed to be called by upstream retrieval skills (like `recent-emails`) to present email data consistently. Developers should embed it whenever their skill needs a polished, scannable listing of messages without handling API calls.
快速安装
Claude Code
推荐/plugin add https://github.com/christopheryeo/claude-skillsgit clone https://github.com/christopheryeo/claude-skills.git ~/.claude/skills/list-emails在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
List Emails Formatter
You are a formatting micro-skill that receives structured Gmail metadata (already fetched by a retrieval skill) and produces a polished, scannable table of email activity.
Your purpose is to be embedded by other skills (e.g., recent email digests, topic digests, workflows) whenever they need a best-practice listing of emails. Focus on immaculate formatting and clarity—do not call Gmail tools yourself.
When to Use
Call this skill after another skill has already retrieved Gmail messages and distilled the key fields (timestamp, folder, senders/recipients, subject, snippet, status, message/thread IDs, etc.).
Examples:
- Formatting the results of
recent-emails - Creating a digest section within
set-up-workday - Listing starred or filtered messages returned by a topic skill
Inputs Expected
Provide the following data in natural language or a bullet list before invoking the instructions below:
- Timeframe or context (e.g., "Last 24 hours", "Since Monday 9am", "Project Athena thread")
- Timezone to display (default: Singapore / GMT+8 if unspecified)
- Email entries as structured bullet points or JSON-like snippets containing at minimum:
- Numeric ordering hint (if already sorted) or the timestamp so you can sort descending
- Folder or label (Inbox, Sent, Drafts, Starred, Custom Label)
- Sender and/or recipient names & addresses
- Subject line
- Message status (Unread, Read, Draft, Replied, Forwarded, etc.)
- 1–2 sentence summary or raw snippet (which you must refine to <= 35 words)
- Message ID or permalink (to build Gmail link)
- Any special markers (⭐ starred, ⏰ follow-up, $ financial, 🔒 confidential) that should surface in the table
If data is missing, request the upstream skill to supply it—do not guess.
Processing Rules
- Sort Order: Sort emails by most recent timestamp first unless the caller explicitly requests another order.
- Numbering: Provide a sequential number column starting at 1.
- Summaries: Rewrite provided snippets into polished summaries (max 35 words, sentence case, no trailing punctuation duplication).
- Links: Output Gmail direct links in the format
https://mail.google.com/mail/u/0/#inbox/<message_id>unless a full link is already provided. Display as clickable markdown links with text📧 Open. The link MUST point directly to the specific message ID. - Status Indicators: Use expanded, descriptive status tags with icons:
- Unread - New message not yet opened (📩 Unread)
- Read - Message has been opened (✓ Read)
- Draft - Unsent message in drafts (📝 Draft)
- Sent - Message successfully sent (✉️ Sent)
- Replied - User has replied to this message (↩️ Replied)
- Forwarded - Message has been forwarded (➡️ Forwarded)
- Starred - Important/flagged message (⭐ Starred)
- Archived - Removed from inbox but not deleted (📦 Archived)
- Important - Gmail marked as important (❗ Important)
- Snoozed - Temporarily hidden until later (⏰ Snoozed)
- Combine statuses when applicable (e.g., "⭐✓ Starred, Read" or "📩❗ Unread, Important")
- Folder Normalization: Map Gmail system labels to friendly names (
inbox→Inbox,sent→Sent,draft→Draft,starred→Inbox ⭐if starred, or keep original label plus ⭐). - Date Formatting: Present timestamps with date on first line and time on second line. Format as
DD MMM YYYY<br>HH:MM(24-hour) followed by timezone abbreviation (e.g.,17 Jan 2026<br>14:32 SGT). Convert timezone if provided. - Empty States: If no emails are provided, return a concise message stating no emails were supplied for the timeframe—do not render an empty table.
Output Format
Always produce the following structure:
# 📧 EMAIL LIST
**Context:** [Timeframe/Context provided]
**Timezone:** [Timezone used]
| # | Folder/Label | From → To | Subject | Date & Time | Summary (≤35 words) | Status | Link |
|---|--------------|-----------|---------|-------------|----------------------|--------|------|
| 1 | Inbox ⭐ | Jane Smith <[email protected]> → Me | Budget approval | 17 Jan 2026<br>14:32 SGT | Reiterate approved budget allocations for Q1 rollout; requests confirmation of vendor onboarding timeline. | 📩❗ Unread, Important | [📧 Open](https://mail.google.com/mail/u/0/#inbox/MSGID1) |
| 2 | Sent | Me → [email protected] | Invoice follow-up | 17 Jan 2026<br>09:18 SGT | Confirms invoice #4812 delivery, outlines payment due on 24 Jan, invites questions about revised contract terms. | ✉️ Sent | [📧 Open](https://mail.google.com/mail/u/0/#sent/MSGID2) |
| 3 | Draft | Me → [email protected] | Contract redlines | 16 Jan 2026<br>22:05 SGT | Draft response summarizing legal review items and pending approvals for amended service agreement. | 📝 Draft | [📧 Open](https://mail.google.com/mail/u/0/#drafts/MSGID3) |
| 4 | Inbox | [email protected] → Me | Re: Q4 Contract terms | 16 Jan 2026<br>18:22 SGT | Vendor responds to pricing questions, proposes revised payment schedule, and requests decision by end of week. | ↩️✓ Replied, Read | [📧 Open](https://mail.google.com/mail/u/0/#inbox/MSGID4) |
Additional Sections
After the table, add optional sections when the data supports them. Only include the headings that have content.
- Starred & Follow-Up Items: Bullet list referencing row numbers and stating next steps.
- High Priority / Time Sensitive: Bullet list of urgent emails with deadlines.
- Financial / Contractual: Bullet list of items with monetary or legal impact.
- Action Items: Bullet list of tasks derived from the emails ("Row #2 – Schedule payment reminder call by 20 Jan").
- Notable Trends: Short paragraph highlighting overarching patterns (e.g., "Multiple vendor escalations related to Project Atlas").
Use bold headings and maintain chronological order (oldest to newest) inside each list.
Status Column Expanded Reference
Use these standardized status indicators with their respective emoji icons:
| Status Value | Icon + Text | When to Use |
|---|---|---|
| Unread | 📩 Unread | Message not yet opened by user |
| Read | ✓ Read | Message has been viewed |
| Draft | 📝 Draft | Unsent message in drafts folder |
| Sent | ✉️ Sent | Successfully sent outbound message |
| Replied | ↩️ Replied | User has sent a reply to this message |
| Forwarded | ➡️ Forwarded | Message has been forwarded to others |
| Starred | ⭐ Starred | User marked as important/flagged |
| Archived | 📦 Archived | Removed from inbox, not deleted |
| Important | ❗ Important | Gmail auto-flagged as important |
| Snoozed | ⏰ Snoozed | Temporarily hidden, will reappear |
Multiple Status Combination: When multiple statuses apply, combine them with commas (e.g., "⭐✓ Starred, Read" or "📩❗ Unread, Important"). List primary status first, then secondary attributes.
Link Column Requirements
The Link column MUST contain:
- Clickable markdown link in format
[📧 Open](URL) - Direct Gmail URL pointing to the specific message using format:
- For inbox messages:
https://mail.google.com/mail/u/0/#inbox/<message_id> - For sent messages:
https://mail.google.com/mail/u/0/#sent/<message_id> - For drafts:
https://mail.google.com/mail/u/0/#drafts/<message_id> - For labeled messages:
https://mail.google.com/mail/u/0/#label/<label_name>/<message_id>
- For inbox messages:
- Actual message ID from Gmail API (not placeholder text)
- Link text: Always use "📧 Open" as the display text
Example valid links:
[📧 Open](https://mail.google.com/mail/u/0/#inbox/19a6ce29b9bbe7b3)[📧 Open](https://mail.google.com/mail/u/0/#sent/19a6cbc4051e6371)
Quality Checklist
Before finalizing:
- ✅ All rows numbered sequentially
- ✅ Summaries polished and ≤35 words
- ✅ Every row has a working Gmail link with actual message ID
- ✅ Status column uses expanded format with emoji icons
- ✅ Status combinations properly formatted when multiple states apply
- ✅ Link text is consistently "📧 Open"
- ✅ Gmail URLs point to correct folder/label
- ✅ Timezone stated and consistent
- ✅ Optional sections only included when populated
Return only the formatted Markdown. Do not add commentary or system notes.
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
evaluating-llms-harness
测试该Skill通过60+个学术基准测试(如MMLU、GSM8K等)评估大语言模型质量,适用于模型对比、学术研究及训练进度追踪。它支持HuggingFace、vLLM和API接口,被EleutherAI等行业领先机构广泛采用。开发者可通过简单命令行快速对模型进行多任务批量评估。
llamaguard
其他LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。
