skills/cron-model-migration/SKILL.md
Safely change models for OpenClaw cron jobs without leaving behind session/model mismatch errors. Use when creating or editing cron jobs with `payload.model`, when moving a job between models/providers, when diagnosing `LiveSessionModelSwitchError`, or when deciding whether a cron should run in `sessionTarget: "isolated"`, `"current"`, `"main"`, or a custom persistent session.
npx skillsauth add aaaaqwq/agi-super-team cron-model-migrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when a cron job needs a model change or when cron runs fail after a model change. The goal is simple: avoid reusing a session that is already bound to a different model.
Prefer sessionTarget: "isolated" for cron jobs that set payload.model.
Why:
If a cron does not need shared conversation history, keep it isolated.
Create it as:
payload.kind = "agentTurn"sessionTarget = "isolated"payload.model = <target-model>Do not bind it to current or session:xxx unless you explicitly need persistent context across runs.
Safe workflow:
payload.model.If it still throws LiveSessionModelSwitchError, stop trying to patch it in place. Rebuild the job fresh.
current or session:xxxTreat this as high risk for model residue.
Best practice:
sessionTarget: "isolated" unless persistent context is truly requiredDo not reuse a persistent session and expect model changes to be clean.
Avoid model overrides on main-session jobs unless there is a strong reason.
Why:
If the task needs a different model, split it into an isolated cron instead.
Use this sequence for production changes:
Inspect
sessionTargetpayload.kindpayload.modelClassify
Apply
Verify
cron.runCut over
Avoid these:
payload.model and immediately force-running repeatedlysessionTarget: "current" for jobs that need model churnsession:xxx job without changing the backing session idcron.run enqueue success means the agent turn succeededLiveSessionModelSwitchErrorWhen you see:
LiveSessionModelSwitchError: Live session model switch requested: ...Assume one of these first:
current, main, or a custom persistent session where override behavior is unsafeResponse order:
sessionTargetUse:
sessionTarget: "isolated"payload.kind: "agentTurn"payload.modeldelivery.mode: "announce" or "none"Use:
sessionTarget: "session:<new-id>"payload.kind: "agentTurn"payload.modelIf you need to ask “can I safely switch this cron’s model in place?”, the default answer is:
development
Technology-agnostic prompt generator that creates customizable AI prompts for scanning codebases and identifying high-quality code exemplars. Supports multiple programming languages (.NET, Java, JavaScript, TypeScript, React, Angular, Python) with configurable analysis depth, categorization methods, and documentation formats to establish coding standards and maintain consistency across development teams.
tools
Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance.
data-ai
Prompt for creating detailed feature implementation plans, following Epoch monorepo structure.
tools
Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code. Requires the Joyride extension.