AAJ Marketing Engine

Deterministic marketing math for agents: unit economics, pipeline forecast, A/B significance, budget allocation and pricing engines, plus the method behind each. Hosted or local.

Hosted MCP Server

npx add-mcp 'https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

The math layer for marketing agents

73 marketing skills for AI agents, and **62 of them run real engines**. Each engine is a dependency-free Node script. It takes your numbers and returns a number and a verdict: LTV:CAC and payback, pipeline coverage, A/B significance, budget splits, price ladders, NRR, market size, inference cost.

Most marketing skills are writing instructions. They help an agent draft a page, an email or a plan, so keep them. These add the arithmetic underneath. The agent that drafts your pricing page can check whether the price still covers inference cost. The agent that writes the board update can compute the forecast instead of estimating it. Same input, same output, and code you can read.

Works with Claude Code, OpenAI Codex, Cursor, Windsurf, Cline and any agent that supports the Agent Skills spec. Free, MIT, no API key, and the engines make no network calls.

Built by Saroj Jha / AAJ. Browsable library at skills.aajconsult.com.

If an engine saves you a spreadsheet, star the repo. Stars are how other founders, and the directories agents search, find it. Questions and engine requests go in Discussions.

Renamed on Oct 11, 2026. copywriting, marketing-psychology, programmatic-seo, marketing-loops and sales-enablement are now aaj-copywriting, aaj-marketing-psychology, aaj-programmatic-seo, aaj-marketing-loops and aaj-sales-enablement. Another popular library publishes skills under the same five names, so with the prefix both install side by side. The hosted MCP server still answers to the old names.


Contents


Quick start

# everything
npx skills add sarojkjha/aaj-marketing-skills

# one skill
npx skills add sarojkjha/aaj-marketing-skills --skill unit-economics

# see what's available
npx skills add sarojkjha/aaj-marketing-skills --list

Installs to .agents/skills/, and symlinks into .claude/skills/ for Claude Code.

Then run any engine with no configuration at all:

node .agents/skills/unit-economics/resources/unit-economics.js --demo
AAJ Unit Economics -- subscription
------------------------------------------------------
Gross-margin LTV        $13,333   (3.0% monthly churn (~33.3 mo lifetime))
CAC                     $3,000
LTV : CAC               4.4:1
CAC payback             7.5 mo

[OK] LTV:CAC 4.4:1 is at or above the 3:1 floor.
[OK] CAC payback 7.5 mo is within the ~12-month guideline for subscription.

Swap the demo values for your own and it works the same way.

From a clone of this repo, paths are skills/<slug>/resources/… instead of .agents/skills/<slug>/resources/….


Install as a Claude Code or Codex plugin

Claude Code. In Claude Code 2.1.275 or later, one line adds the marketplace and opens the plugin:

/plugin install aaj-marketing-skills --marketplace sarojkjha/aaj-marketing-skills

On earlier versions, run two commands:

/plugin marketplace add sarojkjha/aaj-marketing-skills
/plugin install aaj-marketing-skills@aaj

The skills then appear as /aaj-marketing-skills:<skill>. The plugin also starts the local AAJ engines MCP server (platform/mcp/server.mjs, Node 18+), so Claude can call run_engine directly. It runs on your machine and AAJ receives nothing. Updates arrive when you run /plugin marketplace update aaj.

OpenAI Codex. Add the marketplace, then install the plugin (or browse it with /plugins inside Codex):

codex plugin marketplace add sarojkjha/aaj-marketing-skills
codex plugin add aaj-marketing-skills@aaj

codex plugin marketplace upgrade aaj picks up new skills. Codex reads .agents/plugins/marketplace.json, and both clients load every skill in skills/.


Use it from an MCP client

Instead of installing the skills into a project, you can expose all 73 skills and all 62 engines to any MCP client — Claude Desktop, Claude Code, Cursor, Windsurf — as five tools:

ToolWhat it does
list_enginesEvery runnable engine, grouped by category
describe_engineOne engine's input schema, units and worked example
run_engineRuns it on your numbers, or the demo if you pass none
search_skillsFinds a skill by the problem, not the name
get_skillThe full method for one skill

Hosted, no install. Add this URL as a custom connector (a remote MCP server) in Claude, ChatGPT or any MCP client:

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

No sign-in. The server runs the engines in memory and keeps no copy of what you send (what happens to your data). In Claude: Settings → Connectors → Add custom connector. Then ask, for example, "Use the AAJ engines to check my unit economics: CAC $1,200, ARPA $300 a month, 80% gross margin, 3% monthly churn."

