automation-scheduler
SkillDocs & knowledgeUse when creating, managing, or running scheduled automations: morning briefs, weekly reports, PR stale checks, dependency scans, memory consolidation, drift audits. Triggers: schedule a task, automate this, create an automation, scheduled task, run daily, /automations, init
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the automation-scheduler skill
What this skill tells your AI
The instructions your AI receives, as published by gonzalezpazmonica/pm-workspace in .claude/skills/automation-scheduler/SKILL.md and read by ahel’s review.
Pipeline: LIST, CREATE, TEST, MONITOR, MANAGE.
Default Tasks
6 tareas predefinidas via savia-automations.sh init-defaults:
| Tarea | Schedule | Skill | Agente |
|---|---|---|---|
| morning-brief | 0 9 * * 1-5 | sprint-management | azure-devops-operator |
| pr-stale-check | 0 10 * * * | none | azure-devops-operator |
| drift-daily | 0 7 * * * | none | drift-auditor |
| memory-consolidation | 0 2 * * * | savia-memory | memory-agent |
| weekly-report | 0 8 * * 5 | weekly-report | none |
| dependency-cve-scan | 0 8 * * 1 | dependency-scanner | none |
Scoped Approvals
Cada tarea declara always_allowed_tools. El runner rechaza cualquier tool no incluida.
Politicas
- Run-once-catch-up: runs perdidos se ejecutan al reiniciar
- Skip-on-overlap: una tarea en ejecucion no se lanza otra vez
- Max concurrent: 3 runs simultaneos
- Tick interval: 30s por defecto
Goals durables y heartbeats claimed-due (lección SE-347 / PMA)
- Goals (
bash scripts/savia-goals.sh): objetivo con presupuesto (tokens + wall-clock) y estado durable en~/.savia/goals/. Regla: SOLOcompletemarca éxito (goal.complete()es el único final válido);progressacumula tokens/segundos/continuations;abandonpara cerrar sin éxito. Usa goals en tareas largas (overnight, migraciones, releases). - Heartbeats claimed-due (
savia-goals.sh heartbeat claim-due): un tick pendiente NO se reentrega tras crash (si un runner murió tras marcarlast_claimed, otro runner no lo reclama de nuevo); ticks perdidos coalescen (solo se entrega el más reciente). Añade heartbeats conheartbeat add --every <secs> --prompt <text>para tareas de larga duración.
Data
- Tasks: .savia/automations/tasks.json
- Runs: .savia/automations/runs/{task_id}/
- Output: output/automations/{task_id}/{run_id}.md
- Goals/heartbeats: ~/.savia/goals/ (savia-goals.sh)
CLI Reference
savia-automations.sh list [--enabled] [--due] savia-automations.sh show savia-automations.sh create --name --schedule --instructions savia-automations.sh run savia-automations.sh disable|enable savia-automations.sh delete savia-automations.sh history [--last N] savia-automations.sh output savia-automations.sh init-defaults
Signals
- GitHub stars
- 50
- Forks
- 12
- Last commit
- Sep 2026
Others that do the same job
Advanced
- Catalog kind
- skill
- Gateway key
automation-scheduler- Source
- github.com/gonzalezpazmonica/pm-workspace