CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

paid-measurement-loop

Use when the user asks to "read back" a paid campaign change, "did this ad change work", or "compare ROAS/CPA before and after"; reads ROAS/CPA against a control over a fixed readback window and returns a Promote / Keep-testing / Rollback / Unproven readback decision with the math delegated to roi-calculator. Not for RQS scoring or veto adjudication — use ad-account-auditor; not for the ROI ratio math — use roi-calculator; not for cross-channel rollups — use performance-analyzer. 付费广告复盘/ROAS回看/投放效果归因

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

73%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strongly operational skill body: an unambiguous eight-step readback workflow with explicit stop conditions, a done-checklist, and concrete ledger commands. The main costs are token redundancy — the sibling-skill boundary is repeated several times — and a reference layer whose target files are not present in the bundle, leaving the decision thresholds and several cited details unverifiable.

Suggestions

State the skill-boundary rule (owns readback decision/window/control; roi-calculator owns math; ad-account-auditor owns vetoes) once — in the intro or Skill Contract — and cut its restatements in step 6, step 7, and Next Best Skill to save tokens.

Inline the concrete Promote/Rollback "bar" and the significance rule (or an example `experiment.py proportion` invocation) so the decision step is executable without the missing measurement-protocol.md reference.

Ship the referenced files (measurement-protocol.md, measurement-control.md, roas-benchmark.md, scripts/connectors/README.md, ledger.py) in the bundle or trim the dense policy detail that currently substitutes for them, so the reference layer is verifiable.

DimensionReasoningScore

Conciseness

Mostly operational, but the skill-boundary message (this skill owns window/control/decision vs roi-calculator's math vs the auditor's gate) is restated at least four times — in the intro paragraph ("distinct from `roi-calculator`... it owns only the readback decision"), step 6 ("roi-calculator owns the arithmetic"), step 7's auditor-field prohibition list, and Next Best Skill — and it explains a concept Claude already knows ("conversion lag (a click today converts days later...)"). This matches the anchor "mostly efficient but includes some unnecessary explanation or could be tightened"; it is not 4 because the repetition is systematic rather than a couple of stray sentences, and not 2 because the bulk is genuinely non-obvious domain policy.

3 / 5

Actionability

Gives a concrete, runnable ledger command with arguments — `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py" record <campaign> --source paid --data '{...}'` plus `diff` and `trend` variants — and concrete user-facing Quick Start examples. It falls short of fully copy-paste-ready (5) because the ledger payload uses `...` placeholders, the Promote/Rollback "bar" and significance thresholds are deferred to external protocol files, and the `experiment.py` helper is named but never invoked with a command.

4 / 5

Workflow Clarity

Eight clearly sequenced steps with explicit validation gates and stop rules: "If the campaign is still in learning phase, **stop**", binding mismatch → "Unproven/NEEDS_INPUT", broken tracking → mark Unproven with a required concrete repair before restart, plus a "Done when" checklist. This matches the top anchor (explicit validation steps, a repair-then-retry feedback loop, and a checklist); it is not 4 because the checkpoints are explicit and condition-enforcing, not merely present.

5 / 5

Progressive Disclosure

The body is a well-structured ~75-line overview with a dedicated Reference Materials section where each link is one level deep and annotated with what it contains (e.g. "[Measurement & Attribution Protocol] — readback windows, required readback fields, the control rule"). It falls short of 5 because none of the ~10 referenced files (measurement-protocol.md, measurement-control.md, ledger.py, sibling SKILL.mds) ship in the bundle — none of the paths resolve — and some dense policy detail (the auditor-field prohibition list, the Skill Contract's long binding requirements) reads like content that belongs in those referenced files. It is above 3 because every reference is clearly signaled and purposeful, with no nested-reference chains.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: third-person voice, concrete trigger phrases in the user's own words, a full what/when statement, and explicit exclusion clauses that route adjacent work to sibling skills. The trailing Chinese keywords broaden trigger coverage without introducing vagueness.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "reads ROAS/CPA against a control over a fixed readback window", "returns a Promote / Keep-testing / Rollback / Unproven readback decision", "with the math delegated to roi-calculator" — covering the skill's full scope including the decision taxonomy and the delegation boundary. This matches the anchor for comprehensive concrete actions; it is not the level below (4) because no capability of the skill is left unnamed.

5 / 5

Completeness

Explicitly answers both questions: "what" (reads ROAS/CPA vs a control over a fixed window, returns a four-way decision, delegates math) and "when" (a leading "Use when the user asks to..." clause with three concrete trigger phrases), plus explicit "Not for..." exclusions. It clearly matches the anchor requiring both what and when with concrete trigger phrases.

5 / 5

Trigger Term Quality

Includes natural user phrasings in quotes — "read back" a paid campaign change, "did this ad change work", "compare ROAS/CPA before and after" — plus domain keywords (ROAS, CPA, paid campaign) and Chinese synonyms (付费广告复盘/ROAS回看/投放效果归因). This comprehensive synonym coverage matches the top anchor; users would plausibly say these exact phrases.

5 / 5

Distinctiveness Conflict Risk

Carves a clear niche (the readback decision) and explicitly routes away three adjacent skills — "not for RQS scoring or veto adjudication — use ad-account-auditor; not for the ROI ratio math — use roi-calculator; not for cross-channel rollups — use performance-analyzer" — minimizing wrong-skill triggering. Not the level below (4) because overlap risk is addressed head-on rather than merely minor.

5 / 5

Total

20

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 16 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

12

/

16

Passed

Repository

aaron-he-zhu/aaron-marketing-skills

Path

ad/scale/paid-measurement-loop/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.