|
| 1 | +--- |
| 2 | +name: codex-workspace-cron |
| 3 | +description: Manage Codex workspace scheduled prompt jobs in boxp/lolice. Use when the user asks to list, show, add, edit, enable, disable, delete, or manually run Codex cron jobs backed by argoproj/codex-workspace jobs.yaml and Kubernetes CronJobs. |
| 4 | +--- |
| 5 | + |
| 6 | +# Codex Workspace Cron |
| 7 | + |
| 8 | +Use this skill to operate the Codex workspace prompt scheduler from inside the Codex workspace. |
| 9 | + |
| 10 | +The scheduler is GitOps-managed in `boxp/lolice`: |
| 11 | + |
| 12 | +- `argoproj/codex-workspace/cron-configmap.yaml` |
| 13 | + - embedded `jobs.yaml` registry |
| 14 | + - `prompt-*.md` prompt bodies |
| 15 | + - runner scripts |
| 16 | +- `argoproj/codex-workspace/cronjob.yaml` |
| 17 | + - one Kubernetes CronJob per registered job |
| 18 | + |
| 19 | +## Workflow |
| 20 | + |
| 21 | +1. Work in a `boxp/lolice` worktree, preferably using the `worktree` skill. |
| 22 | +2. Use the bundled script for manifest CRUD: |
| 23 | + |
| 24 | + ```bash |
| 25 | + python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice list |
| 26 | + ``` |
| 27 | + |
| 28 | +3. After changes, run: |
| 29 | + |
| 30 | + ```bash |
| 31 | + kustomize build argoproj/codex-workspace |
| 32 | + git diff --check |
| 33 | + ``` |
| 34 | + |
| 35 | +4. Commit and update the `boxp/lolice` PR. |
| 36 | + |
| 37 | +## Commands |
| 38 | + |
| 39 | +List jobs: |
| 40 | + |
| 41 | +```bash |
| 42 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice list |
| 43 | +``` |
| 44 | + |
| 45 | +Show one job: |
| 46 | + |
| 47 | +```bash |
| 48 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice show <job-id> |
| 49 | +``` |
| 50 | + |
| 51 | +Add a job: |
| 52 | + |
| 53 | +```bash |
| 54 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice add \ |
| 55 | + --id daily-report \ |
| 56 | + --name "Daily report" \ |
| 57 | + --schedule "0 22 * * *" \ |
| 58 | + --prompt-file prompt-daily-report.md \ |
| 59 | + --prompt "調査して日本語で報告してください。" \ |
| 60 | + --enabled false |
| 61 | +``` |
| 62 | + |
| 63 | +Update metadata or prompt: |
| 64 | + |
| 65 | +```bash |
| 66 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice update daily-report \ |
| 67 | + --schedule "30 22 * * *" \ |
| 68 | + --prompt "新しいプロンプト" |
| 69 | +``` |
| 70 | + |
| 71 | +Enable or disable: |
| 72 | + |
| 73 | +```bash |
| 74 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice enable daily-report |
| 75 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice disable daily-report |
| 76 | +``` |
| 77 | + |
| 78 | +Delete: |
| 79 | + |
| 80 | +```bash |
| 81 | +python3 <this-skill>/scripts/codex_cron_jobs.py --repo /path/to/lolice delete daily-report |
| 82 | +``` |
| 83 | + |
| 84 | +## Safety |
| 85 | + |
| 86 | +- New jobs should default to disabled unless the user explicitly asks to enable them. |
| 87 | +- Keep `jobs.yaml enabled` and CronJob `spec.suspend` consistent. |
| 88 | +- Do not run `kubectl` mutations unless the user explicitly asks for live cluster operations. |
| 89 | +- For manual live runs, prefer documenting the command from `argoproj/codex-workspace/cron.md`. |
0 commit comments