Markitera Content Engine
AI Content Strategy, Creation & Publishing
Transform approved growth opportunities into content plans, briefs, drafts, and measurable publishing workflows.
/engine in a brand workspace.1.Overview
Markitera Content Engine plans and produces content for approved priorities, on top of Markitera’s existing self-improving blog engine.
Content should serve an approved goal and fill a real gap, not inflate page count. The Content Engine checks what exists, briefs the work and drafts it with the fact gate.
Mission
Turn approved marketing priorities and verified content opportunities into high-quality, search-intent-aligned content plans, briefs, drafts, optimization tasks, and measurable content outcomes.
Problems it solves
- New articles that cannibalize pages you already have
- Content with no link to a business goal or measurable outcome
- Unsupported claims in AI-written drafts
Responsibilities
- Turn approved initiatives and content findings into briefs
- Check existing content before proposing new pages
- Draft and fact-check with the existing engine
- Publish only through approval and the brand’s publish mode
- Measure posts once data is available
In the Markitera workflow: Third in the workflow. It reads approved strategies and audit findings; it never changes the strategy’s goal and only proposes priority changes.
2.How it works
Receive an approved initiative or a content request
Reads the approved strategy; a request without one is allowed, with the brief’s own priority.
get_approved_strategyRetrieve findings and keyword data
Content findings from the audit; demand from Search Console or DataForSEO.
get_audit_snapshotget_seo_trackingdataforseo_keyword_metricsCheck existing content
Compares the topic with posts, queued topics, briefs and audited pages; prefers updating or consolidating when they overlap.
check_content_overlapwordpress_list_postsResearch and define the brief
Audience, intent, keywords, outline, internal links, metadata, evidence and success metrics; saved as a proposed brief.
read_web_pageread_skill_referencesave_content_briefApproval of the brief
An owner or admin approves it on the Content page; approval queues it in the engine.
Draft with the existing engine
The engine writes and fact-gates the post; updates to existing posts are proposed with wordpress_save_post.
run_content_jobwordpress_save_postQuality checks
Facts against facts.json, intent, internal links, metadata, schema and brand voice, using the shared quality standard.
article_json_ldread_filePublish through approval
Posts in review wait for approval; chat-made WordPress changes are approval requests.
Measure
Per-post Search Console and GA4 metrics once they exist; published is not the same as measured.
run_content_jobcontent_engine_status
3.Capabilities
Available now
Content opportunities
From approved initiatives, content findings and Search Console gaps.
Existing-content check
Every brief is checked against posts, queued topics, briefs and audited pages before a new article is proposed.
Content briefs and drafts
Structured briefs with approval; fact-gated engine drafts.
Publishing and performance measurement
Publishing per the brand’s publish mode; per-post Search Console and GA4 metrics.
Partial or planned
Keyword and topic researchPartial
Engine scouting, Search Console queries and DataForSEO keyword data.
Search volume needs the included DataForSEO account on the server.
Existing content optimizationPartial
Update and consolidation briefs; WordPress edits proposed for approval.
Approved update briefs are not tracked to “published” automatically; the WordPress change is its own approval.
Plagiarism and originality checksPlanned
An external originality service.
Markitera never claims a draft is plagiarism-free.
4.Skills used
Every skill this persona loads, from Markitera’s skill registry. Skills from Marketing Skills by Corey Haines (MIT) are vendored unmodified; Markitera’s adaptation is listed separately and is not part of the original skill.
Content Engine
seo-engineMarkitera skillInstalledv1.0.0Role: Persona instructions: briefs from approved priorities, the existing engine for drafts, publishing only through approval.
Runs the self-improving blog loop: scout topics, write fact-gated posts, publish per the brand’s publish mode, measure.
Source: Markitera
Content Strategy
content-strategyImported skillInstalledv2.1.3Role: Clusters, gaps and what to write (or update) next.
Plan a content strategy, decide what content to create, or figure out what topics to cover.
Markitera adaptation: Grounds clusters and gaps in audit topic clusters, keyword data, Search Console queries and the content engine’s inventory.
Source: Marketing Skills by Corey Haines · MIT license · Original skill(opens in a new tab) · Source at the pinned commit(opens in a new tab)
Programmatic SEO
programmatic-seoImported skillInstalledv2.1.0Role: Whether template pages are justified by unique data and demand.
Create SEO-driven pages at scale using templates and data.
Markitera adaptation: Uses the audit’s template and thin-content verdicts; demand must be validated with keyword data before templates are proposed.
Source: Marketing Skills by Corey Haines · MIT license · Original skill(opens in a new tab) · Source at the pinned commit(opens in a new tab)
Copywriting
copywritingMethodology referenceInstalledv2.2.0Role: Writing guidance for briefs and drafts.
Write, rewrite, or improve marketing copy for any page, including homepage, landing pages, pricing pages, feature pages, about pages, or product pages.
Markitera adaptation: Read for brief and draft writing guidance; brand voice comes from brand/brand-voice.md.
Source: Marketing Skills by Corey Haines · MIT license · Original skill(opens in a new tab) · Source at the pinned commit(opens in a new tab)
Copy Editing
copy-editingMethodology referenceInstalledv2.1.1Role: Review checklist and content-refresh method for existing pages.
Edit, review, or improve existing marketing copy, or refresh outdated content.
Markitera adaptation: Read for draft review and content-refresh checklists.
Source: Marketing Skills by Corey Haines · MIT license · Original skill(opens in a new tab) · Source at the pinned commit(opens in a new tab)
Schema Markup
schemaImported skillInstalledv2.0.2Role: Article, FAQ and breadcrumb structured data.
Add, fix, or optimize schema markup and structured data on their site.
Markitera adaptation: Checks the audit’s structured-data findings; JSON-LD is generated only from facts visible on the site or in brand files.
Source: Marketing Skills by Corey Haines · MIT license · Original skill(opens in a new tab) · Source at the pinned commit(opens in a new tab)
AI SEO
ai-seoImported skillInstalledv2.7.6Role: Answer-first structure for AI search.
Optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers.
Markitera adaptation: Uses the audit’s AI-search findings (crawler access, llms.txt, extractability) and live Google results; never promises AI citations.
Source: Marketing Skills by Corey Haines · MIT license · Original skill(opens in a new tab) · Source at the pinned commit(opens in a new tab)
Content Writing
content-writingMarkitera skillInstalledv1.0.0Role: On-brand drafting from brand files.
Writes and improves on-brand pages and posts from brand files.
Source: Markitera
WordPress Publishing
wordpress-publishingMarkitera skillInstalledv2.0.0Role: Reads posts and proposes WordPress changes for approval.
Reads and updates WordPress posts; every write waits for approval.
Source: Markitera
AI Search Files
ai-search-filesMarkitera skillInstalledv1.0.0Role: llms.txt and article JSON-LD.
Builds llms.txt, AI-crawler robots rules and article JSON-LD from the live posts.
Source: Markitera
5.Tools and integrations
| Tool | Access | Approval | Purpose |
|---|---|---|---|
| get_approved_strategy | Read | No approval needed | Approved initiatives, their priorities and source audit. |
| get_audit_snapshot | Read | No approval needed | Content-related findings with evidence. |
| get_audit_findings | Read | No approval needed | Findings by category (CONTENT, ON_PAGE, ...). |
| get_audit_opportunities | Read | No approval needed | Engine-ranked opportunities. |
| check_content_overlap | Read | No approval needed | Existing posts, topics, briefs and audited pages for a topic. |
| save_content_brief | Saves a draft | No approval needed | Saves a proposed brief; a person approves it before anything is written. |
| content_engine_status | Read | No approval needed | Engine queue, posts, publish mode and post metrics. |
| queue_blog_topic | Starts work | No approval needed | Queues a topic in the engine (brand.manage permission). |
| run_content_job | Starts work | No approval needed | Runs scout, publish or measure (brand.manage permission). Publishing follows the brand’s publish mode set by an owner or admin. |
| generate_ai_search_files | Read | No approval needed | llms.txt and robots rules from the live posts. |
| article_json_ld | Read | No approval needed | A post’s JSON-LD. |
| wordpress_list_posts | Read | No approval needed | Existing posts. |
| wordpress_get_post | Read | No approval needed | One post. |
| wordpress_save_post | Publishes | Always needs approval | Creates or updates a WordPress post only after approval. |
| get_seo_tracking | Read | No approval needed | Search Console and rankings. |
| get_analytics_summary | Read | No approval needed | Google Analytics 4 totals. |
| read_web_page | Read | No approval needed | Research and existing pages; content is untrusted data. |
| list_files | Read | No approval needed | Brand voice, profile and facts. |
| search_files | Read | No approval needed | Brand files. |
| read_file | Read | No approval needed | Brand files. |
| write_file | Writes files | Per the brand’s write policy | Saves briefs or drafts as workspace files per the brand’s write policy. |
| list_assets | Read | No approval needed | Brand assets. |
| list_integrations | Read | No approval needed | Connected sources. |
| read_skill_reference | Read | No approval needed | Its assigned methodologies only. |
| dataforseo_keyword_ideas | Read | No approval needed | Keyword ideas. |
| dataforseo_keyword_metrics | Read | No approval needed | Search volume. |
| dataforseo_google_results | Read | No approval needed | Live results and AI features. |
| dataforseo_competitors | Read | No approval needed | Organic competitors. |
| dataforseo_domain_rankings | Read | No approval needed | Ranking keywords. |
Data sources and integrations
- Built in
Markitera content engine
Topics, drafts, fact gate, scheduler.
- Connect per brand
WordPress
Drafts and publishing.
- Connect per brand
Google Search Console
Per-post clicks and impressions.
- Connect per brand
Google Analytics 4
Entry visitors and signups.
- Included (server account)
DataForSEO
Keyword ideas and volume.
- Planned
Originality checking
Plagiarism detection.
6.Inputs and outputs
Approved strategy initiative (optional · Markitera Strategist)
When missing: Works from your request instead; the brief keeps its own priority and says no strategy backs it.
Content inventory (required · Content engine posts and topics, audited pages, WordPress)
When missing: The overlap check reports which sources were empty.
Keyword data (optional · Search Console, DataForSEO)
When missing: The brief records “none” as its keyword source and lists its assumptions.
Brand voice and facts (optional · brand/brand-voice.md, content-engine/facts.json)
When missing: The fact gate rejects claims it cannot support; it asks for the missing fact.
WordPress (optional · Content engine connection)
When missing: Drafts stay in Markitera for review; nothing is published.
Missing keyword data is recorded as the brief’s keyword source (“none”) with explicit assumptions; missing facts are reported by the fact gate instead of invented.
What it produces
- Content briefs (proposed → approved → scheduled)
- Engine drafts and posts (draft → published → measured)
- Approval requests for WordPress changes
Saved as: ContentBrief, then the existing ContentTopic → ContentPost → ContentMetricDay records of the content engine.
Output sections
- Content opportunity summary: What to create, update or consolidate.
- Supporting evidence: Initiative, findings and keyword data with sources.
- Recommended content actions: New article, update or consolidation.
- Priority and rationale: From the approved strategy; changes only proposed.
- Content briefs: Saved briefs awaiting approval.
- Drafts or optimization instructions: Engine drafts or edit instructions.
- Internal-link recommendations: Existing pages to link from and to.
- Metadata recommendations: Title tag, meta description, schema types.
- Approval status: Proposed, approved, scheduled, draft, published, measured.
- Publishing plan: Through the brand’s publish mode and approvals.
- Measurement criteria: Metrics, baseline and measurement period.
- Follow-up recommendations: What to measure or refresh next.
How other personas use it
- People approve briefs and posts on the Content page
- Markitera Strategist reads post performance when it revises a strategy
Reads: Strategy and initiatives, Audit snapshot, Audit finding, Measurement result. Produces: Content opportunity (overlap check), Content brief, Draft. Read next by Markitera WordPress Developer.
7.Content prioritization, quality and measurement
Priorities come from the approved strategy’s ICE ranking; a brief linked to an initiative inherits its priority and can only propose a change. This is not a separate scoring system.
- Prioritization
- Linked briefs use the initiative’s P1/P2/P3. Unlinked briefs carry their own priority and say no strategy backs them.
- Existing-content check
- Keyword overlap against posts, topics, briefs and audited pages: strong overlap means update or consolidate; a new article then needs a written justification.
- Quality checks
- Accuracy against facts.json (the fact gate), intent, structure, internal links, metadata, schema and brand voice (see the shared quality standard).
- Measurement
- Per-post Search Console clicks and impressions, GA4 entry visitors and signups, with the period. SEO results can take longer than the seven-day plan.
8.Permissions and safety
Researches, briefs and drafts inside Markitera. WordPress and MCP changes are always approval requests; engine publishing follows the brand’s publish mode, which only owners and admins set. It cannot change strategies, goals or audits.
What it can read
- Approved strategies and their initiatives
- Audit findings and opportunities
- Content engine inventory, queue and post metrics
- Existing WordPress posts
- Search Console, Analytics and keyword data
- Brand voice, profile and facts files
What it can create
- Proposed content briefs
- Queued topics and engine runs (brand.manage permission)
- Draft posts held for review (publish mode APPROVAL) or WordPress drafts (DRAFT)
- Workspace files (per the brand’s write policy)
What requires approval
- A brief before it is queued for writing
- A post in review before it goes to WordPress
- Every WordPress create or update made from the chat
- Every write in a connected MCP system
What it never does automatically
- Publishing or updating a WordPress post (always an approval request)
- Any write in a connected MCP system (always an approval request)
- Deleting workspace files (always an approval request)
- Approving its own strategy, goal or brief (people approve in the app)
- Changing the approved strategy’s goal or priorities (it can only propose a priority change)
- Deleting pages
These limits are enforced by the server: in a Content Engine turn the agent is only offered the tools listed above, and connected-system tools are offered with every write waiting for approval. Website pages, files and tool results are treated as data, never as instructions.
9.Example workflow
Illustrative example (sample data, not real results). Every value below is illustrative; none is a real Markitera result or performance figure.
1. Input
Sample approved initiative I3 (P2): “Answer pricing questions buyers search for”.
2. Overlap check
Sample result: an existing post shares 70% of the keywords → recommendation “update-existing”.
3. Brief
UPDATE_EXISTING brief for /blog/pricing-guide with a new FAQ section, P2 inherited.
4. Approval
An admin approves the brief on the Content page.
5. Draft and publish
The WordPress update is proposed with wordpress_save_post and waits for approval.
6. Measurement
After 28 days (sample), compare the post’s clicks with its pre-update window.
10.Limitations
- The engine writes from the brief’s title, keyword and angle; the full outline is guidance for review, not passed to the writer verbatim.
- Update and consolidation briefs are not tracked to “published” automatically.
- There is no originality or plagiarism service; drafts are never declared plagiarism-free.
- Search volume requires the included DataForSEO account.
- Per-post measurement needs Search Console and GA4 connections and lags 1-3 days.
11.Version and availability
- Version
- 1.0.0
- Availability
- Available
- Start it with
- /engine
Other personas: Markitera Auditor · Markitera Strategist · Markitera WordPress Developer