The AI tools
MacroForge can write parts of a macro for you. There are two separate tools and it is worth knowing which is which, because they work on different things.
Both are features, and both are marked with the sparkle icon wherever they appear.
AI Action Generator
In the , describe what the macro should do and it builds the actions. "Click at (500, 1000), wait 2 seconds, then swipe up" comes back as three real actions in your list, configured, which you can then open and adjust like anything else.
It works in both the basic and the advanced editor, and it is at its best on the tedious middle of a macro, the part you already know how to build and would rather not tap out by hand.
Thinking mode beside the prompt makes it plan and check its answer before replying. It takes longer and it is worth it for anything with branching or more than a handful of steps; turn it off when you are asking for something small and obvious.
AI Action Editor
Select some actions first and the same button becomes an editor instead of a generator. Now the prompt is about changing what you picked: "increase delay by 100ms for all actions", or "make these taps randomised".
This is the one that saves real time on a macro that already works. Changing the timing on twenty actions by hand is twenty dialogs; here it is one sentence. You see what it proposes and apply it, so nothing changes behind your back.
Writing GScript
Inside a action the sparkle opens an assistant that writes or fixes GScript for you. It can also just answer a question about the API instead of producing code, which is often what you actually wanted.
Two smaller fields have their own version of this, and they are not the same thing:
- Visibility Condition in the . This field is not GScript, it is a small comparison grammar, so the AI here is asked for that rather than for JavaScript.
- Variable expressions, where the result is evaluated for its value rather than run as a script.
They are separated on purpose. A JavaScript-shaped answer in a visibility condition does not report an error, it silently resolves to false and hides the setting row, which is a miserable thing to debug.
Getting good results
- Say what should happen, not how. "Wait for the reward popup and close it" gets further than naming actions you want.
- Give it real numbers. Coordinates, timeouts and thresholds it cannot know, it will invent.
- Check what it built. It is a starting point, not a finished macro, and it has never seen the app you are automating.
- Generate in pieces. Several small prompts beat one long one, and they are far easier to correct when one goes wrong.