// diagnose

Marketing Maturity Assessment

Use when the user wants to know how mature their marketing is as a whole - where the function is strong, where it is weak, and what to fix first - or wants a structured way to assess a client's or a portfolio company's marketing. Also use when the user mentions marketing maturity, marketing audit, growth audit, marketing health check, "where do we stand", "what should we fix first", or a before-and-after on the marketing function. Scores the 18 statements of AAJ's Marketing Maturity Scorecard across six dimensions, names the weak links for the company's stage, asks for the evidence behind high self-scores, and compares with a previous run. Not a benchmark against other companies.

DiagnoseengineStarter
bash
$npx skills add sarojkjha/aaj-marketing-skills --skill marketing-maturity-assessment
Or run it in Claude or ChatGPT through the AAJ engines connector

Claude Code

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

OpenAI Codex

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

Claude or ChatGPT — no install

Add this as a custom connector:

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp
Recipes: vendor data in, a verdict out

// when to use it

Use when the user wants to know how mature their marketing is as a whole - where the function is strong, where it is weak, and what to fix first - or wants a structured way to assess a client's or a portfolio company's marketing. Also use when the user mentions marketing maturity, marketing audit, growth audit, marketing health check, "where do we stand", "what should we fix first", or a before-and-after on the marketing function. Scores the 18 statements of AAJ's Marketing Maturity Scorecard across six dimensions, names the weak links for the company's stage, asks for the evidence behind high self-scores, and compares with a previous run. Not a benchmark against other companies.

// what you give

An answer from 0 (not yet) to 3 (fully) to each of 18 statements, three per dimension - positioning, audience and demand, website and conversion, sales and pipeline, retention and expansion, measurement and economics; optionally the company's stage, whether the evidence behind each dimension was checked, and the answers from a previous run

// what you get

A 0-100 score per dimension and overall with its band (Scattered, Emerging, Established, Compounding), the two or three weak links to fix first in order with the move and the skills to run, flags on any high self-score with no evidence, and the change per dimension since the previous run

Engine spec

// decision it supports

Which parts of our marketing system are the weak links to fix first for our stage?

// inputs

An answer from 0 (not yet) to 3 (fully) to each of 18 statements, three per dimension - positioning, audience and demand, website and conversion, sales and pipeline, retention and expansion, measurement and economics; optionally the company's stage, whether the evidence behind each dimension was checked, and the answers from a previous run

// output

A 0-100 score per dimension and overall with its band (Scattered, Emerging, Established, Compounding), the two or three weak links to fix first in order with the move and the skills to run, flags on any high self-score with no evidence, and the change per dimension since the previous run

// acts or analyzes

Analyzes only

Makes no network calls, writes no files and changes nothing in your tools.

// where your information goes

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.

No engine needs customer names, emails or other personal data; leave them out.

// limitations

  • It is a self-assessment against AAJ's own bands, not a benchmark. Nothing in it says how you rank against other companies.
  • Scores are only as honest as the answers. It flags high scores with no evidence marked, but cannot check the artefacts itself.
  • Each dimension is an average of three answers, so a 'fully' and a 'not yet' can land as a middling score. The engine flags the split; read the answers, not only the score.
  • The statements move over quarters, so monthly re-runs mostly show changes in how people answered, not in the function.

// review before acting

The founder or marketing lead checks the artefact behind every flagged high score (positioning statement, ICP, CAC by channel, NRR and GRR) and re-scores any that are missing before the weak links set the plan.

// setup

install
$npx skills add sarojkjha/aaj-marketing-skills --skill marketing-maturity-assessment
hosted mcp
$https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Agents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code.

Full spec on GitHub

Marketing Maturity Assessment

Marketing maturity is how well the function works as a connected system rather than a pile of tactics: a clear position, a repeatable demand engine, a site that converts, a qualified pipeline, retention that compounds, and measurement that ties it all to decisions. Most teams are strong in two of those and blind to which two are holding the rest back.

