CtrlK
BlogDocsLog inGet started
Tessl Logo

audience-analyze-list

Read who a supplied list of people is — take a list of people as identifiers (emails, phones, names, addresses, inline or as a CSV) to resolve, or as already-resolved entity IDs (a roster from grouping, or a pasted entity-ID set), and render the discovered half of the read (the traits that define them against the world by lift, plus segmentation). No specified-signals section — the user gave people, not signals. The list way into audience-analyze, behind /watt:audience. Aggregates only — never individual records, never an export. Not a user command. Use when the user brings a list of people and asks who they are — "profile my customer list", "what do these people have in common", "read this roster's groups".

68

Quality

85%

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

75%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, specific instruction-only skill with a clear sequenced workflow and explicit failure handling. Its main weakness is dependence on referenced procedure files that are not bundled, plus some repeated statements across sections that could be consolidated.

Suggestions

Bundle or inline the contents of context/resolution.md and context/profiling.md (or link real files) so the referenced procedures are actually resolvable one level deep.

Consolidate the repeated 'IDs-only / aggregates-only / never contact records' and 'discovered-only / no signals' statements into a single canonical statement rather than restating them in Purpose, Works with, The flow, and How to behave.

Add an explicit validate-then-retry step for the resolution procedure (e.g., on low resolved_count, surface cause and re-run with corrected identifier types/column mapping) to close the workflow feedback loop.

DimensionReasoningScore

Conciseness

Dense and largely purposeful, assuming Claude's domain knowledge, but the IDs-only/aggregates-only point and the discovered-only/no-signals point are each restated across multiple sections and could be trimmed.

4 / 5

Actionability

Names exact procedure files, parameters (entity_ids_uri, entity_type, workflow_id, --no-specified), and return values with concrete narrate phrasings, but the real procedure detail lives in referenced context/*.md files that are not bundled here, slightly limiting in-file executability.

4 / 5

Workflow Clarity

Clear two-step sequence with explicit branching, skip conditions, and a Failure-modes section that surfaces counts and stops on errors; missing only an explicit validate-then-retry loop for resolution failures.

4 / 5

Progressive Disclosure

Well-organized under-50-line body with clear section headers, but it repeatedly references context/resolution.md and context/profiling.md procedure files that are not present in any bundle, leaving those references dangling rather than cleanly resolvable one level deep.

4 / 5

Total

16

/

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, specific description that clearly states both the skill's purpose and its trigger conditions with natural example phrases. It is well-differentiated from sibling audience skills, with only minor gaps in action enumeration and synonym coverage.

DimensionReasoningScore

Specificity

Names the domain and several concrete actions (resolve identifiers to entity IDs, render discovered traits by lift, segmentation, aggregates-only), but the render actions lean on parent-skill vocabulary and are not as crisply enumerated as a full action list.

4 / 5

Completeness

Explicitly answers both what (resolve a list of people into a discovered-only read with segmentation, aggregates only) and when ("Use when the user brings a list of people and asks who they are") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Includes natural user phrases like "profile my customer list", "what do these people have in common", and "read this roster's groups" that users would actually say, with only a few synonym/file-type variations missing.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (list-as-people, discovered-only, aggregates-only, behind /watt:audience) and explicitly distinguishes itself from sibling lanes like audience-activate and audience-analyze-search, minimizing conflict risk.

5 / 5

Total

18

/

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.