Goals Skill
Manage hierarchical goals with a simple kanban workflow (backlog -> active -> completed).
Structure
Goals are organized hierarchically:
- Goals - High-level objectives (e.g., "Learn Spanish")
- Milestones - Major checkpoints within a goal (e.g., "Complete Duolingo basics")
- Tasks - Specific action items within a milestone (e.g., "Finish lesson 5")
When to Use
Use the goals skill for:
- Creating goals: "I want to learn Python this year"
- Breaking down goals: Add milestones and tasks to goals
- Tracking progress: View current status and progress percentages
- Status updates: Mark items as active or completed
- Proactive check-ins: Set up periodic reminders for goal progress
Input Format
The skill accepts JSON arguments via the SKILL_ARGS environment variable:
Create a goal
{
"action": "create",
"type": "goal",
"title": "Learn Spanish",
"checkin": "weekly",
"due": "2024-12-31"
}
Create a milestone
{
"action": "create",
"type": "milestone",
"title": "Complete Duolingo basics",
"parent_id": "goal_abc123"
}
Create a task
{
"action": "create",
"type": "task",
"title": "Finish lessons 1-5",
"parent_id": "milestone_def456"
}
List goals
{
"action": "list",
"type": "goal",
"status": "active"
}
list defaults to naturally active items. Age, due date, lifecycle, and genuine
topic relevance determine activation. Pass the user's topic/name as query so
a relevant older goal can return naturally; unrelated old goals remain quiet.
scope: "all" is only the complete durable inventory and does not affect storage.
Show goal hierarchy
{
"action": "show",
"id": "goal_abc123"
}
Complete an item
{
"action": "complete",
"id": "task_xyz789"
}
Activate an item
{
"action": "activate",
"id": "goal_abc123"
}
Reopen a completed item
{
"action": "reopen",
"id": "task_xyz789"
}
Update an item
{
"action": "update",
"id": "goal_abc123",
"title": "Master Spanish",
"due": "2025-06-30"
}
Delete an item
{
"action": "delete",
"id": "goal_abc123"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | One of: create, list, show, activate, complete, reopen, update, delete |
type |
string | For create/list | Item type: goal, milestone, or task |
title |
string | For create | Title/description of the item |
parent_id |
string | For milestone/task | Parent ID (goal for milestone, milestone for task) |
id |
string | For show/activate/complete/reopen/update/delete | Item ID |
status |
string | For list/update | Filter or set: backlog, active, completed |
due |
string | Optional | Due date (parsed naturally) |
checkin |
string | For goals | Check-in frequency: daily, weekly, biweekly, monthly, none |
tags |
array | Optional | Tags for organization |
Output Format
{
"success": true,
"output": "Goal created: Learn Spanish (ID: abc123)",
"exitCode": 0
}
Examples
Set up a learning goal
- Create the main goal:
{"action": "create", "type": "goal", "title": "Learn Spanish", "checkin": "weekly"}
- Add milestones:
{"action": "create", "type": "milestone", "title": "Complete Duolingo basics", "parent_id": "abc123"}
- Add tasks:
{"action": "create", "type": "task", "title": "Finish lesson 5", "parent_id": "def456"}
- Activate the goal:
{"action": "activate", "id": "abc123"}
- Complete tasks as you progress:
{"action": "complete", "id": "task789"}
- View progress:
{"action": "show", "id": "abc123"}