Local. Clone the repo and point your client at one file. Node 18+, no dependencies, no build step:

{
  "mcpServers": {
    "aaj-engines": {
      "command": "node",
      "args": ["/absolute/path/to/aaj-marketing-skills/platform/mcp/server.mjs"]
    }
  }
}

Your agent can then find the right method for a problem and run the math on your numbers, rather than estimating. Run locally, AAJ receives nothing; your agent's model provider still sees what you give the agent.

What happens to your data

The engines are deterministic scripts. They make no network calls, write no files and take no actions in your tools; they compute and return text and JSON. Where your numbers travel depends on how you run them:

How you run itWhere your inputs go
Skill installed in your agent, or the local MCP serverThe engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms.
Hosted MCP serverYour agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days.

Don't pass customer names, emails or other personal data to an engine; none of them needs it.

Setup for each client, troubleshooting, and the smoke test: platform/mcp/README.md.


Recipes: vendor data in, a verdict out

Vendor MCP servers bring the data; the engines turn it into a verdict. Each recipe is a prompt to paste, a field-by-field mapping and the checks to make before you trust the result:


What a runnable engine means

Most agent skills are instructions. These are too — but 62 of them also ship a dependency-free Node script that does the arithmetic and returns a judgement.

Instruction-only skillSkill with an engine
OutputGuidance the agent paraphrasesDeterministic numbers
ReproducibleNoYes — same input, same output
VerifiableYou trust the modelYou read the code
Runs without an agentNoYes, node …

Every engine accepts --demo (a worked example, no config), --help (the input schema), and a JSON payload for your own numbers. Engines validate input and fail loudly rather than returning a confident wrong answer.


The catalog

E marks a skill with a runnable engine. Phase refers to AAJ's Diagnose → Design → Execute method.

Strategy & Positioning

SkillWhat it doesPhase
Eaaj-marketing-psychologyDiagnoses which decision friction blocks the buyer, with a line between persuasion and manipulation.Design
Eai-inference-pricingChecks that an AI plan's price still covers inference when usage spikes.Design
brand-product-contextBuilds the shared brand brief every other skill reads first.Diagnose
Ecampaign-orchestratorDiagnoses which play applies, then sequences the other skills in order.Diagnose
Ecompetitor-messaging-matrixReads rival homepages side by side and says which claims are crowded, which are open, and whether your headline blends in.Diagnose
Emarket-sizingSizes TAM, SAM and SOM bottom-up, with SOM set by capacity rather than a share of the market.Diagnose
Emarketing-maturity-assessmentScores marketing as a system across six dimensions, and names the weak links to fix first for your stage.Diagnose
messaging-frameworkStructures the message hierarchy beneath the positioning.Design
Epositioning-statementProduces a positioning statement pressure-tested against the competitive alternative.Design
Epricing-and-packagingDesigns tiers with an anchor check and a willingness-to-pay read.Design
Epricing-page-teardownScores a pricing page on 21 buyer checks, and says whether a price test can answer the question at your traffic.Diagnose
value-propositionSharpens the value proposition into something defensible.Design

Research & Personas

SkillWhat it doesPhase
Ecustomer-interview-synthesisTurns coded interview notes into ranked patterns and anecdotes, and says whether you can stop interviewing.Diagnose
Ecustomer-survey-designDesigns surveys that produce usable answers, with sample sizing and segments.Diagnose
persona-builderBuilds personas from evidence rather than imagination.Design
Ereview-miningCodes pasted reviews of you and your rivals into themes, switching reasons, feature asks and buyer language.Diagnose

SEO, GEO & AEO

SkillWhat it doesPhase
Eaaj-programmatic-seoModels whether a template-page build pays back before anything gets written.Design
Eagent-readiness-auditScores whether an AI agent buying for a customer can find, evaluate and transact with you.Diagnose
Econtent-decaySorts a Search Console export into decaying, demand-drop, snippet-loss, rising and stable pages, and ranks what to refresh by clicks lost.Diagnose
Egeo-citation-trackerMeasures whether AI engines name and cite you, and refuses to report noise as movement.Execute
geo-content-optimizationRewrites a page to maximise the chance an AI engine cites it.Execute
Esearch-demand-readerReads a Search Console Queries export by intent and topic, and names the demand you already appear for but do not yet win.Diagnose
Eseo-content-briefProduces a writer-ready brief: intent, answer block, entities, internal links.Design
Eseo-geo-aeo-auditScores a page 0-100 across SEO, GEO and AEO, with fixes in priority order.Diagnose
Estructured-data-for-ai-searchMaps schema types to pages, then checks each page's JSON-LD against Google's docs and the visible text.Execute

