SEO Content Engine

Turn a target keyword into a full content brief with SERP analysis, intent, outline, internal links, and meta ready to hand to a writer.

Turn a target keyword into a full content brief with SERP analysis, intent, outline, internal links, and meta ready to hand to a writer. Most content briefs cost $200 each from a freelance strategist and take 2 days. This produces a stronger brief in 4 minutes per keyword.

This is the whole blueprint, nothing held back: the model, the tools, the exact prompt, the source on disk, and the setup. Everything you need to run SEO Content Engine yourself is on this page, and it deploys in an afternoon.

What it does

SEO Content Engine handles the work end to end:

  • Pull related queries and intent signals for any target keyword
  • Analyze top 10 SERP results for structural and depth patterns
  • Generate a brief that beats the median result on at least 2 dimensions
  • Score brief against existing site coverage to avoid cannibalization

The anatomy

An agent is a composition, not a prompt: a model, the tools it is allowed to call, the integrations that give those tools reach, and the rules that keep it honest. Here is SEO Content Engine on one card.

SEO Content Engineblueprint
Model
claude-sonnet-4-6
Tools
keyword_researchanalyze_serpbuild_briefscore_topical
Integrations
Brave SearchZod
Guardrails
classify intent as one of: informational, navigational, commercial, transactional. never skip.; the outline must beat the median serp result on at least 2 dimensions (depth, freshness, structure, original data)

The instructions

Every run is governed by this prompt. It is short on purpose: enough to make SEO Content Engine reliable, not so much that it can misread itself. Copy it as a starting point for any agent you build.

SEO Content Engine
You are an SEO content strategist. You produce briefs that writers can execute without a kickoff call. WORKFLOW: 1. Call keyword_research on the target keyword to find related queries and intent signals. 2. Call analyze_serp to pull the top 10 results and extract structure, depth, and angle. 3. Call build_brief to assemble the full content brief. 4. Call score_topical to rate the brief against existing site coverage. RULES: - Classify intent as one of: informational, navigational, commercial, transactional. Never skip. - The outline must beat the median SERP result on at least 2 dimensions (depth, freshness, structure, original data). - Always include 3 internal-link suggestions tied to existing site URLs the user provides. - Refuse to produce a brief if the SERP is dominated by sites with DR > 80 unless the user has DR > 60.

The source, on disk

Three files carry the whole agent: the definition with its tools, the environment it expects, and the setup. Walk them.

seo-content-engine/seo-content-engine.ts1.6 KB
1import { agent, tool } from "@agent-sdk"
2import { z } from "zod"
3
4const keywordInput = z.object({
5 keyword: z.string(),
6 market: z.string().default("US"),
7})
8
9const briefInput = z.object({
10 keyword: z.string(),
11 serp: z.array(z.any()),
12 intent: z.enum(["informational", "navigational", "commercial", "transactional"]),
13 internalUrls: z.array(z.string().url()).default([]),
14})
15
16export default agent({
17 model: "claude-sonnet-4-6",
18 permissionMode: "bypassPermissions",
19 maxTurns: 18,
20 systemPrompt: `...`, // see System Prompt section above
21 tools: {
22 keyword_research: tool({
23 description: "Pull related queries, volume hints, and intent signals",
24 inputSchema: keywordInput,
25 execute: async ({ keyword, market }) => {
26 // Brave Search + suggest endpoints
27 },
28 }),
29 analyze_serp: tool({
30 description: "Fetch top 10 results and extract structural patterns",
31 inputSchema: keywordInput,
32 execute: async ({ keyword, market }) => {
33 // returns { results: [{ url, title, h2s, wordCount, schema }], median }
34 },
35 }),
36 build_brief: tool({
37 description: "Assemble final brief with outline + meta + links",
38 inputSchema: briefInput,
39 execute: async ({ keyword, serp, intent, internalUrls }) => {
40 // returns markdown brief
41 },
42 }),
43 score_topical: tool({
44 description: "Score brief against existing site coverage",
45 inputSchema: z.object({ brief: z.string(), siteUrls: z.array(z.string().url()) }),
46 execute: async ({ brief, siteUrls }) => {
47 // returns { topicalFit, cannibalRisk, score }
48 },
49 }),
50 },
51})

The business case

If you run an agency, SEO Content Engine is also a product. It sells into content teams, seo agencies, b2b blogs, and the numbers work at very small scale.

$2,500

setup you can charge

$400/mo

monthly retainer

4

jobs off your plate

Ship it

The whole install is a handful of commands and the keys from the env file. Run the list, then point SEO Content Engine at real work.

Deploy checklist

0 of 4

That is the entire blueprint: one model, 4 tools, and a prompt. Built by hand it costs you an afternoon. Inside Ultron it costs you a sentence, because you can build this exact agent in the workforce and watch it run before you commit to anything.

Build SEO Content Engine in Ultron

1
Describe what you want

Start from this blueprint or your own words. Ultron reads the intent and picks the tools.

2
It builds the agent

The model, the tools, the prompt, the console. Assembled in front of you, nothing to wire.

3
Watch it run

Test it live in the chat, then put it to work. You review what it does, it does the rest.

Keep reading