Agent skill

gog-tasks

Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.

Stars 211
Forks 54

Install this agent skill to your Project

npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/gog-tasks

Metadata

Additional technical details for this skill

author
gog-skills
version
1.0

SKILL.md

Task Management & Prioritization

Create, organize, and track tasks with smart prioritization and daily review.

When to Use

Use this skill when:

  • User mentions "create a task" or "add to my todo list"
  • User wants to "convert this email to a task"
  • User asks "what's on my task list" or "what should I do today"
  • User mentions "task review" or "daily priorities"
  • User wants to update or complete tasks

Dynamic Context

The following live data is available:

Open tasks:

!`TASKLIST_ID=$(gog tasks lists --json 2>/dev/null | jq -r '.tasklists[0].id' 2>/dev/null) && [ -n "$TASKLIST_ID" ] && gog tasks list "$TASKLIST_ID" --json 2>/dev/null || echo "GOG_NOT_CONFIGURED"`

Important: All task operations require a task list ID. Get it with:

bash
TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')

Task Taxonomy

Priority Levels (P0-P3)

  • P0 (Critical): Drop everything, do now

    • Blocking others' work
    • System outages or emergencies
    • Hard deadline within hours
    • High-impact and high-urgency
  • P1 (High): Important, do soon

    • Deadline within 1-3 days
    • Stakeholder requests
    • Significant impact if delayed
    • Part of current sprint/focus
  • P2 (Medium): Normal priority

    • Deadline within 1-2 weeks
    • Routine work items
    • Moderate impact
    • Can be scheduled flexibly
  • P3 (Low): Nice to have

    • No specific deadline
    • Low impact if delayed
    • Backlog items
    • Ideas or improvements

Categories

  • Work: Professional/job-related tasks

    • Project work, meetings prep, emails, reports
  • Personal: Personal life tasks

    • Hobbies, self-care, family, learning
  • Errands: Out-of-office tasks

    • Shopping, appointments, calls, pickups
  • Admin: Bureaucratic tasks

    • Paperwork, taxes, bills, legal matters

Workflow

Creating Tasks

From Email

When user says "create a task for email [id]" or "turn this into a task":

  1. Fetch email if not in context:

    bash
    gog gmail get <email_id> --json
    
  2. Extract task details:

    • Title: Email subject (may need shortening)
    • Description: Key points from email body
    • Priority: Infer from urgency (default: P2)
    • Category: Infer from content (default: Work)
    • Due date: Extract if mentioned, otherwise ask
    • Related email ID: Store for reference
  3. Present proposed task:

    markdown
    ## Proposed Task
    
    **Title**: [Derived from email subject]
    **Description**: [Key points from email]
    **Priority**: [P0/P1/P2/P3] (rationale: [why])
    **Category**: [Work/Personal/Errands/Admin]
    **Due date**: [Date or "Not specified"]
    **Source**: Email from [sender] on [date]
    
    Does this look correct? Adjustments needed?
    
  4. Iterate if user wants changes

  5. Request confirmation: "Ready to create this task?"

  6. Create when user confirms:

    bash
    # Get task list ID (first time or cache it)
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    
    # Create task
    gog tasks add "$TASKLIST_ID" \
      --title "Task title" \
      --notes "Task description" \
      --due 2026-02-05 \
      --json
    

    Note: GOG CLI v0.9.0 task commands require a task list ID. Priority and category are tracked in the notes field or as custom metadata.

  7. Confirm creation:

    markdown
    ✅ **Task Created**
    
    Task ID: task_abc123
    Title: [title]
    Priority: [P1]
    Due: [date]
    
    View all tasks: "Show my tasks"
    

From Scratch

When user says "create a task to [X]":

  1. Gather details by asking:

    markdown
    Let me create that task. A few questions:
    
    1. **Title**: "[Suggested based on user input]" - is this good?
    2. **Priority**: P0 (critical), P1 (high), P2 (medium), or P3 (low)?
    3. **Category**: Work, Personal, Errands, or Admin?
    4. **Due date**: When does this need to be done?
    5. **Additional details**: Anything else to note?
    
  2. Accept shorthand answers: e.g., "1: yes, 2: P1, 3: Work, 4: Friday"

  3. Present and confirm before creating

Reviewing Tasks

Daily Task Review