Content & Copy

SkillWhat it doesPhase
Eaaj-copywritingRewrites page copy to ladder to the positioning, scored on claim-defensibility.Execute
Eai-marketing-governanceScores whether a team's AI use is governed, and refuses citations that cannot be checked.Execute
Ebrand-voice-definitionDerives the measurable half of a voice guide from writing you agree sounds right, as a checkable profile.Design
Ebrand-voice-governanceChecks content block by block against your own voice rules, with a pass/revise verdict.Execute
Ecase-study-and-proofScores whether proof would convince a sceptic, and whether you may publish it at all.Execute
Eclaims-and-proof-checkFlags every claim in your copy that needs proof or consent, sentence by sentence, with the regulator's own guidance.Execute
Ecomparison-pagesBuilds vs and alternatives pages with sourced, dated rival facts, and checks they admit where the rival wins.Execute
Econtent-calendar-planningCosts a content plan in hours against real capacity, and names what to cut.Execute
content-repurposingTurns one pillar asset into channel-adapted derivatives, reusing only what it says.Execute
Efounder-led-contentScores a founder's channel setup, and checks a post against the themes only they can write.Execute
Epr-and-earned-mediaScores a story before it is pitched, and aims it at twenty of the right people.Execute

Conversion & Web

SkillWhat it doesPhase
landing-page-briefSpecs a landing page before anyone designs it.Execute
Elead-magnet-and-free-tool-designScores lead-magnet and free-tool ideas on the job they do against build effort, and judges live ones on qualified leads.Design
Eplg-upgrade-promptsReads each upgrade prompt's funnel with honest intervals and names the prompt and stage to fix first.Diagnose
Esignup-flow-optimizerScores signup friction and ranks what to remove by what it's worth.Execute
Ewebsite-conversion-auditAudits a page for conversion friction and grades it.Diagnose

Paid Media & Budgeting

SkillWhat it doesPhase
Ead-creative-testingSizes a creative test before it runs, and refuses to name a winner the data cannot back.Execute
Emarketing-budget-planningSizes a marketing budget by stage, shows where each figure comes from, and splits it by function.Design
Epaid-media-budget-allocationSplits spend across channels to hit a CAC target, with diminishing returns modelled.Design
Epaid-search-account-auditAudits a search account against its own target: tracking, waste, starved winners, pages. Fixes ranked by spend.Diagnose

Analytics & Experimentation

SkillWhat it doesPhase
Eab-test-significanceChecks whether an A/B result is significant, or sizes a test before you run it.Execute
Eincrementality-and-mmmDesigns and reads holdout tests honestly, including whether they could ever have answered.Diagnose
Emarketing-reportTurns funnel, spend and pipeline numbers into a board-ready narrative.Execute
Eunit-economicsComputes LTV, CAC, payback and the ratio, then returns a verdict against named reference points.Diagnose

Sales & Pipeline

SkillWhat it doesPhase
Eaaj-sales-enablementAudits sales assets against what each deal stage needs, and ranks what to build by the revenue being lost.Execute
Eabm-program-designChecks whether the team can run the account list and whether the list hits the number.Design
Ebuying-committee-mapMaps who must say yes, what each must believe, and who you cannot reach, then orders the next conversations.Design
cold-email-sequenceWrites outbound sequences that survive a reply-rate audit.Execute
discovery-call-frameworkStructures discovery so the call qualifies rather than pitches.Execute
Elead-handoff-slaChecks whether MQLs get worked on time, whether sales takes them, and whether the threshold is in the right place.Execute
Eobjection-handlingBuilds responses to the objections that lose deals, and checks the battlecard before reps use it.Design
Epilot-to-contractPlans a pilot backwards from the buyer's budget date, so a pilot that works becomes a contract.Design
Epipeline-and-forecastWeights pipeline by stage and says whether coverage is real.Execute
sales-process-designDesigns the stages and exit criteria a forecast can rely on.Design
Etarget-account-listScores and tiers accounts by ICP fit, showing the signals each matched.Design
Ewin-loss-analysisFinds the Pareto of why deals are actually lost, by revenue.Diagnose

Retention & Lifecycle

