Agent skill

Headless Cron Creator

by notque in notque/vexjoy-agent

Generate headless Claude Code cron jobs with safety. An agent skill from notque/vexjoy-agent.

MITAuto-check: notesProductivity & Automation

Install Headless Cron Creator

skills CLI
$ npx skills add notque/vexjoy-agent --skill headless-cron-creator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install notque/vexjoy-agent headless-cron-creator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/infrastructure/headless-cron-creator .claude/skills/headless-cron-creator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
headless-cron-creator
GitHub stars
438
Token cost
~1.6k tokens
SKILL.md length
614 words
Files
1
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Generate headless Claude Code cron jobs with safety. An agent skill from notque/vexjoy-agent.

  • Works in 5 steps: PARSE → GENERATE → VALIDATE → …
  • Tasks that involve Scheduled and recurring tasks
  • SKILL.md covers Instructions, Error Handling and References
  • Calls python3 and bash

What it does

Headless Cron Creator is an agent skill from notque/vexjoy-agent. Generate headless Claude Code cron jobs with safety.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Scheduled and recurring tasks. The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.

When your agent uses it

  • Tasks that involve Scheduled and recurring tasks

Example prompts

  • “/headless-cron-creator”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Bash, Edit, Glob, Grep

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. PARSE
  2. GENERATE
  3. VALIDATE
  4. INSTALL
  5. REPORT

What it can do on your machine

Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Headless Cron Creator loads about 1.6k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 614 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~19
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, Edit, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 614 words, ~1,601 tokens.

