agent-led-growth 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-led-growth",
3
- "version": "0.6.0",
4
- "description": "Check whether an AI agent can sign up for and use your product: check its public pages for free, or test it with a real agent that signs up and has its key checked.",
3
+ "version": "0.6.2",
4
+ "description": "Score: evals for agents as customers. Runs a real agent through signup, key and first call on your product, before you ship. Track, the analytics half, measures which agents convert after.",
5
5
  "author": {
6
6
  "name": "Kat Laszlo",
7
7
  "url": "https://github.com/katrinalaszlo"
package/README.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # agent-led-growth
2
2
 
3
- Can an AI agent sign up for your product, get a key, use it and pay, without a person? One command tells you where it stops. A second one proves it with a real agent.
3
+ **Score** whether an AI agent can sign up for your product, get a key, and make a real API call. **Track** which agents actually do it on live traffic.
4
+
5
+ ## What it does
6
+
7
+ An agent tries to become your customer. The tool:
8
+
9
+ 1. **Checks** your public pages and says where an agent would stop.
10
+ 2. **Gives you a fix prompt** for Claude Code, Cursor, or Codex.
11
+ 3. **Tests** with a real agent to prove the fix works.
12
+
13
+ ## Quick start
14
+
15
+ ```bash
16
+ npx agent-led-growth check yourproduct.com
17
+ ```
4
18
 
5
19
  ```
6
20
  $ npx agent-led-growth check resend.com
@@ -39,17 +53,7 @@ $ npx agent-led-growth check resend.com
39
53
 
40
54
  Six seconds. No account, no Docker, nothing sent to your product but GET requests. Needs Node 20.9 or later.
41
55
 
42
- ## Three steps
43
-
44
- **1. Check.** Reads your public pages, marks the seven steps an agent goes through (Discover, Understand, Sign up, Access, Use, Pay, Manage), and writes one fix prompt per gap.
45
-
46
- ```bash
47
- npx agent-led-growth check yourproduct.com
48
- ```
49
-
50
- **2. Fix.** Paste the prompt it names into your coding agent (Claude Code, Cursor, Codex), deploy, check again. Each prompt says why, what to build, the security rules, and the acceptance tests to write. It never touches your code itself.
51
-
52
- **3. Test.** A real agent, your own Claude Code, signs up for your product and gets a key. A separate checker then calls your API with that key, with no key, and with a wrong key. The agent's word is never the verdict.
56
+ Then fix and test:
53
57
 
54
58
  ```bash
55
59
  npx agent-led-growth test yourproduct.com --check # free: shows the plan, runs nothing
@@ -69,17 +73,48 @@ npx agent-led-growth test yourproduct.com # creates a real account; as
69
73
  11 turns · $0.37 · evidence in .alg/app.tansohq.com/2026-10-05T02-35-22-et9ch3/
70
74
  ```
71
75
 
72
- A test uses your Claude Code's model time, capped at $5. Runs in October 2026 cost $0.06 to $0.47 and took 27 seconds to 4 minutes.
76
+ The agent is your own Claude Code. A separate checker then calls your API with the key it got, with no key, and with a wrong key. A test uses your Claude Code's model time, capped at $5. Runs in October 2026 cost $0.06 to $0.47 and took 27 seconds to 4 minutes.
73
77
 
74
- ## Why not a readiness score
78
+ ## Why this is different
75
79
 
76
80
  Readiness scanners read your pages and grade what is documented. Agent-experience evals run an agent from install to working code. Neither tells you whether an agent can become a customer: sign up on its own, hold a key that works, and pay.
77
81
 
78
- This tool does the whole journey, with a real agent, and verifies every claim from outside the agent. Two of its built-in tasks have the agent pay with real money, USDC over x402 and a card through Stripe Projects, and the evaluator reads the settlement on-chain or from the provider, never from the agent's transcript.
82
+ This tool runs a real agent through the whole journey and verifies every claim from outside the agent. A successful HTTP response alone doesn't pass: the checker makes the call with the agent's key, with no key, and with a wrong key, and a call that answers without a key proves nothing. Two of the built-in tasks have the agent pay with real money, USDC over x402 and a card through Stripe Projects, and the evaluator reads the settlement on-chain or from the provider, never from the agent's transcript.
79
83
 
80
84
  The readiness scanners are still useful, so `--standards` runs five of them (agentic-seo, Cloudflare's isitagentready, Fern's afdocs, Vercel's agent-readability, AgentGrade, through [aeo-ready](https://www.npmjs.com/package/aeo-ready)) after the seven steps. They never change the verdict.
81
85
 
82
- ## With your coding agent
86
+ ## Then, measure real agents
87
+
88
+ A passing test says an agent *can* become a customer. [Track](https://alg.katrinalaszlo.com) says which ones *do*: an Express middleware that records each agent's session, the errors that end it, and the outcomes that follow. Same seven steps, on real traffic instead of one test agent:
89
+
90
+ | Step here | In Track |
91
+ | --- | --- |
92
+ | Discover, Understand | the first events of a session's path (`llms_txt`, docs routes) |
93
+ | Sign up | outcome `signup` |
94
+ | Access | outcome `key_created` |
95
+ | Use | a session with an authenticated 2xx call; `activation` when you record one |
96
+ | Pay | outcome `paid` |
97
+ | Manage | not measured yet |
98
+
99
+ ```
100
+ Add agent traffic to this API: read https://alg.katrinalaszlo.com/SKILL.md and follow it.
101
+ ```
102
+
103
+ ```
104
+ Add agent traffic to this API: read https://alg.katrinalaszlo.com/SKILL.md and follow it.
105
+ ```
106
+
107
+ ## Full command reference
108
+
109
+ ### The three steps
110
+
111
+ **1. Check.** Reads your public pages, marks the seven steps an agent goes through (Discover, Understand, Sign up, Access, Use, Pay, Manage), and writes one fix prompt per gap.
112
+
113
+ **2. Fix.** Paste the prompt it names into your coding agent (Claude Code, Cursor, Codex), deploy, check again. Each prompt says why, what to build, the security rules, and the acceptance tests to write. It never touches your code itself.
114
+
115
+ **3. Test.** A real agent, your own Claude Code, signs up for your product and gets a key. A separate checker then calls your API with that key, with no key, and with a wrong key. The agent's word is never the verdict.
116
+
117
+ ### With your coding agent
83
118
 
84
119
  Paste this into Claude Code, Codex, Cursor or any agent that runs shell commands:
85
120
 
@@ -96,7 +131,7 @@ claude plugin install agent-led-growth@agent-led-growth
96
131
  npx skills add katrinalaszlo/agent-led-growth-cli # Codex, Cursor, others
97
132
  ```
98
133
 
99
- ## In CI
134
+ ### In CI
100
135
 
101
136
  ```bash
102
137
  npx agent-led-growth check $URL --fail-on high --json # exit 1 on a high-severity gap
@@ -105,11 +140,11 @@ npx agent-led-growth test $URL --yes --json # creates a real account
105
140
 
106
141
  Commit `alg.yml` so CI reuses your answers. `test` needs Claude Code installed and signed in, or `ANTHROPIC_API_KEY`.
107
142
 
108
- ## Installed
143
+ ### Installed
109
144
 
110
145
  `npm i -g agent-led-growth`, then `alg check …` and `alg test …`.
111
146
 
112
- ## Flags
147
+ ### Flags
113
148
 
114
149
  `check`
115
150
 
@@ -135,7 +170,7 @@ Commit `alg.yml` so CI reuses your answers. `test` needs Claude Code installed a
135
170
 
136
171
  Exit codes, both commands: `0` done or passed, `1` fixes found or test failed, `2` usage or setup, `3` the site did not answer or the run was inconclusive, `130` cancelled.
137
172
 
138
- ## Cost, accounts and data
173
+ ### Cost, accounts and data
139
174
 
140
175
  | | `check` | `test --check` | `test` |
141
176
  | --- | --- | --- | --- |
@@ -147,12 +182,12 @@ Exit codes, both commands: `0` done or passed, `1` fixes found or test failed, `
147
182
  - **Your data.** No account, no telemetry, nothing phoned home. Check requests carry the user agent `agent-led-growth/<version>`. The agent runs with its own isolated settings: none of your MCP servers, hooks, plugins or CLAUDE.md files, and only the test identity's email address (a hook refuses any other).
148
183
  - **Secrets.** The agent's key, keys a product showed, claim codes, connection-string passwords and one-time codes and links are scrubbed from every file in the run folder after the check. `.alg/` stays on your machine; keep it out of version control.
149
184
 
150
- ## Limits
185
+ ### Limits
151
186
 
152
187
  - **`check`** reads at most 36 pages per run (well-known paths such as `/llms.txt`, plus at most 14 links it follows), all on your product's own registrable domain. 10-second timeout and 2 MB per page. It does not run JavaScript, so a page that renders only in the browser reads as empty, and it sees nothing behind a login. A step found in page text can be wrong; only a test proves one.
153
188
  - **`test`** gives the agent 40 turns and $5. A run stops after 30 minutes, or 5 minutes with no output. The agent reaches only your product's domain and its usual subdomains (`www`, `api`, `docs`, `app`, `auth`, `console`, `dashboard`, `developers`), plus hosts in `verify_call`, `verify_exchange`, `verify_cli` and `verify_hosts`. It has Bash, WebFetch and file tools, not a browser, so a signup that works only in a browser (a JavaScript-only form, a CAPTCHA) stops it. One run is one attempt; results can differ between runs.
154
189
 
155
- ## Onboarding
190
+ ### Onboarding
156
191
 
157
192
  Three questions pick the onboarding model the fix prompts build toward. `check` does not ask them: it takes what your docs describe, or the recommended model when they describe none, and prints which one it used. Answers are saved to `alg.yml`; edit it, pass the flags, or run `--ask`.
158
193
 
@@ -164,7 +199,7 @@ Three questions pick the onboarding model the fix prompts build toward. `check`
164
199
 
165
200
  The headline and the seven steps are the same whatever the answers; the answers change the findings and the prompts.
166
201
 
167
- ## alg.yml
202
+ ### alg.yml
168
203
 
169
204
  `check` writes it. `test` reads it, and infers a `verify_call` from your OpenAPI document when there is none: a GET that needs a key and no parameters, preferring `/me`, `/account`, `/user`, `/whoami`. A complete file:
170
205
 
@@ -193,7 +228,7 @@ The checker makes the call three times: with the agent's key (must return `verif
193
228
 
194
229
  `test yourproduct.com` uses `alg.yml` only when its `url` is that product; for another product it takes the task from that product's latest check and never writes the file. It works on a product running on your machine too (`url: localhost:3000`).
195
230
 
196
- ## Paying with real money
231
+ ### Paying with real money
197
232
 
198
233
  Two built-in tasks have the agent pay from its own wallet over [x402](https://www.x402.org): `pay-x402-agentmail` (one inbox, $2.00; the payment is the authentication) and `pay-x402-telnyx` ($1 of credit). USDC on Base, from the wallet whose private key is in `AGENT_READY_WALLET_KEY`. Use a wallet made for this with a few dollars on it. The evaluator reads the settlement transaction on Base itself and passes only when USDC left that wallet for no more than `AGENT_READY_PAY_CAP_USD` (default 2.00) and the paid request answered 2xx.
199
234
 
@@ -205,7 +240,7 @@ AGENT_READY_WALLET_KEY=0x… npx agent-led-growth execute --task pay-x402-agentm
205
240
 
206
241
  `alg execute --help` lists every built-in task. They run against public products with your Claude Code, with no spending cap, and do not ask first.
207
242
 
208
- ## For agents and scripts
243
+ ### For agents and scripts
209
244
 
210
245
  Everything works without a terminal. `--json` prints one document to stdout and nothing else; errors arrive as `agent-ready/error@1` with `{ code, message, hint }`.
211
246
 
package/bin/cli.js CHANGED
@@ -47,7 +47,7 @@ const frameSize = (value) => {
47
47
  };
48
48
 
49
49
  const program = new Command();
50
- program.name("alg").description("Can an AI agent find, sign up for, use and pay for your product without a person?").version(pkg.version);
50
+ program.name("alg").description("Score: evals for agents as customers. Runs a real agent through signup, key and first call on your product, before you ship. Track, the analytics half, measures which agents convert after.").version(pkg.version);
51
51
 
52
52
  function parseClaims(value) {
53
53
  const on = value.split(",").map((s) => s.trim()).filter(Boolean);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-led-growth",
3
- "version": "0.6.0",
4
- "description": "Can an AI agent sign up for your product, get a key, use it and pay, without a person? One command shows where it stops; a real agent proves it.",
3
+ "version": "0.6.2",
4
+ "description": "Score: evals for agents as customers. Runs a real agent through signup, key and first call on your product, before you ship. Track, the analytics half, measures which agents convert after.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "alg": "bin/cli.js",