SkillWhat it doesPhase
Eemail-lifecycle-sequenceMaps which lifecycle sequences exist, checks send load, writes the missing ones.Execute
Elifecycle-and-retentionComputes churn, NRR, GRR and quick ratio, then diagnoses which one to fix.Design
onboarding-activationDefines the activation moment from data and finds where new users stall.Execute

Growth, Retention & RevOps

SkillWhat it doesPhase
Eaaj-marketing-loopsComputes the loop factor, finds the throttling stage, projects users over time.Design
Ecommunity-and-dark-socialMaps where buyers already talk, decides whether to open your own community, and measures dark social by asking.Execute
Ecreator-partnershipsPays creators for the buyers they reach, not their follower count, and judges the result on what it sold.Execute
Efirst-marketing-hireWrites the first marketer's scorecard, then scores the panel's evidence and calls hire, no-hire or more evidence.Design
Emarketing-leadership-modelPrices in-house, fractional and agency with ramp, search time and your own hours, and says which shape fits.Diagnose
Epartnerships-and-co-marketingScores partners on audience overlap rather than fame, and judges the result on pipeline.Execute
Eproduct-launchTiers a launch, scores readiness on a twelve-item gate, and builds the dated work-back plan.Execute
Ereferral-program-designDesigns who to ask and what to reward, then prices referral against the CAC it replaces.Design
Ewebinar-and-event-programsSizes a webinar backwards from the pipeline it must create, and judges it on meetings and pipeline against cost.Execute

Engines at a glance

Every runnable engine, and the command to try it:

