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…
Track follow-ups from sent emails, detect stale threads, and generate reminder drafts. Maintains local store of pending follow-ups with nudge dates. Identifies emails awaiting responses and suggests gentle reminder messages. Use when user wants to track responses, follow up on
$ npx -y skills add evolution-foundation/evo-nexus --skill gog-followups --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gog-followupsContext preview
The summary Claude sees to decide when to auto-load this skill.
Track follow-ups from sent emails, detect stale threads, and generate reminder drafts. Maintains local store of pending follow-ups with nudge dates. Identifies emails awaiting responses and suggests gentle reminder messages. Use when user wants to track responses, follow up on
name: gog-followups description: Track follow-ups from sent emails, detect stale threads, and generate reminder drafts. Maintains local store of pending follow-ups with nudge dates. Identifies emails awaiting responses and suggests gentle reminder messages. Use when user wants to track responses, follow up on sent emails, or review what's waiting for replies. Requires confirmation before updating follow-up store. compatibility: Requires gog CLI tool with email access metadata: author: gog-skills version: "1.0" allowed-tools: Bash(gog:*) Read Write
Never lose track of emails awaiting responses. Track follow-ups, detect stale threads, and generate timely reminders.
Use this skill when:
Follow-ups are tracked in a local JSON file:
~/.gog-assistant/followups.json
**Structure**:
[
{
"id": "followup_001",
"email_id": "msg_abc123",
"thread_id": "thread_xyz",
"person": "client@acme.com",
"topic": "Q2 pricing proposal",
"context": "Sent proposal on Jan 20, they said they'd review by end of week",
"last_touch": "2026-01-20T16:00:00Z",
"next_nudge_date": "2026-01-30",
"nudge_count": 0,
"status": "pending",
"priority": "high",
"created_at": "2026-01-20T16:05:00Z"
}
]**Dynamic Context** (if file exists):
!`cat ~/.gog-assistant/followups.json 2>/dev/null || echo "[]"`
When user says "track follow-up for email [id]" or "remind me to follow up with [person]":
1. **Fetch email if ID provided**:
gog gmail get <email_id> --json
2. **Extract follow-up details**:
3. **Ask for follow-up parameters**:
Let me set up follow-up tracking. A few questions:
1. **Who are you waiting to hear from?** [Extracted: client@acme.com]
2. **What's this about?** [Extracted: Q2 pricing proposal]
3. **When should I remind you?**
- In 3 days (standard)
- In 1 week
- Custom date
4. **Priority**: High, Medium, or Low?
5. **Any context?** Brief note about what you're waiting for.4. **Present proposed follow-up**:
## Proposed Follow-up **Person**: client@acme.com (John Doe) **Topic**: Q2 pricing proposal **Context**: Sent detailed proposal on Jan 20, awaiting their review and feedback **Last contact**: January 20, 2026 **Next nudge**: January 30, 2026 (10 days from now) **Priority**: High **Email**: msg_abc123 Does this look correct?
5. **Request confirmation**: "Ready to add this follow-up?"
6. **Add to store** when user confirms:
# Read existing store
STORE=~/.gog-assistant/followups.json
if [ ! -f "$STORE" ]; then
echo "[]" > "$STORE"
chmod 600 "$STORE"
fi
# Generate new follow-up entry
NEW_ENTRY=$(jq -n \
--arg id "followup_$(date +%s)" \
--arg email_id "msg_abc123" \
--arg person "client@acme.com" \
--arg topic "Q2 pricing proposal" \
--arg context "Sent proposal..." \
--arg last_touch "2026-01-20T16:00:00Z" \
--arg nudge_date "2026-01-30" \
--arg status "pending" \
--arg priority "high" \
--arg created "2026-01-20T16:05:00Z" \
'{id:$id, email_id:$email_id, person:$person, topic:$topic, context:$context, last_touch:$last_touch, next_nudge_date:$nudge_date, nudge_count:0, status:$status, priority:$priority, created_at:$created}')
# Append to store
jq ". + [$NEW_ENTRY]" "$STORE" > "$STORE.tmp" && mv "$STORE.tmp" "$STORE"7. **Confirm addition**:
✅ **Follow-up Added** Tracking ID: followup_001 Person: client@acme.com Next reminder: January 30, 2026 I'll remind you to follow up in 10 days. View all follow-ups: "Show pending follow-ups"
When user says "show pending follow-ups" or "what am I waiting on":
1. **Read follow-up store**:
jq '.[] | select(.status == "pending")' ~/.gog-assistant/followups.json
2. **Present formatted list**:
# Pending Follow-ups ([N] total)
## High Priority
1. **Q2 pricing proposal** → client@acme.com
- Last contact: Jan 20 (8 days ago)
- Next nudge: Jan 30 (in 2 days)
- Context: Awaiting review and feedback on proposal
- Email: msg_abc123
2. **Contract review** → legal@vendor.com
- Last contact: Jan 18 (10 days ago)
- Next nudge: **OVERDUE** (was Jan 25)
- Context: Sent redlined contract, need their signoff
- Email: msg_def456
## Medium Priority
3. **Feature request feedback** → product@company.com
- Last contact: Jan 22 (6 days ago)
- Next nudge: Feb 1 (in 4 days)
- Context: Asked about roadmap for feature X
- Email: msg_ghi789
---
**Summary**:
- Total pending: 3
- Overdue: 1 (legal@vendor.com)
- Due this week: 1 (client@acme.com)
**Suggested actions**:
- Send nudge to legal@vendor.com (overdue)
- Prepare nudge draft for client@acme.com (due soon)When user says "review follow-ups due this week":
1. **Filter by next_nudge_date**:
TODAY=$(date +%Y-%m-%d)
WEEK_FROM_NOW=$(date -v+7d +%Y-%m-%d)
jq --arg today "$TODAY" --arg week "$WEEK_FROM_NOW" \
'.[] | select(.status == "pending" and .next_nudge_date >= $today and .next_nudge_date <= $week)' \
~/.gog-assistant/followups.json2. **Present list** (similar format as above)
When user says "g
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,…