com um clique
macos-task-scheduler
Schedule recurring tasks on macOS using launchd plists
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Schedule recurring tasks on macOS using launchd plists
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Gmail inbox automation with pattern rules, AI triage, and Discord notifications
Analyze OpenCode token usage and estimate costs on OpenRouter
Inject prompts into existing Discord channels to trigger OpenCode sessions
Control OpenCode agents from Discord via Kimaki CLI
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs
| name | macos-task-scheduler |
| description | Schedule recurring tasks on macOS using launchd plists |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"developers","workflow":"automation","platform":"macos"} |
Create and manage macOS launchd plist files for scheduled tasks. I handle the launchd configuration, scheduling syntax, and task lifecycle (load/unload/start).
For sending prompts to Discord channels (Kimaki), see: kimaki-messenger
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.yourname.taskname</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-l</string>
<string>-c</string>
<string>YOUR COMMAND HERE</string>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Minute</key><integer>0</integer>
<key>Hour</key><integer>9</integer>
</dict>
</array>
<key>WorkingDirectory</key>
<string>/path/to/project</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/bin:/bin</string>
</dict>
<key>StandardOutPath</key>
<string>/path/to/project/taskname.log</string>
<key>StandardErrorPath</key>
<string>/path/to/project/taskname.error.log</string>
</dict>
</plist>
/bin/bash -l -c wrapper| Command | Description |
|---|---|
launchctl load path/to/plist | Register task |
launchctl unload path/to/plist | Remove task |
launchctl start com.name.task | Run immediately |
launchctl list | grep taskname | Check status |
<!-- Daily at 9:30 AM -->
<dict>
<key>Minute</key><integer>30</integer>
<key>Hour</key><integer>9</integer>
</dict>
<!-- Every hour -->
<dict>
<key>Minute</key><integer>0</integer>
</dict>
<!-- Weekly on Sundays at 10 AM -->
<dict>
<key>Minute</key><integer>0</integer>
<key>Hour</key><integer>10</integer>
<key>Weekday</key><integer>0</integer>
</dict>
<!-- First day of month at midnight -->
<dict>
<key>Minute</key><integer>0</integer>
<key>Hour</key><integer>0</integer>
<key>Day</key><integer>1</integer>
</dict>
ls -la ~/Library/LaunchAgents/
launchctl list | grep -E "com\.yourname\."
launchctl unload ~/Library/LaunchAgents/com.yourname.taskname.plist
rm ~/Library/LaunchAgents/com.yourname.taskname.plist