home / skills / legacybridge-tech / claude-plugins / todo-list

todo-list skill

/akashicrecords/skills/todo-list

npx playbooks add skill legacybridge-tech/claude-plugins --skill todo-list

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.1 KB
---
name: todo-list
description: Display all active todos with status and priority
trigger_keywords:
  - show todos
  - list todos
  - my todos
  - view todos
  - what todos
---

# Todo List

## Purpose

Display a summary of all active todos, sorted by priority and due date, with options to take action on specific items.

## Execution Flow

### Phase 1: Locate Todos Directory

1. Search for `Todos/` directory in the current working directory or its parents
2. Check `Todos/active/` for todo files
3. If not found:
   ```
   "No Todos directory found. You can create one using /todo-add."
   ```

### Phase 2: Read Active Todos

1. Use Glob to find all `.md` files in `Todos/active/`:
   ```
   Todos/active/*.md
   ```
   (Exclude README.md)

2. For each todo file, read and parse frontmatter:
   - title
   - status
   - priority
   - due_date
   - created_at
   - source_file
   - dependencies

### Phase 3: Sort Todos

Sort order (primary to tertiary):
1. **Priority**: high → medium → low
2. **Due Date**: overdue → today → this week → later → no date
3. **Created Date**: oldest first (to surface forgotten items)

### Phase 4: Format Output

Display as formatted table:

```
## Active Todos

| # | Title | Priority | Due | Status | Source |
|---|-------|----------|-----|--------|--------|
| 1 | Reply to client email | 🔴 High | 2025-01-15 (2 days) | pending | [email](link) |
| 2 | Review design docs | 🟡 Medium | 2025-01-20 | in_progress | - |
| 3 | Update documentation | 🟢 Low | - | pending | - |

---

### Summary

- **Total**: 3 active todos
- **High Priority**: 1
- **Overdue**: 0
- **Blocked**: 0 (dependencies not met)

### Overdue Items
(none)

### Due Today
(none)

### Due This Week
- Reply to client email (2025-01-15)
```

### Phase 5: Display Status Legend

```
Status:
- pending: Not started
- in_progress: Currently working on
- blocked: Waiting for dependencies

Priority:
- 🔴 High: Urgent/time-sensitive
- 🟡 Medium: Normal priority
- 🟢 Low: When time permits
```

### Phase 6: Offer Actions

Ask user what they want to do next:

```json
{
  "question": "What would you like to do?",
  "header": "Actions",
  "options": [
    {"label": "View details of a todo", "description": "Read the full content of a specific todo"},
    {"label": "Mark a todo complete", "description": "Complete and archive a todo"},
    {"label": "Update a todo", "description": "Change priority, due date, or status"},
    {"label": "Nothing, just viewing", "description": "Close this view"}
  ],
  "multiSelect": false
}
```

If user selects an action, follow up with todo selection:
```json
{
  "question": "Which todo?",
  "header": "Select Todo",
  "options": [
    {"label": "#1 Reply to client email", "description": "High priority, due 2025-01-15"},
    {"label": "#2 Review design docs", "description": "Medium priority, in progress"},
    {"label": "#3 Update documentation", "description": "Low priority, no deadline"}
  ],
  "multiSelect": false
}
```

## Output Formats

### Standard View (default)

Table format as shown above.

### Compact View

If there are many todos (>10):

```
## Active Todos (15 items)

### 🔴 High Priority (3)
1. Reply to client email - due 2025-01-15
2. Fix critical bug - due today ⚠️
3. Submit report - overdue ❌

### 🟡 Medium Priority (7)
4. Review design docs - in progress
5. Update API docs
...

### 🟢 Low Priority (5)
12. Refactor utils
...
```

### Blocked Items

If any todos have unmet dependencies:

```
### ⏸️ Blocked Todos

- **Prepare client presentation** (blocked)
  Waiting for: Review design docs, Get approval
```

## Empty State

If no active todos:

```
## Active Todos

No active todos! 🎉

You can:
- Add a new todo with /todo-add
- Check completed todos in Todos/completed/
```

## Error Handling

### Corrupted Frontmatter

If a todo file has invalid frontmatter:
1. Log warning: "Warning: [filename] has invalid frontmatter"
2. Skip the file in listing
3. Mention at the end: "1 todo file could not be parsed"

### Missing Directory

If `Todos/active/` doesn't exist but `Todos/` does:
1. Offer to create the directory structure
2. Or report "No active todos found"