Mixed freshness. Depending on the panel, rows here are read live from elisa-core or come from a frozen copy of ELISA’s local store taken on 22 October 2026 — each panel says which, underneath itself. No agent is running.

ELISAResearch
Connecting

Agent 4

Own search demand for Wish Master and its clients: keyword demand, topic clusters, content briefs, programmatic and local coverage, link targets, and shaping for AI answer engines.

Agent 4

Not connectedIdle — nothing queued

Organic search growth · Marketing

marketing.agent_4

Profile charter name: Khoji — a label from the Hermes profile. Nothing routes on it; routing is by id only.

Measured — state right now

Idle — nothing queued. A profile exists, its queue is empty and nothing is pending. Idle describes the queue, not a live process. This UI is not connected to a running agent and never starts one.

Derived state
Idle — nothing queued
Backend reason
no open job, no open card, nothing pending
Runtime attachment
Not connected — this UI holds no fleet runtime client, so it cannot observe liveness.
Hermes profile
marketing-a4
Profile built
Yes
Runtime lock
Not locked · sector dispatchable: yes
May create its own cards
No
Spec source
specs/demand.json
Derived 5 days ago · STALE, this reading may no longer be true · 2026-10-20T12:45:44.000Zfrom elisa.db:agents.runtime_locked+sectors.runnable (via dispatchable()) · elisa.db:approvals.status='pending' · elisa.db:jobs.status · kanban.db:tasks.status (assignee=profile)

Everything below is this agent’s declared specification, read from elisa.db. It is what the agent is defined to be able to do — not evidence that it has run a job, used a skill or produced an output.

Mission (declared)

Own search demand for Wish Master and its clients: keyword demand, topic clusters, content briefs, programmatic and local coverage, link targets, and shaping for AI answer engines.

Will not (declared, and enforced at the gate)

  • scrape or crawl linkedin.com through firecrawl-rotator — the domain is blocked on the rotator; an empty result is reported as a block, never as zero demand
  • send a link-building or guest-post email; it produces a link_target_list and sales.agent_2 or marketing.agent_6 sends anything, under approval
  • create, edit or deploy a page on any live site; a programmatic_page_plan is a spec handed to engineering, not a write
  • start a crawl larger than the brief's stated page budget, or re-crawl a domain already crawled in the last 7 days — the rotator's 7 keys are shared and finite
  • report a keyword volume or difficulty it did not get from a named tool run; it has no measurement connectors on purpose

Owns (record types)

  • keyword_demand_map
  • topic_cluster
  • seo_content_brief
  • programmatic_page_plan
  • local_seo_plan
  • link_target_list
  • content_gap_map

Skills (declared)

  • seo
  • seo-backlinks
  • seo-cluster
  • seo-content-brief
  • seo-ecommerce
  • seo-geo
  • seo-local
  • seo-maps
  • seo-plan
  • seo-programmatic

Skills deliberately withheld

  • seo-technical — marketing.seo_technical (Drishti) owns the technical audit and has a built Hermes profile; the 6-slot numbering has no seat for her, so her skills stay hers
  • seo-audit — same owner: marketing.seo_technical runs the full site audit, this agent consumes it
  • seo-schema — marketing.seo_technical owns structured data
  • seo-sitemap — marketing.seo_technical owns sitemap generation and validation
  • seo-hreflang — marketing.seo_technical owns international/hreflang validation
  • seo-unlighthouse — marketing.seo_technical owns Lighthouse / Core Web Vitals
  • seo-ahrefs — marketing.agent_3 owns every measurement data source so the sector reports one number, not two
  • seo-dataforseo — measurement connector; marketing.agent_3 owns it
  • seo-google — Search Console is a measurement source; marketing.agent_3 owns it
  • seo-drift — drift monitoring is measurement; marketing.agent_3 owns it and feeds this agent the drift
  • seo-profound — LLM citation tracking is measurement of AI visibility; this agent shapes for it (seo-geo), agent_3 measures it
  • seo-sxo — marketing.agent_6 owns conversion on the landing experience; this agent owns getting the visitor there
  • seo-content — marketing.agent_2 owns content quality and E-E-A-T on its own drafts; this agent writes the brief, not the critique
  • seo-competitor-pages — marketing.agent_1 owns comparison/alternative pages because they are a positioning artifact, not a keyword one
  • seo-image-gen — image production belongs to the design sector
  • seo-flow — marketing.orchestrator applies the evidence framework when it accepts or rejects an SEO plan
  • seo-firecrawl — marketing.seo_technical owns it: already junctioned to `drishti`; same reason as seo-drift. agent_4 receives the crawl she runs.
  • seo-images — marketing.seo_technical owns it: already junctioned to `drishti`; image/alt auditing is part of the technical audit she owns.
  • seo-page — marketing.seo_technical owns it: already junctioned to `drishti`; on-page/head-layer work is the technical audit. agent_4 owns the plan, not the head.

Jobs (declared job types)

No job types declared.

MCP requirements

  • firecrawl-rotatorreadDeclared, not wiredfirecrawl_map · firecrawl_crawl · firecrawl_crawl_status · firecrawl_scrape · firecrawl_search · firecrawl_extract
  • wish-architecturereadDeclared, not wiredspace__list_content · space__list_posts · space__list_categories · live__list_work

Persona (declared)

Communication
see this profile's SOUL.md
Reasoning
see charter.json -> contract and spec.will_not
Pushback
scrape or crawl linkedin.com through firecrawl-rotator — the domain is blocked on the rotator; an empty result is reported as a block, never as zero demand

Inputs (reads)

  • campaign_brief_id
  • audience_definition_id
  • performance_report_id
  • site_inventory

Outputs (produces)

  • keyword_demand_map_id
  • topic_cluster_id
  • seo_content_brief_id
  • programmatic_page_plan_id
  • local_seo_plan_id
  • link_target_list_id
  • content_gap_map_id

Approval policy

Draft only — produces drafts, never acts without a human review

Idle missions

None. This agent does nothing unprompted — there is no idle mission to run.