@seoagent-official/seoagent 1.108.2 → 1.108.4
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/index.js +204 -205
- package/package.json +1 -1
- package/skills/references/inbox.md +1 -1
- package/skills/references/recurring-runs.md +12 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seoagent-official/seoagent",
|
|
3
|
-
"version": "1.108.
|
|
3
|
+
"version": "1.108.4",
|
|
4
4
|
"description": "The persistent AI SEO agent for Claude Code. Audits, keyword strategy, briefs, articles, real product screenshots from your repo, 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": {
|
|
@@ -90,7 +90,7 @@ Start by reading `.seoagent/inbox/README.md` (or `seoagent inbox`) to see the li
|
|
|
90
90
|
### `cli_new_landing_page-<id>.md`
|
|
91
91
|
|
|
92
92
|
- `Read` it. The frontmatter has `action_id`, `keyword`, `opportunity` (`easy_win` | `competitor_gap`), `volume`, `difficulty`, and `intent`. The body explains why this keyword is worth a page.
|
|
93
|
-
- Cross-reference the site's keyword inventory for related keywords — they tell you which cluster this page belongs to and which secondary keywords to weave in. It is `.seoagent/strategy/keywords
|
|
93
|
+
- Cross-reference the site's keyword inventory for related keywords — they tell you which cluster this page belongs to and which secondary keywords to weave in. It is `.seoagent/strategy/keywords/*.md` once the cloud shards it, and `.seoagent/keywords.md` otherwise; a synced workspace usually has only one of the two. **The action file names the files this workspace actually has — use those.** Do not assume a file named after the cluster in the rationale exists: a keyword whose cluster has no article role assigned yet is written to `strategy/keywords/unclustered.md`, so search the directory for the keyword rather than opening `<cluster>.md`.
|
|
94
94
|
- Pick an article type from `intent` (commercial/transactional → product or comparison page; informational → guide or pillar). Pick a clean URL slug from `keyword`.
|
|
95
95
|
- Write the article following the content-production protocol (Phase 4 — match the article type's quality rules, add internal links from related cluster pages, etc.). Show the user the draft before publishing (interactive sessions can use the visual review loop — `references/draft-review.md`).
|
|
96
96
|
- **If the action body has a "Screenshots to capture" section** (SaaS product), follow `references/screenshots.md` — a landing page for a SaaS product should lead with a real product screenshot in the hero + feature sections, captured from this repo's UI.
|
|
@@ -42,6 +42,18 @@ How to schedule, by harness:
|
|
|
42
42
|
|
|
43
43
|
Say plainly which of these you set up, or that none was available. Then record it: set `schedule:` in `.seoagent/project.md` to what you set up (for example `schedule: claude-code routine seoagent-daily, weekdays 09:00` or `schedule: cron seoagent sync --silent, weekdays 09:00`), or `schedule: none — <why>` when there is no scheduler. `seoagent doctor` flags `schedule_missing` on a bound project until that line exists.
|
|
44
44
|
|
|
45
|
+
### Verify the task before you call it done (mandatory)
|
|
46
|
+
|
|
47
|
+
A task is not set up until it has run once with the secret and proved it. Two installs ran this exact recipe every weekday morning for ten days with no `SEOAGENT_AUTH` — fresh `npm install -g` each run, then "Not logged in", exit 1, nothing synced — and nobody knew, because a scheduled task's output is never read. Storing the secret and creating the task is not the end of setup; the check is.
|
|
48
|
+
|
|
49
|
+
Right after creating the task:
|
|
50
|
+
|
|
51
|
+
1. Trigger it once now (or, inside the task's environment, run `SEOAGENT_AUTH=<the stored secret> seoagent whoami`).
|
|
52
|
+
2. Read the output. It must contain `Logged in as …`.
|
|
53
|
+
3. If it prints `Not logged in`, the secret was not stored or is not reaching the run. If it prints `SEOAGENT_AUTH is set but is not <user_token>:<website_token>`, the value was pasted wrong — quotes around it, the `SEOAGENT_AUTH=` prefix inside the value, a truncated token. Fix the secret and run it again. Do not report the schedule as done until step 2 passes.
|
|
54
|
+
|
|
55
|
+
An unverified task is not set up. Tell the user exactly what the check printed.
|
|
56
|
+
|
|
45
57
|
## No scheduler available
|
|
46
58
|
|
|
47
59
|
If the harness cannot schedule anything, say so and ask the user to invoke you every weekday (or as often as they want SEO work done). Don't fake a schedule with sleeps or long-running loops.
|