@seoagent-official/seoagent 1.50.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 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
- The scaffolder will:
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` so the package is fetched on demand from then on no `package.json` entry needed.
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
- npx -y @seoagent-official/seoagent init --yes --domain example.com
85
+ seoagent init --yes --domain example.com
66
86
  ```
67
87
 
68
- ### Optional: install globally for a bare `seoagent` command
88
+ Via npx:
69
89
 
70
90
  ```bash
71
- npm install -g @seoagent-official/seoagent
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,9 +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 `npx @seoagent-official/seoagent generate-image`. You pay the LLM provider directly.
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/`.
109
130
 
110
- **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; `npx @seoagent-official/seoagent okf scaffold` and `okf validate` handle the structure. Saved to `.seoagent/okf/`.
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.)
111
132
 
112
133
  **Compounding Roadmap** — Prioritized action plan that updates after every action. Saved to `.seoagent/roadmap.md`. Persistent changelog at `.seoagent/changelog.md`.
113
134
 
@@ -133,6 +154,8 @@ SEOAgent runs as a CLI on top of the [Claude Agent SDK](https://github.com/anthr
133
154
  concepts/ # type: Concept|Topic — definitive explanations
134
155
  faqs/ # type: FAQ — answer-engine Q&A
135
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
136
159
  pages.md # Sitemap inventory (URL list)
137
160
  competitors.md # Competitor profiles + gaps
138
161
  keywords.md # Master keyword inventory (assigned + backlog)
@@ -203,9 +226,9 @@ Three things to notice:
203
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.
204
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.
205
228
 
206
- ## CLI Commands (all 19)
229
+ ## CLI Commands (all 20)
207
230
 
208
- Grouped by what they're for. Run via `npx -y @seoagent-official/seoagent <cmd>` or, after `npm install -g @seoagent-official/seoagent`, just `seoagent <cmd>`.
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.)
209
232
 
210
233
  **Setup + lifecycle**
211
234
 
@@ -244,6 +267,7 @@ Grouped by what they're for. Run via `npx -y @seoagent-official/seoagent <cmd>`
244
267
  | `keywords` | Enrich your existing keyword inventory with real search volume + difficulty. `--discover` finds new targets; `--competitors` shows the gap (paid). |
245
268
  | `internal-links` | Generate internal-linking recommendations from your existing pages + topic clusters. |
246
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`. |
247
271
  | `generate-image` | Generate hero / inline images via the detected provider (BYO API key). |
248
272
 
249
273
  **Account**
@@ -254,7 +278,7 @@ Grouped by what they're for. Run via `npx -y @seoagent-official/seoagent <cmd>`
254
278
 
255
279
  ## Auto-Sync Hook
256
280
 
257
- `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. The hook is race-safe: a cooperative lock keeps a manual `seoagent sync` from clobbering an in-flight hook run (and vice versa).
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.
258
282
 
259
283
  ## SEOAgent Cloud
260
284
 
@@ -268,7 +292,7 @@ The free skill handles audits, strategy, briefs, articles, and persistent state
268
292
  - **Team collaboration** — Invite members, share strategy, coordinate publishing
269
293
  - **Cloud dashboard** — See everything Claude Code did at seoagent.com (also free with any account)
270
294
 
271
- Run `npx @seoagent-official/seoagent login` for the free dashboard, or `npx @seoagent-official/seoagent upgrade` for paid features.
295
+ Run `seoagent login` (or `npx -y @seoagent-official/seoagent login`) for the free dashboard, or `seoagent upgrade` for paid features.
272
296
 
273
297
  ## Pattern Note
274
298