Skip to content
Agentmart
Submit a tool

auto-tasks

Learn how to schedule reminders and agent work to run once or repeatedly in the current chat.

Skill by madacol

IndexedUnlicense★ 1
Write a review

Chalk Labs

Need help deploying auto-tasks?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/madacol-auto-tasks

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Learn how to schedule reminders and agent work to run once or repeatedly in the current chat.

Use cases: agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/auto-tasks

What's inside

Skill name
auto-tasks
Description
Learn how to schedule reminders and agent work to run once or repeatedly in the current chat.
License
Unlicense
Instructions
109 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Auto tasks

Use this skill for reminders and scheduled agent work. Both use one declaration, timing model, and app-owned confirmation flow. Use `message` to send reminder text directly, or `promptFile` to run agent instructions from a file. Inline agent prompts are not accepted. Infer the action from the request; ask only when it is unclear.

## Inspect

Read `<current-workspace>/schedules.json`. It is the complete schedule declaration for the current Channel. Reading or explaining it does not require confirmation.

## Propose a change

For a creation, change, or removal:

1. Use the conversation to establish the action, content, and timing. Ask only for missing details. For a relative request such as "in 40 minutes," calculate the local `startAt` from the current time and the chosen time zone.
2. For agent work, write the instructions to a file or verify an existing prompt file contains them. Read the current declaration and construct the complete desired `schedules.json` array with the file path in `promptFile`.
3. Call the current Invocation's `request_scheduled_prompt_change` tool with that exact array as `declarations`, without editing the file. For example, the tool arguments are:

```json
{
  "declarations": [
    {
      "id": "daily-review",
      "promptFile": "prompts/daily-review.md",
      "schedule": {
        "startAt": "2026-09-01T09:00",
        "timeZone": "UTC",
        "recurrence": { "frequency": "day" }
      }
    }
  ]
}
```

The app validates and stores the exact proposal, then sends the user a durable Apply schedule or Keep current poll containing that proposal. The user's one selection writes and reconciles the stored proposal or cancels it directly. Do not send a separate confirmation question, edit `schedules.json`, call a reconciliation method, or interpret the vote yourself.

Claim only that confirmation was requested when the tool returns `status: "confirmation_requested"`. The agent has no direct schedule-mutation action.

## Declaration format

The file contains one top-level JSON array. Each schedule has:

- A stable, agent-managed `id` that is unique within the file.
- Exactly one non-empty `message` or `promptFile`. A message sends reminder text directly without starting the agent; `promptFile` supplies the path to agent instructions.
- One `schedule` with a local `startAt`, an IANA `timeZone`, and an optional `recurrence`.

Relative prompt paths resolve from the Channel workspace; absolute file paths are also accepted. The scheduler reads the UTF-8 file at each occurrence, so future runs pick up edits. Missing, unreadable, or empty files report a delivery error and are retried without sending a prompt. Once an occurrence is reserved, its text is saved for delivery retries even if the source file changes. Direct reminder messages do not read files.

A schedule without `recurrence` runs once:

```json
{
  "id": "quarterly-report",
  "promptFile": "prompts/quarterly-report.md",
  "schedule": {
    "startAt": "2026-09-01T14:30",
    "timeZone": "America/New_York"
  }
}
```

A reminder uses the same timing fields with `message` instead of `promptFile`:

```json
{
  "id": "daily-break",
  "message": "Time to take a break.",
  "schedule": {
    "startAt": "2026-09-07T15:00",
    "timeZone": "Europe/Rome",
    "recurrence": { "frequency": "day" }
  }
}
```

Preserve unrelated entries of both kinds when replacing the array. Remove an entry to cancel all future occurrences. The tool retains the name `request_scheduled_prompt_change` for compatibility and accepts both actions.

Recurrence is anchored at `startAt`. This runs every three days without resetting at month boundaries:

```json
{
  "id": "three-day-review",
  "promptFile": "prompts/three-day-review.md",
  "schedule": {
    "startAt": "2026-09-01T09:00",
    "timeZone": "America/Caracas",
    "recurrence": {
      "frequency": "day",
      "interval": 3
    }
  }
}
```

`frequency` accepts `minute`, `hour`, `day`, `week`, `month`, or `year`. `interval` defaults to `1`. Ask for the local start date, time, and time zone when they are not clear.

Calendar filters live under `recurrence.on`. It accepts `daysOfWeek`, `daysOfMonth`, `months`, and `times`. Use arrays, named months and weekdays such as `jan` and `mon`, and `HH:MM` times. The anchor establishes the recurrence buckets; the first actual occurrence can be a later date or time selected by the filters. Minute and hour recurrence use the anchor's local time and do not accept calendar filters.

Use `recurrence.until` for an inclusive local end date-time or `recurrence.count` for a maximum number of occurrences. Do not use both. Missing daylight-saving times shift to the first valid later minute; duplicated times run once at their earlier instant.

After downtime, either action runs one catch-up occurrence and resumes its normal cadence. Message delivery uses durable outbound admission; prompt delivery uses ordinary agent input.

## Earlier reminders

Reminders created before the merge remain active in the older store. When inspecting all auto tasks, also run `madabot-reminder list` in the Channel workspace and include those results. Use `madabot-reminder cancel ID` to cancel one when requested. The CLI infers the Channel from the workspace; use `--chat CHAT_ID` only if inference fails. If cancellation hits a readonly database error, rerun with filesystem escalation.

Create new reminders through the declaration flow above. Do not copy an active older reminder into `schedules.json`, as that would schedule it twice. When replacing one, prepare the new proposal, cancel the old reminder only as authorized, and report any incomplete replacement accurately.

Do not add a schedule command or a second scheduler.

From madacol/whatsapp-llm-bot, Unlicense.

More from madacol/whatsapp-llm-bot

Signals

Stars
1
Forks
1
Open issues
0
Last commit (this folder)
Sep 24, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Unlicense
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from madacol

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get auto-tasks running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying auto-tasks?

CallGet help
Cite this page

auto-tasks skill. Agent Mart. https://agentmart.dev/skills/madacol-auto-tasks (last updated 2026-10-24)