auto-tasks
Learn how to schedule reminders and agent work to run once or repeatedly in the current chat.
Skill by madacol
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.
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.
About
Use cases: agent-building
Reviews
Write a reviewNo 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
- 0.569score
maintain-usage-dashboard
madacol
Update and verify the private Madabot usage dashboard.
SkillAFreshness: A★ 1Claude Code +9 - 0.544score
logging-diagnostics
madacol
Manage diagnostic logging with minimal context: find relevant logs, inspect status, enable or disable narrow logging, add runtime toggles when missing, and…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
set-channel-description
madacol
Learn how to read, update, or clear the current chat's description when requested by the user or required by an authorized workflow.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
send-files
madacol
Learn how to send local files, media, or directories to the chat.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
scheduled-prompts
madacol
Compatibility name for Auto tasks.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
architecture-site
madacol
Refresh the architecture website's generated delivery status after changing linked task evidence.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
workspace-editor
madacol
Open this chat's workspace in the shared browser editor to browse files and edit them directly.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
generate-video
madacol
Generate a video artifact and return it to the chat.
SkillBFreshness: B★ 1Claude Code +9 - 0.486score
show-architecture-report
madacol
Publish architecture review HTML reports for this repository.
SkillCFreshness: C★ 1Claude Code +9 - 0.486score
generate-image
madacol
Generate a new image or edit existing images and return the result to the chat.
SkillCFreshness: C★ 1Claude Code +9 - 0.472score
domain-modeling
madacol
Build and sharpen a project's domain model.
SkillCFreshness: C★ 1Claude Code +9 - 0.472score
improve-codebase-architecture
madacol
Find deepening opportunities in a codebase, informed by the project architecture map, glossary, constraints, and decisions in docs/adr/.
SkillCFreshness: C★ 1Claude Code +9
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
- Repository
- github.com/madacol/whatsapp-llm-bot
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from madacol
- 0.569score
maintain-usage-dashboard
madacol
Update and verify the private Madabot usage dashboard.
SkillAFreshness: A★ 1Claude Code +9 - 0.544score
logging-diagnostics
madacol
Manage diagnostic logging with minimal context: find relevant logs, inspect status, enable or disable narrow logging, add runtime toggles when missing, and…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
set-channel-description
madacol
Learn how to read, update, or clear the current chat's description when requested by the user or required by an authorized workflow.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
send-files
madacol
Learn how to send local files, media, or directories to the chat.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
workspace-editor
madacol
Open this chat's workspace in the shared browser editor to browse files and edit them directly.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
scheduled-prompts
madacol
Compatibility name for Auto tasks.
SkillBFreshness: B★ 1Claude Code +9
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.
Cite this page
auto-tasks skill. Agent Mart. https://agentmart.dev/skills/madacol-auto-tasks (last updated 2026-10-24)