Download SKILL.mdSave it as .claude/skills/headless-cron-creator/SKILL.md (or your agent's skills folder).
name
headless-cron-creator
description
Generate headless Claude Code cron jobs with safety.
allowed-tools
Read, Write, Bash, Edit, Glob, Grep
promoted_to
deploy
user-invocable
false
argument-hint
<name> <schedule> <prompt>
agent
python-general-engineer
routing.triggers
create cron job, scheduled task, headless agent, background automation, recurring agent
routing.category
process
routing.pairs_with
deploy

Headless Cron Creator Skill

Generate headless Claude Code cron jobs from a task description and schedule. Creates a wrapper script with safety mechanisms (lockfile, budget cap, dry-run default, logging) and installs crontab entries. All crontab mutations go through scripts/crontab-manager.py, which writes to temp files and creates timestamped backups in ~/.claude/crontab-backups/ before every change -- never pipe directly to crontab - because a mid-stream pipe failure wipes the entire crontab.

Instructions

Phase 1: PARSE

Extract job parameters from the user's request.

Required parameters:

  • name -- short kebab-case identifier (e.g., reddit-automod, feed-health-check)
  • prompt -- what Claude should do each run (natural language)
  • schedule -- cron expression or human-readable interval

Optional parameters (with defaults):

  • workdir -- where to cd before running (default: current repo root)
  • budget -- max USD per run (default: 2.00; user may override)
  • allowed-tools -- which tools the headless session can use (default: Bash Read; user may override)
  • logdir -- where to store logs (default: {workdir}/cron-logs/{name})

Human-readable schedule conversion -- use off-minutes (7, 23, 47) instead of :00/:30 because every cron job on the system fires at round minutes, creating load spikes:

Human InputCron Expression
every 12 hours7 */12 * * *
twice daily7 8,20 * * *
hourly23 * * * *
daily at 6am7 6 * * *
weekly on sunday7 9 * * 0
every 30 minutes*/30 * * * *

Gate: All required parameters extracted. Proceed to Phase 2.

Phase 2: GENERATE

Create the wrapper script using crontab-manager.py generate-wrapper. Embed the prompt via bash heredoc to avoid escaping issues.

bash
python3 ~/.claude/scripts/crontab-manager.py generate-wrapper \
  --name "{name}" \
  --prompt "{prompt}" \
  --schedule "{schedule}" \
  --workdir "{workdir}" \
  --budget "{budget}" \
  --allowed-tools "{allowed_tools}"

Review the generated script. Verify it contains:

  • set -euo pipefail
  • flock lockfile -- prevents concurrent runs of the same job
  • --permission-mode auto -- never use --dangerously-skip-permissions (auto is sufficient) or --bare (breaks OAuth/keychain auth)
  • --max-budget-usd -- caps spend per run (default 2.00 USD)
  • --no-session-persistence
  • --allowedTools
  • tee to per-run timestamped log file
  • Dry-run/execute toggle -- scripts do nothing destructive without --execute
  • Exit code propagation via PIPESTATUS[0]

Do not use the CronCreate tool -- it is session-scoped (dies when the session ends, auto-expires after 7 days). Use system crontab via crontab-manager.py instead.

Gate: Script generated and reviewed. Proceed to Phase 3.

Phase 3: VALIDATE

Verify the generated script meets cron best practices.

  1. Run the script in dry-run mode:

    bash
    bash -n scripts/{name}-cron.sh  # syntax check
  2. Run cron-job-auditor checks:

    • Error handling (set -e)
    • Lock file (flock)
    • Logging (tee, LOG_DIR)
    • Working directory (absolute cd)
    • PATH awareness (absolute path to claude -- cron has minimal PATH, so all commands must use absolute paths)
    • Cleanup on exit (lock release)

Gate: All checks pass. Proceed to Phase 4.

Show full SKILL.md (277 more words)Show less
Phase 4: INSTALL

Install the crontab entry. Every entry gets a # claude-cron: <tag> marker so crontab-manager.py can identify and manage only its own entries without touching non-Claude crontab lines. All paths in the crontab entry must be absolute because cron has minimal PATH.

  1. Show the proposed entry:

    bash
    python3 ~/.claude/scripts/crontab-manager.py add \
      --tag "{name}" \
      --schedule "{schedule}" \
      --command "{absolute_script_path} --execute >> {logdir}/cron.log 2>&1" \
      --dry-run
  2. Ask the user for confirmation before installing. Never install without explicit approval.

  3. If confirmed:

    bash
    python3 ~/.claude/scripts/crontab-manager.py add \
      --tag "{name}" \
      --schedule "{schedule}" \
      --command "{absolute_script_path} --execute >> {logdir}/cron.log 2>&1"
  4. Verify:

    bash
    python3 ~/.claude/scripts/crontab-manager.py verify --tag "{name}"

Gate: Entry installed and verified. Proceed to Phase 5.

Phase 5: REPORT

Summarize the created cron job and print the exact commands to test and manage it.

Output:

  • Script path
  • Cron schedule (human-readable + expression)
  • Log directory
  • Budget per run
  • Tag for management
  • Commands for future management:
    python3 ~/.claude/scripts/crontab-manager.py list          # see all claude cron jobs
    python3 ~/.claude/scripts/crontab-manager.py verify --tag {name}  # health check
    python3 ~/.claude/scripts/crontab-manager.py remove --tag {name}   # uninstall

To modify an existing wrapper script, regenerate it with --force rather than editing in place.

Error Handling

Error: "tag already exists"

Cause: A cron entry with this tag is already installed. Solution: Either remove --tag {name} first, or choose a different name.

Error: "claude: command not found" in cron

Cause: Cron has minimal PATH; claude isn't in it. Solution: generate-wrapper resolves the absolute path to claude at generation time. If the path changes, regenerate the wrapper with --force.

Error: "crontab install failed"

Cause: System crontab service issue. Solution: Check crontab -l manually. Restore from ~/.claude/crontab-backups/.

References

  • scripts/crontab-manager.py -- all crontab mutations (add, remove, list, verify, generate-wrapper)
  • skills/infrastructure/cron-job-auditor/SKILL.md -- validation checks for generated scripts

© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/infrastructure/headless-cron-creator of notque/vexjoy-agent.

Open the folder on GitHubat commit 5218674

Compare with similar skills

Headless Cron Creator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Headless Cron Creator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Headless Cron Creator this skillnotque/vexjoy-agent438—~1.6kAutomated safety check: NotesMIT
ScheduleTinyAGI/tinyagi3.6k—~1.4kAutomated safety check: PassMIT
Send User MessageTinyAGI/tinyagi3.6k—~829Automated safety check: PassMIT
Cron Opsczl9707/build-your-own-openclaw1.9k—~593Automated safety check: PassMIT
X Bookmarkssharbelxyz/x-bookmarks289—~2kAutomated safety check: NotesNone
Jobsphysiclaw/PhysiClaw3861 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Schedule

    TinyAGI/tinyagi

    Create, list, and delete scheduled tasks (recurring or one-time) that send messages to agents.

    3.6k GitHub stars~1.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Send User Message

    TinyAGI/tinyagi

    Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).

    3.6k GitHub stars~829 tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Cron Ops

    czl9707/build-your-own-openclaw

    Create, list, and delete scheduled cron jobs. An agent skill from czl9707/build-your-own-openclaw.

    1.9k GitHub stars~593 tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • X Bookmarks

    sharbelxyz/x-bookmarks

    Fetch, summarize, and manage X/Twitter bookmarks via bird CLI or X API v2.

    289 GitHub stars~2k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check: notes
  • Jobs

    physiclaw/PhysiClaw

    A skill your agent uses when the task involves scheduling future work — any "remind me at …", "every weekday …", "check again in 30 min", or closing a fired cron job.

    386 GitHub starsUsed in 1 repo~1.1k tokens
    Productivity & AutomationAuto-check passed
  • Wp Wpcli And Ops

    Automattic/agent-skills

    A skill your agent uses when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export/import, plugin/theme/user/content management, cron, cache flushing, multisite, and…

    211 GitHub starsUsed in 2 repos~988 tokens
    Productivity & AutomationAuto-check passed

