← ClaudeAtlas

ignition-scriptinglisted

Author, review, and refactor Inductive Automation Ignition Jython scripts. Use this skill when the user's request involves (1) writing or editing a gateway script (timer, tag-change, message handler, startup, shutdown), (2) writing or editing a Perspective session/view/component event script, (3) writing or editing a Vision client event script, (4) writing or editing a project-library script module (`shared.*` / `project.*`), (5) reviewing a script for scope correctness, threading safety, Jython 2.7 compatibility, or SQL-injection risk, or (6) deciding which scope a piece of logic should live in. This skill is Ignition 8.1+ focused (Jython 2.7); flag version-specific behavior explicitly.
aimerfan/ignition-skills · ★ 0 · Code & Development · score 60
Install: claude install-skill aimerfan/ignition-skills
# Ignition Scripting (Jython) Ignition scripts run on **Jython 2.7** in one of four scopes. The single most common bug is "the script works in Designer but breaks at runtime" — almost always because the developer didn't pick the right scope for the work. This skill exists so that what Copilot produces lands in the correct scope, doesn't block UI threads, doesn't rely on Python-3 features Jython lacks, and doesn't ship SQL-injection vectors. ## Critical precondition — pick the scope first **Before writing a single line of script, decide which scope it runs in.** The scope determines: - Which `system.*` functions are available (and which silently no-op). - Whether blocking is acceptable (gateway: yes, session: no — it freezes the user's tab). - Which identity the code runs as (gateway service account vs. logged-in user). - Whether shared library state survives across calls (yes in gateway; per-session in Perspective). If you're writing the script and the user hasn't said the scope, **ask before writing**. Inferring is the wrong move — a script that "looks like" it should run in the gateway often actually wants to be a session message handler, and the difference shows up only in production. The full mental model lives in [knowledge/ignition/scope-semantics.md](../../knowledge/ignition/scope-semantics.md). The summary table below is a quick reference for routing. ## Scope decision matrix | If the script's job is… | It almost always belongs in scope | |---|---| | React to