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.
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +60 -25
- package/bin/cli.js +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-led-growth",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"description": "
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
143
|
+
### Installed
|
|
109
144
|
|
|
110
145
|
`npm i -g agent-led-growth`, then `alg check …` and `alg test …`.
|
|
111
146
|
|
|
112
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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("
|
|
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.
|
|
4
|
-
"description": "
|
|
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",
|