AI Skill Report Card

Managing Task Lists

B-72·Apr 3, 2026·Source: Web

Managing Task Lists with Periodic Reviews

13 / 15
Python
import time import json from datetime import datetime, timedelta def create_task_tracker(): return { "tasks": [], "last_check": None, "check_interval": 1800, # 30 minutes in seconds "status_log": [] } # Example task structure task = { "id": 1, "title": "Complete project proposal", "status": "pending", # pending, in_progress, completed, paused, cancelled "created": "2024-01-01 09:00", "last_updated": "2024-01-01 09:00", "notes": "" }
Recommendation
Remove the verbose Python implementation details - Claude can write code without seeing every function definition
12 / 15

Progress:

  • Create initial task list
  • Set up monitoring system
  • Perform regular 30-minute checks
  • Update task statuses
  • Log progress and decisions

Step 1: Initialize Task List

Python
def add_task(tracker, title, priority="medium"): task_id = len(tracker["tasks"]) + 1 task = { "id": task_id, "title": title, "status": "pending", "priority": priority, "created": datetime.now().strftime("%Y-%m-%d %H:%M"), "last_updated": datetime.now().strftime("%Y-%m-%d %H:%M"), "notes": "", "time_spent": 0 } tracker["tasks"].append(task) return task_id

Step 2: Status Management

Python
def update_task_status(tracker, task_id, new_status, notes=""): for task in tracker["tasks"]: if task["id"] == task_id: old_status = task["status"] task["status"] = new_status task["last_updated"] = datetime.now().strftime("%Y-%m-%d %H:%M") task["notes"] = notes # Log status change tracker["status_log"].append({ "task_id": task_id, "change": f"{old_status}{new_status}", "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M"), "notes": notes }) break

Step 3: Periodic Check System

Python
def perform_check(tracker): current_time = datetime.now() print(f"\n=== Task Review at {current_time.strftime('%H:%M')} ===") for task in tracker["tasks"]: if task["status"] in ["pending", "in_progress", "paused"]: print(f"\nTask {task['id']}: {task['title']}") print(f"Current status: {task['status']}") print(f"Last updated: {task['last_updated']}") # Prompt for status update action = input("Status (c=complete, p=pause, r=resume, s=skip): ").lower() if action == 'c': update_task_status(tracker, task["id"], "completed", "Marked complete during review") elif action == 'p': update_task_status(tracker, task["id"], "paused", "Paused during review") elif action == 'r' and task["status"] == "paused": update_task_status(tracker, task["id"], "in_progress", "Resumed during review") tracker["last_check"] = current_time.strftime("%Y-%m-%d %H:%M")
Recommendation
Focus the Quick Start on the core concept and workflow rather than full code implementation
15 / 20

Example 1: Basic Task List Input: Three tasks to track

Python
tracker = create_task_tracker() add_task(tracker, "Write project proposal", "high") add_task(tracker, "Review meeting notes", "medium") add_task(tracker, "Update documentation", "low")

Output:

Task List Status:
1. Write project proposal [pending] - High priority
2. Review meeting notes [pending] - Medium priority  
3. Update documentation [pending] - Low priority

Example 2: Progress Update Input: After 30-minute check

Python
# Task 1 completed, Task 2 in progress, Task 3 paused update_task_status(tracker, 1, "completed", "Submitted to manager") update_task_status(tracker, 2, "in_progress", "50% complete") update_task_status(tracker, 3, "paused", "Waiting for requirements")

Output:

=== Progress Summary ===
✓ Write project proposal [COMPLETED]
→ Review meeting notes [IN PROGRESS] 
⏸ Update documentation [PAUSED]

Next check in 30 minutes at 14:30
Recommendation
Streamline the examples to show clear input/output pairs rather than code snippets with comments
  • Set realistic check intervals: 30 minutes works for active work sessions
  • Use clear status categories: pending, in_progress, completed, paused, cancelled
  • Add meaningful notes: Document reasons for status changes
  • Prioritize tasks: High/Medium/Low to focus attention during reviews
  • Keep tasks atomic: Break large tasks into smaller, checkable items
  • Save state: Export/import task lists to persist across sessions
  • Don't skip regular checks: Consistency is key to the system working
  • Avoid too many status options: Keep it simple with 5 core statuses
  • Don't ignore paused tasks: Review why tasks are paused and when to resume
  • Don't let the list grow too long: Archive completed tasks regularly
  • Don't forget to log time: Track actual time spent vs. estimated time
0
Grade B-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
13/15
Workflow
12/15
Examples
15/20
Completeness
16/20
Format
15/15
Conciseness
11/15