diagnose-underperformer

diagnose-underperformer is a skill for Claude Code from markifact/markifact-mcp. It costs 70 tokens per session (1,598 once invoked), scanned A, original, MIT.

A read-only diagnostic workflow for finding why a Google Ads or Meta Ads campaign, ad set, or advert is performing poorly. It examines reports and account settings, then ranks likely causes and suggests a next action.

In plain words
What is it for?
Use it to investigate low traffic, weak conversion rates, wasted spend, or poor return for a named advertising item over a chosen time period.
Why use it?
It replaces guesswork with a structured comparison of measures such as spend, impressions, clicks, conversions, return on ad spend, and cost per result. It does not change the advertising account.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the markifact plugin — 10 skills, 7 commands, 1 agent, 1 MCP server shipped together

Good fit Use it to investigate low traffic, weak conversion rates, wasted spend, or poor return for a named advertising item over a chosen time period.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/markifact/markifact-mcp/diagnose-underperformer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add markifact/markifact-mcp --skill diagnose-underperformer
Clone the repo
git clone --depth 1 https://github.com/markifact/markifact-mcp

Made for: Claude Code.

Or install markifact, the plugin that ships this one along with the rest of its 10 skills, 7 commands, 1 agent, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for diagnose-underperformer

README.md
[![agentmods](https://agentmods.dev/badge/skills/markifact/markifact-mcp/diagnose-underperformer/github.svg)](https://agentmods.dev/skills/markifact/markifact-mcp/diagnose-underperformer)
Your own site
<a href="https://agentmods.dev/skills/markifact/markifact-mcp/diagnose-underperformer"><img src="https://agentmods.dev/badge/skills/markifact/markifact-mcp/diagnose-underperformer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for diagnose-underperformer

Your own site · 80×15
<a href="https://agentmods.dev/skills/markifact/markifact-mcp/diagnose-underperformer"><img src="https://agentmods.dev/badge/skills/markifact/markifact-mcp/diagnose-underperformer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 70 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,598 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00070 $0.01598
Opus 5.5 $0.00028 $0.00639
Sonnet 5.5 $0.00014 $0.00320
Haiku 4.5 $0.00007 $0.00160

Measured 1mo ago against content hash d65fbc5e65c6, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

diagnose-underperformer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/hermes/markifact/skills/diagnose-underperformer/SKILL.md · 106 lines

How it starts

The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Goal

Pull the right report, walk a structured decision tree, and hand the user a ranked list of likely causes with the specific next op to call to fix it. No writes — diagnosis only.

Inputs to confirm (batch)

  1. Account name (substring) — required.
  2. Target — campaign / ad set / ad name or ID — required.
  3. Date range — default last 14 days; if the entity is < 14 days old, use its lifetime.
  4. Comparison window (optional) — previous 14 days, for trend.
  5. Primary KPI — conversions / ROAS / CPA / CPL — required if the entity has a conversion goal.

Workflow

  1. Discover ops. For Google Ads: gads_select_accounts, gads_list_report_fields, gads_get_report, gads_get_account_history. For Meta: meta_ads_select_accounts, meta_ads_list_report_fields, meta_ads_get_report, meta_ads_get_account_history, meta_ads_get_adset_settings, meta_ads_get_campaign_settings.
  2. Inspect with get_operation_inputs. Always call *_list_report_fields before *_get_report — never guess metric/dimension names.
  3. Resolve account with substring match.
  4. Pull the report at the right granularity (campaign / ad set / ad). Required metrics:
    • Spend, impressions, clicks, CTR, CPC, conversions, conv rate, CPA / ROAS, frequency (Meta), search impression share + lost-to-budget + lost-to-rank (Google Search).
  5. Pull settings/history to check for recent edits that could have triggered the dip:
    • Google: gads_get_account_history filtered to this campaign — look for budget changes, bid strategy switches, status flips, asset changes.
    • Meta: meta_ads_get_campaign_settings / meta_ads_get_adset_settings for current state, meta_ads_get_account_history for recent changes.
  6. Walk the decision tree below and rank the matching diagnoses by likelihood + impact.
  7. Present: top 3 diagnoses, evidence from data, and the exact next op to call (or the matching slash command). Do not run any write op.

Decision tree

Branch A — Low impressions / low spend (entity not delivering)

Read the full file on GitHub · 106 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 106 lines · 70 tokens per session scan A d65fbc5e65c6

Subscribe to this mod's changes

diagnose-underperformer is a skill published in the GitHub repository markifact/markifact-mcp (54 stars, last pushed 23d ago), licensed MIT. It adds 70 tokens to every session and 1,598 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-21.

Related

Other skills, from other repositories

chief-financial-officer

Owns the financial position: planning, budgeting, forecasting, unit economics, cash, and the numbers the business is run and reported on. Use this to build or challenge a budget, model a decision's financial consequence, assess unit economics or runway, evaluate an investment or spend request, set financial controls…

cbrock84/headcount · 0 tokens

chief-strategy-officer

Owns where the business plays and how it wins over a multi-year horizon — portfolio choices, corporate development, strategic partnerships, and planning under uncertainty. Use this for a decision about which markets or businesses to be in, whether to build, buy, or partner, how to allocate capital across business…

cbrock84/headcount · 93 tokens

seo-strategy

Audits and improves organic search performance — technical health, site architecture, internal linking, structured data, and the content decisions that determine what can rank. Use this to run an SEO audit, diagnose why pages are not ranking or were deindexed, plan a site's URL and navigation structure, add structured…

cbrock84/headcount · 74 tokens

service-desk

Runs the IT service desk — intake, triage, prioritization, escalation, knowledge, and the metrics that improve service rather than distort it. Use this to set up or fix a service desk, design ticket priority and escalation, reduce repeat contacts, structure a knowledge base, or work out why a desk hitting its targets…

cbrock84/headcount · 73 tokens

telephony-and-conferencing

Runs voice and meeting infrastructure — phone systems and numbers, emergency calling obligations, conference rooms and their AV, call recording and its retention consequences, and the porting that makes provider changes go badly. Use this to replace a phone system, fix rooms nobody can start a meeting in, meet…

cbrock84/headcount · 85 tokens

head-of-pmo

The EPMO lead's remit — what the PMO governs, what it must never become, and how it earns standing rather than compliance. Use this to stand up or reform a PMO, decide what it should and should not control, judge whether it is adding value or overhead, or work out why teams route around it.

cbrock84/headcount · 72 tokens