When user says "task review" or "what should I do today":

  1. Fetch open tasks:

    bash
    # Get task list ID
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    
    # List all tasks
    gog tasks list "$TASKLIST_ID" --json
    
  2. Analyze and categorize:

    • Today's priorities (P0/P1 tasks due soon)
    • Overdue tasks
    • Blocked tasks (if status indicates)
    • Tasks waiting on others
  3. Present structured review:

    markdown
    # Daily Task Review — [Day], [Date]
    
    ## 🔥 Top 5 Tasks for Today
    
    1. **[Task Title]** (P0, due today)
       - Category: Work
       - Details: [Brief description]
       - Task ID: task_abc123
    
    2. [...]
    
    ## ⚠️  Overdue Tasks ([N] total)
    
    - **[Task Title]** (P1, due [date])
      - [Why it's overdue context]
      - Task ID: task_def456
    
    ## 🚧 Blocked / Waiting on Others ([N] total)
    
    - **[Task Title]** (P2)
      - Blocked by: [What/who]
      - Task ID: task_ghi789
    
    ## 📅 This Week (Non-urgent)
    
    [List of P2/P3 tasks due this week]
    
    ---
    
    **Suggested Focus**:
    1. Start with: [Task title] (highest priority)
    2. Then tackle: [Task title]
    3. If blocked, move to: [Task title]
    
    **Actions**:
    - To complete a task: "Mark task_abc123 as done"
    - To update priority: "Change task_def456 to P0"
    - To see task details: "Show task task_ghi789"
    

List All Tasks

When user says "show my tasks" or "list tasks":

  1. Fetch and display:
    markdown
    # Your Tasks ([N] open)
    
    ## By Priority
    
    ### P0 (Critical) — [N] tasks
    - [Task title] (due: [date], category: [category])
    
    ### P1 (High) — [N] tasks
    - [Task title] (due: [date], category: [category])
    
    [etc.]
    
    ## By Category
    
    ### Work — [N] tasks
    - [List]
    
    ### Personal — [N] tasks
    - [List]
    
    [etc.]
    

Updating Tasks

Mark as Complete

When user says "complete task [id]" or "mark done":

  1. Fetch task details for confirmation:

    bash
    # Get task list ID
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    
    # Get task details
    gog tasks list "$TASKLIST_ID" --json | jq '.tasks[] | select(.id == "task_abc123")'
    
  2. Confirm:

    markdown
    Mark this task as complete?
    
    **Task**: [title]
    **Priority**: [P1]
    **Due**: [date]
    
    Reply "yes" to complete.
    
  3. Update:

    bash
    # Get task list ID
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    
    # Mark task as done
    gog tasks done "$TASKLIST_ID" task_abc123 --json
    
  4. Celebrate:

    markdown
    ✅ **Task Completed!**
    
    [Task title] is done.
    
    Remaining open tasks: [N]
    

Update Priority or Details

When user says "change task [id] to P0" or "update task [id]":

  1. Show current state

  2. Confirm changes

  3. Update (Note: GOG CLI doesn't support direct priority updates. Use task notes):

    bash
    # Get task list ID
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    
    # Update task with priority in notes
    # Note: v0.9.0 requires using patch or updating the task with new notes
    # Priority and category should be tracked in the notes field
    # Example: gog tasks patch "$TASKLIST_ID" task_abc123 --notes "[P0] Updated task description"
    

    Note: Priority and category updates may require updating the task's notes field to include priority markers like [P0], [Work], etc.

Delete Task

When user says "delete task [id]":

  1. ⚠️ Warning:

    markdown
    ⚠️  **Delete Task?**
    
    This will permanently delete:
    
    **Task**: [title]
    **Priority**: [P1]
    **Created**: [date]
    
    This cannot be undone. Are you sure? Reply "yes, delete" to confirm.
    
  2. Only delete with explicit confirmation: "yes, delete" or "delete it"

  3. Delete:

    bash
    # Get task list ID
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    
    # Delete task
    gog tasks delete "$TASKLIST_ID" task_abc123 --json
    

Output Format (Strict)

Task Creation Confirmation

markdown
✅ **Task Created**

Task ID: [task_id]
Title: [title]
Priority: [P0/P1/P2/P3]
Category: [category]
Due: [date or "Not set"]

Daily Review Structure

markdown
# Daily Task Review — [Date]

## 🔥 Top 5 Tasks for Today
[Prioritized list with IDs]

## ⚠️  Overdue Tasks ([N] total)
[List with context]

## 🚧 Blocked / Waiting on Others ([N] total)
[List with blocker info]

## 📅 This Week (Non-urgent)
[P2/P3 tasks due this week]

---

**Suggested Focus**: [Ordered recommendations]

**Actions**: [Next step options]

Task List Format

markdown
# Your Tasks ([N] open)

## By Priority
[Grouped by P0/P1/P2/P3]

## By Category
[Grouped by Work/Personal/Errands/Admin]

Examples

Example 1: Create Task from Email

User: "Create a task for email msg_abc123"

Assistant:

[Fetches email...]

## Proposed Task

**Title**: Review Q2 contract proposal
**Description**: Legal team needs feedback on vendor contract by Friday. Check sections 3.2 (payment terms) and 5.1 (liability).
**Priority**: P1 (High) — Rationale: Deadline in 2 days, blocking legal team
**Category**: Work
**Due date**: 2026-01-31 (Friday)
**Source**: Email from legal@company.com on 2026-01-28

Does this look correct? Any adjustments?

User: "Looks good"

Assistant:

Ready to create this task?

User: "Yes"

Assistant:

[Creates task...]

✅ **Task Created**

Task ID: task_xyz789
Title: Review Q2 contract proposal
Priority: P1
Due: 2026-01-31

You now have [N] open tasks. Run "task review" to see your daily priorities.

Example 2: Daily Task Review

User: "What should I focus on today?"

Assistant:

Let me review your tasks for today.

[Fetches tasks...]

# Daily Task Review — Tuesday, January 28

## 🔥 Top 5 Tasks for Today

1. **Budget approval - sign off by noon** (P0, due today)
   - Category: Work
   - Details: Finance needs approval for Q2 budget allocation
   - Task ID: task_aaa111

2. **Prepare client demo slides** (P1, due tomorrow)
   - Category: Work
   - Details: Acme Corp demo at 2pm Wednesday
   - Task ID: task_bbb222

3. **Code review for authentication PR** (P1, due today)
   - Category: Work
   - Details: PR #456 blocking deployment
   - Task ID: task_ccc333

4. **Schedule dentist appointment** (P2, due this week)
   - Category: Errands
   - Details: Overdue for cleaning, need to call
   - Task ID: task_ddd444

5. **Review team feedback doc** (P2, due Friday)
   - Category: Work
   - Details: Performance review cycle input
   - Task ID: task_eee555

## ⚠️  Overdue Tasks (1 total)

- **Submit expense report** (P2, due last Friday)
  - Category: Admin
  - Context: Waiting for receipt from vendor
  - Task ID: task_fff666

## 🚧 Blocked / Waiting on Others (2 total)

- **Finalize hiring decision** (P1)
  - Blocked by: Waiting for reference checks from HR
  - Task ID: task_ggg777

- **Deploy new feature** (P1)
  - Blocked by: Waiting for security review completion
  - Task ID: task_hhh888

---

**Suggested Focus**:
1. Start with: Budget approval (P0, hard deadline at noon)
2. Then tackle: Code review (blocking team)
3. If time: Client demo slides (important for tomorrow)

**Actions**:
- To complete a task: "Mark task_aaa111 as done"
- To update priority: "Change task_ddd444 to P3"
- To see task details: "Show task task_bbb222"

Which task would you like to start with?

Example 3: Quick Task Creation

User: "Add a task to call vendor about invoice, high priority, due Friday"

Assistant:

## Proposed Task

**Title**: Call vendor about invoice
**Priority**: P1 (High)
**Category**: Work (or Errands? Let me know)
**Due date**: 2026-01-31 (Friday)

Ready to create this task?

User: "Yes, make it Admin category"

Assistant:

[Creates task with category: Admin...]

✅ **Task Created**

Task ID: task_ijk012
Title: Call vendor about invoice
Priority: P1
Category: Admin
Due: 2026-01-31

Failure Modes / Troubleshooting

Cannot Determine Priority

Symptom: Unclear whether task is P0, P1, P2, or P3

Resolution:

  1. Ask directly: "Is this urgent (P0/P1) or can it wait (P2/P3)?"
  2. Provide examples: "P0 = must do today, P1 = this week, P2 = this month, P3 = someday"
  3. Default to P2 if truly uncertain and user doesn't clarify

Task from Email Missing Due Date

Symptom: Email doesn't mention when task is due

Resolution:

  1. Check for implicit cues: "by EOD", "before the meeting", etc.
  2. Ask user: "When does this need to be done?"
  3. If no deadline, leave due date empty or set far in future (30 days)

Too Many Open Tasks

Symptom: User has 100+ open tasks, daily review is overwhelming

Resolution:

  1. Filter aggressively: Show only P0/P1 or only tasks due this week
  2. Suggest: "You have many open tasks. Let's focus on top priorities only. Want to archive completed or low-priority tasks?"
  3. Help user triage: "Let's do a batch review of P3 tasks—any we can delete or defer?"

Task Already Exists (Duplicate)

Symptom: User tries to create task that seems duplicate

Resolution:

  1. Check existing tasks for similar titles
  2. Warn: "You already have a similar task: '[Title]' (task_xxx). Create anyway?"
  3. If confirmed, create as new task

GOG Not Configured

Symptom: Dynamic context shows GOG_NOT_CONFIGURED

Resolution:

  1. Inform: "GOG CLI is not configured. See: skills/gog/_shared/references/gog-interface.md"
  2. Suggest: "Run gog auth login to authenticate"
  3. Offer: "I can still help you plan tasks manually (without saving to GOG)"

Safety Rules

  1. Confirmation for creates/deletes - Always confirm before creating or deleting tasks
  2. No auto-completion - Don't mark tasks done without explicit user instruction
  3. Preserve context - When creating tasks from emails, always link back (related_email_id)
  4. Priority inflation prevention - Don't mark everything P0/P1; use full range
  5. Privacy - Don't include sensitive details in task titles (visible in list views)

Safe Test

To safely test this skill using only user@example.com:

Test 1: Create and Complete Task (Safe)

In Claude Code:

  1. Load gog-tasks skill
  2. Say: "Create a task: Test task for GOG, priority P2, category Personal, due tomorrow"
  3. Confirm creation
  4. Verify task is created via:
    bash
    TASKLIST_ID=$(gog tasks lists --json | jq -r '.tasklists[0].id')
    gog tasks list "$TASKLIST_ID" --json
    
  5. Say: "Mark that task as done"
  6. Confirm completion
  7. Verify task is completed

Test 2: Daily Review (Read-Only, Safe)

  1. Say: "Task review" or "What should I do today?"
  2. Verify output includes:
    • Top 5 tasks section
    • Overdue section (if any)
    • Blocked section (if any)
    • Suggested focus
  3. Confirm no tasks are auto-completed or modified

Test 3: Create Task from Email (Safe)

  1. Get an email ID from your inbox
  2. Say: "Create a task for email [id]"
  3. Review proposed task
  4. Confirm creation
  5. Verify task links back to email (related_email_id field)

See skills/gog/_shared/references/testing.md for complete test plan.

Notes

  • This skill integrates with:

    • gog-email-triage: Often creates tasks for action-required emails
    • gog-email-draft: Task notes can inform email replies
    • gog-calendar: Tasks may become calendar events
    • gog-followups: Completed tasks may spawn follow-ups
  • Consider creating task templates for recurring tasks (weekly reports, monthly reviews)

  • For large projects, break into multiple tasks with clear dependencies

  • Use tags (if GOG supports) for additional organization beyond categories

  • Daily review is most effective when done at consistent time each day (morning standup with yourself)

Expand your agent's capabilities with these related and highly-rated skills.

EvolutionAPI/evo-nexus

data-create-viz

Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento

211 54
Explore
EvolutionAPI/evo-nexus

cs-customer-escalation

Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.

211 54
Explore
EvolutionAPI/evo-nexus

mkt-draft-content

Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.

211 54
Explore
EvolutionAPI/evo-nexus

discord-get-messages

Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.

211 54
Explore
EvolutionAPI/evo-nexus

cs-customer-research

Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.

211 54
Explore
EvolutionAPI/evo-nexus

int-omie

Omie ERP integration via API. Manage clients, products, orders, invoices (NF-e), financials (accounts receivable/payable), and stock. Use when users ask about ERP data, financials, orders, invoices, stock, or clients from Omie. Also handles webhooks for real-time events.

211 54
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results