Notes from building an AI design collaborator · part 15
My AI's rules only worked because one tool bothered to read them
· 3 min read
I had a rule I was proud of. Always start from the real product. Never redraw a screen from scratch when we've already captured the real one. It was written down, it was clear, and it worked beautifully. Then I pointed a different AI tool at the same project and watched it cheerfully ignore the rule and redraw a screen we already had, pixel-perfect capture sitting right there unused.
My first reaction was to be annoyed at the tool. That was unfair. It hadn't disobeyed. Nobody had told it the rule existed.
The rule was fine. It was unreachable.
Here's what I'd missed. My rule lived in a particular file, and the AI I'd been using auto-loads that file at the start of every session. So the rule was always just there, quietly steering everything, and I'd started to think of it as a property of the project. It wasn't. It was a property of that one tool's habit of reading that one file.
Point a different tool at the same folder and the file is just sitting there, unread, inert. The rule wasn't wrong. It was unreachable. And an unreachable rule is exactly as useful as no rule at all, which is to say the tool did the sensible default thing, which was to ignore context it didn't know it had and start from scratch.
Reachability, not naming
The fix has a name people are converging on, a vendor-neutral file that lots of AI tools have agreed to auto-load. So I put the important rules there, in the place the most hosts will actually pick up.
But the real lesson isn't the filename. It's that the filename is inert unless the host bothers to read it. A convention only works if the tool in front of you honours it, and not all of them do. So I stopped treating "I wrote it down" as "the AI will follow it," and started asking a different question. Will this particular tool actually load this? If it auto-loads a known file, great. If it doesn't, then the rule has to ride in the prompt itself, pasted in at the top, because that's the one channel every tool reads.
Portability of your instructions isn't about picking the right filename. It's about reachability. Assume nothing auto-loads, and make sure the rules that matter arrive through a channel the tool in front of you can't skip.
Your carefully written AI rules are worth exactly as much as the odds that the host reads them. One tool's helpful auto-load habit had been quietly making my rules look load-bearing when they were really just lucky. The moment I changed tools, the luck ran out.
Write the rules to the lowest common denominator of how these things load context. Put them where the most hosts will read them, and for the ones that read nothing, hand the rules over in the prompt yourself. A rule the tool never sees isn't a weak rule. It's not a rule.
Part of a series on building an AI collaborator for our design team at Xflow. Each post stands on its own.
- ai
- agents
- design-ops
The rest of Notes from building an AI design collaborator
- 1. I stopped describing my product to AI. I just gave it the HTML.
- 2. I gave the AI my design process, not my design decisions
- 3. I turned my design process into a dozen small skills, not one giant prompt
- 4. I built a free tool that gives your AI your real product
- 5. I taught the AI to push designs into Figma. Then it quietly stopped.
- 6. We rebuilt our Figma design system out of the code, not the other way round
- 7. We ran our design process on itself, and it broke in useful ways
- 8. How do you teach an AI your taste?
- 9. It worked great on the smart model. Then I ran it on a cheaper one.
- 10. The AI told me our brand colour with total confidence, and it was wrong
- 11. A screen list lies. I found a whole feature I didn't know we shipped.
- 12. Our documentation updates itself, because updating it is the AI's job
- 13. I sat down to turn my workflow into a swarm of agents. Most of it refused.
- 14. Every modal in our app shared one URL. Our analytics couldn't tell them apart.
- 16. Six designers, one GitHub account, and a script that saves us from ourselves
- 17. "Out of scope" usually means "we'll repaint this in six months"