More from notque/vexjoy-agent

All 61 skills in this repo
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2.3k tokensUpdated 5 days ago
    Auto-check: notes
  • PR Workflow

    notque/vexjoy-agent

    Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.

    438 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check: notes
  • Architecture Deepening

    notque/vexjoy-agent

    Improve architecture across modules by deepening interfaces.

    438 GitHub stars~3.3k tokensUpdated 5 days ago
    Auto-check: notes
  • Code Quality

    notque/vexjoy-agent

    Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check: notes
  • Codebase Analyzer

    notque/vexjoy-agent

    Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check: notes
  • Comment Quality

    notque/vexjoy-agent

    Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check: notes

Questions about Headless Cron Creator

What does Headless Cron Creator do?

Generate headless Claude Code cron jobs with safety. An agent skill from notque/vexjoy-agent. Headless Cron Creator is an agent skill from notque/vexjoy-agent. Generate headless Claude Code cron jobs with safety.

When should I use Headless Cron Creator?

Headless Cron Creator fits situations like: tasks that involve Scheduled and recurring tasks.

How do I install Headless Cron Creator in Claude Code?

Run `npx skills add notque/vexjoy-agent --skill headless-cron-creator -a claude-code`. Or copy the skill folder (skills/infrastructure/headless-cron-creator in notque/vexjoy-agent) into .claude/skills/headless-cron-creator in your project. Claude Code loads it when a task matches its description.

How do I install Headless Cron Creator in Codex?

Run `npx skills add notque/vexjoy-agent --skill headless-cron-creator -a codex`. Or copy the skill folder (skills/infrastructure/headless-cron-creator in notque/vexjoy-agent) into .agents/skills/headless-cron-creator in your project. Codex loads it when a task matches its description.

Can I use Headless Cron Creator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --skill headless-cron-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/headless-cron-creator, .gemini/skills/headless-cron-creator, .github/skills/headless-cron-creator and .opencode/skills/headless-cron-creator in your project.

What does Headless Cron Creator need to run?

Going by SKILL.md and its folder, Headless Cron Creator needs the command-line tools its instructions call (python3 and bash). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Bash, Edit, Glob, Grep.

Does Headless Cron Creator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Headless Cron Creator safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Headless Cron Creator use?

Headless Cron Creator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Headless Cron Creator use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Headless Cron Creator?

Skills that share tags, products or a category with Headless Cron Creator: Schedule (TinyAGI/tinyagi, 3.6k stars), Send User Message (TinyAGI/tinyagi, 3.6k stars), Cron Ops (czl9707/build-your-own-openclaw, 1.9k stars) and X Bookmarks (sharbelxyz/x-bookmarks, 289 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Headless Cron Creator?

notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 438 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.

Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.