email

majiayu000's avatarfrom majiayu000

Email operations skill for sending, fetching, and reading emails via IMAP/SMTP.Uses curl with OpenSSL/LibreSSL for reliable TLS compatibility with Tencent Enterprise Mail and other providers.Credentials are securely stored in macOS Keychain.

0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026

When & Why to Use This Skill

This Claude skill provides a robust framework for managing both internal project communications and external email operations via IMAP/SMTP. It enables AI agents to handle role-based messaging, automate task assignments, and process completion reports within a structured directory system. By leveraging curl with OpenSSL/LibreSSL and macOS Keychain, it ensures secure, high-compatibility connectivity with enterprise mail providers like Tencent Enterprise Mail, making it an essential tool for automated workflow coordination.

Use Cases

  • Role-Based Project Communication: Facilitates structured messaging between different project roles such as Managers, Developers, and Testers using dedicated inbox and outbox directories.
  • Automated Task Management: Streamlines the distribution of task assignments and the collection of completion reports, including automatic archiving and status updates.
  • Secure Enterprise Email Integration: Enables reliable sending and fetching of emails from external enterprise servers using industry-standard TLS encryption and secure credential storage.
  • Workflow Synchronization: Keeps project stakeholders aligned by summarizing inbox contents into actionable tables, highlighting task priorities and required follow-ups.
descriptionRead and manage internal email messages between project roles

Internal Email System

This project uses an internal email system for communication between roles (Manager, Developer, Release Manager, Tester, etc.).

Directory Structure

Each role has its own email folder under claude/{role}/email/:

  • Inbox: claude/{role}/email/inbox/
  • Inbox Archive: claude/{role}/email/inbox-archive/
  • Sent: claude/{role}/email/sent/
  • Outbox (pending delivery): claude/{role}/email/outbox/

Current roles:

  • manager/email/
  • developer/email/
  • release-manager/email/
  • security-analyst/email/
  • tester/email/ (future)

Reading Email

  1. First, determine your role by checking CLAUDE.local.md
  2. List all files in your inbox directory:
    ls -lt claude/{role}/email/inbox/
    
  3. You always have permission to read claude/{role}/email/inbox/ and all files within. Do not request permission to read this directory.
  4. Read each message file to display contents
  5. Summarize messages in a table format showing:
    • Date
    • Type (Task Assignment, Completion Report, Reminder, Question, etc.)
    • Subject/Summary
    • Action needed (if any)

Processing Email

For completion reports:

  • Review the report
  • If work is verified complete, archive to email/inbox-archive/
  • Update INDEX.md if needed

For reminders:

  • Keep in inbox until the remind-on date
  • Take action when due

For questions:

  • Respond by creating a file in email/sent/ and copying to the sender's email/inbox/

Sending Email

  1. Create message file in your email/sent/ folder with naming convention: YYYY-MM-DD-HHMM-{type}-{brief-description}.md

  2. Copy the file to the recipient's inbox:

    cp claude/{your-role}/email/sent/{filename}.md claude/{recipient-role}/email/inbox/
    

Email Templates

Task Assignment:

# Task Assignment: <Title>

**Date:** YYYY-MM-DD HH:MM
**Project:** <project-name>
**Priority:** High | Medium | Low
**Estimated Effort:** X-Y hours

## Task
<Description>

## What to Do
1. Step 1
2. Step 2

## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2

---
**{Role}**

Completion Report:

# Task Completed: <Title>

**Date:** YYYY-MM-DD
**From:** {Role}
**Type:** Completion Report

## Status: COMPLETED

## Summary
<What was done>

## Branch
**Branch:** `branch-name`
**Commit:** `hash`

## Changes
<Files modified>

---
**{Role}**

Checking for Undelivered Mail

Also check outbox folders for messages waiting to be delivered:

ls claude/*/email/outbox/

If messages exist, they need to be moved to the recipient's email/inbox/.


Related Skills

  • communication - Communication guidelines and message templates
  • projects - Query project status (tasks often arrive via email)