@clize/clize 0.26.1 → 0.27.0

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.
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: clize-seo
3
+ description: >-
4
+ Read what `clize seo` returns and decide what to do about it. The commands give facts —
5
+ keyword metrics, who occupies a results page, your positions, where your traffic comes
6
+ from, what Search Console is showing you. This skill is the judgment layer: which keywords
7
+ are worth attacking at your authority level, what a results page is actually telling you,
8
+ where to place content so it gets found, how to write so AI engines can quote you, and how
9
+ to read a `seo check` without fooling yourself.
10
+ Triggers: "should I go after this keyword", "why aren't we ranking", "what does this SERP
11
+ mean", "read my seo check", "how do I get cited by ChatGPT", "write this page for AI search",
12
+ "where should I publish this", "is our SEO working".
13
+ ---
14
+
15
+ # Reading and acting on `clize seo`
16
+
17
+ The commands are deliberately dumb: they compress facts, they never advise. `serp` will tell
18
+ you a page is a `listicle_window`; it will not tell you to pitch those listicles. That call is
19
+ yours, and this file is how to make it.
20
+
21
+ Run `clize seo <cmd> --help` for exact flags. Everything below assumes you have the output.
22
+
23
+ ---
24
+
25
+ ## 1. Reading a results page (`seo serp`)
26
+
27
+ `verdict` compresses **who occupies the page**. Four values, and what each one means for
28
+ whether you can get in:
29
+
30
+ | verdict | what it means | what it implies |
31
+ | --- | --- | --- |
32
+ | `official_wall` | The brand named in the query owns ≥3 of the top 5 | You are not getting in on this query. It is a navigational query wearing a category costume. |
33
+ | `definition_wall` | Big vendors / encyclopedias hold ≥4 of the top 10 with "what is X" content | Do not write another definition. Go long-tail, or go where the discussion is (Reddit, HN). |
34
+ | `listicle_window` | Roundups hold ≥3 of the top 10 | **The only shape you can enter without authority.** `parasiteTargets` lists the roundups — getting included in one is cheaper than outranking them. |
35
+ | `open` | No single occupancy pattern the classifier can identify | **Not the same as "there's room."** Read `items` yourself. |
36
+
37
+ ### `open` is the one that will fool you
38
+
39
+ `open` means *the machine found no mechanical pattern*, not *the page is winnable*. Measured
40
+ case: `agentic payments` came back `open`, but the top eight were ACI Worldwide, AWS,
41
+ Fireblocks, Accenture, Mastercard and Kearney — an enterprise definition wall in everything
42
+ but the classifier's domain list. Whenever you see `open`, read the hosts. If they are all
43
+ large vendors publishing thought-leadership, treat it as `definition_wall`.
44
+
45
+ ### KD and the SERP are different questions — check both
46
+
47
+ `seo keywords` says `stripe mcp server` is KD 4, `band: attackable`. `seo serp` on the same
48
+ keyword returns `official_wall`: three of the top five are Stripe's own properties. **A low
49
+ difficulty score on a page nobody can enter is not an opportunity.** Never pick keywords from
50
+ `band` alone; run `serp` on anything you are about to invest a page in.
51
+
52
+ ### The classifier does not judge intent — you do
53
+
54
+ `ai agent deployment` returns `open`. Read the items and you find they are all about deploying
55
+ *agent runtimes*, not about agents deploying *websites*. That is an intent mismatch, and it is
56
+ invisible to a rule engine because it requires knowing what your product is. Same for
57
+ `ai domain registration`, which turns out to mean "buy a .ai domain". **Always read `items`
58
+ before committing to a keyword**, whatever the verdict says.
59
+
60
+ ### `aiOverview: true`
61
+
62
+ An AI Overview sits above the organic results and answers the query in place. Position 3 under
63
+ an AI Overview is worth much less than position 3 without one, and some of your impressions will
64
+ never become clicks no matter what you do. Note it, factor it into expectations, and lean harder
65
+ on being *quotable* (§4) than on being *ranked*.
66
+
67
+ ---
68
+
69
+ ## 2. Picking keywords at your authority level (`seo keywords`)
70
+
71
+ `band` is a mechanical bucket of keyword difficulty: `attackable` (<10), `stretch` (10–30),
72
+ `wall` (>30), `no_volume`.
73
+
74
+ For a site with near-zero authority (new domain, few referring domains):
75
+
76
+ - Attack `attackable` **that also pass the SERP check** (§1).
77
+ - `stretch` is a 6–12 month bet; take at most one or two, and only if the SERP is a
78
+ `listicle_window` you can parasitize meanwhile.
79
+ - `wall` is not a plan. Skip it.
80
+ - `no_volume` is not automatically worthless: a keyword with no recorded volume whose SERP is
81
+ already full of category roundups is a **pre-emergence** signal — the searches exist, the
82
+ keyword tools have not caught up. `email api for ai agents` had no volume and a
83
+ `listicle_window` with four roundups on it. That is a keyword worth an early page.
84
+
85
+ `--ai` adds `aiSv`, the volume inside AI engines. **It is a different unit from `sv`.** Measured:
86
+ `agent mail` is 5,400 on Google and 125 in AI engines; `ai email agent` is 140 and 5. Compare a
87
+ keyword to itself over time, or rank keywords against each other — never put `sv` and `aiSv` in
88
+ the same sentence as if they were the same quantity, and never add them.
89
+
90
+ ---
91
+
92
+ ## 3. Where to place content
93
+
94
+ Priority order, most effective first for a low-authority site:
95
+
96
+ 1. **Third-party trust positions.** Registries and directories that accept submissions, and the
97
+ roundups in `parasiteTargets`. Getting listed in a page that already ranks beats trying to
98
+ outrank it. This is manual outreach — the product produces the target list, it does not send
99
+ anything.
100
+ 2. **Where the discussion already is.** Reddit and HN rank on a large share of these queries
101
+ (they appear in nearly every SERP fixture we have). Participating is legitimate; astroturfing
102
+ is not, and it will cost you the account and the credibility.
103
+ 3. **Your own site last.** Not because it doesn't matter, but because on a new domain it is the
104
+ slowest of the three. Publish there, then go get the first two.
105
+
106
+ ---
107
+
108
+ ## 4. Writing so AI engines can quote you
109
+
110
+ Retrieval-augmented engines quote passages, not pages. What survives extraction:
111
+
112
+ - **Answer completely in the first 200 words.** Assume the extractor never reaches your second
113
+ section.
114
+ - **One-sentence extractables.** Each key claim should stand alone when lifted out of context.
115
+ Pronouns and "as mentioned above" destroy quotability.
116
+ - **Statistics and named sources.** Concrete numbers with attribution get quoted; adjectives
117
+ don't.
118
+ - **Define your terms verbatim and identically everywhere.** If your definition sentence varies
119
+ between pages, no single phrasing accumulates authority.
120
+ - **Machine-readable surface**: `llms.txt`, schema.org markup, a sitemap, and IndexNow pings.
121
+
122
+ ---
123
+
124
+ ## 5. Reading a `seo check`
125
+
126
+ ### `rank`
127
+
128
+ - `position: null` with `measured: true` means **not in the top `rank.depth`** (100). That is a
129
+ real fact.
130
+ - `position: null` with `measured: false` means **this round did not measure it** — the upstream
131
+ returned a short page. It is not a drop, and the round was deliberately left out of the series.
132
+ Ignore it; do not read a trend through it.
133
+ - `delta` is **positive when you moved up** (position number got smaller). `movers` are the
134
+ keywords that shifted by 3 or more.
135
+ - `competitors` are recorded from the same fetch at no extra cost. A competitor at 2 while you
136
+ are at 73 on the same keyword tells you the gap is authority, not on-page work.
137
+
138
+ ### `traffic`
139
+
140
+ - `ai` is always present, **including when it is all zeros — zero is the finding.** First
141
+ non-zero AI referral is a real milestone; note the date.
142
+ - The numbers are **adaptively sampled and rounded by magnitude**. Compare them over time.
143
+ Never quote them as exact counts, to yourself or to anyone else.
144
+ - Same-host referrers are internal navigation and already excluded.
145
+
146
+ ### `gsc`
147
+
148
+ - `newQueries` is the feedback loop closing: Google is telling you which queries it *considers*
149
+ you relevant for. Queries you never targeted showing real impressions are the most valuable
150
+ output of the whole command.
151
+ - **Impressions with zero clicks at position 60–90 is not a content problem.** It means Google
152
+ is offering you the keyword surface and withholding the position. That is an authority
153
+ bottleneck; writing another page on the same theme will not move it. Go do §3.1.
154
+ - `gsc: null` is not an error. Read `notes` — usually it means the service account has not been
155
+ added to that property yet.
156
+
157
+ ### The one rule that ties it together
158
+
159
+ When `rank` says you are not in the top 100, `gsc` says you have hundreds of impressions at
160
+ position ~70, and `serp` says the page is a `listicle_window` — that is a complete, actionable
161
+ picture: **the demand exists, the position is authority-limited, and the way in is the roundups,
162
+ not another page.** This exact configuration is what clize.ai looked like on 2026-08-30.
163
+
164
+ ---
165
+
166
+ ## 6. Two playbooks
167
+
168
+ **New site, cold start.** `seo keywords` on your seed set → drop `wall`, keep `attackable` and
169
+ interesting `no_volume` → `seo serp` each survivor → discard `official_wall` and
170
+ `definition_wall` → for `listicle_window`, collect `parasiteTargets` and start outreach → write
171
+ one page per surviving keyword following §4 → deploy → `seo check --keywords <the survivors>
172
+ --brand <you> --competitors <the two you keep seeing>`. That first check is your baseline.
173
+
174
+ **Recheck.** `clize seo check` with no flags (it remembers everything) → read `movers` first,
175
+ then `traffic.ai`, then `gsc.newQueries` → decide: keep waiting, add the new queries to the
176
+ tracked list, or change approach. Every two weeks is plenty. **SEO is a weeks-to-months system;
177
+ checking daily tells you nothing and costs money.**
178
+
179
+ ---
180
+
181
+ ## 7. Calibration discipline
182
+
183
+ Every measurement here is a sample, not a census. Rank sampling is one fetch of a personalized,
184
+ rotating results page. Traffic is adaptively sampled. AI-engine visibility measured by any tool
185
+ is a sample of a non-deterministic system — one independent evaluation found a major commercial
186
+ tool undercounting by 40×.
187
+
188
+ So: **promise time series against yourself, never absolute share.** "Our AI referrals went from
189
+ 0 to 40 a month" is defensible. "We have 3% AI visibility" is not, no matter which tool printed
190
+ it. Breaking this rule in customer-facing copy is a product-integrity failure, not a rounding
191
+ error.
192
+
193
+ ---
194
+
195
+ ## What this skill will not do
196
+
197
+ Generate the content (that's your job — clize is the hands, you're the brain), submit to
198
+ directories or post to forums (manual, on purpose), or promise rankings. And there is no
199
+ automatic monitoring: measurement only pays off when someone can act on it, so a recheck happens
200
+ when you show up to run one.