/schedule-task
Create, update, list, or run scheduled tasks (one-off actions). Schedule a skill, prompt, or script to run at a specific date/time without creating a full routine. Use when user says 'schedule this for', 'run this at', 'agendar para', 'roda isso amanha', 'post this on Friday at
$ npx -y skills add evolution-foundation/evo-nexus --skill schedule-task --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/schedule-task
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create, update, list, or run scheduled tasks (one-off actions). Schedule a skill, prompt, or script to run at a specific date/time without creating a full routine. Use when user says 'schedule this for', 'run this at', 'agendar para', 'roda isso amanha', 'post this on Friday at
SKILL.md
schedule-task.SKILL.mdname: schedule-task
description: "Create, update, list, or run scheduled tasks (one-off actions). Schedule a skill, prompt, or script to run at a specific date/time without creating a full routine. Use when user says 'schedule this for', 'run this at', 'agendar para', 'roda isso amanha', 'post this on Friday at 10am', 'schedule a task', or any reference to one-off scheduled actions."
metadata:
author: evonexus
version: "1.0"
Schedule Task — One-Off Scheduled Actions
Create and manage one-off scheduled tasks that run at a specific date/time. Unlike routines (which repeat on cron), scheduled tasks execute once and are done.
When to Use
- User wants to schedule something for a specific time: "posta no LinkedIn sexta 10h"
- User wants to run a report later: "roda o financial pulse amanha as 8h"
- User says "agenda pra", "schedule this for", "run at", "agendar tarefa"
- User wants to list or manage pending tasks: "quais tarefas agendadas?"
API Reference
The dashboard backend exposes these endpoints:
| Method | Endpoint | Action | |--------|----------|--------| | GET | `/api/tasks` | List tasks (query: `?status=pending\|running\|completed\|failed`) | | POST | `/api/tasks` | Create a new task | | GET | `/api/tasks/<id>` | Get task details | | PUT | `/api/tasks/<id>` | Edit a pending task | | DELETE | `/api/tasks/<id>` | Cancel (pending) or delete (completed/failed) | | POST | `/api/tasks/<id>/run` | Execute immediately |
Task Types
| Type | Payload | When to Use | |------|---------|-------------| | `skill` | Skill name + args (e.g. `social-post-writer LinkedIn post about X`) | Running a Claude skill | | `prompt` | Free-form prompt text | Running a raw Claude prompt | | `script` | Script path relative to `ADWs/routines/` (e.g. `custom/financial_pulse.py`) | Running an existing routine script |
Agents
| Agent ID | Short Name | |----------|------------| | `clawdia-assistant` | @clawdia | | `flux-financeiro` | @flux | | `atlas-project` | @atlas | | `kai-personal-assistant` | @kai | | `pulse-community` | @pulse | | `sage-strategy` | @sage | | `pixel-social-media` | @pixel | | `nex-comercial` | @nex | | `mentor-courses` | @mentor |
Workflow
Creating a Task
1. **Understand the request** — extract what, when, and how:
- **What:** the action to perform
- **When:** date + time (convert relative dates like "amanha", "sexta" to absolute ISO 8601 in UTC)
- **Type:** skill, prompt, or script
- **Agent:** which agent should handle it (if applicable)
2. **Confirm with user** — show a summary before creating:
Agendar:
- Nome: Post LinkedIn sobre Evolution Summit
- Tipo: skill
- Payload: social-post-writer LinkedIn post about Evolution Summit April 14-16
- Agent: @pixel
- Quando: 2026-04-11 13:00 (BRT)
Confirma?
3. **Create via API:**
Use `from dashboard.backend.sdk_client import evo` — auto-handles URL + auth.
from dashboard.backend.sdk_client import evo
task = evo.post("/api/tasks", {
"name": "Post LinkedIn sobre Evolution Summit",
"description": "LinkedIn post promoting the Evolution Summit event",
"type": "skill",
"payload": "social-post-writer LinkedIn post about Evolution Summit April 14-16",
"agent": "pixel-social-media",
"scheduled_at": "2026-04-11T16:00:00Z",
})**Important:** Convert BRT times to UTC by adding 3 hours. The user's timezone is America/Sao_Paulo (UTC-3).
Listing Tasks
from dashboard.backend.sdk_client import evo
# All pending tasks
pending = evo.get("/api/tasks", params={"status": "pending"})
# All tasks
all_tasks = evo.get("/api/tasks")Present as a clean table:
ID | Nome | Tipo | Agendado | Status
---|-------------------------------|-------|-----------------|--------
1 | Post LinkedIn Summit | skill | 11/04 13:00 BRT | pending
2 | Financial Weekly extra | script| 12/04 08:00 BRT | completed
Running Now
If user wants to execute immediately:
from dashboard.backend.sdk_client import evo
evo.post(f"/api/tasks/{task_id}/run")Cancelling
from dashboard.backend.sdk_client import evo
evo.delete(f"/api/tasks/{task_id}")Date Parsing Rules
The user speaks Portuguese. Common patterns:
- "amanha as 10h" → tomorrow at 10:00 BRT → +1 day, 13:00 UTC
- "sexta 15h" → next Friday at 15:00 BRT → Friday 18:00 UTC
- "segunda de manha" → next Monday at 09:00 BRT → Monday 12:00 UTC
- "hoje a noite" → today at 21:00 BRT → today 00:00+1 UTC
- "daqui 2 horas" → now + 2 hours
Always confirm the parsed date with the user before creating.
Examples
"Agenda um post no LinkedIn pra sexta as 10h sobre o Summit"
{
"name": "Post LinkedIn — Evolution Summit",
"type": "skill",
"payload": "social-post-writer LinkedIn post about Evolution Summit April 14-16, 2026",
"agent": "pixel-social-media",
"scheduled_at": "2026-04-10T13:00:00Z"
}"Roda o community pulse amanha as 8h"
{
"name": "Community Pulse (manual)",
"type": "script",
"payload": "custom/community_daily.py",
"agent": null,
"scheduled_at": "2026-04-10T11:00:00Z"
}"Manda um resumo pro Telegram amanha 14h com status dos projetos"
{
"name": "Resumo projetos via Telegram",
"type": "prompt",
"payload": "Check the status of all active projects (Evo AI, Evolution Summit, Evo Academy) and send a summary via Telegram to Davidson",
"agent": "atlas-project",
"scheduled_at": "2026-04-10T17:00:00Z"
}Important Notes
- Tasks are one-off. For recurring actions, use `create-routine` skill instead.
- The scheduler checks for pending tasks every 30 seconds.
- Tasks run in background threads — they won't block the scheduler.
- Results are saved in `result_summary` and visible in the dashboard at `/tasks`.
- Always confirm with the user before creating a task.
- Convert all times from BRT (UTC-3) to UTC before sending to the API.
Read more
name: schedule-task description: "Create, update, list, or run scheduled tasks (one-off actions). Schedule a skill, prompt, or script to run at a specific date/time without creating a full routine. Use when user says 'schedule this for', 'run this at', 'agendar para', 'roda isso amanha', 'post this on Friday at 10am', 'schedule a task', or any reference to one-off scheduled actions." metadata: author: evonexus version: "1.0"
Schedule Task — One-Off Scheduled Actions
Create and manage one-off scheduled tasks that run at a specific date/time. Unlike routines (which repeat on cron), scheduled tasks execute once and are done.
When to Use
- User wants to schedule something for a specific time: "posta no LinkedIn sexta 10h"
- User wants to run a report later: "roda o financial pulse amanha as 8h"
- User says "agenda pra", "schedule this for", "run at", "agendar tarefa"
- User wants to list or manage pending tasks: "quais tarefas agendadas?"
API Reference
The dashboard backend exposes these endpoints:
| Method | Endpoint | Action | |--------|----------|--------| | GET | `/api/tasks` | List tasks (query: `?status=pending\|running\|completed\|failed`) | | POST | `/api/tasks` | Create a new task | | GET | `/api/tasks/<id>` | Get task details | | PUT | `/api/tasks/<id>` | Edit a pending task | | DELETE | `/api/tasks/<id>` | Cancel (pending) or delete (completed/failed) | | POST | `/api/tasks/<id>/run` | Execute immediately |
Task Types
| Type | Payload | When to Use | |------|---------|-------------| | `skill` | Skill name + args (e.g. `social-post-writer LinkedIn post about X`) | Running a Claude skill | | `prompt` | Free-form prompt text | Running a raw Claude prompt | | `script` | Script path relative to `ADWs/routines/` (e.g. `custom/financial_pulse.py`) | Running an existing routine script |
Agents
| Agent ID | Short Name | |----------|------------| | `clawdia-assistant` | @clawdia | | `flux-financeiro` | @flux | | `atlas-project` | @atlas | | `kai-personal-assistant` | @kai | | `pulse-community` | @pulse | | `sage-strategy` | @sage | | `pixel-social-media` | @pixel | | `nex-comercial` | @nex | | `mentor-courses` | @mentor |
Workflow
Creating a Task
1. **Understand the request** — extract what, when, and how:
- **What:** the action to perform
- **When:** date + time (convert relative dates like "amanha", "sexta" to absolute ISO 8601 in UTC)
- **Type:** skill, prompt, or script
- **Agent:** which agent should handle it (if applicable)
2. **Confirm with user** — show a summary before creating:
Agendar: - Nome: Post LinkedIn sobre Evolution Summit - Tipo: skill - Payload: social-post-writer LinkedIn post about Evolution Summit April 14-16 - Agent: @pixel - Quando: 2026-04-11 13:00 (BRT) Confirma?
3. **Create via API:**
Use `from dashboard.backend.sdk_client import evo` — auto-handles URL + auth.
from dashboard.backend.sdk_client import evo
task = evo.post("/api/tasks", {
"name": "Post LinkedIn sobre Evolution Summit",
"description": "LinkedIn post promoting the Evolution Summit event",
"type": "skill",
"payload": "social-post-writer LinkedIn post about Evolution Summit April 14-16",
"agent": "pixel-social-media",
"scheduled_at": "2026-04-11T16:00:00Z",
})**Important:** Convert BRT times to UTC by adding 3 hours. The user's timezone is America/Sao_Paulo (UTC-3).
Listing Tasks
from dashboard.backend.sdk_client import evo
# All pending tasks
pending = evo.get("/api/tasks", params={"status": "pending"})
# All tasks
all_tasks = evo.get("/api/tasks")Present as a clean table:
ID | Nome | Tipo | Agendado | Status ---|-------------------------------|-------|-----------------|-------- 1 | Post LinkedIn Summit | skill | 11/04 13:00 BRT | pending 2 | Financial Weekly extra | script| 12/04 08:00 BRT | completed
Running Now
If user wants to execute immediately:
from dashboard.backend.sdk_client import evo
evo.post(f"/api/tasks/{task_id}/run")Cancelling
from dashboard.backend.sdk_client import evo
evo.delete(f"/api/tasks/{task_id}")Date Parsing Rules
The user speaks Portuguese. Common patterns:
- "amanha as 10h" → tomorrow at 10:00 BRT → +1 day, 13:00 UTC
- "sexta 15h" → next Friday at 15:00 BRT → Friday 18:00 UTC
- "segunda de manha" → next Monday at 09:00 BRT → Monday 12:00 UTC
- "hoje a noite" → today at 21:00 BRT → today 00:00+1 UTC
- "daqui 2 horas" → now + 2 hours
Always confirm the parsed date with the user before creating.
Examples
"Agenda um post no LinkedIn pra sexta as 10h sobre o Summit"
{
"name": "Post LinkedIn — Evolution Summit",
"type": "skill",
"payload": "social-post-writer LinkedIn post about Evolution Summit April 14-16, 2026",
"agent": "pixel-social-media",
"scheduled_at": "2026-04-10T13:00:00Z"
}"Roda o community pulse amanha as 8h"
{
"name": "Community Pulse (manual)",
"type": "script",
"payload": "custom/community_daily.py",
"agent": null,
"scheduled_at": "2026-04-10T11:00:00Z"
}"Manda um resumo pro Telegram amanha 14h com status dos projetos"
{
"name": "Resumo projetos via Telegram",
"type": "prompt",
"payload": "Check the status of all active projects (Evo AI, Evolution Summit, Evo Academy) and send a summary via Telegram to Davidson",
"agent": "atlas-project",
"scheduled_at": "2026-04-10T17:00:00Z"
}Important Notes
- Tasks are one-off. For recurring actions, use `create-routine` skill instead.
- The scheduler checks for pending tasks every 30 seconds.
- Tasks run in background threads — they won't block the scheduler.
- Results are saved in `result_summary` and visible in the dashboard at `/tasks`.
- Always confirm with the user before creating a task.
- Convert all times from BRT (UTC-3) to UTC before sending to the API.
Other skills on evo-nexus.
- /ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway BYOK). Also analyze/describe existing images using multimodal AI vision. Use when user asks to "generate an image",
Open skill - /create-agent
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the user says 'create an agent', 'new agent', 'add an agent', 'I need a custom agent', or wants to create a specialized agent
Open skill - /create-command
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in .claude/commands/. Use when the user says 'create a command', 'new command', 'add a slash command', 'I want a shortcut for', or wants
Open skill - /create-goal
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a project, defining a measurable goal with metric_type and target_value. Writes to the SQLite goals tables via POST
Open skill - /create-heartbeat
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake triggers, and the decision prompt that governs when the agent acts. Writes to config/heartbeats.yaml with pydantic validation.
Open skill - /create-integration
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description, category, and required env keys. Writes .claude/skills/custom-int-{slug}/SKILL.md via POST /api/integrations/custom. Use
Open skill