SkillCommand
aaj-copywritingnode .agents/skills/aaj-copywriting/resources/copy-scorer.js --demo
aaj-marketing-loopsnode .agents/skills/aaj-marketing-loops/resources/loop-model.js --demo
aaj-marketing-psychologynode .agents/skills/aaj-marketing-psychology/resources/pattern-check.js --demo
aaj-programmatic-seonode .agents/skills/aaj-programmatic-seo/resources/pseo-model.js --demo
aaj-sales-enablementnode .agents/skills/aaj-sales-enablement/resources/enablement-audit.js --demo
ab-test-significancenode .agents/skills/ab-test-significance/resources/significance.js --demo
abm-program-designnode .agents/skills/abm-program-design/resources/abm-design.js --demo
ad-creative-testingnode .agents/skills/ad-creative-testing/resources/creative-test.js --demo
agent-readiness-auditnode .agents/skills/agent-readiness-audit/resources/agent-readiness.js --demo
ai-inference-pricingnode .agents/skills/ai-inference-pricing/resources/inference-pricing.js --demo
ai-marketing-governancenode .agents/skills/ai-marketing-governance/resources/ai-governance.js --demo
brand-voice-definitionnode .agents/skills/brand-voice-definition/resources/voice-derive.js --demo
brand-voice-governancenode .agents/skills/brand-voice-governance/resources/voice-check.js --demo
buying-committee-mapnode .agents/skills/buying-committee-map/resources/buying-committee.js --demo
campaign-orchestratornode .agents/skills/campaign-orchestrator/resources/decision-guides.js --demo
case-study-and-proofnode .agents/skills/case-study-and-proof/resources/proof-check.js --demo
claims-and-proof-checknode .agents/skills/claims-and-proof-check/resources/claims-check.js --demo
community-and-dark-socialnode .agents/skills/community-and-dark-social/resources/dark-social-read.js --demo
comparison-pagesnode .agents/skills/comparison-pages/resources/comparison-check.js --demo
competitor-messaging-matrixnode .agents/skills/competitor-messaging-matrix/resources/messaging-matrix.js --demo
content-calendar-planningnode .agents/skills/content-calendar-planning/resources/calendar-engine.js --demo
content-decaynode .agents/skills/content-decay/resources/content-decay.js --demo
creator-partnershipsnode .agents/skills/creator-partnerships/resources/creator-fit.js --demo
customer-interview-synthesisnode .agents/skills/customer-interview-synthesis/resources/interview-synthesis.js --demo
customer-survey-designnode .agents/skills/customer-survey-design/resources/survey-design.js --demo
email-lifecycle-sequencenode .agents/skills/email-lifecycle-sequence/resources/lifecycle-audit.js --demo
first-marketing-hirenode .agents/skills/first-marketing-hire/resources/hire-scorecard.js --demo
founder-led-contentnode .agents/skills/founder-led-content/resources/founder-channel.js --demo
geo-citation-trackernode .agents/skills/geo-citation-tracker/resources/citation-tracker.js --demo
incrementality-and-mmmnode .agents/skills/incrementality-and-mmm/resources/incrementality.js --demo
lead-handoff-slanode .agents/skills/lead-handoff-sla/resources/handoff-sla.js --demo
lead-magnet-and-free-tool-designnode .agents/skills/lead-magnet-and-free-tool-design/resources/lead-magnet-fit.js --demo
lifecycle-and-retentionnode .agents/skills/lifecycle-and-retention/resources/retention.js --demo
market-sizingnode .agents/skills/market-sizing/resources/market-size.js --demo
marketing-budget-planningnode .agents/skills/marketing-budget-planning/resources/budget-planner.js --demo
marketing-leadership-modelnode .agents/skills/marketing-leadership-model/resources/leadership-model.js --demo
marketing-maturity-assessmentnode .agents/skills/marketing-maturity-assessment/resources/maturity-assessment.js --demo
marketing-reportnode .agents/skills/marketing-report/resources/marketing-report.js --demo
objection-handlingnode .agents/skills/objection-handling/resources/battlecard.js --demo
paid-media-budget-allocationnode .agents/skills/paid-media-budget-allocation/resources/allocation-engine.js --demo
paid-search-account-auditnode .agents/skills/paid-search-account-audit/resources/search-audit.js --demo
partnerships-and-co-marketingnode .agents/skills/partnerships-and-co-marketing/resources/partner-fit.js --demo
pilot-to-contractnode .agents/skills/pilot-to-contract/resources/pilot-plan.js --demo
pipeline-and-forecastnode .agents/skills/pipeline-and-forecast/resources/forecast.js --demo
plg-upgrade-promptsnode .agents/skills/plg-upgrade-prompts/resources/upgrade-funnel.js --demo
positioning-statementnode .agents/skills/positioning-statement/resources/positioning.js --demo
pr-and-earned-medianode .agents/skills/pr-and-earned-media/resources/newsworthiness.js --demo
pricing-and-packagingnode .agents/skills/pricing-and-packaging/resources/price-packaging.js --demo
pricing-page-teardownnode .agents/skills/pricing-page-teardown/resources/pricing-teardown.js --demo
product-launchnode .agents/skills/product-launch/resources/launch.js --demo
referral-program-designnode .agents/skills/referral-program-design/resources/referral-economics.js --demo
review-miningnode .agents/skills/review-mining/resources/review-miner.js --demo
search-demand-readernode .agents/skills/search-demand-reader/resources/search-demand.js --demo
seo-content-briefnode .agents/skills/seo-content-brief/resources/brief-check.js --demo
seo-geo-aeo-auditnode .agents/skills/seo-geo-aeo-audit/resources/score.js --demo
signup-flow-optimizernode .agents/skills/signup-flow-optimizer/resources/friction-score.js --demo
structured-data-for-ai-searchnode .agents/skills/structured-data-for-ai-search/resources/schema-check.js --demo
target-account-listnode .agents/skills/target-account-list/resources/score-accounts.js --demo
unit-economicsnode .agents/skills/unit-economics/resources/unit-economics.js --demo
webinar-and-event-programsnode .agents/skills/webinar-and-event-programs/resources/event-program.js --demo
website-conversion-auditnode .agents/skills/website-conversion-audit/resources/score.js --demo
win-loss-analysisnode .agents/skills/win-loss-analysis/resources/win-loss.js --demo

Methodology

Every skill is tagged to a phase, and the ordering is deliberate — the catalog refuses to let you execute before you have diagnosed.

  • Diagnose (20 skills) — find out what is actually broken before choosing a fix.
  • Design (23 skills) — decide the approach, with the trade-offs stated.
  • Execute (30 skills) — build and ship it.

If you do not know where to start, campaign-orchestrator diagnoses which play applies and sequences the rest for you.

New to the catalog? Run brand-product-context first. It builds the shared brief every other skill reads.


Authoring & contributing

See AUTHORING_GUIDE.md for the standard every skill follows, and SKILL_TEMPLATE.md to start a new one.


Credits & license

MIT — use freely, commercially or otherwise.

Built by Saroj Jha / AAJ, a marketing consultancy for Seed–Series B startups. The Agent Skills spec and Corey Haines' coreyhaines31/marketingskills (MIT) were references for structure and topic coverage; all AAJ skills are independently written and grounded in AAJ's own tools and methodology.