@seoagent-official/seoagent 1.48.0 → 1.50.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@seoagent-official/seoagent",
3
- "version": "1.48.0",
4
- "description": "Scaffolder for Claude Code's SEOAgent skill. Run once: `npx -y @seoagent-official/seoagent init`. Sets up .seoagent/ for persistent audits, keyword strategy, content planning, and optimized writing. Not a runtime dependency.",
3
+ "version": "1.50.0",
4
+ "description": "The persistent AI SEO agent for Claude Code. Audits, keyword strategy, briefs, articles, and the autopilot loop (cloud detects CLI executes ack closes) other SEO tools write the prompt, SEOAgent runs it.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "seoagent": "index.js"
@@ -11,6 +11,9 @@
11
11
  "skills",
12
12
  "assets"
13
13
  ],
14
+ "engines": {
15
+ "node": ">=18"
16
+ },
14
17
  "dependencies": {
15
18
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
16
19
  "@clack/prompts": "^0.9.0",
@@ -21,13 +24,31 @@
21
24
  },
22
25
  "keywords": [
23
26
  "seo",
27
+ "seo-agent",
28
+ "agentic-seo",
24
29
  "claude-code",
30
+ "claude-skill",
31
+ "claude-agent",
25
32
  "ai-agent",
33
+ "ai-seo",
34
+ "aeo",
35
+ "geo",
36
+ "answer-engine-optimization",
37
+ "generative-engine-optimization",
26
38
  "seo-audit",
39
+ "seo-cli",
27
40
  "content-strategy",
28
- "keyword-research"
41
+ "keyword-research",
42
+ "internal-links",
43
+ "schema-markup",
44
+ "autopilot"
29
45
  ],
30
46
  "license": "MIT",
