CtrlK
BlogDocsLog inGet started
Tessl Logo

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

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

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, domain-dense skill body with a clear 8-step procedure, explicit scope routing, and labeled outputs; its main weakness is conciseness (repeated scope refrains and bilingual padding) and the absence of explicit validation feedback loops for the estimation reads. Progressive disclosure is good but the bundle carries no actual reference/script files to verify.

Suggestions

Tighten the repeated scope-guard text: the 'Scope guard' paragraph and step 7 'Route what is not yours' restate the same routing; consolidate to remove the duplicated bilingual gloss and recurring Estimated/proxy refrains.

Add an explicit validation checkpoint in the Procedure (e.g. after the GA4 decomposition and branded-lift proxy: verify each split is labeled Estimated/proxy with a named source before declaring 'Done when'), since these are estimation reads that could be misreported as Measured.

Either ship the referenced bundle files (references/social/owned-community-loop.md, scripts/connectors/pageviews.py, CONNECTORS.md, SECURITY.md) or note that they live in the parent repository, so the one-level-deep references are verifiable rather than dangling.

DimensionReasoningScore

Conciseness

The body is mostly efficient and dense with real content, but the dense domain prose, repeated scope-guard sentences (frontmatter-like 'Scope guard' block plus re-stated routing in 'Route what is not yours'), the duplicated bilingual gloss, and recurring 'Estimated/proxy' refrains add padding that could be tightened.

3 / 5

Actionability

Concrete executable guidance is present ('python3 scripts/connectors/pageviews.py', a concrete UTM taxonomy 'utm_source=<surface>&utm_medium=social-share', 'REPLACE the lowest-value existing form field', 'run 2-4 weeks, then code recurring answers'), with only minor gaps (no literal paste-ready command for the decomposition reads).

4 / 5

Workflow Clarity

An 8-step Procedure is clearly sequenced with named heuristics and labels, plus a 'Done when' checklist and explicit routing; however there are no explicit validate-then-retry checkpoints for the GA4 decomposition or the proxy read, so it sits just below the full-feedback-loop anchor.

4 / 5

Progressive Disclosure

Good structure with a Quick Start, Skill Contract, Data Sources, Procedure, Reference Materials and Next Best Skill sections, and clearly signaled one-level-deep references ([owned-community-loop.md], [echo-benchmark.md], CONNECTORS.md, SECURITY.md); the body is an overview pointing outward, though several reference targets are stated as paths rather than verified bundle files (no references/ scripts/ assets/ dirs exist in the bundle).

4 / 5

Total

15

/

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 unusually strong description: it pairs multiple concrete deliverables with verbatim user trigger phrases and an explicit negative-scope boundary against sibling skills. It is third-person and concise despite the dense domain content, with only the trailing bilingual gloss adding minor length.

DimensionReasoningScore

Specificity

Lists multiple concrete actions ('share-link/UTM hygiene spec', 'self-reported attribution field design that replaces an existing form field', 'GA4 direct-traffic decomposition read ... every derived number hard-labeled Estimated/proxy', 'branded-search-lift proxy from GSC plus Wikipedia pageviews'), giving comprehensive coverage of what the skill produces.

5 / 5

Completeness

Clearly answers 'what' (produces the share-link/UTM spec, self-reported field design, GA4 decomposition, branded-lift proxy) and 'when' (explicit 'Use when the user asks to ...' clause with concrete trigger phrases), plus a negative-trigger carve-out ('Not for paid-channel attribution reconciliation ... use attribution-reconciler').

5 / 5

Trigger Term Quality

Opens with three verbatim user trigger phrases ('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'), all phrased as users naturally speak, plus synonym 'direct traffic' and domain term 'dark social'.

5 / 5

Distinctiveness Conflict Risk

Has a clear niche (dark social / direct-traffic organic share loop) and an explicit boundary ('Not for paid-channel attribution reconciliation — use attribution-reconciler', 'not the metric dictionary or write-back loop (social-measurement-loop)'), minimizing wrong-skill triggering.

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.

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: 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
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.