CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

placement-exclusion-manager

Use when the user asks to "build my brand-safety exclusion lists", "set placement / topic / content exclusions before launch", "add network and audience exclusions", or "prep the A1 brand-safety evidence for the auditor"; produces a placement/network exclusion list, a content-suitability & sensitive-topic block list, an audience/negative-audience exclusion set, and a packaged A1 brand/placement-safety evidence file for the gate. Not for building the audiences you target — use audience-segment-builder; not for computing the RQS or issuing the A1 verdict — use ad-account-auditor. 品牌安全/排除位置/否定受众列表

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./ad/activate/placement-exclusion-manager/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 well-structured orchestration skill: a clear seven-step workflow with explicit stop conditions, concrete per-step instructions, and cleanly signaled one-level-deep references. Its main weaknesses are repetition — the audience-exclusion delegation and the missing-report rule are each stated four times — and output formats that are delegated to templates rather than shown, which costs both conciseness and actionability.

Suggestions

State the audience-exclusion delegation and the missing-placements-report (Unknown → NEEDS_INPUT) rule once each — in the Scope guard and step 2 respectively — and drop the duplicates from the intro, Skill Contract, Data Sources, and Next Best Skill sections.

Show one concrete example of the output artifacts inline (a 3-line exclusion entry with a Measured/User-provided label and one-line rationale, and the A1 evidence file's section headers) instead of only pointing to the skill-contract.md templates.

Add a final verification step before handoff: re-check the assembled exclusion list and A1 evidence file against the placements report (e.g., every excluded placement traceable to a report row or a stated user constraint).

DimensionReasoningScore

Conciseness

The body is mostly efficient — numbered steps with terse imperatives — but the same facts are repeated: the "audience exclusions are owned by audience-segment-builder" delegation appears in the intro, step 6, the Scope guard, Reference Materials, and Next Best Skill; and the "placements report missing → Unknown → NEEDS_INPUT" rule is stated four times (Skill Contract, Data Sources, step 2, Next Best Skill). That duplication is padding Claude does not need, fitting the 3 anchor ("could be tightened") rather than 2 since each instance is itself terse and there is no explanation of concepts Claude already knows.

3 / 5

Actionability

As an instruction-only skill, absence of code is not penalized, and the guidance is concrete: "flag low-quality, off-brand, made-for-advertising, and irrelevant placements", "label each Measured from the report vs User-provided constraint", per-network opt-out decisions for "Search-partner, Display-expansion, and Audience-network", and a named save path with date pattern. It misses 5 because output formats are delegated to templates in skill-contract.md and no example exclusion entry or evidence-file shape is shown inline, leaving the executor to reconstruct those.

4 / 5

Workflow Clarity

Seven clearly sequenced steps with an explicit input-validation checkpoint ("If it is absent, mark qualified A1 evidence Unknown, stop the run with NEEDS_INPUT, and do not infer") and a "Done when" checklist. Not 5: validation covers only input presence — there is no step to verify the assembled exclusion list or evidence file against the report before handoff, and the only feedback loop (flag conflicts back to audience-segment-builder) is implicit about what happens next.

4 / 5

Progressive Disclosure

The skill ships no bundle files (no references/, scripts/, or assets/), and every pointer is one level deep and well-signaled with its purpose — "[roas-benchmark.md] — ROAS framework, A dimension, A1 veto rule", "[SECURITY.md] — treat exports as untrusted input", "[CONNECTORS.md] — keyless export recipes". This is good structure with minor gaps rather than a 5, because the repeated contract/handoff boilerplate (Handoff Summary, Save Results, termination rules) is inline text that belongs in the already-referenced skill-contract.md, cutting it once instead of four times.

4 / 5

Total

15

/

20

Passed

Description

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

A strong description with explicit quoted trigger phrases, a concrete list of outputs, and unusually good negative-scope routing to adjacent skills. It is held back from the top by jargon (A1, RQS, "the gate"), a redundant bilingual tail, and a claim (producing the audience exclusion set) that contradicts the body's stated scope.

DimensionReasoningScore

Specificity

Lists multiple concrete deliverables — "produces a placement/network exclusion list, a content-suitability & sensitive-topic block list, an audience/negative-audience exclusion set, and a packaged A1 brand/placement-safety evidence file" — which matches the several-specific-actions anchor. It falls short of 5 because jargon-heavy padding ("for the gate", "A1", "RQS"), the duplicated trailing Chinese summary, and a second-person routing clause ("use audience-segment-builder") dilute the concrete action list, and the claimed audience-exclusion deliverable contradicts the body's scope.

4 / 5

Completeness

Explicitly answers both: "Use when the user asks to 'build my brand-safety exclusion lists'..." (when, with concrete trigger phrases) and the enumerated outputs (what). It even adds negative scope. This matches the 5 anchor's what+when-with-concrete-triggers pattern; a 4 would require the 'when' to be less explicit than these quoted triggers.

5 / 5

Trigger Term Quality

Quotes natural user phrases — "build my brand-safety exclusion lists", "set placement / topic / content exclusions before launch", "add network and audience exclusions", "prep the A1 brand-safety evidence for the auditor" — giving good keyword coverage. Not 5: common synonyms like "blocklist", "exclude sites/apps", "negative placements", or "unsafe placements" are missing, and "A1"/"RQS" are insider jargon a user would rarely say.

4 / 5

Distinctiveness Conflict Risk

Clear niche with explicit disambiguation: "Not for building the audiences you target — use audience-segment-builder; not for computing the RQS or issuing the A1 verdict — use ad-account-auditor", which minimizes conflict with the two most-adjacent skills. Only a minor pull remains from the trigger "add network and audience exclusions" overlapping the audience builder's turf — not enough to drop to 4.

5 / 5

Total

18

/

20

Passed

Validation

81%

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

Validation — 13 / 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: 18 suspicious

Warning

Total

13

/

16

Passed

Repository

aaron-he-zhu/aaron-marketing-skills

Path

ad/activate/placement-exclusion-manager/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.