seo 0.2.18 → 0.2.20

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/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  <h1 align="center">SEO Skill</h1>
9
9
 
10
10
  <p align="center">
11
- The only SEO skill your agent needs. 50+ SEO audit tools through a local CLI and MCP server, using your own crawl, Search Console, and Google Analytics data.
11
+ The only SEO skill your agent needs. Audit sites, find search opportunities, research competitors, and verify the work from one local CLI and MCP server.
12
12
  </p>
13
13
 
14
14
  <p align="center">
@@ -38,17 +38,18 @@
38
38
  <a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache--2.0-lightgrey?style=flat-square"></a>
39
39
  </p>
40
40
 
41
- The `seo` command runs a full SEO audit from your terminal, turning a local
42
- crawl and your own search data into work you can inspect and ship. Find
43
- technical blockers, recover search demand, improve pages already close to more
44
- clicks, and catch regressions after a release.
41
+ The `seo` command turns crawl, Search Console, Google Analytics, and optional
42
+ research-provider data into work you can inspect and ship. Find technical
43
+ blockers, recover existing demand, research new keywords and competitors,
44
+ review programmatic page patterns, and catch regressions after a release.
45
45
 
46
46
  ## Who this is for
47
47
 
48
48
  - People running their own sites who want a clear audit and a ranked list of
49
49
  fixes, without learning a heavy dashboard.
50
- - AI agents that need real crawl, Search Console, and Google Analytics evidence through MCP
51
- and one packaged SEO skill instead of screenshots or guesses.
50
+ - AI agents that need real crawl, Search Console, Google Analytics, keyword,
51
+ result, domain, competitor, and link evidence through MCP and one packaged
52
+ SEO skill instead of screenshots or guesses.
52
53
  - Developers who want to embed the same report engine in a script, a CI job, or
53
54
  a TypeScript app.
54
55
 
@@ -67,6 +68,10 @@ optional Google Analytics property, and a local project profile. Public releases
67
68
  the shared Google app. If it is unavailable in your build, setup guides you
68
69
  through adding your own desktop OAuth client.
69
70
 
71
+ Research providers are optional and connected separately. Start with the main
72
+ report, then add DataForSEO when keyword estimates, live results, domain
73
+ footprints, ranking pages, or competitor research would change the decision.
74
+
70
75
  That is the normal path. The `seo` command is then available in every terminal,
71
76
  script, CI job, and local MCP client on the machine.
72
77
 
@@ -121,6 +126,13 @@ Use `seo help all` for the longer command list.
121
126
  to verify the change.
122
127
  - Save and compare crawl reports without running the same crawl again.
123
128
  - Measure SEO changes with matched before and after Search Console windows.
129
+ - Discover keyword ideas, compare market estimates, inspect current results,
130
+ and keep useful terms in local saved sets.
131
+ - Find recurring search competitors, inspect their ranking pages, and filter
132
+ possible keyword gaps through first-party evidence and existing provider
133
+ ranks.
134
+ - Detect repeated first-party and competitor page patterns, then return bounded
135
+ data-source research briefs before proposing a new programmatic template.
124
136
  - Give scripts and agents deterministic JSON, Markdown, stable rule IDs, and a
125
137
  compact local MCP surface.
126
138
 
@@ -173,6 +185,61 @@ property with `seo start`.
173
185
 
174
186
  Run `seo help` for the short path or `seo help all` for the full command list.
175
187
 
