Gmail Attachment Downloader

v1.1.0

Download Gmail attachments through IMAP when the user wants to pull invoices, statements, or other files from Gmail into a local folder. Use it when the task...

0· 71·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for whauff/gmail-attachment-downloader.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Gmail Attachment Downloader" (whauff/gmail-attachment-downloader) from ClawHub.
Skill page: https://clawhub.ai/whauff/gmail-attachment-downloader
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install gmail-attachment-downloader

ClawHub CLI

Package manager switcher

npx clawhub@latest install gmail-attachment-downloader
Security Scan
Capability signals
Requires OAuth tokenRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included script: the Python script connects to imap.gmail.com, searches messages, and writes attachments locally. Asking for a Gmail address and an app password is appropriate for the stated purpose. The registry metadata, however, does not declare the environment variables (GMAIL_USER/GMAIL_PASS) or a required runtime (python3), which is an omission.
Instruction Scope
SKILL.md limits scope to reading mail and downloading attachments; it explicitly says it does not modify or delete mailbox contents. The runtime instructions ask for only the Gmail credentials and filters required for search; they instruct running the bundled script with explicit arguments rather than performing arbitrary system scans. No instructions ask the agent to read unrelated files or exfiltrate data to external endpoints.
Install Mechanism
There is no install spec (instruction-only + bundled scripts) so nothing will be downloaded during installation. Risk is limited to running the included Python script. The skill assumes a Python runtime is available but does not declare it.
Credentials
The script legitimately requires Gmail credentials (app password) and supports GMAIL_USER/GMAIL_PASS environment variables. Those credentials are proportional to the task. However, the skill metadata did not declare required env vars or a primary credential, which is a mismatch that reduces transparency and should be corrected.
Persistence & Privilege
The skill is not set to always:true and does not request special platform privileges. It writes attachments to the user-specified local folder (expected behavior) and does not modify other skills or agent settings.
Assessment
This skill is coherent for downloading Gmail attachments via IMAP, but review these points before installing or running: 1) It requires a Gmail account with IMAP enabled and an app password (not your normal login password). 2) The registry metadata omits the environment variables (GMAIL_USER, GMAIL_PASS) and the assumed runtime (python3); treat that as a transparency gap. 3) Inspect the bundled script yourself to confirm there are no hidden network calls or surprises (the visible code connects only to imap.gmail.com and writes files locally). 4) Run the script in a safe environment (local machine or isolated VM) and consider creating a dedicated app password for this use. 5) When providing a save folder, pick a directory you control and review the downloaded files before opening them.

Like a lobster shell, security has layers — review code before you run it.

attachmentsvk973htv2wnz65v8w7xhcj0pc9184tp7vautomationvk973htv2wnz65v8w7xhcj0pc9184tp7vgmailvk973htv2wnz65v8w7xhcj0pc9184tp7vimapvk973htv2wnz65v8w7xhcj0pc9184tp7vinvoicevk973htv2wnz65v8w7xhcj0pc9184tp7vlatestvk973htv2wnz65v8w7xhcj0pc9184tp7v
71downloads
0stars
1versions
Updated 1w ago
v1.1.0
MIT-0

Gmail Attachment Downloader

Use this skill when the user wants files downloaded from Gmail to the local machine.

When To Use

Trigger this skill when the user asks to:

  • Download Gmail attachments in bulk
  • Export invoices, statements, or receipts from Gmail
  • Filter Gmail attachments by sender, subject, date range, extension, or limit
  • Save Gmail attachments into a local folder without using Google Cloud APIs

Do not use this skill for:

  • Sending email
  • Modifying or deleting mailbox contents
  • Managing Google OAuth projects

Inputs To Collect

Collect or infer these inputs before running the script:

  • gmail_user: Gmail address
  • gmail_pass: Gmail app password
  • sender: optional sender filter
  • subject: optional subject filter
  • since: optional start date in DD-Mon-YYYY
  • before: optional end date in DD-Mon-YYYY
  • extensions: optional comma-separated extension list such as .pdf,.ofd
  • save_folder: destination folder on the local machine
  • max_results: optional safety limit for matched messages
  • dry_run: optional preview mode when the user wants to inspect matches first

If the user did not specify save_folder, choose a clear folder under their home directory and state it explicitly before running.

Execution

Run the bundled script with explicit arguments instead of editing source files.

python3 scripts/download_gmail_attachments.py \
  --gmail-user "$GMAIL_USER" \
  --gmail-pass "$GMAIL_PASS" \
  --sender "auth@shove.xforceplus.com" \
  --subject "发票" \
  --since "01-Jan-2025" \
  --extensions ".pdf,.ofd" \
  --save-folder "~/Documents/walmart-invoices" \
  --max-results 200

Preview matches without writing files:

python3 scripts/download_gmail_attachments.py \
  --gmail-user "$GMAIL_USER" \
  --gmail-pass "$GMAIL_PASS" \
  --sender "auth@shove.xforceplus.com" \
  --extensions ".pdf,.ofd" \
  --save-folder "~/Documents/walmart-invoices" \
  --dry-run

Environment variables are also supported:

  • GMAIL_USER
  • GMAIL_PASS

Workflow

  1. Confirm the user has Gmail IMAP enabled and an app password.
  2. Decide the destination folder and filters.
  3. Run scripts/download_gmail_attachments.py with explicit arguments.
  4. Report: downloaded count, skipped count, and destination folder. If --summary-json is used, prefer reading that file for the final report.
  5. If authentication fails, tell the user to re-check IMAP and the app password.

Failure Handling

  • If GMAIL_USER or GMAIL_PASS is missing, stop and ask for it.
  • If mailbox auto-detection cannot find Gmail All Mail, fall back to INBOX.
  • If no messages match, suggest loosening sender/subject/date filters.
  • If downloads are zero, suggest removing extension filtering.

Resources

Comments

Loading comments...