task_types.yaml¶
Source: config/task_types.yaml
# Task type registry
# See docs/task-system.md for full documentation
#
# Each task type specifies:
# - prompt_template: path to externalized prompt (Jinja2 or markdown)
# - output_schema: JSON schema for structured LLM output
# - model: model alias from donna_models.yaml
# - tools: list of tools the model may request for this task type
# - shadow: (optional) secondary model for production monitoring
task_types:
parse_task:
description: "Extract structured task fields from natural language"
model: parser
prompt_template: prompts/parse_task.md
output_schema: schemas/task_parse_output.json
tools: []
classify_priority:
description: "Assign priority 1-5 based on content and context"
model: parser
prompt_template: prompts/classify_priority.md
output_schema: schemas/priority_output.json
tools: [task_db_read]
generate_digest:
description: "Generate morning digest in Donna persona"
model: parser
shadow: reasoner
prompt_template: prompts/morning_digest.md
output_schema: schemas/digest_output.json
tools: [calendar_read, task_db_read, cost_summary]
prep_research:
description: "Research and compile prep materials for a flagged task"
model: reasoner
prompt_template: prompts/prep_research.md
output_schema: schemas/prep_output.json
tools: [web_search, email_read, notes_read, fs_read]
dedup_check:
description: "Determine if two tasks are the same, related, or different"
model: parser
prompt_template: prompts/dedup_check.md
output_schema: schemas/dedup_output.json
tools: []
task_decompose:
description: "Break a complex task into subtasks with dependencies"
model: reasoner
prompt_template: prompts/task_decompose.md
output_schema: schemas/decompose_output.json
tools: [task_db_read]
extract_preferences:
description: "Extract learned preference rules from correction history"
model: reasoner
prompt_template: prompts/extract_preferences.md
output_schema: schemas/extract_preferences_output.json
tools: []
generate_nudge:
description: "Generate a contextual nudge message in Donna persona"
model: local_parser
prompt_template: prompts/generate_nudge.md
output_schema: schemas/nudge_output.json
tools: []
generate_reminder:
description: "Generate a pre-task reminder message in Donna persona"
model: local_parser
prompt_template: prompts/generate_reminder.md
output_schema: schemas/reminder_output.json
tools: []
challenge_task:
description: "Evaluate task quality and generate follow-up questions"
model: local_parser
prompt_template: prompts/challenge_task.md
# F-W3-H: schema points at challenger_parse.json (the Wave 3 unified
# intent + capability parse shape). ChallengerAgent.execute's legacy
# {needs_clarification, questions, reasoning} output reads the raw
# LLM response directly and does not run through validate_output, so
# this swap does not affect that path.
output_schema: schemas/challenger_parse.json
tools: []
generate_weekly_digest:
description: "Generate weekly efficiency report in Donna persona"
model: local_parser
prompt_template: prompts/weekly_digest.md
output_schema: schemas/weekly_digest_output.json
tools: []
classify_chat_intent:
description: "Classify user chat message intent"
model: local_parser
prompt_template: prompts/chat/classify_intent.md
output_schema: schemas/chat_intent_output.json
tools: []
chat_respond:
description: "Generate chat response based on intent and context"
model: local_parser
prompt_template: prompts/chat/chat_respond.md
output_schema: schemas/chat_respond_output.json
tools: []
chat_summarize:
description: "Summarize a chat session on close or expiry"
model: local_parser
prompt_template: prompts/chat/chat_summarize.md
output_schema: schemas/chat_summarize_output.json
tools: []
chat_escalation:
description: "Chat response via Claude when local LLM cannot answer"
model: parser
prompt_template: prompts/chat/chat_respond.md
output_schema: schemas/chat_respond_output.json
tools: []
triage_failure:
description: "Decide how to handle a skill runtime failure"
model: local_parser
prompt_template: ""
output_schema: ""
tools: []
skill_equivalence_judge:
description: "Compare two skill outputs for semantic equivalence during shadow sampling"
model: reasoner
prompt_template: prompts/skill_equivalence_judge.md
output_schema: schemas/skill_equivalence_output.json
tools: []
skill_auto_draft:
description: "Claude generates a skill YAML + fixtures for a candidate capability"
model: reasoner
prompt_template: prompts/skill_auto_draft.md
output_schema: schemas/skill_auto_draft_output.json
tools: []
skill_evolution:
description: "Claude regenerates a degraded skill with divergence case studies + correction log"
model: reasoner
prompt_template: prompts/skill_evolution.md
output_schema: schemas/skill_evolution_output.json
tools: []
claude_novelty:
description: "Claude judges no-capability-match messages and emits execution-ready intent + skill reuse verdict"
model: reasoner
prompt_template: prompts/claude_novelty.md
output_schema: schemas/claude_novelty.json
tools: []
# Slice 15 — template-driven vault writes
draft_meeting_note:
description: "Draft a meeting-note scaffold from calendar + memory context"
model: reasoner
prompt_template: prompts/skills/draft_meeting_note.md.j2
output_schema: schemas/draft_meeting_note.json
tools: []
# Slice 16 — cadence-driven template writes
draft_daily_reflection:
description: "Draft an end-of-day reflection from today's meetings, tasks, and chats"
model: reasoner
prompt_template: prompts/skills/draft_daily_reflection.md.j2
output_schema: schemas/draft_daily_reflection.json
tools: []
draft_weekly_review:
description: "Draft a weekly self-review from the week's meetings, commitments, and tasks"
model: reasoner
prompt_template: prompts/skills/draft_weekly_review.md.j2
output_schema: schemas/draft_weekly_review.json
tools: []
draft_person_profile:
description: "Draft or refresh a People/{name}.md profile from cross-source context"
model: reasoner
prompt_template: prompts/skills/draft_person_profile.md.j2
output_schema: schemas/draft_person_profile.json
tools: []
extract_commitments:
description: "Extract commitments (speech-act classification) from today's chats and task mutations"
model: reasoner
prompt_template: prompts/skills/extract_commitments.md.j2
output_schema: schemas/extract_commitments.json
tools: []
# Schema versioning: output schemas use semantic versioning
# e.g., task_parse_output_v2.json
# Orchestrator handles both old and new formats during transitions