Best for
- Use when the user wants to automate a recurring task via the afk daemon scheduler (cron) with push-notified results.
griffinwork40/agent-afk/src/bundled-plugins/awa-bundled/skills/automate/SKILL.md
Set up a scheduled headless afk run that pushes a summary to Telegram. Use when the user wants to automate a recurring task via the afk daemon scheduler (cron) with push-notified results.
Decision brief
Set up a scheduled headless afk run that pushes a summary to Telegram.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/griffinwork40/agent-afk --skill "src/bundled-plugins/awa-bundled/skills/automate"Inspect the Agent Skill "automate" from https://github.com/griffinwork40/agent-afk/blob/803066d4f1e0cd57e983658dc670d647fcd893c9/src/bundled-plugins/awa-bundled/skills/automate/SKILL.md at commit 803066d4f1e0cd57e983658dc670d647fcd893c9. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Permission review
The documentation asks the agent to read local files, directories, or repositories.
**Scout** — call `list_schedules` and inspect `~/.afk/config/schedules.json` for existing or overlapping jobs, run `afk service status` to see whether the daemon is installed as a launchd service and running, confirm Telegram is configured Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 77/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 45 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | catalog record | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Set up a recurring headless task using afk's native scheduler. Do NOT hand-roll launchd plists or shell scripts — afk has first-class scheduling: the create_schedule tool writes ~/.afk/config/schedules.json entries that afk daemon runs on cron.
Dispatch two sub-agents in parallel:
list_schedules and inspect ~/.afk/config/schedules.json for existing or overlapping jobs, run afk service status to see whether the daemon is installed as a launchd service and running, confirm Telegram is configured (TELEGRAM_BOT_TOKEN + AFK_TELEGRAM_ALLOWED_CHAT_IDS), and scan the target project folder for conventions. Report conflicts, daemon/service state, and any missing prerequisite.command string: a self-contained prompt (or /skill --flags invocation) sent verbatim into a freshly spawned session each run. The daemon session starts cold, so encode all input context explicitly, and require the run to END by calling the send_telegram tool with a concise, push-ready summary.When both return:
/telegram-setup first — send_telegram fails closed without TELEGRAM_BOT_TOKEN and AFK_TELEGRAM_ALLOWED_CHAT_IDS.create_schedule tool: name, the designed command, the requested 5-field cron, trigger: "cron", and notifyOn: "failure" as a crash safety-net (the per-run summary comes from the agent's own send_telegram call, not from notifyOn).afk service status shows the daemon isn't installed, run afk service install daemon (launchd RunAtLoad + KeepAlive on macOS).Dispatch a verification sub-agent to confirm the job registered (list_schedules), the daemon is running (afk service status), and — by running the task's command once as a one-shot (afk chat "<command>") — that the Telegram summary actually arrives. On failure, diagnose (Telegram config, daemon not running, cron syntax, prompt shape) and fix before exiting. Report the schedule id, cron, notifyOn, daemon/service status, and the next scheduled run.