EdsgerEdsger Docs

Tasks

Actionable items for team members and AI agents with priority levels and automatic creation from approvals.

Tasks

Tasks are actionable work items that bridge the gap between AI automation and human action. They can be assigned to people or AI, created manually or automatically, and tracked from a centralized dashboard.

Why Tasks?

During the AI development lifecycle, actions frequently need to happen outside the automated pipeline:

  • A reviewer needs to approve a verification gate
  • A developer needs to manually test a specific scenario
  • The AI needs to execute a one-off analysis
  • A team member needs to update configuration

Tasks capture these action items with clear ownership, priority, and status tracking, ensuring nothing falls through the cracks.

Task Properties

PropertyDescription
NameShort description of what needs to be done (max 200 chars)
DescriptionDetailed explanation (optional)
StatusCurrent state: pending, in_progress, completed, blocked, cancelled
PriorityUrgency level: 1 (low) to 4 (urgent)
ExecutorWho should do it: ai or human
SourceHow it was created: manual (by user/AI) or system (by trigger)
Assigned ToSpecific team member (optional)
FeatureLinked feature (optional)
Action URLDirect link for human tasks (e.g., approval review page)

Priority Levels

LevelLabelWhen to Use
1LowCan wait, not blocking anything
2MediumNormal priority (default)
3HighImportant, should be addressed soon
4UrgentBlocking the pipeline, needs immediate attention

Task Statuses

StatusDescription
pendingCreated but not started
in_progressSomeone (human or AI) is working on it
completedDone
blockedCannot proceed (dependency or error)
cancelledNo longer needed

How Tasks Are Created

Manually

Team members or AI can create tasks directly:

  • From the AI Chat: Ask the AI to create a task ("Create a task for Jane to review the API design")
  • Via MCP: AI agents can call tasks/create programmatically

Automatically from Approvals

When an approval request is created, the system automatically generates tasks:

  • One task is created for each assignee in the approval
  • Task name: "Review: <feature name> — <requested status>"
  • Priority: 3 (high)
  • Executor: human
  • Action URL: links directly to the approval review page (/approvals/<token>)

When the approval is resolved (approved or rejected), the corresponding tasks are automatically marked as completed.

My Tasks Dashboard

Navigate to My Tasks in the sidebar to see your task dashboard:

Assigned to Me

Tasks where you are the assignee. Filterable by status:

  • Active: Shows pending and in-progress tasks
  • Individual status filters: Pending, In Progress, Completed, Blocked, Cancelled

Created by Me

Tasks you created and assigned to others, so you can track their progress.

Task Card

Each task shows:

  • Priority indicator (colored dot)
  • Task name (clickable link to context)
  • Description preview
  • Product and feature breadcrumb
  • Relative time (e.g., "2 hours ago")
  • Status dropdown (update inline)
  • Take action button for tasks with an action URL (e.g., navigates to approval page)

AI Task Execution

Watch Mode

The CLI can continuously monitor and execute AI tasks:

edsger --watch-tasks <product-id>

This starts a polling loop that:

  1. Checks for new pending tasks with executor: ai every 15 seconds
  2. Claims a pending task and marks it in_progress
  3. Runs the Claude Agent SDK with full product context and task details
  4. On success: marks the task completed
  5. On failure: marks the task blocked

AI Task Context

When executing a task, the AI receives:

  • Product name and description
  • Task name, description, and priority
  • Full Claude Code capabilities (file read/write, bash, etc.)

This allows AI tasks to perform complex operations: code analysis, file generation, testing, and more.

Creating Tasks from AI Chat

Both feature chat and product chat can create tasks:

You: "Create a high-priority task for @mike to set up the staging environment"

AI: [Creates task: "Set up staging environment", assigned to Mike, priority: high, executor: human] Done! Mike will see this in his task list.

The AI can also list product members to help you assign tasks:

You: "Who's on the team? I need someone to review the database schema."

AI: [Lists product members] The team members are: Jane (owner), Mike (developer), Sarah (developer). Would you like me to create a task for one of them?

Best Practices

  • Use human tasks for reviews: Approval-generated tasks ensure reviewers don't miss requests
  • Use AI tasks for automation: Let the CLI's watch mode handle repetitive analysis, code generation, or testing
  • Set appropriate priorities: Urgent (4) for pipeline-blocking items, High (3) for approvals, Medium (2) for normal work
  • Link to features: Associate tasks with features for better context and navigation
  • Check My Tasks regularly: The dashboard shows all your pending work across all products