CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dark-social-attributor

Use when the user asks to "figure out where our direct traffic really comes from", "measure dark social", "add a how-did-you-hear-about-us field", or "show social drives signups without click data"; produces a share-link/UTM hygiene spec for owned share surfaces, a self-reported attribution field design that replaces an existing form field (free-text first, coded later), a GA4 direct-traffic decomposition read (deep-URL directs, mobile-app skew, private-push correlation) with every derived number hard-labeled Estimated/proxy, and a branded-search-lift proxy from GSC plus Wikipedia pageviews — the declared dark-social method behind ECHO O2. Not for paid-channel attribution reconciliation (platform-claimed vs analytics conversions) — use attribution-reconciler. 暗社交归因/直接流量分解/自报来源字段/分享链路UTM

Quality

87%

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

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.

The body is a well-sequenced, domain-specific instruction skill: an 8-step procedure, explicit done-when validation, hard labeling rules, and clear routing to sibling skills. Its weaknesses are repetition — the sole-writer, propose-event, and no-automation rules are each stated 2-3 times — and a sprawl of external cross-references that are not verifiable within the bundle.

Suggestions

State the channel-registry sole-writer / propose-via-registry-events.py rule once (e.g. in Skill Contract Writes) and reference it from step 7 and Save Results instead of repeating the full sentence three times.

Consolidate the no-automation red line for closed platforms (scope guard, step 1, and Data Sources all restate it) into one canonical statement, keeping only the WeChat-specific 风控/封号 rationale where it is needed.

Collect the cross-skill routing links (attribution-reconciler, email-sequence-designer, consent-registry, social-measurement-loop, social-pulse-monitor) into the existing Reference Materials / Next Best Skill sections and drop the inline duplicates in the scope guard and procedure steps.

DimensionReasoningScore

Conciseness

Mostly efficient and free of basic-concept explanations, but noticeably tightened-candidate material: 'channel-registry is the sole writer of memory/channels/' appears in Writes, step 7, and Save Results; the propose-via-registry-events.py instruction is given three times; and the no-automation red line is restated three times (scope guard, step 1's 风控/封号 note, Data Sources). This fits the 3 anchor ('some unnecessary explanation or could be tightened') better than the 4 anchor, where trims would be minor.

3 / 5

Actionability

Concrete, specific guidance throughout: a sample UTM taxonomy ('utm_source=<surface>&utm_medium=social-share'), a runnable command ('python3 scripts/connectors/pageviews.py'), a timed field-coding plan ('run 2-4 weeks, then code recurring answers'), and per-heuristic decomposition rules. Not a 5 because several steps remain directional (e.g. 'Inventory the share surfaces and forms' and 'Declare the method' specify what to produce but not formats or thresholds).

4 / 5

Workflow Clarity

An 8-step numbered procedure in dependency order with an explicit completion checklist ('Done when: the method doc names every heuristic with an Estimated/proxy label...') and hard gates ('never written to decisions.md directly', 'Do not write memory without asking'). This matches the 5 anchor's 'clear sequence with explicit validation steps... checklists'; the 4 anchor would require missing checkpoints, and the destructive/batch cap does not apply since no batch/destructive operation is performed.

5 / 5

Progressive Disclosure

Good structure: a dedicated 'Reference Materials' section where each link carries a one-line description, plus a 'Runtime Reads' section, all one level deep; heuristics and procedure are appropriately inline. Not a 5 because the ten-plus cross-skill and reference links are scattered across the scope guard, contract, procedure, and reference list rather than consolidated, and the referenced files (e.g. ../../../references/echo-benchmark.md) do not exist in this bundle, so navigation cannot be fully verified.

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.

The description is a strong example: explicit trigger phrases, four concrete named deliverables, an explicit use/not-for boundary with a named alternative skill, and bilingual keyword coverage. Its only cost is length — it is dense and the trailing Chinese keyword string duplicates the summary field, but none of it is vague padding.

DimensionReasoningScore

Specificity

Lists multiple specific concrete deliverables — 'a share-link/UTM hygiene spec for owned share surfaces', 'a self-reported attribution field design that replaces an existing form field', 'a GA4 direct-traffic decomposition read (deep-URL directs, mobile-app skew, private-push correlation)', 'a branded-search-lift proxy from GSC plus Wikipedia pageviews' — with comprehensive coverage and no vague filler. It exceeds the 4-anchor ('Lists several specific actions; minor gaps') because coverage of the skill's outputs is exhaustive.

5 / 5

Completeness

Explicitly answers 'when' ('Use when the user asks to...') and 'what' ('produces a share-link/UTM hygiene spec... decomposition read... branded-search-lift proxy'), with concrete trigger phrases — the exact shape of the 5 anchor's example. Not a 4, because neither half is generic or implicit.

5 / 5

Trigger Term Quality

Quotes the exact natural phrases users would say ('figure out where our direct traffic really comes from', 'measure dark social', 'add a how-did-you-hear-about-us field', 'show social drives signups without click data') plus tool names (GA4, GSC) and bilingual synonyms (暗社交归因/直接流量分解). This matches the 5 anchor's 'comprehensive coverage of natural terms including synonyms' and clearly beats the 4 anchor, which allows missing natural terms.

5 / 5

Distinctiveness Conflict Risk

Clear niche (organic dark-social estimation) with explicit conflict fencing: 'Not for paid-channel attribution reconciliation (platform-claimed vs analytics conversions) — use attribution-reconciler.' Minimal conflict risk, matching the 5 anchor; the 4 anchor's 'minor overlap risk with closely related skills' doesn't apply given the named delegation.

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.

Validation — 12 / 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: 30 suspicious

Warning

referenced_paths_exist

Referenced path issues: 3 missing, 3 deeper-than-1-level

Warning

Total

12

/

16

Passed

Repository

aaron-he-zhu/aaron-marketing-skills

Path

social/observe/dark-social-attributor/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.