CtrlK
BlogDocsLog inGet started
Tessl Logo

share-of-voice-tracker

Use when the user asks to "track our share of voice", "what share of the conversation do we own vs competitors", or "trend our SOV this quarter"; computes SOV% = brand mentions ÷ (brand + competitor panel mentions) per platform per period on a LOCKED competitor panel — a panel switch invalidates the trend (restart the series and log the break; the ECHO O3 rule) — plus a sentiment-weighted SOV variant (sentiment labeled Estimated unless human-coded) and a Wikipedia-pageviews attention-share alternative; built from keyless listening connectors, gdelt.py news echo, and user exports — public counts only, closed platforms are never scraped. Not for backlink or offsite SEO signals — use offsite-signal-analyzer. 声量份额/竞品声量对比/提及份额/注意力份额

67

Quality

83%

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

71%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 well-structured, actionable overview with strong workflow gating and clean progressive disclosure. Its chief weakness is redundancy: the channel-registry routing rule and the cross-skill scope-routing list are repeated across multiple sections and could be consolidated once.

Suggestions

State the channel-registry routing rule once (e.g. in Skill Contract → Writes) and reference it from other sections instead of repeating the full sentence four times.

Consolidate the competitor-tracker / offsite-signal-analyzer / social-pulse-monitor / social-measurement-loop routing into a single Scope-guard paragraph; drop the duplicate listings in Reference Materials and Next Best Skill or link back to it.

Add a brief error-recovery note for failed connector fetches (e.g. retry/spacing guidance beyond the ≥5s gdelt rule, or how to label a missing cell) to lift workflow_clarity to the top anchor.

DimensionReasoningScore

Conciseness

Mostly efficient and free of basic-concept over-explanation, but the channel-registry routing rule ("Registry-grade channel facts go only to memory/events/channels.ndjson via an authorized operation: propose request to registry-events.py") appears ~4 times near-verbatim and the competitor-tracker/offsite-signal-analyzer/social-pulse-monitor routing list recurs across Scope guard, Reference Materials, and Next Best Skill — clear tightening opportunities.

3 / 5

Actionability

Gives concrete, executable guidance — named connectors (hn.py, bluesky.py, gdelt.py, tavily.py, pageviews.py, kg.py reconcile), memory paths, per-cell labels (Measured/proxy/Estimated), the SOV% formula, and a NEEDS_INPUT fallback — but stops short of showing actual connector invocations, leaving minor gaps.

4 / 5

Workflow Clarity

An 8-step numbered sequence with explicit validation gates (step 2 panel-break check, denominator-naming red line, per-cell labeling, a "Done when" checklist) and a NEEDS_INPUT stop; error-recovery feedback loops for failed fetches are thinner than the top anchor requires.

4 / 5

Progressive Disclosure

Clean overview structure (Quick Start, Skill Contract, Data Sources, Instructions, Save Results, Reference Materials, Next Best Skill) with one-level-deep, well-signaled external references (echo-benchmark.md, CONNECTORS.md, SECURITY.md, skill-contract.md) each annotated with its purpose.

5 / 5

Total

16

/

20

Passed

Description

95%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 specific, trigger-rich, and clearly demarcated from neighboring skills, with explicit Use-when phrasing and concrete capability enumeration. Its main weakness is density: the embedded panel-break/ECHO-O3 aside adds padding that a leaner version could move to the body.

DimensionReasoningScore

Specificity

Lists several concrete actions — "computes SOV% = brand mentions ÷ (brand + competitor panel mentions)", "sentiment-weighted SOV variant", "Wikipedia-pageviews attention-share alternative", "built from keyless listening connectors, gdelt.py news echo, and user exports" — with explicit exclusions; the parenthetical panel-switch/ECHO-O3 explanation slightly pads the action list, keeping it just below the comprehensive-but-lean 5 anchor.

4 / 5

Completeness

Explicitly answers both: "what" (SOV%, sentiment-weighted variant, attention-share alternative, data sources, exclusions) and "when" (a concrete "Use when the user asks to..." clause with quoted trigger phrases), matching the top anchor.

5 / 5

Trigger Term Quality

Embeds natural user phrasings ("track our share of voice", "what share of the conversation do we own vs competitors", "trend our SOV this quarter") plus synonyms/abbreviations (SOV, share of voice, attention share) and bilingual terms (声量份额/竞品声量对比/提及份额/注意力份额), giving comprehensive trigger coverage.

5 / 5

Distinctiveness Conflict Risk

Carves a clear niche (SOV on a LOCKED competitor panel) and explicitly routes conflicts away — "Not for backlink or offsite SEO signals — use offsite-signal-analyzer" — minimizing wrong-skill trigger risk.

5 / 5

Total

19

/

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: 32 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing

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.