47
+ "homepage": "https://seoagent.com",
48
+ "bugs": {
49
+ "url": "https://github.com/Baxter-Inc/seoagent-npm/issues"
50
+ },
51
+ "funding": "https://seoagent.com/pricing",
31
52
  "repository": {
32
53
  "type": "git",
33
54
  "url": "git+https://github.com/Baxter-Inc/seoagent-npm.git"
@@ -0,0 +1,74 @@
1
+ # Open Knowledge Format (OKF) Bundle
2
+
3
+ OKF is an open standard Google published in 2026 (spec + reference code at `github.com/GoogleCloudPlatform/knowledge-catalog/okf`) for packaging an organization's knowledge as a directory of **markdown files with YAML frontmatter**, designed for AI agents and answer engines to read directly. It is vendor-neutral, human-readable, and version-controlled like code — think of it as a wiki written for machines.
4
+
5
+ **Why it matters for SEO:** a growing share of search happens inside AI assistants (ChatGPT, Claude, Perplexity) and Google's AI Overviews. Being understood and cited there is **Answer Engine Optimization (AEO / GEO)**. An OKF bundle gives those models a curated, trustworthy account of the business instead of leaving them to guess from scraped pages. SEOAgent is uniquely positioned to produce it because the knowledge already lives in `.seoagent/` (business context, strategy, published content).
6
+
7
+ This file is the protocol for generating and maintaining a site's OKF bundle. The deterministic parts (scaffold + validate) are CLI commands; **you** write the bundle content by mapping `.seoagent/` artifacts into OKF files.
8
+
9
+ ## Where the bundle lives
10
+
11
+ `.seoagent/okf/` — it syncs to the cloud like the rest of `.seoagent/`. The user publishes it themselves at `/.well-known/okf/` or `/okf/` on their site (or links it from `llms.txt`).
12
+
13
+ ## Frontmatter rules
14
+
15
+ Every `.md` file MUST have YAML frontmatter with:
16
+
17
+ - **`type`** (required) — the only mandatory field. Use one of: `Organization`, `Concept`, `Topic`, `FAQ`, `Article`, `Service`, `Metric`, `Log`.
18
+
19
+ Recommended optional fields:
20
+
21
+ - `title` — human-readable name
22
+ - `description` — one or two sentences, ≤ 200 characters
23
+ - `resource` — canonical URL of the real asset (e.g. the live article/page)
24
+ - `tags` — list, e.g. `[pricing, plans]`
25
+ - `timestamp` — ISO-8601, e.g. `2026-05-28T14:30:00Z`
26
+
27
+ Cross-link concepts with **relative markdown links only** (`[Pricing](concepts/pricing.md)`) — every link must resolve to a file in the bundle. Reserved files: `index.md` (entry point / progressive disclosure) and `log.md` (chronological change history).
28
+
29
+ ## Bundle layout — map `.seoagent/` → OKF
30
+
31
+ ```
32
+ .seoagent/okf/
33
+ ├── index.md # type: Organization — business overview, links to everything
34
+ ├── log.md # type: Log — chronological change history
35
+ ├── concepts/ # type: Concept | Topic | Service
36
+ │ ├── pricing.md
37
+ │ └── <keyword-cluster-or-entity>.md
38
+ ├── faqs/ # type: FAQ — one answer-engine Q&A per file
39
+ │ └── what-is-x.md
40
+ └── articles/ # type: Article — published pages, resource = live URL
41
+ └── guide-to-x.md
42
+ ```
43
+
44
+ | OKF file | `type` | Source in `.seoagent/` |
45
+ |---|---|---|
46
+ | `index.md` | `Organization` | `project.md` (domain) + `context.md` (business description) |
47
+ | `concepts/*.md` | `Concept` / `Topic` / `Service` | `strategy/clusters/*` keyword clusters; core services/entities from `context.md` |
48
+ | `faqs/*.md` | `FAQ` | Questions answered in briefs/content; "People Also Ask" items |
49
+ | `articles/*.md` | `Article` | Each `content/*` article — set `resource:` to its live URL, summarize the key facts |
50
+ | `log.md` | `Log` | Append a dated line whenever you regenerate the bundle (mirror `changelog.md`) |
51
+
52
+ ## Generation protocol
53
+
54
+ 1. Run `seoagent okf scaffold` to create the directory skeleton (`index.md` + `log.md`) — it never overwrites existing files.
55
+ 2. Fill `index.md` from `.seoagent/context.md` and `project.md`: what the business does, who it serves, then a linked list of the concept / FAQ / article files.
56
+ 3. For each keyword cluster in `.seoagent/strategy/clusters/`, write a `concepts/<slug>.md` (`type: Concept` or `Topic`) capturing the definitive, factual explanation — not marketing fluff. Stats, definitions, and comparisons are what AI cites.
57
+ 4. For each clear question the business answers, write a `faqs/<slug>.md` (`type: FAQ`): the question as the title, a tight factual answer in the body.
58
+ 5. For each published article in `.seoagent/content/`, write `articles/<slug>.md` (`type: Article`) with `resource:` set to the live URL and a 2–4 sentence factual summary; cross-link related concepts.
59
+ 6. Add a dated entry to `log.md`.
60
+ 7. Run `seoagent okf validate` and fix every error (missing `type`, bad `timestamp`, broken link) before finishing.
61
+ 8. Sync runs automatically (or `seoagent sync`) so the bundle reaches the cloud dashboard.
62
+
63
+ ## Quality bar
64
+
65
+ - Write for a model, not a brochure: lead with facts, numbers, and definitions. Avoid superlatives and CTAs.
66
+ - One concept per file; keep files focused and cross-linked.
67
+ - Keep `resource:` URLs canonical and live — they are how an agent verifies and cites you.
68
+ - Regenerate when content changes so the bundle never drifts from reality.
69
+
70
+ ## CLI commands
71
+
72
+ - `seoagent okf` — status (is a bundle present? how many files?)
73
+ - `seoagent okf scaffold` — create the starter `index.md` + `log.md`
74
+ - `seoagent okf validate` — assert every file has `type`, timestamps are ISO-8601, and all relative links resolve
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: seoagent
3
- description: "Persistent AI SEO agent. ALWAYS use when the user mentions: SEO, ranking, rank, keywords, meta tags, search traffic, organic traffic, content strategy, audit, Google, Bing, Search Console, GSC, schema markup, JSON-LD, sitemap, robots.txt, internal linking, AI search, AEO, GEO, alt text, page speed, Core Web Vitals, slug, URL structure, canonical, breadcrumbs, hub and spoke, pillar content, topic cluster, programmatic SEO, landing page SEO, blog SEO, why am I not ranking. Also use SILENTLY when the user asks to write, edit, or improve a blog post, landing page, marketing copy, or any file under content/, posts/, blog/, pages/ — these are SEO-adjacent and should persist to .seoagent/ even without an explicit invocation. Replaces separate seo-audit, content-strategy, programmatic-seo, ai-seo, site-architecture, and schema-markup skills with one unified, persistent workflow."
3
+ description: "Persistent AI SEO agent. ALWAYS use when the user mentions: SEO, ranking, rank, keywords, meta tags, search traffic, organic traffic, content strategy, audit, Google, Bing, Search Console, GSC, schema markup, JSON-LD, sitemap, robots.txt, internal linking, AI search, AEO, GEO, OKF, Open Knowledge Format, AI knowledge bundle, llms.txt, alt text, page speed, Core Web Vitals, slug, URL structure, canonical, breadcrumbs, hub and spoke, pillar content, topic cluster, programmatic SEO, landing page SEO, blog SEO, why am I not ranking. Also use SILENTLY when the user asks to write, edit, or improve a blog post, landing page, marketing copy, or any file under content/, posts/, blog/, pages/ — these are SEO-adjacent and should persist to .seoagent/ even without an explicit invocation. Replaces separate seo-audit, content-strategy, programmatic-seo, ai-seo, site-architecture, and schema-markup skills with one unified, persistent workflow."
4
4
  allowed-tools: Read, Write, Edit, Bash, WebFetch, WebSearch
5
5
  ---
6
6
 
@@ -33,6 +33,7 @@ This SKILL.md is the orchestration layer. Detailed protocols live in `references
33
33
  | Programmatic SEO at scale | `references/programmatic.md` |
34
34
  | Adding schema markup / JSON-LD | `references/schema-markup.md` |
35
35
  | Refreshing or rewriting an existing page | `references/rewrite-protocol.md` |
36
+ | Generating/publishing an OKF bundle for AI agents (AEO/GEO) | `references/open-knowledge-format.md` |
36
37
 
37
38
  Loading the right reference makes outputs dramatically better. Don't skip it.
38
39
 
@@ -697,6 +698,21 @@ If the article already exists, **read `references/rewrite-protocol.md`** instead
697
698
 
698
699
  ---
699
700
 
701
+ ## Phase 6: Publish an OKF Knowledge Bundle (AEO/GEO)
702
+
703
+ When the user asks to "publish an OKF bundle", "make my site AI-readable", "get cited by ChatGPT / Claude / Perplexity", "Open Knowledge Format", or "AEO / GEO", produce an OKF bundle that AI agents can read to understand and cite the business.
704
+
705
+ **Read `references/open-knowledge-format.md` first** — it has the full frontmatter rules, the `.seoagent/` → OKF mapping table, and the quality bar. Then:
706
+
707
+ 1. `npx @seoagent-official/seoagent okf scaffold` — create the `.seoagent/okf/` skeleton.
708
+ 2. Fill the bundle by mapping `.seoagent/` artifacts → OKF files (`index.md` from `context.md`/`project.md`; `concepts/*` from strategy clusters; `faqs/*`; `articles/*` from `content/` with `resource:` set to the live URL).
709
+ 3. `npx @seoagent-official/seoagent okf validate` — fix every error (missing `type`, bad `timestamp`, broken link).
710
+ 4. Tell the user to publish the bundle at `/.well-known/okf/` or `/okf/` on their site (or link it from `llms.txt`). Sync pushes it to the cloud automatically.
711
+
712
+ This is the AEO/GEO complement to schema markup: schema describes a single page in HTML; the OKF bundle describes the whole business for agents to load wholesale.
713
+
714
+ ---
715
+
700
716
  ## File Schemas Reference
701
717
 
702
718
  ### `.seoagent/project.md`