Loopwork helps software teams ship faster by driving AI and agentic coding adoption — and by building custom agent harnesses and code factories.
What does it mean to build agent-native software?
We recently put this question to the test while redesigning our marketing page. Agent native, for us, meant:
1. All information and actions must be discoverable as text
2. All actions can be accomplished through code
3. Don't write dead software
What do we mean? If an agent can't find it by reading text, it doesn't exist. If a human has to click buttons to make it happen, it's not agent-native. And if the software can't be composed, piped, or invoked programmatically — it's dead. Dead software is a GUI with no API, a PDF with no plain-text equivalent, a workflow locked behind a login wall with no CLI.
So when it came time to design our CTA, we decided to have a little fun:
# run to learn more and get in touch $ curl loop.work | claude
The first time we copied that into our console to test it, we thought, "Who would ever pipe some random endpoint into their coding agent?" That's not like sneaky ignore-all-previous-instructions-type prompt injection -- it's full on prompt possession!
And yet when you compare it to the Getting started command prescribed by your average dev tools -- (curl -fsSL https://some-random-binary.sh | bash) -- it's actually safer, because the agent has a permission model and bash doesn't.
Still, to make users more amenable to running the command, we've tried to be transparent about the text they'll be sending to their agent by including it in its entirety below.
Everyone knows the classic SaaS CTA. Big juicy lavalamp gradient "Sign up" button. Calendly scheduling hell. Qualified by some BDR next week. Unsubscribable "Hey!👋" email drip for a product that probably doesn't even exist.
Our question was: what if an agent explained our offerings and helped you schedule a time? What if our CTA welcomed you in and did the work for you. After a bit of iteration, we were shocked by how natural the agent-native experience actually felt.
The challenge of building an "agent-native" CTA also led to some interesting learnings about building and designing agent-native systems:
Free Tokens
During our initial experimentation, we actually put a chat box right on our home page and ran the chat through our servers. And while this gave us complete control over the experience, it also had predictable consequences and created other brand liabilities.
Unauthenticated LLM endpoints are a magnet for bots and griefers in search of free tokens. And now, if trolls tried to manipulate or jailbreak the agent, they would be doing so on Loopwork.com and on Loopwork servers.
With our current approach, the user is actually paying for the tokens! (Thank you!) And any griefing or amateur red-teaming happens on their system, not ours.
AskUserQuestion
Besides giving us an opportunity to explore agent-native experience design, we wanted our CTA to accomplish some standard CTA things (explain our offerings, qualify potential customers, capture interest so we could follow up) but also, ideally, we wanted it to deliver some actual value to the user. So as part of the flow, we designed a series of questions that would help the agent evaluate where the user's company sat on an agent adoption scale we'd created and then provide them with some concrete tips on how they could continue to climb that scale.
The agent could just ask the user questions right in the chat but we found that Claude's native AskUserQuestion tool provided an even better experience.
Who do you work for?
When designing the experience, we were cognizant that the user had granted us their trust by passing our prompt to their agent and we wanted to respect that trust.
Brand Ventriloquist
Every touchpoint with a company — landing page, docs, sales call — reflects its culture. When an AI agent becomes one of those touchpoints, it inherits all the defaults of its base model: the relentless agreeableness, the "You're absolutely right!" openers, the exclamation-point enthusiasm. We wanted Loopwork's agent to sound like Loopwork, not like a customer-service chatbot having the best day of its life.
We spent a significant amount of prompt space cutting the agent's natural sycophancy and purging telltale LLM cliches.
One question remains: is the agentic CTA actually converting? We're tracking the data and will share results in a follow-up post. In the meantime, we'd genuinely love for you to try it — run the command, see what happens, and tell us what you think. Or better yet, have your agent tell us.
# run to learn more and get in touch $ curl loop.work | claude