This skill runs AAJ's Marketing Maturity Scorecard as an agent: eighteen statements, three per dimension, each answered not yet / partly / mostly / fully. The scoring is the scorecard's, with no hidden weighting. What the agent adds is discipline the browser tool cannot enforce: it asks for the evidence behind any dimension that scores high, and it compares with the last run so the number means something over time. The bands are AAJ's qualitative thresholds, not percentiles; nothing here says where you rank against other companies.

When to use

The user wants a first read on a marketing function (their own, a client's, a portfolio company's), a shared vocabulary for what to fix first, or a re-read after a quarter of work.

Do not use it to plan the work in detail; campaign-orchestrator sequences the skills once the weak links are known. Do not use it as a benchmark; it is not one.

Before you start

  1. Answer as the company is today, not as the roadmap says. "Partly" is the honest answer more often than "mostly".
  2. Have the artefacts to hand for anything you are about to score high: the written positioning statement, the ICP, CAC by channel, the forecast against actual, NRR and GRR, the date of the last metrics review. The engine will ask.
  3. Pick the stage (pre-seed, seed, Series A, Series B). It changes which weak links come first, not the scores.
  4. Keep the previous run's answers so the next one can show the change.

Method

Six dimensions, three statements each. Positioning & Messaging; Audience & Demand; Website & Conversion; Sales & Pipeline; Retention & Expansion; Measurement & Economics. Each statement is scored 0-3; a dimension is the sum out of 9, normalised to 0-100; the overall score is the equal average of the six.

Four bands. Scattered (0-39): capable tactics that are not yet a system. Emerging (40-64): a system taking shape with a few clear gaps. Established (65-84): a working system whose weak links are worth sharpening. Compounding (85-100): the maths compounds and the work is the next leverage point.

Weak links for the stage. The two lowest dimensions, with the stage's focus dimensions first on a tie; a third is named only if it scores under 50 (the scorecard's rule). Pre-seed focuses on positioning and demand; seed on demand and conversion; Series A on conversion, pipeline and measurement; Series B on retention and measurement. Each weak link comes with the move and the skills that make it.

Evidence. A dimension scoring 67 or above ("mostly" across the board, an engine rule) with no evidence marked is flagged, with the artefact to check. A dimension where one statement is "fully" and another "not yet" is flagged too: the average hides it.

Change. With a previous run, the engine reports the change per dimension and overall, notes when nothing moved, and asks about any fall: a score can drop because the bar rose or because something lapsed, and those need different responses.

Workflow

Step 1 - Score, honestly, with the stage set.

Step 2 - Check the evidence for anything flagged. Re-score if the artefact is not there.

Step 3 - Take the weak links in order into campaign-orchestrator, or straight into the skills named against each.

Step 4 - Re-run in a quarter with the previous answers attached. The change is the report.

Run the tool

node resources/maturity-assessment.js --demo
node resources/maturity-assessment.js --help     # prints the 18 statements

run({ stage, answers, evidence, previous }) returns the overall score and band, each dimension's score, band and answers, the ordered weak links with move, skills and evidence to check, findings, and the delta against the previous run.

Present the result

  1. Score and band, in one line, with the stage note.
  2. The six dimensions as a table, with the change since last time if there is one.
  3. The weak links in order, each with the move and the first skill to run.
  4. The evidence flags, and what to go and find.

Guardrails & common mistakes

  • Never present the score as a benchmark. It is a self-assessment against AAJ's thresholds.
  • Never accept "fully" without the artefact. A positioning statement nobody can find is "partly".
  • Do not fix the six in parallel. Two weak links at a time; the scorecard is built to choose.
  • Do not skip the stage. A Series B company with weak positioning and weak retention should fix retention first; a pre-seed one the reverse.
  • Do not re-run monthly. The statements move in quarters.
  • campaign-orchestrator - sequences the skills for the weak links
  • brand-product-context - the brief every dimension's fix reads first
  • marketing-report - the measurement dimension's cadence
  • unit-economics - the economics behind Measurement & Economics

// faq

// install

$npx skills add sarojkjha/aaj-marketing-skills --skill marketing-maturity-assessment

// worked example

Get the worked example for Marketing Maturity Assessment

One email. The filled-in config, the output, and how to read it.

No spam. Unsubscribe anytime.

// human in the loop

Need a human in the loop?

AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.