Skip to content
Back to skills

Schedule Task

ASecurity

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.

  • 529 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 29, 2026
ai-agentspythonapibackend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned May 29, 2026

npx -y skills add evolution-foundation/evo-nexus --skill schedule-task --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Schedule Task?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Schedule Task
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/evolution-foundation-schedule-task/badge)](https://www.skillsdirectory.com/skills/evolution-foundation-schedule-task)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

```python
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

```python
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:
```python
from dashboard.backend.sdk_client import evo
evo.post(f"/api/tasks/{task_id}/run")
```

### Cancelling

```python
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"
```json
{
  "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"
```json
{
  "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"
```json
{
  "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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…