ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway…
Send email messages with explicit user confirmation. Requires the exact confirmation string "YES, SEND" before executing send operations. Logs all sends to audit trail. Use ONLY when user explicitly confirms they want to send an email, never auto-invoke. This is a critical write
$ npx -y skills add evolution-foundation/evo-nexus --skill gog-email-send --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gog-email-sendContext preview
The summary Claude sees to decide when to auto-load this skill.
Send email messages with explicit user confirmation. Requires the exact confirmation string "YES, SEND" before executing send operations. Logs all sends to audit trail. Use ONLY when user explicitly confirms they want to send an email, never auto-invoke. This is a critical write
name: gog-email-send description: Send email messages with explicit user confirmation. Requires the exact confirmation string "YES, SEND" before executing send operations. Logs all sends to audit trail. Use ONLY when user explicitly confirms they want to send an email, never auto-invoke. This is a critical write operation requiring human approval. compatibility: Requires gog CLI tool with email send permissions metadata: author: gog-skills version: "1.0" disable-model-invocation: true requires-explicit-confirmation: true allowed-tools: Bash(gog:*) Read
**⚠️ CRITICAL: This skill sends emails. It MUST NOT be invoked without explicit user confirmation.**
Send emails only after receiving the exact confirmation string: **"YES, SEND"**
Use this skill **ONLY** when:
**NEVER** use this skill:
User MUST type exactly: **"YES, SEND"**
**Acceptable variations** (all must include "YES, SEND"):
**NOT acceptable**:
Before ANY sending operation, check:
Does the user's message contain the EXACT string "YES, SEND"? - YES → Proceed to Step 2 - NO → STOP and request confirmation
If confirmation is missing, respond:
⚠️ **Confirmation Required** To send this email, please confirm by typing exactly: **YES, SEND** I need this explicit confirmation to ensure you've reviewed the email and want it sent. **Reminder**: This will send email to: - [List recipients] - Subject: [Subject line]
**STOP HERE.** Do not proceed until confirmation is received.
Show the user exactly what will be sent:
📧 **Ready to Send** **From**: [Your email address, if known] **To**: [recipient1@example.com, recipient2@example.com] **CC**: [cc recipients, if any] **Subject**: [Subject line] **Body**:
[First 200 characters of body...] [Body continues for N more characters...]
**Attachments**: [List attachments if any, or "None"] --- Is this correct? If yes, I'll send it now.
Determine send method:
**Option A: Send existing draft**
If user has a draft_id:
gog gmail drafts send <draft_id> --json
**Option B: Direct send**
If composing directly (less common):
# Save body to temp file cat > /tmp/email_body_$$.txt << 'EOF' Email body content EOF gog gmail send \ --to "recipient1@example.com,recipient2@example.com" \ --cc "cc@example.com" \ --subject "Subject line" \ --body /tmp/email_body_$$.txt \ --json # Clean up temp file rm /tmp/email_body_$$.txt
Immediately after sending (success or failure), log the action:
# Source logging utility
source "$(dirname "$0")/../../_shared/scripts/log.sh"
# Log successful send
log_action "gog-email-send" "email-send" "success" "$MESSAGE_ID" \
"{\"to\":[\"recipient@example.com\"],\"subject\":\"$SUBJECT\",\"confirmation\":\"YES, SEND\"}"
# OR log failed send
log_action "gog-email-send" "email-send" "failure" "" \
"{\"to\":[\"recipient@example.com\"],\"subject\":\"$SUBJECT\",\"error\":\"$ERROR_MSG\"}"Audit log entry should include:
**If successful:**
✅ **Email Sent Successfully** Message ID: msg_abc123 Sent at: [timestamp] Recipients: [list] The email has been sent and logged to your audit trail. Next steps: - Track response with follow-up? (gog-followups skill) - Send another email?
**If failed:**
❌ **Send Failed** Error: [Error message from GOG] The email was NOT sent. Common issues: - Authentication expired (run: gog auth login) - Invalid recipient email address - Network connectivity issues - Insufficient permissions Would you like to: - Retry sending? - Save as draft for later? - Edit the email?
⚠️ **Confirmation Required** To send this email, please type: **YES, SEND** **Email Summary**: - To: [recipients] - Subject: [subject] - Body: [snippet...] I'm waiting for your explicit confirmation before sending.
✅ **Email Sent** Message ID: [msg_id] Recipients: [list] Timestamp: [ISO8601] Logged to: ~/.gog-assistant/audit.log
❌ **Send Failed** Error: [error message] The email was NOT sent. [Troubleshooting guidance]
**User**: "I've reviewed the draft. YES, SEND"
**Assistant**:
[Confirmation string detected: "YES, SEND" ✓] 📧 **Ready to Send** **To**: client@acme.com **Subject**: Re: Q2 Proposal **Body**:
Hi Sarah,
Thank you for your patience. I've reviewed the Q2 proposal and have a few questions...
[287 more characters]
Sending now...
[Executes: gog gmail drafts send draft_abc123 --json] [Logs to audit trail]
✅ **Email Sent Successfully**
Message ID: msg_xyz789 Sent at: 2026-01-28T15:30:00Z Recipients: client@acme.com
The email has been sent
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway…
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the…
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in…
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a…
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake…
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description,…