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-loopsandsales-enablementare nowaaj-copywriting,aaj-marketing-psychology,aaj-programmatic-seo,aaj-marketing-loopsandaaj-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
-
- Strategy & Positioning — 12 skills, 9 engines
- Research & Personas — 4 skills, 3 engines
- SEO, GEO & AEO — 9 skills, 8 engines
- Content & Copy — 11 skills, 10 engines
- Conversion & Web — 5 skills, 4 engines
- Paid Media & Budgeting — 4 skills, 4 engines
- Analytics & Experimentation — 4 skills, 4 engines
- Sales & Pipeline — 12 skills, 9 engines
- Retention & Lifecycle — 3 skills, 2 engines
- Growth, Retention & RevOps — 9 skills, 9 engines
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.
Step-by-step instructions for every agent, Windows, Mac and Linux, and the hosted server: docs/install.md.
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:
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:
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:
- HubSpot deals into
pipeline-and-forecast: weighted forecast, coverage against your win rate, and the lever to pull. - GA4 results into
ab-test-significance: sample size before the test, a verdict after it. - Ahrefs or Semrush keyword data into
aaj-programmatic-seo: whether a template-page build pays back. - Stripe export into
unit-economics: gross-margin LTV, CAC payback, and whether your economics support growth.
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.
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
Research & Personas
SEO, GEO & AEO
Content & Copy
Conversion & Web
Paid Media & Budgeting
Analytics & Experimentation
Sales & Pipeline
Retention & Lifecycle
Growth, Retention & RevOps
Engines at a glance
Every runnable engine, and the command to try it:
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.