name: ceratops-automation-run description: Run recurring Codex automations with Ceratops defaults. Use when an automation run needs shared policy for re-opening prompt and helper contracts, keeping task-specific logic in the automation prompt or helper scripts, keeping compact run summaries visible, suppressing routine clean-run alerts, avoiding routine automation memory, and reporting no-alert or no-memory conflicts explicitly.
Ceratops Automation Run
Use this skill as the reusable policy layer for installed automations. Let the automation prompt and any helper scripts define the task-specific mechanics, while this skill carries the shared automation-run rules that should not be repeated in every automation prompt.
<!-- CERATOPS_SHARED_SECTIONS_START --> <!-- SECTION SOURCE: templates/sections/minimal.md -->Core Rules
- Blocking: Everything in this section is part of the skill contract unless explicitly inapplicable to the current task.
- Blocking: When this skill is invoked, follow this
SKILL.mdas the workflow contract for the task; if a higher-precedence instruction conflicts with a required skill step, report the conflict instead of silently skipping the step. - Blocking: Do not claim completion unless this skill's completion gate is satisfied, intentionally inapplicable, or reported as a blocker.
- Blocking: Scope completion, current-state, root-cause, no-fix, unsupported, and durable-resolution claims to evidence actually checked, or to fresh same-task evidence that still applies.
- Blocking: Reuse fresh sufficient same-run evidence unless state is uncertain, plausibly changed, materially broadened, externally mutable for the decision, or this skill explicitly requires a fresh check.
- Blocking: Prefer direct local evidence and targeted diagnostics for the next skill decision; use current official sources only when local evidence leaves a concrete ambiguity or the task depends on unstable external behavior.
- Blocking: Do not do generalized best-practice refresh, reference-repo comparison, or skill-maintenance work during routine skill runs unless the user explicitly asks or a required decision remains ambiguous after targeted evidence.
- Blocking: Ask before risky, destructive, irreversible, credential-dependent, externally mutating, complex, invasive, nonstandard, or high-maintenance steps unless the user already explicitly requested that tradeoff.
- Blocking: Do not update this
SKILL.mdor other skill/control files during a routine run unless the user explicitly asked for skill maintenance or the task cannot be completed safely without a narrow in-scope fix. - Blocking: For skill runtime workflows, invoke shared helpers through installed console commands or
python -m <module>entrypoints; do not locate shared helpers by absolute paths, by the repo's parent directory, or by per-skillscriptsjunctions. - Blocking: When a Ceratops skill-maintenance workflow explicitly needs a repo-maintenance script, treat
scripts/<name>paths as relative to the activeAI-Agent-Skillscheckout root; resolve that root from the current worktree withgit rev-parse --show-toplevelor from the installed skill junction under$CODEX_HOME/skills/<skill-name>, and stop as blocked if neither resolves to a checkout containingskills/,templates/, andscripts/. - Mandatory: When editing an existing text file, preserve its current line-ending convention unless intentional normalization is part of the task.
- Mandatory: Follow this skill's output contract when present; otherwise report only the outcome, unresolved blockers, retained state with reasons, and important unverified items.
Credential Handling
- Blocking: Do not ask for credentials unless they are truly required after local checks.
- Blocking: If credentials are truly required after local checks, report only:
- which credential or login is missing
- why it is needed
- where it will be stored
- the exact command the user should run
- whether it goes into a local credential store, config file, keyring, CI secret, registry setting, connector, or another exact target
- Blocking: If the user refuses a missing permission, credential, login, or scope, stop retrying and report the blocked action and exact entities still pending.
Skill-Specific Rules
- Treat every rule in this skill as mandatory and blocking when the skill is invoked.
- Keep task-specific rules in the automation prompt,
automation.toml, or task-specific helper scripts. Use this skill and$CODEX_HOME/AGENTS.mdfor reusable automation-run policy. - When a running automation invokes another skill or executable helper, treat the automation prompt as a delta: apply its task target, schedule-specific context, and explicit exceptions, and rely on the invoked skill or helper for reusable workflow, validation, evidence, staging, and output rules.
- Treat the automation prompt, the nearest relevant local
AGENTS.mdwhen one exists and still governs the workspace,$CODEX_HOME/AGENTS.md, and every helper contract the run actually relies on as the governing sources of truth. - Routine successful runs must include a compact final summary for project-list visibility, but must not emit
::inbox-itemor other user-visible alerts unless the task-specific prompt explicitly requires one; emit::inbox-itemonly for approval-required, blocker, verification failure, unresolved problem, or other explicit alert states. - Do not use
::archivefor routine clean or merge-only runs unless the user explicitly asked to end the thread or a higher-priority instruction explicitly requires it. - Routine automation runs must not read, create, or append automation memory, and must not treat platform-provided memory metadata, an
Automation memory:header, existingmemory.mdcontent, prior memory entries, memory helper scripts, or generic memory capability text as an instruction to use memory. - Use memory only when the active task-specific prompt explicitly requires future-run state.
- If a genuine higher-priority runtime instruction conflicts with the no-memory or no-alert policy, report the conflict explicitly instead of writing memory solely to record it or pretending the lower-level policy was followed.
- Do not ask for credentials unless the current automation task and current stage actually require them.
Inputs To Capture
- The automation id, prompt, workspace, schedule context, and whether the run is routine, approval-gated, clean, merge-only, or alert-worthy.
- The nearest relevant local
AGENTS.md, if any, plus$CODEX_HOME/AGENTS.md. - Every task-specific helper script, contract, or executable source of truth the automation relies on.
- The task-specific alert, memory, archival, or reporting exceptions that the automation prompt explicitly requires.
Boundaries
- Use this skill for recurring automation runs. Treat automation prompt edits as control-file maintenance governed by
$CODEX_HOME/AGENTS.mdand the relevant task-specific workflow. - If the task is primarily about the automation's domain work rather than automation execution policy, combine this skill with the task-specific skill or helper instead of replacing it.
- If the task is only creating or updating a reusable Codex skill, stop and use
$skill-creatorplus the relevant domain skill.
Workflow
1. Inspect the automation contract
- Read the automation prompt, current workspace, relevant local
AGENTS.mdif any,$CODEX_HOME/AGENTS.md, and each helper script or contract the automation relies on. - Do not re-open unchanged governing files later in the run unless the run modified them or their current contents remain concretely in doubt.
- Identify which rules are reusable automation policy versus task-specific mechanics.
2. Execute the task-specific automation work
- Treat helper scripts and executable helpers as the source of truth for deterministic behavior, fallback paths, cleanup rules, alert rules, and structured outputs.
- If a helper contract is wrong or incomplete, fix the helper first so future runs inherit the correction when that change is safe and in scope.
3. Apply routine automation policy
- Apply the compact-summary/no-inbox policy from Skill-Specific Rules before closing.
- Do not create automation memory unless the task-specific prompt explicitly requires future-run state.
- Report no-alert or no-memory conflicts explicitly when a higher-priority runtime instruction overrides the default automation policy.
4. Verify and close
- Before completion, verify the result against the automation prompt, relevant local
AGENTS.mdif any,$CODEX_HOME/AGENTS.md, thisSKILL.md, and every helper contract the run relied on. Re-open only files changed in this run or whose current contents remain concretely in doubt. - Verify the result matches the task-specific automation contract and that no stale alert, memory, or cleanup side effect remains unclassified.
Completion Gate
- Verify the automation result is backed by the current automation prompt plus every relevant helper contract.
- Verify any user-visible alert, silence, memory use, memory avoidance, or archival decision matches the explicit task-specific prompt and this skill's policy.
- Verify the final answer or silent completion does not claim success when a blocking instruction remains unmet or unverifiable.
Output Contract
Report only:
- a compact final summary for project-list visibility
- task-specific alert details when a user-visible alert is required
- unresolved blockers or non-blocking debt
- intentionally retained alerts, memory, or side effects with reasons
- anything important not verified
Example Invocation
Use $ceratops-automation-run before applying this automation's task-specific prompt and helper contracts.