Prompt Templates

Dodo can render any task as a prompt for AI coding agents. This is available from both the CLI and the web UI.

Usage

CLI

# Output the rendered prompt to stdout
dodo show abc12345 --prompt

# Pipe to clipboard
dodo show abc12345 --prompt | pbcopy

Web UI

On any task detail page, click the Copy agent prompt button. The rendered prompt is copied to your clipboard.

API

# Get the current template
dodo api prompt-template

# Save a custom template
dodo api put prompt-template -d '{"template": "..."}'

Default Template

The built-in template generates a structured prompt:

I need you to work on the following task.

## Task: {{title}}

- **ID:** {{id}}
- **Status:** {{status}}
- **Tags:** {{tags}}
- **Parent:** {{parent}}
- **Blocked by:** {{blocked_by}}
- **Subtasks:** {{children}}

## Description

{{description}}

## Instructions

Work on this task to completion. When done, mark it complete:
`dodo complete {{id}}`

Custom Templates

Create a .dodo/prompt-template.txt file in your project to override the default:

# Example: minimal template
cat > .dodo/prompt-template.txt << 'EOF'
Complete the following task: {{title}}

{{description}}

Related context:
- Blocked by: {{blocked_by}}
- Subtasks: {{children}}

When finished, run: `dodo complete {{id}}`
EOF

The custom template is loaded from the .dodo/ directory when rendering prompts.

Available Variables

VariableDescription
{{id}}Task ID
{{title}}Task title
{{description}}Task description (or "No description provided.")
{{status}}Task status (open, in-progress, blocked, done)
{{tags}}Comma-separated tags (or "none")
{{parent}}Parent task title and ID (or "none")
{{children}}List of subtask titles and IDs (or "none")
{{blocked_by}}List of blocking task titles and IDs (or "none")
{{blocks}}List of tasks this one blocks (or "none")
{{created_at}}Creation timestamp (ISO 8601)
{{updated_at}}Last update timestamp (ISO 8601)

Variables use {{double_braces}} syntax. All variables are replaced with their values when rendering — unknown variables are left as-is.

Tips

  • Keep templates focused — include only the context your agent needs
  • Use {{blocked_by}} and {{children}} to give agents awareness of related work
  • Include dodo complete {{id}} so the agent can mark the task done when finished
  • Commit .dodo/prompt-template.txt to share the template with your team