بنقرة واحدة
cron-manager
Create, edit, delete, enable, disable, and list scheduled cron jobs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create, edit, delete, enable, disable, and list scheduled cron jobs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create polished Jinn product showcase videos, GIFs, and README demo assets from isolated mock or sandbox instances. Use when asked to record a Jinn web UI walkthrough, update the README showcase GIF, build a mock gateway or clean test instance, script UI animations, capture Playwright video, convert WebM to MP4/GIF, or document video-capture gotchas for the Jinn platform.
Walk a new user through a warm, game-like first-run setup of {{portalName}} — get to know them, hatch their first employee, demo delegation, and create their first cron. Every step is skippable.
Diagnose and fix problems in {{portalName}}'s configuration and runtime
Use when cutting a new jinn-cli release for this repo - bumping the version, publishing to npm, creating the GitHub release, and letting the Homebrew formula auto-update. Covers the exact order that matters (npm publish BEFORE publishing the GitHub release).
Find and install skills from skills.sh when a capability gap is detected
Manage the AI organization - hire, fire, promote, delegate, and review boards
| name | cron-manager |
| description | Create, edit, delete, enable, disable, and list scheduled cron jobs |
This skill activates when the user wants to create, edit, delete, enable, disable, or list scheduled cron jobs.
All cron jobs are stored in ~/.jinn/cron/jobs.json as a JSON array of job objects. If the file does not exist, create it with an empty array [].
{
"id": "uuid-v4",
"name": "daily-standup-summary",
"enabled": true,
"schedule": "0 9 * * 1-5",
"timezone": "America/New_York",
"engine": "claude",
"model": "sonnet",
"employee": "project-manager",
"prompt": "Review all department boards and summarize progress since yesterday. Highlight blockers and upcoming deadlines.",
"delivery": {
"connector": "slack",
"channel": "#engineering-standup"
}
}
Field details:
id - UUID v4, generated when creating the jobname - kebab-case human-readable identifier, must be unique across all jobsenabled - boolean, whether the job is activeschedule - standard cron expression (minute hour day month weekday)timezone - IANA timezone string (e.g., America/New_York, Europe/London, UTC)engine - AI engine to run the job: claude or codexmodel - model identifier (e.g., sonnet, opus, o3)employee - optional, the employee persona to use (must match an employee name in the org)prompt - the instruction to execute when the job firesdelivery - optional object specifying where to send output
connector - the connector to use (e.g., slack, discord)channel - the target channel or destination~/.jinn/cron/jobs.json (or initialize as [] if missing).UTC if not specified.{{portalSlug}}, and include delegation instructions in the prompt (e.g. "Delegate to @employee-name: ..."). {{portalName}} reviews and filters the output before it reaches the delivery channel. Only simple, no-review tasks (e.g. health checks) should target employees directly with delivery.id field.enabled to true by default.~/.jinn/cron/jobs.json.~/.jinn/cron/jobs.json.~/.jinn/cron/jobs.json.~/.jinn/cron/jobs.json.enabled to true (enable) or false (disable).~/.jinn/cron/jobs.json.The schedule field uses standard 5-field cron syntax:
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *
Common examples:
0 9 * * 1-5 - Every weekday at 9:00 AM0 0 * * * - Every day at midnight*/15 * * * * - Every 15 minutes0 9 * * 1 - Every Monday at 9:00 AM0 8,17 * * * - Every day at 8:00 AM and 5:00 PM0 0 1 * * - First day of every month at midnight30 14 * * 5 - Every Friday at 2:30 PMjobs.json is malformed, attempt to fix it. If unrecoverable, back it up as jobs.json.bak and start fresh with [].