CtrlK
BlogDocsLog inGet started
Tessl Logo

audience-generate-list

Build a person audience from an owned list — customers, leads, accounts — resolving it to Watt entity IDs and emitting a roster, or learning what defines it and handing back a tunable signal pool. The list-anchored way into a build, behind /watt:audience. Four plays — resolve-only, expand (households via addresses), lookalike (the signals that define the list, to tune), overlay (score and rank against signals); group and traverse aren't built. Produces a roster of entity IDs or a signal pool — never an export, never contact data. Not a user command — /watt:audience is the front door. Use when a list arrives to build from — "match my customer list", "find more like my customers", "rank my list by intent", "score the people from my last run". A read intent is audience-analyze-list.

71

Quality

89%

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

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 thorough, well-sequenced orchestration skill with strong workflow clarity and concrete record templates. Its main weaknesses are pervasive cross-section repetition that inflates token cost, and references to procedure files that live outside this skill's bundle.

Suggestions

Deduplicate the repeated constraints (group/traverse unavailable, IDs-only/no-contact-data, the household round-trip) into a single canonical statement in 'How to behave' and reference it elsewhere rather than restating verbatim across 6–8 sections.

Move the per-play procedure and record-format detail into the referenced context files (or a single plays.md), leaving SKILL.md as a tighter overview with one-level-deep links — this would also let the references resolve within the skill's own bundle.

Tighten the Language and Entry sections to the unique terms and routing decisions each owns, cutting re-explanations of play behavior already covered in 'The flow'.

DimensionReasoningScore

Conciseness

The body is dense and accurate but noticeably repetitive — the same constraints ('group/traverse aren't built', 'IDs only, never contact data', the household round-trip) are restated across Purpose, Works with, Language, Entry, The flow, How to behave, Refuse cleanly, and Failure modes, which is padding that could be tightened without losing clarity.

3 / 5

Actionability

Concrete guidance throughout — explicit parameters (lookup_columns, quality_floor, entity_type, workflow_id), per-play inputs/outputs, and copy-ready roster/pool record templates with column headers — but full execution still depends on the deferred context/*.md procedure files, leaving minor gaps.

4 / 5

Workflow Clarity

Sequenced flows with explicit branches (steps 1–6 for matching plays, L1–L3 for lookalike, O1–O4 for overlay), explicit validation checkpoints ('Confirm coverage honestly', 'End every turn at its question'), and feedback loops in the Failure modes section for batch resolution operations.

5 / 5

Progressive Disclosure

Well-signaled one-level-deep references to context/*.md procedures and a clear section structure, but the body is a ~245-line monolith with content that could be further split, and the referenced context files do not exist in this skill's own bundle (no references/scripts/assets dirs), so the references are not verifiable here.

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 exceptionally strong description: concrete capabilities, natural trigger phrases, explicit what/when, and crisp disambiguation from sibling skills. It uses third-person voice and carries no vague fluff or over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Build a person audience', 'resolving it to Watt entity IDs', 'emitting a roster', 'learning what defines it and handing back a tunable signal pool', 'score and rank against signals' — across four named plays, giving comprehensive coverage of capabilities.

5 / 5

Completeness

Explicitly answers both 'what' (resolve an owned list to entity IDs and emit a roster or signal pool via four plays) and 'when' ('Use when a list arrives to build from — ...' with concrete trigger phrases), plus explicit boundary notes ('never an export, never contact data', 'A read intent is audience-analyze-list').

5 / 5

Trigger Term Quality

Includes natural user-voiced trigger phrases — "match my customer list", "find more like my customers", "rank my list by intent", "score the people from my last run" — exactly what an operator would say when they need this skill.

5 / 5

Distinctiveness Conflict Risk

Clear niche — list-anchored audience build — explicitly distinguished from the description-anchored sibling and the read-intent analyze-list leaf, and names what is NOT built ('group and traverse aren't built'), minimizing conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
wattdata/plugin
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.