Automate
Task automation. cron jobs, webhooks, GitHub Actions, Makefile, Taskfile, scripts, CI/CD, scheduled tasks.From its SKILL.md
npx -y skills add arbazkhan971/godmode --skill automateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
6.2 KB, as published. Nobody here has run it
Automate -- Task Automation & Workflow Orchestration
Activate When
- User invokes
/godmode:automate - User says "automate this", "create a cron job", "set up a webhook"
- User says "write a Makefile", "create GitHub Action", "schedule this task"
- Project lacks automation for common tasks (lint, test, build, deploy)
Workflow
Step 1: Discover Context
Detect existing: task runner (Make, Task, Justfile, npm scripts), CI/CD (GitHub Actions, GitLab CI), scheduler (crontab, k8s CronJob), scripts.
Step 2: Classify Type
| 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 |
Step 3: Cron Jobs
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.
Step 4: Webhooks
Verify signature (HMAC-SHA256). Route by event type. Return 200 within 5 seconds.
Step 5: GitHub Actions
Pin action versions (@v4). Set permissions. Set timeout. Release automation, PR automation, scheduled tasks.
Step 6: Makefile/Taskfile
Targets: help, setup, dev, lint, format, typecheck, test, build, deploy-staging, deploy-production (with confirmation), clean, ci-lint, ci-test, ci-build.
Step 7: Script Template
Every script: set -euo pipefail, logging, --help, --dry-run, --verbose, prerequisites check, main function.
Step 8: Report
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
Key Behaviors
- Detect before generating. Add to existing Makefile, don't create competing files.
- Error handling is mandatory. Log, notify, exit non-zero.
- Lock files prevent overlap. No concurrent duplicate execution.
- Idempotency required. Safe to run twice.
- Dry-run for destructive ops.
--dry-runis non-negotiable. - Secrets injected, never hardcoded.
- Logging required. Start, actions, completion.
- Timeouts prevent runaway jobs.
Flags & Options
| 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 |
HARD RULES
Never ask to continue. Loop autonomously until all automation artifacts pass dry-run and have error handling.
- NEVER automate without error handling.
- NEVER hardcode secrets.
- EVERY scheduled job MUST have a lock file.
- EVERY script MUST support --dry-run.
- EVERY task MUST log start/actions/completion.
- EVERY CI workflow MUST have a timeout.
- EVERY scheduled GH Actions MUST have workflow_dispatch.
- NEVER duplicate existing automation.
- NEVER schedule at midnight UTC.
Output Format
AUTOMATION RESULT:
Type: <cron | webhook | workflow | script> | Trigger: <schedule | event | manual>
Error handling: present | Dry-run: supported | Timeout: set
Auto-Detection
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/
<!-- tier-3 -->
Platform Fallback
Run sequentially: scripts, then CI workflows, then scheduler configuration.
TSV Logging
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.
Error Recovery
| 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. |
Quality Targets
- Target: <10s for task runner cold start
- Target: >95% automation success rate over 30 days
- Webhook response: <5s acknowledgment
- Cron job max runtime: <80% of schedule interval
Success Criteria
- Automation script runs with
--dry-runwithout side effects. - Error handling present:
set -euo pipefail(bash) or try/catch with meaningful messages. - Logging captures start time, actions taken, completion status.
- Concurrency guard exists for scheduled jobs (lock file or flock).
Keep/Discard Discipline
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 Conditions
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