ワンクリックで
Send and receive emails. Use for email composition, replies, thread management, and inbox checking.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Send and receive emails. Use for email composition, replies, thread management, and inbox checking.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | |
| description | Send and receive emails. Use for email composition, replies, thread management, and inbox checking. |
Send, receive, and manage emails via the configured mail server (IMAP/SMTP).
email send "recipient@example.com" "Subject line" "Email body text"
email send "alice@example.com" "Subject" "Body" --cc bob@example.com --cc carol@example.com --bcc audit@example.com
email send "recipient@example.com" "Report" "Please find attached." --attach /path/to/file.pdf --attach /path/to/other.csv
By default replies are reply-all — anyone on the original Cc: line is automatically CC'd again (minus yourself and the new To: recipient).
email reply "thread-id-here" "Reply body text" # Reply-all (default)
email reply "thread-id-here" "Reply body text" --no-cc # Reply only to the sender
email reply "thread-id-here" "Reply body" --cc new@x.com # Replace auto CC list
email reply "thread-id-here" "Reply body" --bcc audit@x.com # Add a BCC
email reply "thread-id-here" "See attached." --attach /path/to/file.pdf
Triage commands accept either a single email id or a thread_id. When given a thread_id, the action applies to all incoming messages in that thread.
# Focused to-do list: threads with unread messages in INBOX
email inbox
# Generic listing with filters
email threads # All threads (any folder, any state)
email threads --folder INBOX # Threads currently in INBOX
email threads --folder Archive # Archived threads
email threads --unread # Threads with at least one unread message
email threads --read # Threads where every incoming msg is read
# Read state (synced to IMAP \Seen)
email mark-read <id|thread_id>
email mark-unread <id|thread_id>
# Folder moves (synced via IMAP UID MOVE)
email archive <id|thread_id> # Move to Archive
email spam <id|thread_id> # Move to Junk/Spam
email delete <id|thread_id> # Move to Trash (soft delete)
email move <id|thread_id> <folder> # Move to any folder (role name or literal)
# Discover server folders
email folders # Show server folders + logical role mapping
email thread "<thread_id>" # Full thread (Markdown)
email thread "<thread_id>" --raw # Raw HTML
email read <email_id> # Single message by #N from thread view
email poll --once # One-shot check
Email is configured in ~/config.yml under the email: section:
email:
imap_host: "imap.example.com" # IMAP server (e.g. imap.gmail.com)
imap_port: 993 # 993 for TLS, 143 for STARTTLS
imap_starttls: false # true when using port 143
smtp_host: "smtp.example.com" # SMTP server (e.g. smtp.gmail.com)
smtp_port: 587 # SMTP submission port
username: "atlas@example.com" # Email address
password_file: "/home/agent/secrets/email-password"
ssl_verify: true # set false only for self-signed certs
folder: "INBOX"
whitelist: [] # Empty = accept all
mark_read: true
# Optional: pin server folder names for the role lookup. Most servers
# (Mailcow, Gmail, Outlook, iCloud, Fastmail) advertise these via IMAP
# SPECIAL-USE (RFC 6154) and auto-discovery just works — only pin if
# the defaults don't match your setup.
folders:
archive: "Archive"
junk: "Junk"
trash: "Trash"
sent: "Sent"
drafts: "Drafts"
Alternatively, use environment variables: EMAIL_IMAP_HOST, EMAIL_SMTP_HOST, EMAIL_USERNAME, EMAIL_PASSWORD, etc.
The addon mirrors the standard IMAP mental model: every incoming message lives
in a folder (INBOX, Archive, Junk, Trash, …) and carries a read/unread flag.
All mark-read / mark-unread / archive / spam / delete / move
operations sync to the IMAP server (UID STORE / UID MOVE) so changes show
up in the user's webmail too.
Folder name discovery uses IMAP SPECIAL-USE (RFC 6154) so it works against
Mailcow/Dovecot, Gmail, Outlook, iCloud, and Fastmail out of the box without
hard-coded names. Run email folders to inspect what the server advertises.
The email poller runs as a background process (managed by supervisord) using IMAP IDLE for real-time notifications. New emails trigger a Claude session via the email-handler trigger.
To start manually:
email poll
Every email conversation is tracked as a thread with a unique ID. Replies preserve proper email threading headers (In-Reply-To, References) so recipients see a clean conversation thread in their mail client.
Received emails are saved as searchable markdown files in ~/.index/email/messages/<thread-id>/. Attachments are saved in ~/.index/email/attachments/<thread-id>/.
ssl_verify: falsewhitelist setting filters incoming emails — leave empty to accept allUse this skill for any PDF authoring or post-processing task that doesn't require READING the content. CREATE / GENERATE / PRODUCE PDFs from scratch — reports, invoices, business letters, memos, status updates, market analyses, proposals (Typst engine, charts via Cetz, four bundled templates: report, invoice, letter, memo). FILL existing PDF forms — text fields, checkboxes, radio buttons. MERGE / SPLIT / ROTATE / WATERMARK / ENCRYPT existing PDFs via qpdf and pypdf. Embed ZUGFeRD / Factur-X XML for EU e-invoices. Triggers: 'erstelle PDF', 'baue Rechnung', 'mache einen Bericht als PDF', 'create a PDF', 'generate a report', 'render an invoice', 'business letter', 'Geschäftsbrief', 'Memo', 'merge PDFs', 'split a PDF', 'rotate pages', 'watermark this PDF', 'encrypt PDF', 'PDF Formular ausfüllen', 'fill this form'. Do NOT use for READING / EXTRACTING text from existing PDFs or OCR on scanned documents — use the `document-parse` skill (LiteParse).
Schedule events that fire at a specific time, when an email reply arrives, or when a shell check passes. Use to wake a session without idle polling.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
How to create and manage triggers via the CLI. Covers cron, webhook, manual, Signal, WhatsApp and Email integration.
Use this skill to READ / EXTRACT / PARSE / OCR existing documents — pull text and structure out of PDF, DOCX, PPTX, XLSX, EPUB, HTML, images (JPG/PNG/TIFF/WebP), scanned-document PDFs, or any unstructured file. Triggers: 'parse this PDF', 'extract text', 'OCR this image', 'text aus scan', 'lies das Dokument', 'convert PDF to markdown', 'erkenne Text', 'transcribe document', 'spatial layout extraction', plus any time the user provides a file and asks what's inside. Runs LiteParse locally — Tesseract.js OCR built-in, optional external OCR server (EasyOCR / PaddleOCR) for higher accuracy. Output is clean markdown ready for downstream LLM processing. Do NOT use for: (1) CREATING a new PDF from scratch — use the `pdf` skill. (2) Filling forms in an existing PDF — see `pdf` skill `forms.md`. (3) Pure speech-to-text from audio/video — use the `stt` skill.
Use this skill to CUT, TRIM, CLEAN, EDIT existing video footage. Triggers: 'schneide das Video', 'edit/cut/trim this video', 'remove silence/fillers', 'concat videos', 'add subtitles', 'edit these into a launch video', 'make a recap from these clips', any task that takes existing video file(s) as input and produces a polished edited output. Audio-first approach: transcribe → identify cuts on word boundaries → FFmpeg-based EDL render → self-evaluate cut points. Do NOT use for: (1) creating animated videos from scratch — use the `video` skill (Remotion). (2) understanding/classifying video content (describe scenes, extract timestamps for visual events, classify) — use a multimodal LLM directly. (3) raw single-command FFmpeg ops where you already know the exact filter chain — just run FFmpeg directly.