Skip to content
Automation
Skill

/gog-followups

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

From plugin
evo-nexus
520193 skills38 agents40 commands9 MCP
Install
$ npx -y skills add evolution-foundation/evo-nexus --skill gog-followups --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/gog-followups

Context 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

SKILL.md

gog-followups.SKILL.md
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

Follow-up & Nudge Tracking

Never lose track of emails awaiting responses. Track follow-ups, detect stale threads, and generate timely reminders.

When to Use

Use this skill when:

  • User wants to "track follow-up" for a sent email
  • User asks "what emails am I waiting on"
  • User mentions "check pending follow-ups"
  • User wants to "send a reminder" or "nudge [person]"
  • User says "review stale threads"

Follow-up Store

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 "[]"`

Workflow

Adding Follow-up Tracking

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**:

  • Person: Primary recipient (or user specifies)
  • Topic: Email subject
  • Last touch: Email send date
  • Context: Key points from email

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"

Reviewing Follow-ups

Show All Pending

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)

Show Follow-ups Due This Week

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.json

2. **Present list** (similar format as above)

Generating Nudge Drafts

When user says "g

Read more
Ships withevo-nexus

The open source operating system for AI-powered businesses

Get the whole plugin

Other skills on evo-nexus.