How To Use
Why this matters: The AI does not see your wiring, your servo limits, or what your skills are for. It sees the names and descriptions you write. A port called d2 with no description is just d2. A port called d2 described as “left shoulder servo, range 30–150” becomes a precise, hard constraint the AI will respect.
Project Configuration
Describe Your Global Variables
When you call setVar(), pass a third argument that explains what the variable means. The assistant reads this description as authoritative meaning. Without it, the AI is left guessing what $mode or $batt represents.
Fill Out the AI Description on Every Script
Every script in ARC has an AI Description field in its configuration screen. Use it to write one or two plain sentences describing what the script does and when it runs. This is what the AI sees when it considers calling, modifying, or referencing that script.
Describe Auto Position Actions
Every Auto Position action has a description field. Fill it in. The AI uses these descriptions to choose the right action when a prompt asks for a pose or motion — without them, it can’t tell Wave from Salute from Point.
Describe EZ-Bits in the Robot Designer
If your robot is built from EZ-Bits, open each bit in the Robot Designer and describe what its servos do, where they’re located, and what ports they use. The EZ-Robot JD Humanoid template is a great reference — you’ll see entries like “D4 — left arm elbow”, “D5 — left arm wrist rotate.”
Use the Port Descriptions Tab (No EZ-Bits Needed)
Not using EZ-Bits? Open Project → Properties → Port Descriptions. Add each port you use and write a description of what it does. The AI reads this list the same way it reads EZ-Bit descriptions — it’s the canonical “what is plugged into what” reference.
Rename Robot Skills to Match What They Do
Robot skills are addressed by name through controlCommand(). Generic names (“Servo Movement Panel,” “Soundboard 1”) tell the AI nothing — descriptive names tell it everything. Right-click any skill’s title bar and choose Rename, then give it a name that describes its purpose.
Prompting Tips
Project setup gets the AI the facts. Good prompting gets the AI the intent. The clearer your request, the closer the first reply lands to what you actually wanted.
1. Be specific about what the script should do
State the action, the inputs, the outputs, and any timing. “Move the arm” is ambiguous. “Sweep the left elbow from 30 to 150 degrees over 2 seconds, then back” is buildable.
2. Name the skills, ports, or variables you want used
If you already know which skill or port should do the job, say so. The AI will use exactly what you named instead of guessing.
3. State the trigger and the stop condition
Tell the AI when the script starts, when it stops, and what should happen in between. Loops without exit conditions are the #1 source of bad generated scripts.
4. Ask for a fix on the existing script — don’t start from scratch
If you have working code that’s almost right, leave it in the editor and ask for the specific change. The assistant gets the current script as context — it will modify what you have instead of rewriting it.
5. Ask for one thing at a time
Long compound requests confuse the AI and produce monolithic scripts that are hard to debug. Build behavior in small turns — get a working sweep, then ask to add a sensor check, then ask to wrap it in a loop. Each turn produces tested, focused code.
6. Use follow-up turns to iterate
The assistant remembers the conversation. After the first reply, just say “make it slower,” “add a check for the bumper,” or “use Python instead.” You don’t need to restate the whole problem.
7. Ask the assistant to explain code you didn’t write
Inherited a script from a community project? Paste it in and ask “explain what this script does, line by line.” The assistant will walk through it using your project’s real variable and port descriptions.
8. Pick the right model for the job
Use a small, fast model for quick fixes and one-line changes. Use a larger reasoning model when you need multi-step logic, careful constraint handling, or a refactor across a long script. You only pay for the tokens you use — matching model to task saves credits.
Quick Checklist
- Every global variable has a description in its
setVar()call - Every script’s AI Description field is filled in
- Every Auto Position action has a description
- EZ-Bits or Port Descriptions list every port you use, with purpose and range
- Every robot skill is renamed to describe what it does
- You write specific prompts that name the inputs, outputs, and stop conditions
- You iterate one change at a time in the same conversation
Project Configured. Time to Build.
Open any script in ARC, click the AI Script Assistant button, and describe what you want. The work you just did makes every reply better.
Get ARC → View AI Credits