task-add

bencassie's avatarfrom bencassie

This skill should be used when the user asks to "add a task", "create task", "new task", or "task to do X". Adds timestamped tasks to daily note log with optional due dates.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 7, 2026

When & Why to Use This Skill

This Claude skill streamlines personal productivity by automating task capture within daily note logs. It intelligently parses natural language to extract task descriptions, assigns precise timestamps, and handles optional due dates with automatic ISO-format conversion. By integrating directly into markdown-based workflows, it eliminates the friction of manual logging and ensures all action items are organized and trackable.

Use Cases

  • Rapid Task Capture: Instantly log new action items during a conversation or brainstorming session by saying 'add a task to review the project proposal', ensuring no ideas are lost.
  • Natural Language Scheduling: Set deadlines using intuitive phrases like 'by next Friday' or 'due Jan 5', which the skill automatically converts into standardized date formats with visual calendar indicators.
  • Daily Log Maintenance: Automatically maintain a chronological 'Log' section in your daily notes, creating a structured history of tasks created throughout the day for better accountability and review.
nametask-add
descriptionThis skill should be used when the user asks to "add a task", "create task", "new task", or "task to do X". Adds timestamped tasks to daily note log with optional due dates.
auto_triggertrue
allowed-toolsRead, Edit

Task Add

Automatically add a timestamped task entry to today's daily note log when user wants to create a task. Due date is optional.

Trigger Detection

This skill activates when the user's prompt contains task creation intent:

  • "add a task to review PR"
  • "add a task to do X by DATE"
  • "create task to X due DATE"
  • "new task: X"
  • "task to do X for DATE"

Due date is optional. If no due date is mentioned, omit the 📅 portion from the task.

Examples

User prompts that trigger this skill:

  • "add a task to review PR" (no due date - task added without 📅)
  • "add a task to review PR by tomorrow" (with due date)
  • "create a task to call dentist by 2025-12-31"
  • "task to do laundry by Friday"
  • "new task: finish report due Jan 5"

User prompts that DO NOT trigger this skill:

  • "create a task" (no description)
  • "what tasks do I have" (query, not creation)

Process

  1. Check for due date (optional)

    • Check if prompt contains date reference (by, due, for + date)
    • If no date found, proceed without due date
  2. Get current time

    • Parse from injected UserPromptSubmit hook context: "Time: HH:MM"
    • IMPORTANT: Do NOT use Bash or PowerShell commands.
  3. Extract task description

    • Remove trigger words ("add a task to", "task to do", etc.)
    • Extract description before the due date reference
    • Preserve any [[wikilinks]] in the description
  4. Extract and parse due date

    • Look for date reference after "by", "due", "for"
    • Parse natural language dates:
      • "tomorrow" → next day (YYYY-MM-DD)
      • "Friday" → next Friday (YYYY-MM-DD)
      • "2025-12-31" → ISO format (YYYY-MM-DD)
      • "Jan 5" / "January 5" → YYYY-01-05
    • Format: YYYY-MM-DD (ISO 8601)
  5. Construct daily note path

    • Path: {paths.daily_notes}/YYYY-MM-DD.md (from config)
  6. Read the daily note

    • Find the Log section (from config sections.log)
  7. Add the task entry

    • Format: - [ ] HH:MM [description] 📅 YYYY-MM-DD (omit 📅 portion if no due date)
    • Use the calendar emoji: 📅 (U+1F4C5) when due date is present
    • Add after the last log entry in the section
    • Use Edit tool to insert the new entry
    • Check Edit result - if blocked or failed:
      • Inform user: "Edit was blocked or failed. Please confirm the mutation or add manually."
      • Do NOT proceed to confirmation
  8. Verify the write succeeded

    • Re-read the daily note file
    • Search for the newly added task text (the exact description + timestamp)
    • If NOT found: Alert user "Task write failed - please add manually: - [ ] HH:MM [description]"
    • If found: Proceed to confirmation
  9. Confirm (only if Step 8 succeeded)

    • Display the added task with timestamp, description, and due date

Task Entry Format

## Log

- [ ] 20:50 Review PR #123 📅 2025-12-31
- [ ] 14:22 Call dentist 📅 2026-01-05
- [ ] 09:15 Finish quarterly report

Format Components

  1. Checkbox: - [ ] (unchecked task)
  2. Timestamp: HH:MM (when task was created)
  3. Description: Free text with optional [[wikilinks]]
  4. Due date emoji: 📅 (calendar emoji, U+1F4C5) - optional
  5. Due date: YYYY-MM-DD (ISO 8601 format) - optional

Date Parsing Rules

Supported Date Formats

Relative dates (calculate from injected context date):

  • "tomorrow" → +1 day
  • "today" → same day
  • "Monday", "Tuesday", etc. → next occurrence of day
  • "next Monday" → following Monday
  • "in 3 days" → +3 days

Absolute dates:

  • "2025-12-31" → use as-is (ISO format)
  • "12/31/2025" → convert to 2025-12-31
  • "Dec 31" → current year + 12-31
  • "January 5" → current year + 01-05

Edge Cases

  • If date is in the past, use it anyway (user may want to track overdue tasks)
  • If date is ambiguous ("Friday" on a Friday), assume next Friday
  • If date cannot be parsed, ask user: "Please specify the due date as YYYY-MM-DD"

Critical Rules

  • Due date optional: Include 📅 portion only if due date is mentioned
  • Calendar emoji: Use 📅 (U+1F4C5) when due date present
  • ISO date format: Always YYYY-MM-DD for due dates
  • Timestamp required: Always include HH:MM format for task creation time
  • Preserve structure: Don't modify other sections
  • Task format: Use - [ ] HH:MM description [📅 YYYY-MM-DD]
  • Wikilinks: Preserve any [[wikilinks]] in the user's description

Six Gates Compliance

Gate Implementation
1. Read Before Write Reads daily note before adding task (step 6)
2. File Exists Validates daily note exists; creates if missing
3. Chain Validation N/A (single operation)
4. Mutation Confirmation Task shown to user before write
5. Health Check Uses vault config infrastructure
6. Post Validation Re-reads file and verifies task was written (step 8)

Configuration

This skill uses these config values:

  • paths.daily_notes: Folder containing daily notes (default: "daily-notes")
  • sections.log: Log section header (default: "## Log")