@seoagent-official/seoagent 1.49.0 → 1.51.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.
- package/README.md +45 -12
- package/index.js +204 -77
- 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/open-knowledge-format.md +74 -0
- 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 +85 -50
package/README.md
CHANGED
|
@@ -38,19 +38,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
40
|
|
|
41
|
-
## Install
|
|
41
|
+
## Install — pick one
|
|
42
|
+
|
|
43
|
+
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.
|
|
44
|
+
|
|
45
|
+
### Option A — Global install (recommended for daily use)
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g @seoagent-official/seoagent
|
|
49
|
+
seoagent init
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**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.
|
|
53
|
+
|
|
54
|
+
### Option B — One-shot via `npx` (no global install)
|
|
42
55
|
|
|
43
56
|
```bash
|
|
44
57
|
npx -y @seoagent-official/seoagent init
|
|
45
58
|
```
|
|
46
59
|
|
|
47
|
-
|
|
60
|
+
**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.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
Either way, `init` will:
|
|
65
|
+
|
|
48
66
|
- Scan your repo for `package.json` `homepage` field + common `.env` files (`NEXT_PUBLIC_SITE_URL`, `SITE_URL`, etc.) to infer your domain
|
|
49
67
|
- Create `.seoagent/` with `project.md`, `context.md`, and folders for audits, briefs, content
|
|
50
68
|
- Install the skill at `.claude/skills/seoagent/SKILL.md` so Claude Code picks it up
|
|
51
69
|
- Add a `PostToolUse` hook to `.claude/settings.json` so edits to `.seoagent/` auto-sync to the cloud (when you're logged in)
|
|
52
70
|
|
|
53
|
-
The scaffolded sync hook uses `npx -y @seoagent-official/seoagent sync --silent`
|
|
71
|
+
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
72
|
|
|
55
73
|
Then open Claude Code in this repo and say *"audit my site."* The skill takes it from there.
|
|
56
74
|
|
|
@@ -61,15 +79,16 @@ Then open Claude Code in this repo and say *"audit my site."* The skill takes it
|
|
|
61
79
|
|
|
62
80
|
### Headless / non-interactive
|
|
63
81
|
|
|
82
|
+
Global install:
|
|
83
|
+
|
|
64
84
|
```bash
|
|
65
|
-
|
|
85
|
+
seoagent init --yes --domain example.com
|
|
66
86
|
```
|
|
67
87
|
|
|
68
|
-
|
|
88
|
+
Via npx:
|
|
69
89
|
|
|
70
90
|
```bash
|
|
71
|
-
|
|
72
|
-
seoagent init # in your project repo
|
|
91
|
+
npx -y @seoagent-official/seoagent init --yes --domain example.com
|
|
73
92
|
```
|
|
74
93
|
|
|
75
94
|
## Why SEOAgent?
|
|
@@ -105,7 +124,11 @@ SEOAgent runs as a CLI on top of the [Claude Agent SDK](https://github.com/anthr
|
|
|
105
124
|
|
|
106
125
|
**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
126
|
|
|
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 `
|
|
127
|
+
**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.
|
|
128
|
+
|
|
129
|
+
**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/`.
|
|
130
|
+
|
|
131
|
+
**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.)
|
|
109
132
|
|
|
110
133
|
**Compounding Roadmap** — Prioritized action plan that updates after every action. Saved to `.seoagent/roadmap.md`. Persistent changelog at `.seoagent/changelog.md`.
|
|
111
134
|
|
|
@@ -126,6 +149,13 @@ SEOAgent runs as a CLI on top of the [Claude Agent SDK](https://github.com/anthr
|
|
|
126
149
|
content/
|
|
127
150
|
{article-slug}.md # Article with full SEO frontmatter + JSON-LD
|
|
128
151
|
images/ # Generated hero + inline images
|
|
152
|
+
okf/ # Open Knowledge Format bundle for AI agents (AEO/GEO)
|
|
153
|
+
index.md # type: Organization — business overview
|
|
154
|
+
concepts/ # type: Concept|Topic — definitive explanations
|
|
155
|
+
faqs/ # type: FAQ — answer-engine Q&A
|
|
156
|
+
articles/ # type: Article — published pages (resource = live URL)
|
|
157
|
+
citations/ # AI citation scorecards (measure the OKF/AEO loop)
|
|
158
|
+
scorecard.md # Which buyer-intent queries surface you, web-grounded
|
|
129
159
|
pages.md # Sitemap inventory (URL list)
|
|
130
160
|
competitors.md # Competitor profiles + gaps
|
|
131
161
|
keywords.md # Master keyword inventory (assigned + backlog)
|
|
@@ -141,6 +171,7 @@ SEOAgent runs as a CLI on top of the [Claude Agent SDK](https://github.com/anthr
|
|
|
141
171
|
long-tail-articles.md # Long-tail protocol
|
|
142
172
|
programmatic.md # 12 programmatic SEO playbooks
|
|
143
173
|
schema-markup.md # JSON-LD library by entity type
|
|
174
|
+
open-knowledge-format.md # OKF bundle protocol (AEO/GEO)
|
|
144
175
|
keyword-research.md # WebSearch query patterns
|
|
145
176
|
rewrite-protocol.md # Phase 4b refresh procedure
|
|
146
177
|
audit-checks.md # Full audit check list with severity tiers
|
|
@@ -195,9 +226,9 @@ Three things to notice:
|
|
|
195
226
|
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.
|
|
196
227
|
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.
|
|
197
228
|
|
|
198
|
-
## CLI Commands (all
|
|
229
|
+
## CLI Commands (all 20)
|
|
199
230
|
|
|
200
|
-
Grouped by what they're for. Run
|
|
231
|
+
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.)
|
|
201
232
|
|
|
202
233
|
**Setup + lifecycle**
|
|
203
234
|
|
|
@@ -235,6 +266,8 @@ Grouped by what they're for. Run via `npx -y @seoagent-official/seoagent <cmd>`
|
|
|
235
266
|
| `keywords --peek "<kw>"` | Free single-keyword DataForSEO peek (no login, daily quota per install). |
|
|
236
267
|
| `keywords` | Enrich your existing keyword inventory with real search volume + difficulty. `--discover` finds new targets; `--competitors` shows the gap (paid). |
|
|
237
268
|
| `internal-links` | Generate internal-linking recommendations from your existing pages + topic clusters. |
|
|
269
|
+
| `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. |
|
|
270
|
+
| `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`. |
|
|
238
271
|
| `generate-image` | Generate hero / inline images via the detected provider (BYO API key). |
|
|
239
272
|
|
|
240
273
|
**Account**
|
|
@@ -245,7 +278,7 @@ Grouped by what they're for. Run via `npx -y @seoagent-official/seoagent <cmd>`
|
|
|
245
278
|
|
|
246
279
|
## Auto-Sync Hook
|
|
247
280
|
|
|
248
|
-
`init` writes a `PostToolUse` hook to `.claude/settings.json` so every Write/Edit to `.seoagent/` triggers `npx @seoagent-official/seoagent sync --silent` automatically. No-op when not logged in.
|
|
281
|
+
`init` writes a `PostToolUse` hook to `.claude/settings.json` so every Write/Edit to `.seoagent/` triggers `npx -y @seoagent-official/seoagent sync --silent` automatically. The hook deliberately uses the `npx -y` form (not bare `seoagent`) so it survives `npm uninstall -g` and stays 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.
|
|
249
282
|
|
|
250
283
|
## SEOAgent Cloud
|
|
251
284
|
|
|
@@ -259,7 +292,7 @@ The free skill handles audits, strategy, briefs, articles, and persistent state
|
|
|
259
292
|
- **Team collaboration** — Invite members, share strategy, coordinate publishing
|
|
260
293
|
- **Cloud dashboard** — See everything Claude Code did at seoagent.com (also free with any account)
|
|
261
294
|
|
|
262
|
-
Run `npx @seoagent-official/seoagent login` for the free dashboard, or `
|
|
295
|
+
Run `seoagent login` (or `npx -y @seoagent-official/seoagent login`) for the free dashboard, or `seoagent upgrade` for paid features.
|
|
263
296
|
|
|
264
297
|
## Pattern Note
|
|
265
298
|
|