CtrlK
BlogDocsLog inGet started
Tessl Logo

fatigue-frequency-manager

Use when the user asks to "is my ad fatiguing", "why is CTR dropping at scale", or "should I rotate creative / widen the audience"; reads frequency, CTR and CVR decay against an early-flight baseline and returns Rotate-creative / Widen-audience / Hold triggers with a per-ad-set fatigue read. Not for building the replacement creative — use ad-creative-builder; not for the RQS score or vetoes — use ad-account-auditor. 广告疲劳检测/频次管理/换素材还是扩人群

72

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

85%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.

The body is a tightly structured, actionable diagnostic workflow with explicit validation and routing, and clean one-level-deep reference navigation. Its only weaknesses are mild: some repeated boundary statements and a couple of thresholds deferred to external references.

Suggestions

State the working frequency ceiling range inline (e.g., a prospecting vs warm-retargeting band) instead of only linking to measurement-protocol.md, so a fatigue read can be completed from the body alone.

Consolidate the "not for replacement creative / not for RQS" boundary into one stated-once section (e.g., Skill Contract) and reference it rather than restating it in the intro, Reference Materials, and Next Best Skill.

Optionally inline a one-line example of the decay-slope output shape (frequency now vs baseline · CTR slope · CVR slope) so the expected per-ad-set read is copy-paste concrete.

DimensionReasoningScore

Conciseness

It assumes Claude's competence (no basic-concept padding) and is mostly lean, but the "not for replacement creative / not for RQS" boundary is restated ~4 times across the intro, Reference Materials, and Next Best Skill — minor redundancy that could be trimmed. Not a 5 because the repetition does not earn every token; not a 3 because nothing is conceptually over-explained.

4 / 5

Actionability

Provides concrete executable commands (ledger.py record … --data '{…}' and ledger.py trend … --field ctr), explicit diagnosis rules, and a save-path pattern, but the working frequency ceiling is deferred to measurement-protocol.md rather than stated inline — a minor self-containment gap. Not a 5 because not every common case is copy-paste ready from the body alone; not a 3 because the commands and decision rules are concrete and executable.

4 / 5

Workflow Clarity

Six sequenced steps with explicit validation checkpoints ("If the set is still in learning, stop", step-5 CVR truth-set check) and an error-recovery feedback loop (dirty tracking data → flag → route to auditor instead of firing a trigger), plus a stop/continue Decision Gate. This is a read/diagnosis skill, so the destructive/batch cap-3 rule does not apply.

5 / 5

Progressive Disclosure

Well-organized sections (Quick Start, Skill Contract, Data Sources, Instructions, Decision Gate, Save Results, Reference Materials, Next Best Skill) with one-level-deep, clearly-signaled references (skill-contract.md, CONNECTORS.md, SECURITY.md, measurement-protocol.md, roas-benchmark.md, connectors README), each given a purpose statement. No nested references.

5 / 5

Total

18

/

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.

The description is a strong, complete trigger: it states concrete capabilities, natural user phrases, an explicit Use-when clause, and clear boundaries against sibling skills. No significant weakness across any dimension.

DimensionReasoningScore

Specificity

"reads frequency, CTR and CVR decay against an early-flight baseline and returns Rotate-creative / Widen-audience / Hold triggers with a per-ad-set fatigue read" lists multiple specific concrete actions with comprehensive coverage, matching the score-5 anchor.

5 / 5

Completeness

Explicitly answers both what ("reads … decay … returns … triggers") and when ("Use when the user asks to …") with concrete trigger phrases, matching the clearly-both anchor.

5 / 5

Trigger Term Quality

Quotes natural user phrases ("is my ad fatiguing", "why is CTR dropping at scale", "should I rotate creative / widen the audience") with synonyms (rotate/widen/fatiguing), giving comprehensive coverage of terms a user would actually say.

5 / 5

Distinctiveness Conflict Risk

Carves a clear niche with explicit anti-conflict boundaries ("Not for building the replacement creative — use ad-creative-builder; not for the RQS score or vetoes — use ad-account-auditor"), minimizing wrong-skill triggering.

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.

Validation12 / 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: 14 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
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.