seo 0.1.0 → 0.2.1
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/PRIVACY.md +2 -2
- package/README.md +138 -42
- package/TERMS.md +2 -2
- package/TRADEMARKS.md +9 -5
- package/dist/cli.js +69 -52
- package/dist/cli.js.map +1 -1
- package/dist/{dist-CSY2_p-j.js → dist-CTBhWxn6.js} +49 -49
- package/dist/dist-CTBhWxn6.js.map +1 -0
- package/dist/{dist-FeAUNn9A.js → dist-eiewVfiS.js} +1 -1
- package/dist/index.d.ts +186 -94
- package/dist/index.js +843 -415
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +18 -1
- package/dist/mcp.js +6532 -4665
- package/dist/mcp.js.map +1 -1
- package/dist/{package-uzXzqDW6.js → package-BTOI9tde.js} +2 -2
- package/dist/{package-uzXzqDW6.js.map → package-BTOI9tde.js.map} +1 -1
- package/evals/README.md +117 -0
- package/evals/affected-urls.json +57 -0
- package/evals/ai-readiness.json +84 -0
- package/evals/ai-referrals.json +71 -0
- package/evals/ai-search-scorecard.json +70 -0
- package/evals/audit-page.json +57 -0
- package/evals/audit-urls.json +58 -0
- package/evals/cannibalisation.json +57 -0
- package/evals/community-intent.json +57 -0
- package/evals/compare-crawls.json +56 -0
- package/evals/content-optimization.json +57 -0
- package/evals/crawl-diff.json +58 -0
- package/evals/crawl-history.json +44 -0
- package/evals/crawl-report.json +44 -0
- package/evals/crawler-rules.json +44 -0
- package/evals/ctr-underperformers.json +57 -0
- package/evals/decaying-pages.json +57 -0
- package/evals/entity-readiness.json +57 -0
- package/evals/explain-crawl-issue.json +44 -0
- package/evals/generate-llms-txt.json +44 -0
- package/evals/geo-gaps.json +57 -0
- package/evals/index-coverage-plan.json +58 -0
- package/evals/index-coverage.json +70 -0
- package/evals/index-monitor.json +58 -0
- package/evals/index-watch.json +68 -0
- package/evals/internal-links.json +57 -0
- package/evals/link-recovery.json +58 -0
- package/evals/llms-txt-audit.json +44 -0
- package/evals/measure-change.json +58 -0
- package/evals/monthly-action-plan.json +56 -0
- package/evals/monthly-report.json +58 -0
- package/evals/narrative-report.json +58 -0
- package/evals/okf-build.json +44 -0
- package/evals/okf-validate.json +44 -0
- package/evals/page-opportunities.json +57 -0
- package/evals/performance-audit.json +57 -0
- package/evals/pseo-audit.json +84 -0
- package/evals/query-clusters.json +57 -0
- package/evals/quick-wins.json +86 -0
- package/evals/redirect-trace.json +57 -0
- package/evals/refresh-priorities.json +57 -0
- package/evals/search-performance-overview.json +86 -0
- package/evals/second-page.json +58 -0
- package/evals/segment-impact.json +57 -0
- package/evals/seo-fix-queue.json +85 -0
- package/evals/seo-geo-readiness.json +84 -0
- package/evals/seo-site-audit.json +85 -0
- package/evals/seo-to-ai-query.json +57 -0
- package/evals/seo.json +87 -0
- package/evals/setup-check.json +56 -0
- package/evals/site-crawl.json +44 -0
- package/evals/striking-distance.json +85 -0
- package/evals/technical-watch.json +57 -0
- package/evals/top-fixes.json +44 -0
- package/evals/traffic-anomaly.json +57 -0
- package/evals/update-correlation.json +57 -0
- package/evals/update-postmortem.json +57 -0
- package/package.json +5 -3
- package/skills/README.md +50 -61
- package/skills/seo/SKILL.md +88 -63
- package/skills/seo/agents/openai.yaml +2 -2
- package/dist/dist-CSY2_p-j.js.map +0 -1
- package/skills/affected-urls/SKILL.md +0 -39
- package/skills/affected-urls/agents/openai.yaml +0 -4
- package/skills/ai-readiness/SKILL.md +0 -34
- package/skills/ai-readiness/agents/openai.yaml +0 -4
- package/skills/ai-referrals/SKILL.md +0 -31
- package/skills/ai-referrals/agents/openai.yaml +0 -4
- package/skills/audit-page/SKILL.md +0 -50
- package/skills/audit-page/agents/openai.yaml +0 -4
- package/skills/audit-urls/SKILL.md +0 -39
- package/skills/audit-urls/agents/openai.yaml +0 -4
- package/skills/cannibalisation/SKILL.md +0 -31
- package/skills/cannibalisation/agents/openai.yaml +0 -4
- package/skills/community-intent/SKILL.md +0 -39
- package/skills/community-intent/agents/openai.yaml +0 -4
- package/skills/compare-crawls/SKILL.md +0 -40
- package/skills/compare-crawls/agents/openai.yaml +0 -4
- package/skills/content-optimization/SKILL.md +0 -31
- package/skills/content-optimization/agents/openai.yaml +0 -4
- package/skills/crawl-diff/SKILL.md +0 -51
- package/skills/crawl-diff/agents/openai.yaml +0 -4
- package/skills/crawl-history/SKILL.md +0 -37
- package/skills/crawl-history/agents/openai.yaml +0 -4
- package/skills/crawl-report/SKILL.md +0 -37
- package/skills/crawl-report/agents/openai.yaml +0 -4
- package/skills/crawler-rules/SKILL.md +0 -34
- package/skills/crawler-rules/agents/openai.yaml +0 -4
- package/skills/ctr-underperformers/SKILL.md +0 -31
- package/skills/ctr-underperformers/agents/openai.yaml +0 -4
- package/skills/decaying-pages/SKILL.md +0 -31
- package/skills/decaying-pages/agents/openai.yaml +0 -4
- package/skills/entity-readiness/SKILL.md +0 -34
- package/skills/entity-readiness/agents/openai.yaml +0 -4
- package/skills/explain-crawl-issue/SKILL.md +0 -32
- package/skills/explain-crawl-issue/agents/openai.yaml +0 -4
- package/skills/generate-llms-txt/SKILL.md +0 -37
- package/skills/generate-llms-txt/agents/openai.yaml +0 -4
- package/skills/geo-gaps/SKILL.md +0 -37
- package/skills/geo-gaps/agents/openai.yaml +0 -4
- package/skills/index-coverage/SKILL.md +0 -84
- package/skills/index-coverage/agents/openai.yaml +0 -4
- package/skills/index-coverage-plan/SKILL.md +0 -50
- package/skills/index-coverage-plan/agents/openai.yaml +0 -4
- package/skills/index-monitor/SKILL.md +0 -49
- package/skills/index-monitor/agents/openai.yaml +0 -4
- package/skills/index-watch/SKILL.md +0 -77
- package/skills/index-watch/agents/openai.yaml +0 -4
- package/skills/internal-links/SKILL.md +0 -31
- package/skills/internal-links/agents/openai.yaml +0 -4
- package/skills/link-recovery/SKILL.md +0 -51
- package/skills/link-recovery/agents/openai.yaml +0 -4
- package/skills/llms-txt-audit/SKILL.md +0 -34
- package/skills/llms-txt-audit/agents/openai.yaml +0 -4
- package/skills/measure-change/SKILL.md +0 -52
- package/skills/measure-change/agents/openai.yaml +0 -4
- package/skills/monthly-action-plan/SKILL.md +0 -50
- package/skills/monthly-action-plan/agents/openai.yaml +0 -4
- package/skills/monthly-report/SKILL.md +0 -50
- package/skills/monthly-report/agents/openai.yaml +0 -4
- package/skills/narrative-report/SKILL.md +0 -51
- package/skills/narrative-report/agents/openai.yaml +0 -4
- package/skills/okf-build/SKILL.md +0 -39
- package/skills/okf-build/agents/openai.yaml +0 -4
- package/skills/okf-validate/SKILL.md +0 -43
- package/skills/okf-validate/agents/openai.yaml +0 -4
- package/skills/page-opportunities/SKILL.md +0 -31
- package/skills/page-opportunities/agents/openai.yaml +0 -4
- package/skills/performance/SKILL.md +0 -50
- package/skills/performance/agents/openai.yaml +0 -4
- package/skills/performance-audit/SKILL.md +0 -31
- package/skills/performance-audit/agents/openai.yaml +0 -4
- package/skills/pseo-audit/SKILL.md +0 -103
- package/skills/pseo-audit/agents/openai.yaml +0 -4
- package/skills/query-clusters/SKILL.md +0 -31
- package/skills/query-clusters/agents/openai.yaml +0 -4
- package/skills/quick-wins/SKILL.md +0 -31
- package/skills/quick-wins/agents/openai.yaml +0 -4
- package/skills/redirect-trace/SKILL.md +0 -51
- package/skills/redirect-trace/agents/openai.yaml +0 -4
- package/skills/refresh-priorities/SKILL.md +0 -48
- package/skills/refresh-priorities/agents/openai.yaml +0 -4
- package/skills/search-performance-overview/SKILL.md +0 -48
- package/skills/search-performance-overview/agents/openai.yaml +0 -4
- package/skills/second-page/SKILL.md +0 -50
- package/skills/second-page/agents/openai.yaml +0 -4
- package/skills/segment-impact/SKILL.md +0 -50
- package/skills/segment-impact/agents/openai.yaml +0 -4
- package/skills/seo-fix-queue/SKILL.md +0 -50
- package/skills/seo-fix-queue/agents/openai.yaml +0 -4
- package/skills/seo-geo-readiness/SKILL.md +0 -60
- package/skills/seo-geo-readiness/agents/openai.yaml +0 -4
- package/skills/seo-site-audit/SKILL.md +0 -59
- package/skills/seo-site-audit/agents/openai.yaml +0 -4
- package/skills/seo-to-ai-query/SKILL.md +0 -31
- package/skills/seo-to-ai-query/agents/openai.yaml +0 -4
- package/skills/setup-check/SKILL.md +0 -49
- package/skills/setup-check/agents/openai.yaml +0 -4
- package/skills/site-crawl/SKILL.md +0 -39
- package/skills/site-crawl/agents/openai.yaml +0 -4
- package/skills/striking-distance/SKILL.md +0 -52
- package/skills/striking-distance/agents/openai.yaml +0 -4
- package/skills/technical-watch/SKILL.md +0 -49
- package/skills/technical-watch/agents/openai.yaml +0 -4
- package/skills/top-fixes/SKILL.md +0 -38
- package/skills/top-fixes/agents/openai.yaml +0 -4
- package/skills/traffic-anomaly/SKILL.md +0 -52
- package/skills/traffic-anomaly/agents/openai.yaml +0 -4
- package/skills/update-correlation/SKILL.md +0 -51
- package/skills/update-correlation/agents/openai.yaml +0 -4
- package/skills/update-postmortem/SKILL.md +0 -49
- package/skills/update-postmortem/agents/openai.yaml +0 -4
package/PRIVACY.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Last updated: 10 July 2026
|
|
4
4
|
|
|
5
5
|
This policy covers the official `seo` command-line tool, library, MCP server,
|
|
6
|
-
and the
|
|
6
|
+
and the seoskill.dev website.
|
|
7
7
|
|
|
8
8
|
The current software runs on your machine. It does not create an SEO account,
|
|
9
9
|
upload reports to an SEO service, or send your Google data to the project
|
|
@@ -57,7 +57,7 @@ The CLI does not include project-controlled usage telemetry. Installing the
|
|
|
57
57
|
package through npm or using GitHub is covered by the policies of those
|
|
58
58
|
services.
|
|
59
59
|
|
|
60
|
-
The
|
|
60
|
+
The seoskill.dev host and security provider may process normal web request
|
|
61
61
|
data such as an IP address, user agent, requested path, and timestamp. Website
|
|
62
62
|
logs do not include the reports, tokens, or Google API responses stored by the
|
|
63
63
|
local software.
|
package/README.md
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/brand/s-dark.svg">
|
|
4
|
+
<img src="assets/brand/s.svg" alt="SEO Skill" width="144">
|
|
5
|
+
</picture>
|
|
3
6
|
</p>
|
|
4
7
|
|
|
5
|
-
<h1 align="center">SEO
|
|
8
|
+
<h1 align="center">SEO Skill</h1>
|
|
6
9
|
|
|
7
10
|
<p align="center">
|
|
8
|
-
|
|
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 GA4 data.
|
|
9
12
|
</p>
|
|
10
13
|
|
|
11
14
|
<p align="center">
|
|
12
15
|
<a href="#quick-start">Get started</a>
|
|
13
16
|
·
|
|
14
|
-
<a href="https://
|
|
17
|
+
<a href="https://seoskill.dev/docs">Documentation</a>
|
|
15
18
|
·
|
|
16
19
|
<a href="https://www.npmjs.com/package/seo">npm</a>
|
|
17
20
|
·
|
|
18
21
|
<a href="https://github.com/iannuttall/seo/issues">Questions</a>
|
|
19
22
|
·
|
|
20
|
-
<a href="https://
|
|
23
|
+
<a href="https://seoskill.dev/privacy">Privacy</a>
|
|
21
24
|
·
|
|
22
25
|
<a href="SECURITY.md">Security</a>
|
|
23
26
|
·
|
|
@@ -35,19 +38,26 @@
|
|
|
35
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>
|
|
36
39
|
</p>
|
|
37
40
|
|
|
38
|
-
`seo`
|
|
39
|
-
and
|
|
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.
|
|
45
|
+
|
|
46
|
+
## Who this is for
|
|
47
|
+
|
|
48
|
+
- People running their own sites who want a clear audit and a ranked list of
|
|
49
|
+
fixes, without learning a heavy dashboard.
|
|
50
|
+
- AI agents that need real crawl, Search Console, and GA4 evidence through MCP
|
|
51
|
+
and one packaged SEO skill instead of screenshots or guesses.
|
|
52
|
+
- Developers who want to embed the same report engine in a script, a CI job, or
|
|
53
|
+
a TypeScript app.
|
|
41
54
|
|
|
42
55
|
## Quick start
|
|
43
56
|
|
|
44
57
|
Requires Node 22 or newer.
|
|
45
58
|
|
|
46
|
-
Install the command once, then add the skills when an agent will use it:
|
|
47
|
-
|
|
48
59
|
```sh
|
|
49
60
|
npm i -g seo
|
|
50
|
-
npx skills add iannuttall/seo --all
|
|
51
61
|
seo start
|
|
52
62
|
seo report
|
|
53
63
|
```
|
|
@@ -57,13 +67,49 @@ optional GA4 property, and a local project profile. Public releases can include
|
|
|
57
67
|
the shared Google app. If it is unavailable in your build, setup guides you
|
|
58
68
|
through adding your own desktop OAuth client.
|
|
59
69
|
|
|
60
|
-
That is the normal path. `seo` is then available in every terminal,
|
|
61
|
-
CI job, and local MCP client on the machine.
|
|
70
|
+
That is the normal path. The `seo` command is then available in every terminal,
|
|
71
|
+
script, CI job, and local MCP client on the machine.
|
|
62
72
|
|
|
63
73
|
The main report uses the evidence you have, explains what it could not check,
|
|
64
74
|
and recommends a short list of follow-up commands. You can start with a local
|
|
65
75
|
technical report before connecting Google.
|
|
66
76
|
|
|
77
|
+
Running `seo help` shows the shape of the tool:
|
|
78
|
+
|
|
79
|
+
```txt
|
|
80
|
+
seo v0.2.1
|
|
81
|
+
|
|
82
|
+
Human-friendly SEO reports first, power tools when you need them.
|
|
83
|
+
|
|
84
|
+
Start here
|
|
85
|
+
seo start Connect Google and save a project profile
|
|
86
|
+
seo report Run the main SEO report for the default project
|
|
87
|
+
seo report --site sc-domain:example.com Run without a profile
|
|
88
|
+
seo report --url https://example.com Start with a local technical report
|
|
89
|
+
|
|
90
|
+
Projects
|
|
91
|
+
seo projects list List saved project profiles
|
|
92
|
+
seo projects add Create or update a project profile
|
|
93
|
+
seo sites List Search Console properties
|
|
94
|
+
seo doctor Check local auth and config
|
|
95
|
+
|
|
96
|
+
Act on a report
|
|
97
|
+
seo refresh-priorities Rank the next best SEO actions
|
|
98
|
+
seo quick-wins Find ranking 4-10 low-CTR wins
|
|
99
|
+
seo second-page Investigate URLs averaging positions 10-20
|
|
100
|
+
seo technical-watch Crawl and index-monitor a site
|
|
101
|
+
|
|
102
|
+
Agent and power tools
|
|
103
|
+
seo report --json Run the main report as structured JSON
|
|
104
|
+
seo export diagnose Export report data to CSV
|
|
105
|
+
seo mcp install Install SEO tools into MCP clients
|
|
106
|
+
seo skill list Show the packaged SEO skill
|
|
107
|
+
seo reports list Discover every structured report
|
|
108
|
+
|
|
109
|
+
Use `seo help <command>` or `seo <command> --help` for command help.
|
|
110
|
+
Use `seo help all` for the longer command list.
|
|
111
|
+
```
|
|
112
|
+
|
|
67
113
|
## What you get
|
|
68
114
|
|
|
69
115
|
- Find technical blockers across metadata, links, indexability, canonicals,
|
|
@@ -78,6 +124,19 @@ technical report before connecting Google.
|
|
|
78
124
|
- Give scripts and agents deterministic JSON, Markdown, stable rule IDs, and a
|
|
79
125
|
compact local MCP surface.
|
|
80
126
|
|
|
127
|
+
## How the reports stay honest
|
|
128
|
+
|
|
129
|
+
The point of a report is to be defensible, so the design keeps a few rules:
|
|
130
|
+
|
|
131
|
+
- Observed evidence stays separate from derived findings and recommended
|
|
132
|
+
actions. You can always see the crawl row or provider row behind a claim.
|
|
133
|
+
- Partial data is never reported as a zero. A capped, filtered, or sampled
|
|
134
|
+
source says so, and it cannot support a definitive all-clear.
|
|
135
|
+
- Heuristics are labeled as heuristics. A convention or threshold is not
|
|
136
|
+
presented as a search-engine rule.
|
|
137
|
+
- Each recommendation comes with a way to check that the fix worked, rather than
|
|
138
|
+
a promise about rankings or traffic.
|
|
139
|
+
|
|
81
140
|
## Everyday use
|
|
82
141
|
|
|
83
142
|
`seo start` can save a project profile, which is a local shortcut for a site,
|
|
@@ -116,7 +175,7 @@ Run `seo help` for the short path or `seo help all` for the full command list.
|
|
|
116
175
|
|
|
117
176
|
## Crawl a site
|
|
118
177
|
|
|
119
|
-
Run a readable technical crawl:
|
|
178
|
+
Run a readable technical crawl, the base of any technical SEO audit:
|
|
120
179
|
|
|
121
180
|
```sh
|
|
122
181
|
seo crawl https://example.com --format pretty
|
|
@@ -167,7 +226,7 @@ browser or a copied local token:
|
|
|
167
226
|
SEO_GOOGLE_SERVICE_ACCOUNT_JSON: ${{ secrets.SEO_GOOGLE_SERVICE_ACCOUNT_JSON }}
|
|
168
227
|
```
|
|
169
228
|
|
|
170
|
-
The [Google data guide](https://
|
|
229
|
+
The [Google data guide](https://seoskill.dev/docs/google) covers Search
|
|
171
230
|
Console and GA4 permissions, mounted secret files, and how to check the active
|
|
172
231
|
identity safely.
|
|
173
232
|
|
|
@@ -186,16 +245,21 @@ drift.
|
|
|
186
245
|
|
|
187
246
|
## Use it with AI agents
|
|
188
247
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
248
|
+
Your agent carries one short SEO skill, and the CLI and MCP server do the
|
|
249
|
+
heavy lifting. The skill teaches an agent how to discover the 50+ audit and
|
|
250
|
+
report tools at runtime, and the agent asks the CLI for the detail on each
|
|
251
|
+
tool only when it is about to run it. You get the whole toolkit without fifty
|
|
252
|
+
skill files sitting in the context window on every session.
|
|
253
|
+
|
|
254
|
+
`seo start` offers to install the SEO skill during setup. If you skipped that
|
|
255
|
+
step or need to reinstall it later, run the packaged installer:
|
|
192
256
|
|
|
193
257
|
```sh
|
|
194
|
-
|
|
195
|
-
npx skills add iannuttall/seo --all
|
|
258
|
+
seo skill install
|
|
196
259
|
```
|
|
197
260
|
|
|
198
|
-
|
|
261
|
+
If you also skipped the MCP step, install the local server into a supported
|
|
262
|
+
client:
|
|
199
263
|
|
|
200
264
|
```sh
|
|
201
265
|
seo mcp install
|
|
@@ -217,22 +281,24 @@ configuration or testing:
|
|
|
217
281
|
seo mcp serve
|
|
218
282
|
```
|
|
219
283
|
|
|
220
|
-
The repository ships
|
|
221
|
-
|
|
222
|
-
follow-up instead of loading a giant result
|
|
284
|
+
The repository ships one skill under `skills/seo`. It is a router: it teaches an
|
|
285
|
+
agent to discover reports, describe one to load its depth at runtime, inspect
|
|
286
|
+
the evidence, and request a smaller follow-up instead of loading a giant result
|
|
287
|
+
into context. Per-report guidance lives in the registry and is fetched with
|
|
288
|
+
`seo reports describe <id> --json`, so it never drifts from the skill.
|
|
223
289
|
|
|
224
|
-
The npm package includes the same
|
|
290
|
+
The npm package includes the same file for local inspection:
|
|
225
291
|
|
|
226
292
|
```sh
|
|
227
|
-
seo
|
|
228
|
-
seo
|
|
293
|
+
seo skill list
|
|
294
|
+
seo skill path seo
|
|
229
295
|
```
|
|
230
296
|
|
|
231
|
-
Agents can also discover the
|
|
232
|
-
`https://
|
|
297
|
+
Agents can also discover the canonical skill from
|
|
298
|
+
`https://seoskill.dev/.well-known/agent-skills/index.json`. The entry links to
|
|
233
299
|
the canonical skill instructions and includes a content digest for verification.
|
|
234
300
|
|
|
235
|
-
See [MCP and agents](https://
|
|
301
|
+
See [MCP and agents](https://seoskill.dev/docs/agents) for setup and tool
|
|
236
302
|
details.
|
|
237
303
|
|
|
238
304
|
## Use it as a library
|
|
@@ -282,13 +348,13 @@ console.log(crawl.summary, crawl.issueGroups)
|
|
|
282
348
|
The main `seo` export contains the report, provider, crawler, storage, and
|
|
283
349
|
rendering APIs. `seo/mcp` exposes report discovery, report execution, and the
|
|
284
350
|
embeddable MCP server. See the [TypeScript library
|
|
285
|
-
guide](https://
|
|
351
|
+
guide](https://seoskill.dev/docs/typescript) for structured error handling,
|
|
286
352
|
local Google access, and more examples.
|
|
287
353
|
|
|
288
354
|
## Local data and Google access
|
|
289
355
|
|
|
290
356
|
Google OAuth tokens use your system keychain when it is available. On a
|
|
291
|
-
headless machine or a locked keychain,
|
|
357
|
+
headless machine or a locked keychain, the CLI falls back to a private
|
|
292
358
|
`0600` file in your user config directory. Project profiles, crawl reports, and
|
|
293
359
|
provider caches are also local. Use these commands to inspect or remove them:
|
|
294
360
|
|
|
@@ -303,24 +369,54 @@ seo reset
|
|
|
303
369
|
`seo auth storage --keychain` or `seo auth storage --file`.
|
|
304
370
|
|
|
305
371
|
Power users can bring their own Google OAuth client. See
|
|
306
|
-
[getting started](https://
|
|
372
|
+
[getting started](https://seoskill.dev/docs/getting-started) for the available
|
|
307
373
|
auth paths.
|
|
308
374
|
|
|
375
|
+
## Common questions
|
|
376
|
+
|
|
377
|
+
### Does my site data stay on my machine?
|
|
378
|
+
|
|
379
|
+
Yes. Reports, project profiles, Google tokens, crawls, and caches stay in your
|
|
380
|
+
local config directory. The CLI only makes the network requests needed to fetch
|
|
381
|
+
your site and call the Google APIs you connect. There is no hosted backend,
|
|
382
|
+
account, or telemetry service.
|
|
383
|
+
|
|
384
|
+
### Do I need a Google API key?
|
|
385
|
+
|
|
386
|
+
No. `seo start` uses a normal Google sign-in for read-only Search Console and
|
|
387
|
+
GA4 access. Public releases can include a shared desktop OAuth client, and if
|
|
388
|
+
your build does not have one, setup helps you add your own. You can also run a
|
|
389
|
+
local technical crawl with no Google connection at all.
|
|
390
|
+
|
|
391
|
+
### What does it cost?
|
|
392
|
+
|
|
393
|
+
The `seo` package is free and open source under Apache-2.0. It calls Google APIs
|
|
394
|
+
you already have access to, so there is no separate subscription. Your own API
|
|
395
|
+
quotas still apply.
|
|
396
|
+
|
|
397
|
+
### How is this different from a paid SEO tool?
|
|
398
|
+
|
|
399
|
+
A hosted SEO tool keeps your data on its servers and shows you a dashboard. This
|
|
400
|
+
runs on your machine, works from your own crawl and Google data, and returns
|
|
401
|
+
structured evidence your agent can read and act on. Every finding shows the
|
|
402
|
+
evidence behind it and a way to verify a fix, so you are not trusting a score
|
|
403
|
+
you cannot inspect.
|
|
404
|
+
|
|
309
405
|
## Documentation
|
|
310
406
|
|
|
311
407
|
Questions, bug reports, and feature requests go through
|
|
312
408
|
[GitHub Issues](https://github.com/iannuttall/seo/issues). Report suspected
|
|
313
409
|
vulnerabilities privately through the process in [SECURITY.md](SECURITY.md).
|
|
314
410
|
|
|
315
|
-
- [Getting started](https://
|
|
316
|
-
- [CLI commands](https://
|
|
317
|
-
- [Crawler](https://
|
|
318
|
-
- [Reports and data](https://
|
|
319
|
-
- [MCP and agents](https://
|
|
320
|
-
- [AI-search evidence](https://
|
|
321
|
-
- [Privacy policy](https://
|
|
322
|
-
- [Terms of use](https://
|
|
323
|
-
- [Security policy](https://
|
|
411
|
+
- [Getting started](https://seoskill.dev/docs/getting-started)
|
|
412
|
+
- [CLI commands](https://seoskill.dev/docs/cli)
|
|
413
|
+
- [Crawler](https://seoskill.dev/docs/crawler)
|
|
414
|
+
- [Reports and data](https://seoskill.dev/docs/reports)
|
|
415
|
+
- [MCP and agents](https://seoskill.dev/docs/agents)
|
|
416
|
+
- [AI-search evidence](https://seoskill.dev/docs/ai-search)
|
|
417
|
+
- [Privacy policy](https://seoskill.dev/privacy)
|
|
418
|
+
- [Terms of use](https://seoskill.dev/terms)
|
|
419
|
+
- [Security policy](https://seoskill.dev/security)
|
|
324
420
|
- [Contributing](CONTRIBUTING.md)
|
|
325
421
|
- [Trademark and brand policy](TRADEMARKS.md)
|
|
326
422
|
|
package/TERMS.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Last updated: 10 July 2026
|
|
4
4
|
|
|
5
5
|
These terms cover the official `seo` command-line tool, library, MCP server,
|
|
6
|
-
documentation, and
|
|
6
|
+
documentation, and seoskill.dev website.
|
|
7
7
|
|
|
8
8
|
## Open source licence
|
|
9
9
|
|
|
@@ -58,7 +58,7 @@ You are responsible for protecting local tokens, configuration, caches,
|
|
|
58
58
|
reports, exports, backups, and environment variables. Keep secrets out of
|
|
59
59
|
public issues, logs, screenshots, repositories, and shared report files.
|
|
60
60
|
|
|
61
|
-
The [privacy policy](https://
|
|
61
|
+
The [privacy policy](https://seoskill.dev/privacy) explains what the software
|
|
62
62
|
stores and how to remove it.
|
|
63
63
|
|
|
64
64
|
## Availability and changes
|
package/TRADEMARKS.md
CHANGED
|
@@ -3,14 +3,18 @@
|
|
|
3
3
|
The source code is available under Apache-2.0. That license does not grant a
|
|
4
4
|
right to present another product or service as the official `seo` project.
|
|
5
5
|
|
|
6
|
-
This policy covers
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
This policy covers this project's identity: the name `seo` when it refers to
|
|
7
|
+
this specific package and project, the tagline "The SEO command for AI agents",
|
|
8
|
+
the logo and project artwork, and seoskill.dev.
|
|
9
|
+
|
|
10
|
+
"seo" is a generic term for search engine optimization. This policy claims no
|
|
11
|
+
rights over that generic use. It covers only the project's name in context, its
|
|
12
|
+
logo, its branding, and its tagline.
|
|
9
13
|
|
|
10
14
|
## Uses that are fine
|
|
11
15
|
|
|
12
16
|
- Truthfully saying that software uses, supports, or is based on `seo`.
|
|
13
|
-
- Linking to the official repository or
|
|
17
|
+
- Linking to the official repository or seoskill.dev.
|
|
14
18
|
- Keeping required attribution and notices in copies or forks.
|
|
15
19
|
- Describing a fork as an unofficial fork, provided the distinction is clear.
|
|
16
20
|
|
|
@@ -22,6 +26,6 @@ service, domain, package, event, or merchandise.
|
|
|
22
26
|
|
|
23
27
|
Do not imply endorsement, partnership, or official status. Forks and hosted
|
|
24
28
|
versions must use a distinct name and visual identity, and must not create
|
|
25
|
-
confusion with the npm package, repository, or
|
|
29
|
+
confusion with the npm package, repository, or seoskill.dev.
|
|
26
30
|
|
|
27
31
|
Nominative and other uses allowed by applicable law remain allowed.
|