Task automation skill. Activates when a developer needs to automate repetitive workflows, create scheduled jobs, set up webhooks, design GitHub Actions workflows, write automation scripts, or build Makefiles/Taskfiles. Triggers on: /godmode:automate, "automate this", "create a cron job", "set up webhook", "write a Makefile", "create GitHub Action", or when repetitive manual processes are identified.
From godmodenpx claudepluginhub arbazkhan971/godmodeThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
/godmode:automateDetect existing: task runner (Make, Task, Justfile, npm scripts), CI/CD (GitHub Actions, GitLab CI), scheduler (crontab, k8s CronJob), scripts.
| Type | Best For | Tool |
|---|---|---|
| Cron/Schedule | Nightly builds, cleanup, reports | crontab, k8s CronJob, GH Actions schedule |
| Event/Webhook | Deploy on push, notifications | GitHub Actions on:, webhooks |
| Task Runner | Build, test, lint, dev setup | Make, Task, Justfile, npm scripts |
| Script | Data processing, migration | Bash, Python, Node.js |
| CI/CD | Test on PR, deploy on merge | GitHub Actions, GitLab CI |
Format: minute hour day-of-month month day-of-week.
Every cron script: set -euo pipefail, lock file, logging,
failure notification, cleanup trap.
# Validate cron syntax and test scripts
crontab -l
bash -n scripts/my-cron.sh
make ci-test
IF job runtime > 80% of interval: increase interval or optimize. WHEN job fails > 3 times consecutively: alert and disable.
Verify signature (HMAC-SHA256). Route by event type. Return 200 within 5 seconds.
Pin action versions (@v4). Set permissions. Set timeout. Release automation, PR automation, scheduled tasks.
Targets: help, setup, dev, lint, format, typecheck, test, build, deploy-staging, deploy-production (with confirmation), clean, ci-lint, ci-test, ci-build.
Every script: set -euo pipefail, logging, --help, --dry-run, --verbose, prerequisites check, main function.
AUTOMATION REPORT:
Task: <description> | Type: <cron | webhook | workflow | script>
Trigger: <schedule | event | manual> | Error handling: <present>
# Validate Makefile and list targets
make -n ci-test
crontab -l
bash -n scripts/*.sh
# Validate automation scripts and Makefile targets
make -n ci-test
crontab -l
bash -n scripts/*.sh
# Validate automation scripts
crontab -l
git status
make -n test
--dry-run is non-negotiable.| Flag | Description |
|---|---|
| (none) | Interactive workflow |
--cron <expr> | Scheduled job |
--webhook <event> | Webhook handler |
--workflow <name> | GitHub Actions workflow |
--script <name> | Standalone script |
--makefile | Generate/update Makefile |
--hook <git-hook> | Git hook |
--audit | Audit existing automation |
Never ask to continue. Loop autonomously until all automation artifacts pass dry-run and have error handling.
AUTOMATION RESULT:
Type: <cron | webhook | workflow | script> | Trigger: <schedule | event | manual>
Error handling: present | Dry-run: supported | Timeout: set
1. ls Makefile Taskfile.yml justfile Rakefile build.gradle
2. ls .github/workflows/*.yml .gitlab-ci.yml
3. ls package.json pyproject.toml go.mod
4. ls scripts/ bin/ tools/
Run sequentially: scripts, then CI workflows, then scheduler configuration.
Append to .godmode/automate-results.tsv:
timestamp task type trigger frequency file error_handling timeout status
One row per automation artifact. Never overwrite previous rows.
| Failure | Action |
|---|---|
| Task runner not detected | Check for ALL known runners before creating new. If none exist, ask user preference: Make, Task, or npm scripts. |
| Cron syntax invalid | Validate with crontab.guru. Common mistake: */5 means every 5 minutes, not the 5th minute. |
| GitHub Actions workflow fails | Check runner OS, secrets exist in repo settings, actions versions pinned (@v4 not @latest), timeout set. |
| Script fails in CI but works locally | Check PATH, working directory, missing deps in lockfile, env vars not set in CI. Add env dump in debug mode. |
--dry-run without side effects.set -euo pipefail (bash) or try/catch with meaningful messages.After EACH automation artifact:
KEEP if: dry-run passes AND error handling present AND logging captures start/actions/completion
DISCARD if: no error handling OR secrets hardcoded OR no dry-run support for destructive ops
On discard: revert. Fix error handling before retrying.
STOP when ALL of:
- Script runs with --dry-run without side effects
- Error handling present with meaningful messages
- Logging captures start, actions, and completion
- Concurrency guard exists for scheduled jobs