scheduled-job-best-practices
Patterns for resilient, non-interactive scheduled opencode jobs
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Patterns for resilient, non-interactive scheduled opencode jobs
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create and manage isolated git worktrees safely.
Opinionated workflow for submodule development + PRs + control-center pointer bumps.
Store Apple notarization IDs in Keychain and notarize/staple OpenWork DMGs locally.
Sync control-center master and update submodule pointers safely.
Require every OpenCode plugin to expose get_skills and get_version tools.
Use client.app.log() instead of console.log in OpenCode plugins
| name | scheduled-job-best-practices |
| description | Patterns for resilient, non-interactive scheduled opencode jobs |
Put this line at the very top of any scheduled job prompt:
@scheduled-job-best-practices
Then write your task below it.
If you need local dates, compute them at runtime.
TODAY="$(date +%F)"
TOMORROW="$(date -v+1d +%F)"
TODAY="$(date +%F)"
TOMORROW="$(date -d 'tomorrow' +%F)"
if [ "$(uname)" = "Darwin" ]; then
TODAY="$(date +%F)"
TOMORROW="$(date -v+1d +%F)"
else
TODAY="$(date +%F)"
TOMORROW="$(date -d 'tomorrow' +%F)"
fi
If timezone matters, set TZ explicitly (example: TZ=America/Los_Angeles date +%F).
Before doing any expensive work:
Prefer the Telegram Bot API (non-interactive) over web.telegram.org.
End every run with a compact summary:
When notifying about “new” items (deals, alerts, etc.):