@seoagent-official/seoagent 1.50.0 → 1.51.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/README.md +48 -15
- package/index.js +166 -76
- package/package.json +1 -1
- package/skills/references/keyword-research.md +3 -3
- package/skills/references/landing-pages.md +1 -1
- package/skills/references/long-tail-articles.md +1 -1
- package/skills/references/pillar-articles.md +1 -1
- package/skills/references/rewrite-protocol.md +1 -1
- package/skills/references/sub-pillar-articles.md +1 -1
- package/skills/seoagent.md +71 -52
package/README.md
CHANGED
|
@@ -37,20 +37,40 @@
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
> **This package is a one-shot scaffolder, not a runtime dependency.** Run `init` once to scaffold `.seoagent/` + the Claude Code skill in your repo. Nothing to keep in `package.json` afterwards. No `postinstall` script — installs are silent and play nicely with npm 11+.
|
|
40
|
+
>
|
|
41
|
+
> **Upgrading is hands-off.** When a newer CLI is published, the next time you open Claude Code, the session-start hook surfaces a notice and Claude can offer to run `seoagent update-cli` — which updates the binary **and** refreshes every project on your machine to it in one go. Prefer to do nothing? Each project also self-updates on its own the next time you open it (the `SessionStart` hook runs `seoagent sync` before the skill loads). Refreshes only rewrite the skill files; your `.seoagent/` knowledge is never touched. (No more `rm -rf .seoagent && seoagent init`.) Run `seoagent refresh --all` anytime to sweep every project yourself.
|
|
40
42
|
|
|
41
|
-
## Install
|
|
43
|
+
## Install — pick one
|
|
44
|
+
|
|
45
|
+
You can run SEOAgent two ways. Pick whichever fits how you work; both end up scaffolding the same `.seoagent/` workspace and installing the same Claude Code skill.
|
|
46
|
+
|
|
47
|
+
### Option A — Global install (recommended for daily use)
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install -g @seoagent-official/seoagent
|
|
51
|
+
seoagent init
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Why this way:** `seoagent` is on your PATH so every command is `seoagent <cmd>` — short to type, instant to run (no npm fetch per call). Claude Code can also call `seoagent <cmd>` directly via its Bash tool, so the skill runs at full speed with no per-call latency.
|
|
55
|
+
|
|
56
|
+
### Option B — One-shot via `npx` (no global install)
|
|
42
57
|
|
|
43
58
|
```bash
|
|
44
59
|
npx -y @seoagent-official/seoagent init
|
|
45
60
|
```
|
|
46
61
|
|
|
47
|
-
|
|
62
|
+
**Why this way:** nothing global on your machine, every invocation pulls the latest published version. Great for CI / one-off use / trying SEOAgent before committing. Trade-off: every command pays a ~2s npm fetch on cold cache, and Claude Code's Bash calls do the same.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
Either way, `init` will:
|
|
67
|
+
|
|
48
68
|
- Scan your repo for `package.json` `homepage` field + common `.env` files (`NEXT_PUBLIC_SITE_URL`, `SITE_URL`, etc.) to infer your domain
|
|
49
69
|
- Create `.seoagent/` with `project.md`, `context.md`, and folders for audits, briefs, content
|
|
50
70
|
- Install the skill at `.claude/skills/seoagent/SKILL.md` so Claude Code picks it up
|
|
51
71
|
- Add a `PostToolUse` hook to `.claude/settings.json` so edits to `.seoagent/` auto-sync to the cloud (when you're logged in)
|
|
52
72
|
|
|
53
|
-
The scaffolded sync hook uses `npx -y @seoagent-official/seoagent sync --silent`
|
|
73
|
+
The scaffolded sync hook uses `npx -y @seoagent-official/seoagent sync --silent` either way — it's infrastructure that survives your environment changing (so it works even if you later uninstall the global package).
|
|
54
74
|
|
|
55
75
|
Then open Claude Code in this repo and say *"audit my site."* The skill takes it from there.
|
|
56
76
|
|
|
@@ -61,15 +81,16 @@ Then open Claude Code in this repo and say *"audit my site."* The skill takes it
|
|
|
61
81
|
|
|
62
82
|
### Headless / non-interactive
|
|
63
83
|
|
|
84
|
+
Global install:
|
|
85
|
+
|
|
64
86
|
```bash
|
|
65
|
-
|
|
87
|
+
seoagent init --yes --domain example.com
|
|
66
88
|
```
|
|
67
89
|
|
|
68
|
-
|
|
90
|
+
Via npx:
|
|
69
91
|
|
|
70
92
|
```bash
|
|
71
|
-
|
|
72
|
-
seoagent init # in your project repo
|
|
93
|
+
npx -y @seoagent-official/seoagent init --yes --domain example.com
|
|
73
94
|
```
|
|
74
95
|
|
|
75
96
|
## Why SEOAgent?
|
|
@@ -105,9 +126,11 @@ SEOAgent runs as a CLI on top of the [Claude Agent SDK](https://github.com/anthr
|
|
|
105
126
|
|
|
106
127
|
**SEO-Optimized Articles** — Articles written from briefs with full SEO frontmatter: meta_title, meta_description, canonical, OpenGraph, Twitter cards, JSON-LD (Article + FAQPage + HowTo as appropriate), image plans. Saved to `.seoagent/content/`.
|
|
107
128
|
|
|
108
|
-
**Image Generation (Bring Your Own Key)** — Detect `OPENAI_API_KEY`, `FAL_KEY`, or `REPLICATE_API_TOKEN` from your env. Generate hero + inline images with `
|
|
129
|
+
**Image Generation (Bring Your Own Key)** — Detect `OPENAI_API_KEY`, `FAL_KEY`, or `REPLICATE_API_TOKEN` from your env. Generate hero + inline images with `seoagent generate-image`. You pay the LLM provider directly.
|
|
130
|
+
|
|
131
|
+
**Open Knowledge Format bundle (AEO/GEO)** — Generate a Google [Open Knowledge Format](https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf) bundle for your site — a curated, agent-readable knowledge layer so ChatGPT, Claude, Perplexity, and Google's AI understand and cite your business accurately. Claude maps your `.seoagent/` knowledge into OKF markdown; `seoagent okf scaffold` and `seoagent okf validate` handle the structure. Saved to `.seoagent/okf/`.
|
|
109
132
|
|
|
110
|
-
**
|
|
133
|
+
**AI Citation Scorecard (the measurement half of AEO)** — Publishing an OKF bundle makes you *citable*; `seoagent citations` tells you whether it's *working*. It runs a set of buyer-intent questions through the Claude Agent SDK **with live web search** and reports which ones surface your business — a web-grounded proxy for how ChatGPT, Perplexity, and Google's AI Overviews answer. Saved to `.seoagent/citations/scorecard.md`. (Honest by design: it measures Claude + web search, not a per-engine guarantee — re-run over time to watch the trend.)
|
|
111
134
|
|
|
112
135
|
**Compounding Roadmap** — Prioritized action plan that updates after every action. Saved to `.seoagent/roadmap.md`. Persistent changelog at `.seoagent/changelog.md`.
|
|
113
136
|
|
|
@@ -133,6 +156,8 @@ SEOAgent runs as a CLI on top of the [Claude Agent SDK](https://github.com/anthr
|
|
|
133
156
|
concepts/ # type: Concept|Topic — definitive explanations
|
|
134
157
|
faqs/ # type: FAQ — answer-engine Q&A
|
|
135
158
|
articles/ # type: Article — published pages (resource = live URL)
|
|
159
|
+
citations/ # AI citation scorecards (measure the OKF/AEO loop)
|
|
160
|
+
scorecard.md # Which buyer-intent queries surface you, web-grounded
|
|
136
161
|
pages.md # Sitemap inventory (URL list)
|
|
137
162
|
competitors.md # Competitor profiles + gaps
|
|
138
163
|
keywords.md # Master keyword inventory (assigned + backlog)
|
|
@@ -203,15 +228,15 @@ Three things to notice:
|
|
|
203
228
|
2. **Priority badges** (`p:high · ⇧ +12% CTR · ⏱ 2 min`) tell you *which* actions to run first. The picker pre-selects high-priority entries by default — one Enter ships the highest-leverage work.
|
|
204
229
|
3. **Declines self-ack.** When the agent decides an action is off-strategy, ambiguous, or a false positive, it emits `__DECLINED__: <reason>` and `seoagent ack --failed --reason "…"` fires automatically. You never type the reason by hand.
|
|
205
230
|
|
|
206
|
-
## CLI Commands (all
|
|
231
|
+
## CLI Commands (all 22)
|
|
207
232
|
|
|
208
|
-
Grouped by what they're for. Run
|
|
233
|
+
Grouped by what they're for. Run as bare `seoagent <cmd>` after the one-time `npm install -g @seoagent-official/seoagent`. (Or `npx -y @seoagent-official/seoagent <cmd>` for a one-shot CI invocation.)
|
|
209
234
|
|
|
210
235
|
**Setup + lifecycle**
|
|
211
236
|
|
|
212
237
|
| Command | What it does |
|
|
213
238
|
|---|---|
|
|
214
|
-
| `init` | Scaffold `.seoagent/` + install the SKILL bundle + write the sync hook. Run once per repo. Auto-detects domain + site type; supports `--yes --domain <d> --site-type <t>` for CI. |
|
|
239
|
+
| `init` | Scaffold `.seoagent/` + install the SKILL bundle + write the sync hook. Run once per repo. Auto-detects domain + site type; supports `--yes --domain <d> --site-type <t>` for CI. **Re-running later refreshes the skill in place** (non-destructive — never touches `.seoagent/`), handy to force the skill up to your current CLI version. |
|
|
215
240
|
| `login` | Connect this CLI to seoagent.com (browser OAuth flow). Free dashboard access; required for `sync` / `process` / `ack` / paid features. |
|
|
216
241
|
| `logout` | Clear stored credentials. |
|
|
217
242
|
| `uninstall` | Remove `.seoagent/`, the skill, and the sync hook. `--global` also wipes the login session and cache. |
|
|
@@ -244,17 +269,25 @@ Grouped by what they're for. Run via `npx -y @seoagent-official/seoagent <cmd>`
|
|
|
244
269
|
| `keywords` | Enrich your existing keyword inventory with real search volume + difficulty. `--discover` finds new targets; `--competitors` shows the gap (paid). |
|
|
245
270
|
| `internal-links` | Generate internal-linking recommendations from your existing pages + topic clusters. |
|
|
246
271
|
| `okf [scaffold\|validate]` | Generate an [Open Knowledge Format](https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf) bundle for AI agents (AEO/GEO) → `.seoagent/okf/`. `scaffold` starts it; `validate` checks `type` fields, ISO-8601 timestamps + cross-links. The skill fills the content. |
|
|
272
|
+
| `citations` | Measure whether answer engines cite you (AEO/GEO). Runs buyer-intent queries through the Claude Agent SDK **with live web search** → `.seoagent/citations/scorecard.md`. `--queries <1-12>` (default 6), `--model <name>`, `--json`. Uses your `claude login` session or `ANTHROPIC_API_KEY`, same as `process`. |
|
|
247
273
|
| `generate-image` | Generate hero / inline images via the detected provider (BYO API key). |
|
|
248
274
|
|
|
249
|
-
**Account**
|
|
275
|
+
**Account + maintenance**
|
|
250
276
|
|
|
251
277
|
| Command | What it does |
|
|
252
278
|
|---|---|
|
|
253
279
|
| `upgrade` | Open the seoagent.com pricing page. |
|
|
280
|
+
| `update-cli` | Update the CLI to the latest npm version, **then refresh every project on this machine** to it (spawns `refresh --all`). `--no-projects` skips the sweep; `--dry-run` previews. |
|
|
281
|
+
| `refresh` | Force the installed skill up to your CLI version (non-destructive). `--all` sweeps every SEOAgent project on the machine — handy right after an upgrade so you don't have to open each one. |
|
|
254
282
|
|
|
255
283
|
## Auto-Sync Hook
|
|
256
284
|
|
|
257
|
-
`init` writes
|
|
285
|
+
`init` writes two hooks to `.claude/settings.json`, both running `npx -y @seoagent-official/seoagent sync --silent`:
|
|
286
|
+
|
|
287
|
+
- a **`SessionStart`** hook — runs at the start of every Claude Code session, **before** Claude reads the skill, so the skill is always current (this is what makes a CLI upgrade take effect on your *next* session);
|
|
288
|
+
- a **`PostToolUse`** (`Write|Edit`) hook — keeps `.seoagent/` synced as the agent edits during a session.
|
|
289
|
+
|
|
290
|
+
The hooks deliberately use the `npx -y` form (not bare `seoagent`) so they survive `npm uninstall -g` and stay current with whatever's published. No-op when not logged in. Race-safe: a cooperative lock keeps a manual `seoagent sync` from clobbering an in-flight hook run. Both run the same `sync`, which **auto-refreshes the installed skill** when the CLI is newer than the project's `skill_version` — rewriting only the skill bundle, never `.seoagent/`.
|
|
258
291
|
|
|
259
292
|
## SEOAgent Cloud
|
|
260
293
|
|
|
@@ -268,7 +301,7 @@ The free skill handles audits, strategy, briefs, articles, and persistent state
|
|
|
268
301
|
- **Team collaboration** — Invite members, share strategy, coordinate publishing
|
|
269
302
|
- **Cloud dashboard** — See everything Claude Code did at seoagent.com (also free with any account)
|
|
270
303
|
|
|
271
|
-
Run `npx @seoagent-official/seoagent login` for the free dashboard, or `
|
|
304
|
+
Run `seoagent login` (or `npx -y @seoagent-official/seoagent login`) for the free dashboard, or `seoagent upgrade` for paid features.
|
|
272
305
|
|
|
273
306
|
## Pattern Note
|
|
274
307
|
|