Phase 3. - server.mjs loads only site.agents.enabled, passing per-agent settings - each console agent exports a manifest + register(host, settings); QA reads heartbeatMin/autofix from settings (env fallback) - catalog.mjs folds the runtime (console) agents into agents.json/AGENTS.md via their manifest exports — one registry for pipeline + runtime agents Verified: disabling 'qa' in the roster removes /qa/run + the heartbeat.
5.2 KiB
5.2 KiB
Agent catalog
GENERATED — do not edit. Regenerate with
node agents/catalog.mjs(source of truth: the@agent-manifestheader in each script).
An agent = an LLM orchestrator script + its role prompt (prompt:) + its skills
(MCP servers, skills:) + its tools (api/cli/*.php bridges and lib/*.mjs, tools:).
To port an agent to another SeedProject clone, satisfy its manifest: copy its prompts, ensure
its tools exist, migrate each table in reads:/writes:, configure its MCP servers.
agents.json is the machine-readable version — diff it against a clone to find gaps.
content
Cron/manual-triggered producers of gated drafts (events auto-publishes).
| agent | trigger | model | skills | tools | reads → writes | description |
|---|---|---|---|---|---|---|
| news-radar (agents/scripts/news-radar.mjs) | manual / cron-capable (maintains news-queue.json for the writer) | research=claude-opus-4-8 | — | lib/claude.mjs | — → — | Discover timely niche news and maintain news-queue.json; the daily writer drains it first. |
| research (agents/scripts/research.mjs) | manual (auto-invoked by writer when the evergreen backlog runs low) | research=claude-opus-4-8 | — | lib/claude.mjs, lib/calendar.mjs | — → — | Top up the evergreen backlog in calendar.json (additive, deduped); timely news is the news radar's job. |
| reviser (agents/scripts/revise.mjs) | manual (auto-invoked when the SEO gate fails and autoRevise is on) | writer=claude-sonnet-4-6 | — | lib/claude.mjs | — → — | Feed the SEO audit's fixes back to the writer and re-audit until the draft passes or attempts run out. |
| seo-review (agents/scripts/seo-review.mjs) | manual (auto-invoked by writer/approve gates) | reviewer=claude-opus-4-8 | — | lib/claude.mjs | — → — | Audit one article for EEAT / spam-policy / on-page SEO / AEO / readability → seo-review.json. |
| writer (agents/scripts/write-daily.mjs) | cron:run.sh write-daily.mjs(daily) | writer=claude-sonnet-4-6 | mcp__claude_ai_Higgsfield | lib/claude.mjs, lib/calendar.mjs | — → — | Draft one article (MDX + cover + sources) — today's news first, else next evergreen calendar topic. |
runtime
HTTP-triggered agents answering live user requests.
| agent | trigger | model | skills | tools | reads → writes | description |
|---|---|---|---|---|---|---|
| in-page-console (agents/console/agents/in-page-console.mjs) | POST /run; GET /stream; POST /publish; POST /rebuild; POST /discard | claude-sonnet-4-6 | — | Read, Write, Edit, Glob, Grep, WebSearch | — → — | Freeform ▲ editor: describe a change on any page; the agent edits, the console builds an isolated preview, then publish/discard. |
| project-builder (agents/console/agents/project-builder.mjs) | POST /draft; POST /build-project | claude-sonnet-4-6 | — | Read | cja_projects → cja_projects | Drafts copy and authors a full structured project record (reads uploaded images) for the New Project admin form. Returns JSON; never mutates the repo. |
| qa (agents/console/agents/qa.mjs) | POST /qa/run; schedule(heartbeatMin) | claude-sonnet-4-6 | qa | Read, Skill, api/cli/qa-start.php, api/cli/qa-finish.php, api/cli/qa-routes.php, api/cli/qa-autofix.php | cja_qa_runs, cja_qa_findings → cja_qa_runs, cja_qa_findings | Crawls the live site (links, images, forms, API, SEO/meta, a11y); auto-fixes safe findings via the Web Designer queue; runs on a heartbeat. |
| web-designer (agents/console/agents/web-designer.mjs) | POST /tasks/run | claude-sonnet-4-6 | brand, ui-ux, changelog | Read, Write, Edit, Glob, Grep, WebSearch, Skill, api/cli/tasks-next.php, api/cli/tasks-finish.php, api/cli/seed-changelog.php | cja_tasks, cja_changelog, cja_projects → cja_tasks, cja_changelog, cja_projects | Durable design queue (cja_tasks): runs the full-builder agent on any page from a brief, auto-publishes (build-gated scoped commit), and self-logs to the changelog. Fed by the admin and by QA autofix. |
plumbing
Deterministic helpers — not agents (no LLM), catalogued for completeness.
| agent | trigger | model | skills | tools | reads → writes | description |
|---|---|---|---|---|---|---|
| approve (agents/scripts/approve.mjs) | manual [--force] | - | — | lib/publish.mjs | — → — | Approve a draft: SEO gate, then promote it into the blog, build, go live. No LLM. |
| list-drafts (agents/scripts/list-drafts.mjs) | manual | - | — | — | — → — | List pending drafts awaiting review. No LLM. |
| publish-tick (agents/scripts/publish-tick.mjs) | cron:run.sh publish-tick.mjs(15m) | - | — | lib/publish.mjs | — → — | Once per day after the morning floor, publish ONE eligible draft (SEO-gated) with a randomized earlier-today timestamp. No LLM. |