一键导入
create-system-routine
Create time-based system routines (cron/launchd) for scripts or commands. Use this for OS-level scheduling, NOT for Jazz Workflows.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create time-based system routines (cron/launchd) for scripts or commands. Use this for OS-level scheduling, NOT for Jazz Workflows.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | create-system-routine |
| description | Create time-based system routines (cron/launchd) for scripts or commands. Use this for OS-level scheduling, NOT for Jazz Workflows. |
Use this skill when the user wants to create or manage time-based routines (scheduled tasks) at the OS level (e.g., running a shell script, a binary, or a specific command).
cron (crontab -e, system/user crontabs)launchd (LaunchAgents / LaunchDaemons with plist files)Detect the operating system
Use standard OS detection via shell commands:
uname_s=$(uname -s 2>/dev/null || echo unknown)
case "$uname_s" in
Linux) os=linux ;;
Darwin) os=macos ;;
MINGW*|MSYS*|CYGWIN*|Windows_NT) os=windows ;;
*) os=unknown ;;
esac
os=linux → follow the Linux / cron workflow.os=macos → follow the macOS / launchd workflow.os=windows or os=unknown → explain that this skill does not create routines on this OS and suggest Windows Task Scheduler or another platform-specific mechanism.Gather routine parameters from the user (questionnaire if needed)
Do not create the cron entry or plist until you have enough information. If the user's request is vague (e.g. "schedule something", "run a script daily") or missing any of the items below, guide them through a short questionnaire instead of guessing.
You have enough info when you know:
0 8 * * *)StartCalendarInterval (e.g. Hour=8, Minute=0)How to run the questionnaire:
Linux / cron workflow (os=linux)
Validate tools:
Check for crontab availability:
command -v crontab >/dev/null 2>&1
If missing, explain that cron is not available and suggest systemd timers or another scheduler; this skill does not configure those directly.
Prepare the cron entry:
Build a cron line like:
"<CRON_SCHEDULE> <COMMAND> # created-by-jazz-create-routines"
Use absolute paths for both the command and any scripts. If environment variables are needed, recommend wrapping logic in a shell script and calling that script from cron.
Install the cron entry (user crontab):
Safely append the new entry to the user's crontab:
tmp_cron=$(mktemp)
crontab -l 2>/dev/null >"$tmp_cron" || true
printf '%s\n' "<CRON_LINE>" >>"$tmp_cron"
crontab "$tmp_cron"
rm -f "$tmp_cron"
(Optional) Boot or login catch-up:
For "run at 8am or next boot" semantics, instruct the user to:
0 8 * * *) and an @reboot cron entry that call the same script.macOS / launchd workflow (os=macos)
Choose target: LaunchAgent vs LaunchDaemon:
~/Library/LaunchAgentsCreate LaunchAgents directory if needed:
Ensure ~/Library/LaunchAgents exists before writing plist files.
Define a unique label:
Use a reverse-DNS-style label, e.g. com.jazz.create-routines.<name>.
Write a plist file
Create a plist at:
~/Library/LaunchAgents/com.jazz.create-routines.<name>.plist
Example template:
<?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.jazz.create-routines.<name></string>
<key>ProgramArguments</key>
<array>
<string>/bin/zsh</string>
<string>-lc</string>
<string>/absolute/path/to/script.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>8</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<!-- Optional: run when the agent is loaded (e.g. on login) -->
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Notes:
Load (or reload) the LaunchAgent
launchctl unload ~/Library/LaunchAgents/com.jazz.create-routines.<name>.plist 2>/dev/null || true
launchctl load ~/Library/LaunchAgents/com.jazz.create-routines.<name>.plist
Explain off/asleep behavior
Clarify that:
StartCalendarInterval with RunAtLoad and implement a small guard in the script that only runs once per day after a certain time.Windows / unsupported workflow (os=windows or os=unknown)
Removal / update of routines
When the user wants to remove or update routines created by this skill:
Linux (cron):
crontab -l.# created-by-jazz-create-routines.macOS (launchd):
launchctl unload.~/Library/LaunchAgents.Always explain what will be changed and keep backups where practical (e.g. copy old crontab to a temp file) before destructive edits.
Set up Jazz as a GitHub Action for automated PR code review and on-demand /jazz PR assistance. Use when the user asks to add Jazz to CI, create a GitHub Action workflow, set up PR review automation, enable /jazz commands on PRs, or integrate Jazz with GitHub. Triggers on "github action", "github actions", "ci", "pr review", "pr assistant", "jazz in ci", "/jazz".
Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page.
Use the official Obsidian CLI (v1.12+) to manage vaults, notes, daily notes, search, tasks, tags, properties, links, templates, sync, publish, and workspaces. Use when the user mentions Obsidian, vaults, notes, or wants to automate note-taking and knowledge base workflows.
Help users create, manage, and refine custom personas for Jazz agents. Use when the user wants to define a new communication style, character, or identity for an agent.
Create new Jazz skills for automating workflows. Use when the user asks to create a skill, make a skill, or wants to define custom automation behavior.
Create and track task lists for complex multi-step work. Use when planning projects, breaking down work, tracking progress, or when a task has 3+ steps. Triggers on "plan", "todo", "task list", "break down", "step by step", or complex requests requiring multiple actions.