188
+ ## Research keywords and competitors
189
+
190
+ Connect DataForSEO when you need independent market estimates or competitor
191
+ evidence. The connection is local and separate from Google sign-in:
192
+
193
+ ```sh
194
+ seo providers dataforseo connect
195
+ seo providers dataforseo status --check
196
+ seo providers dataforseo limits
197
+ ```
198
+
199
+ Credentials use the system keychain when available, with a private local file
200
+ fallback. Paid requests read current endpoint prices, reserve estimated spend
201
+ before acquisition, record actual cost, and use local daily, monthly, request,
202
+ and row limits. Cached results avoid repeating paid work during their retention
203
+ window.
204
+
205
+ Use the existing report catalog. There are no separate provider-named report
206
+ commands:
207
+
208
+ ```sh
209
+ seo reports describe keyword-research --json
210
+ seo reports describe domain-overview --json
211
+ seo reports describe competitor-keyword-gap --json
212
+
213
+ seo reports run domain-overview \
214
+ --params '{"domain":"example.com","countryCode":"GB","languageCode":"en"}' \
215
+ --json
216
+ ```
217
+
218
+ The research flow now covers:
219
+
220
+ - `keyword-research`, `keyword-metrics`, and `saved-keywords` for discovery,
221
+ estimates, and local persistence;
222
+ - `serp-results` and `rank-tracking` for current or repeated exact market and
223
+ device-specific observations;
224
+ - `domain-overview`, `ranked-keywords`, and `ranking-pages` for country-level
225
+ domain, term, page, and repeated path evidence;
226
+ - `serp-competitors` for finding domains that recur across an explicit keyword
227
+ set without guessing whether they are a business, publisher, directory,
228
+ community, or marketplace;
229
+ - `competitor-keyword-gap` for comparing up to three relevant domains with
230
+ retained Search Console themes, the site's provider-observed rankings, and
231
+ programmatic page patterns.
232
+
233
+ Provider traffic, volume, difficulty, intent, visibility, and ranking history
234
+ are estimates. Search Console remains the evidence for measured search
235
+ performance on a property you own. A live result snapshot remains the evidence
236
+ for one query, market, device, and observation time. Reports can combine these
237
+ sources without blending their meanings or turning a missing row into zero.
238
+
239
+ Read the [research provider guide](https://seoskill.dev/docs/research-providers)
240
+ for setup, costs, caching, country-level limits, competitor classification, and
241
+ programmatic data-source checks.
242
+
176
243
  Google Analytics commands sit under their provider namespace. List the properties available
177
244
  to the connected account, then run a report with the property you need:
178
245
 
@@ -376,8 +443,8 @@ drift.
376
443
  ## Use it with AI agents
377
444
 
378
445
  Your agent carries one short SEO skill, and the CLI and MCP server do the
379
- heavy lifting. The skill teaches an agent how to discover the 50+ audit and
380
- report tools at runtime, and the agent asks the CLI for the detail on each
446
+ heavy lifting. The skill teaches an agent how to discover the full audit and
447
+ research catalog at runtime, and the agent asks the CLI for the detail on each
381
448
  tool only when it is about to run it. You get the whole toolkit without fifty
382
449
  skill files sitting in the context window on every session.
383
450
 
@@ -535,8 +602,10 @@ local technical crawl with no Google connection at all.
535
602
  ### What does it cost?
536
603
 
537
604
  The `seo` package is free and open source under Apache-2.0. It calls Google APIs
538
- you already have access to, so there is no separate subscription. Your own API
539
- quotas still apply.
605
+ you already have access to, so the core crawl and Google workflows need no
606
+ separate subscription. Optional research providers can charge for API
607
+ requests. Their estimated and actual costs, local spend limits, cache state,
608
+ and request bounds stay visible in each supported report.
540
609
 
541
610
  ### How is this different from a paid SEO tool?
542
611
 
@@ -556,6 +625,7 @@ vulnerabilities privately through the process in [SECURITY.md](SECURITY.md).
556
625
  - [CLI commands](https://seoskill.dev/docs/cli)
557
626
  - [Crawler](https://seoskill.dev/docs/crawler)
558
627
  - [Reports and data](https://seoskill.dev/docs/reports)
628
+ - [Keyword and competitor research](https://seoskill.dev/docs/research-providers)
559
629
  - [MCP and agents](https://seoskill.dev/docs/agents)
560
630
  - [AI-search evidence](https://seoskill.dev/docs/ai-search)
561
631
  - [Privacy policy](https://seoskill.dev/privacy)