Anybody Else Attempting AI Development?

I am having success with with a Google Gemini Gem configured to be an “Ignition Helper”. Is anybody else doing this? So far have nothing agentic, but I’m generating useful code and copy/pasting it into the designer.

Here is how I setup my "Igntion Helper" Google Gemini GEM, a tailored Chatbot designed to handle specific tasks, in this case Ignition scripting and general advisor. I use mine pretty much constantly when I am developing in Ignition. To create your own "Ignition Helper", open up Google Gemini and click "Gems", + New Gem. And then fill out the form with info similar to the following:

Name
Ignition Helper

Description
The Ignition Helper GEM is a Jython and Expression coding assistant and general Ignition expert advisor.

Instructions include all the sections below.

Role
You are "Ignition Helper," an elite Industrial Automation Engineer specializing in Inductive Automation's Ignition platform (v8.1.52+). Your expertise covers Perspective, Vision, Tag Providers, and Gateway administration.

Core Competencies
Jython 2.7: Expert at writing and refactoring scripts for Project/Gateway Library, Component Events, and Session Events.
Expression Language: Master of Ignition's Expression syntax for bindings and transforms.
SQL & DB: Expert in Named Queries and database integration (MS SQL/MySQL).
System Wrappers: You ALWAYS prioritize "system.*" Ignition scripting functions over direct Java imports (e.g., use system.date instead of java.util.Date) unless a specific low-level Java capability is required.

Formatting & Style Rules
Indentation: Use 4 SPACES for indentation. NEVER use tabs. If a user provides code with mixed tabs/spaces, fix it automatically.
Clarity: Use Markdown headers (##), bold text, and bullet points to make technical explanations scannable.
Code Blocks: Provide clean, copy-pasteable code blocks with comments explaining the logic.

Personality & Tone
Act as an authentic, adaptive AI collaborator with a touch of wit.
Balance empathy with candor: validate the user's technical frustrations while correcting misinformation gently but directly.
Be an "Expert Guide": If a request is broad or ambiguous, provide the best immediate answer and then ask ONE targeted follow-up question to refine the solution.

I found and uploaded 10 sections of the 8.1 User Manual. 10 is the maximum number of files you can attach.

I always found gemini and chat gpt to require significant numbers of prompts to get anything sort of working. Claude on the other hand is usually one and done, then additional prompts are just to add improvements, but the code generally works first time.

FYI I saw an article that prompting AI like this - telling it what sort of expert it is - actually diminishes perfomance for programming/mathematics. This works better for creative writing.

Claudes decent at it. The others hallucinated too much of the system.* ecosystem.

I just submitted my first Claude-coded Exchange resource. It’s almost entirely JavaScript, allowing creation of an Organizational Chart from user data.

Ever since I started vibe coding a game that’s been in my head for decades, I’ve known that my days of writing code by hand are numbered. Claude surprised me with his understanding of Perspective. I was used to Google AI hallucinations about what Ignition can do…

Not that Claude doesn’t hallucinate. While refactoring the challenge levels in the game, we found that he had made up two challenge modes that didn’t exist (“Vertigo” and “Amnesia’). They both sounded like good ideas, though, so we brainstormed and now they’re part of the game (and two of my favorite challenges).

For any agentic tasks I use opencode. You can connect to multiple providers and use any model you want.

I use Claude for UI mock ups since it can render react components and Chatgpt with projects to always follow my programming rules. Depending on the day, GPT5.3 does pretty well.

As a side note, the features you develop with AI can only be as good as your understanding of Ignition/programming and your ability to validate it's work. I cannot stress this enough although I'm sure there are differing opinions on this :smiley:

Thanks for sharing Claude!

Anyone is using Antigravity?

Gemini is good. but all Ai models are below average compared to Claude opus 4.6.
I personally use Claude opus 4.6 in module development. for expressions and scripting i usually don’t require Ai.

I've dabbled and its definitely helpful as a coding assistant, but I have found that at least for anything that uses any ignitions system function. it will hallucinate a lot I have got some crazy function suggestions that definitely don't exist. Other times I have had it make up documentation for existing functions that are wrong. One example would be I have had it say that calling system.perspective.openPopup on an id of an existing popup would move it.

Gemini seems better then gpt-5 in my experience. I think it will be a while before it can reliably produce code or Json's that are specific to ignition, seems there isn't enough data it has scraped. I've had pretty good luck with getting it to write jython except for an occasional f string.

I used Claude to generate some edge case test Ignition Jython scripting in my project. 12 of 13 functions were perfect. The last one tried to import some Java libraries which didn’t work so well.

I’ll also never make an .svg from scratch again.

Thanks everyone, for sharing. I was curious as what others were doing, and really wanted to see if there was something obvious that I was missing out on. My Ignition Helper GEM is part of my Ignition workflow, and I look forward to exploring file system access to internals with v8.3. Thanks again!

you can feed Gemini the links of ignition documentation. and ask him to analyze it before performing any tasks. It will provide much better results with less hallucination.

Just wanted to give everyone a heads up. The JavaScript execution technique being shared here is considered an exploit. The Markdown component was not intended to execute arbitrary JavaScript, and we're treating this as a security concern.

We'll be addressing this in a future release. In the meantime, be aware of the risks this introduces, particularly in environments where external sources could influence the content of that property.

For the functionality you created, a module would be ideal.

I've been wanting to learn how to create modules, and it sounds like I may have no choice eventually. When it's addressed in a future release, will there be an option to allow it? That technique is nothing new, and I've seen plenty of examples of people using it...

Look at @bmusson's open source work.

I doubt many people will be appreciative of this move

This was the piece perspective was missing back when we moved away from vision and its ability to hack at the Java objects and change their behaviours etc. I missed that as it meant I could no longer change basic things that I needed to to get it to work as I wanted. Then came the revolution of the Markdown hacks, and it reintroduced this again, only to be (soon?) yanked away again. Granted, it feels a lot more hacky with Markdown than it did in Vision, but at least it's something.

I totally agree with you (which is why I've built the tools in Periscope).

But from IA's Perspective, none of their components have supported or stable JavaScript interactions. Even if they decided to add client-JavaScript in the future, it wouldn’t look anything like the existing hacks

So the sooner they can label the markdown hacks as “unsupported” the better.

I've been avoiding javascript hacks, as I think they add attack surface to Ignition. Particularly when layered, like nesting javascript inside HTML inside markdown. Similar to the attacks against SQL when constructing statements from strings, and attempting to sanitize arguments.

I really like Periscope, because the programmer doesn't have to play these troublesome and potentially flawed games.

(I anticipate the Markdown component sanitizing its rendered HTML, and blocking script injection entirely.)

The hardest thing with modules though is that I try to make all my standardized graphics/projects compatible with Edge and until more modules are whitelisted for Edge, that's the limiting factor. I have a feeling I'm going to have to abandon that idea and just make Edge specific graphics/templates that may not have the full capabilities of the Ignition Standard version, but try to keep them as close as possible.