google-ads: set Target CPA off non-brand average, not the blended
account CPA — branded search is demand capture and drags the target
down, under-funding real demand-gen. facebook-ads: track prospecting vs
retargeting separately and scale on prospecting ROAS; retargeting ROAS
is inflated by warm-audience conversions that would have happened
anyway. Both note incrementality (holdout/lift) as the real test.
Pre-publish gates for shipping an article to a site you own: measuring the
title keyword before writing, planning anchor text and topic match for a
backlink, the title/author/image/source-link/length bar, X post embedding,
write-to-be-cited rules, and verification against the rendered page (not the
API payload).
Complements write-blog, which drafts but does not publish.
Benchmarks any domain against its competitors on three metrics that answer
different questions: SimilarWeb monthly visits (all channels), Ahrefs organic
traffic (search only) and Ahrefs Domain Rating (backlink authority). Renders
one self-contained HTML page — ranked dot plots, a three-month indexed trend,
a DR bar chart and a multi-year log overlay, all filterable.
Documents the constraints that are expensive to rediscover: SimilarWeb's
endpoint needs an X-Extension-Version header and rate-limits per IP, its
root-domain figure already includes subdomains, a returned 0 means "below
detection floor" rather than "no traffic", and Ahrefs domain-mode silently
drops the www. host. Also carries the Ahrefs DR licence attribution the
template must keep when the report is published.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ranks every Search Console property by clicks/impressions with
period-over-period deltas, then diffs keywords per site into
NEW / RISING / DROPPING / LOST / CTR GAP.
Complements search-console, which covers a single property.
Also bumps the README skill count to 75 and refreshes the star-chart date.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
74 skills in skills/, matching the tables exactly. The root README said 69+
and the npm README still said 34.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The ranking method lives here as a skill; the scripts stay in
OpenClaudia/wechat-moments because they depend on the WeChat desktop client
rather than a marketing API. No code is duplicated across the two repos.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Kept out of this repo because it depends on the WeChat desktop client's local
storage rather than a marketing API.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sanitization had rewritten the .env path into prose, leaving
`grep BRANDDEV_API_KEY environment variables` which greps two
nonexistent files. The key is already read from the environment.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>