ads-audit
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, and Microsoft Ads…
When the user wants to optimize SEO using real search data, analyze Google Search Console metrics, find striking-distance keywords, fix low-CTR pages, detect keyword cannibalization, identify declining pages, or build a data-driven SEO strategy. Also use when the user mentions
$ npx -y skills add naveedharri/benai-skills --skill seo-optimizing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/seo-optimizingContext preview
The summary Claude sees to decide when to auto-load this skill.
When the user wants to optimize SEO using real search data, analyze Google Search Console metrics, find striking-distance keywords, fix low-CTR pages, detect keyword cannibalization, identify declining pages, or build a data-driven SEO strategy. Also use when the user mentions
name: seo-optimizing description: When the user wants to optimize SEO using real search data, analyze Google Search Console metrics, find striking-distance keywords, fix low-CTR pages, detect keyword cannibalization, identify declining pages, or build a data-driven SEO strategy. Also use when the user mentions "GSC," "Google Search Console," "search performance," "optimize SEO," "CTR optimization," "keyword cannibalization," "striking distance," "ranking improvement," "content optimization strategy," "search analytics," or "SEO data analysis." For technical audits, see seo-audit. For creating SEO pages at scale, see programmatic-seo. disable-model-invocation: true
You are an expert SEO strategist who uses Google Search Console (GSC) data to find high-impact optimization opportunities and execute them. You analyze real search performance data — clicks, impressions, CTR, and average position — to make decisions backed by evidence, not guesswork.
---
Run these checks automatically before asking questions:
# 1. Check for .env file with GSC credentials
if [ -f .env ]; then
source .env
echo "GSC_SERVICE_ACCOUNT_JSON: ${GSC_SERVICE_ACCOUNT_JSON:-NOT SET}"
echo "GSC_SITE_URL: ${GSC_SITE_URL:-NOT SET}"
else
echo "No .env file found"
fi
# 2. Check for existing seo-audit results
ls -la seo-audit-*.md seo-audit-*.json audit-results* 2>/dev/null || echo "No existing audit data found"
# 3. Check for previously saved GSC data
ls -la gsc-*.json seo-baseline-*.json 2>/dev/null || echo "No existing GSC data found"Then determine the path:
---
Phase 1: Connect → Phase 2: Pull Data → Phase 3: Analyze → Phase 4: Prioritize → Phase 5: Optimize → Phase 6: Track
---
**Goal:** Establish authenticated access to Google Search Console API or set up CSV import.
1. Check `.env` for required variables:
# Required in .env: GSC_SERVICE_ACCOUNT_JSON=/path/to/service-account.json GSC_SITE_URL=https://example.com # or sc-domain:example.com for domain property
2. If missing, guide the user through setup:
See [references/gsc-api-reference.md](references/gsc-api-reference.md) for step-by-step setup.
3. Authenticate and verify access:
# Generate JWT and get access token (see gsc-api-reference.md for full script)
# Then test with a simple query:
curl -s -X POST \
"https://www.googleapis.com/webmasters/v3/sites/$(python3 -c "import urllib.parse; print(urllib.parse.quote('${GSC_SITE_URL}', safe=''))")/searchAnalytics/query" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"startDate": "'$(date -v-7d +%Y-%m-%d 2>/dev/null || date -d "7 days ago" +%Y-%m-%d)'",
"endDate": "'$(date -v-1d +%Y-%m-%d 2>/dev/null || date -d "1 day ago" +%Y-%m-%d)'",
"dimensions": ["query"],
"rowLimit": 5
}'If successful, you'll see rows with `keys`, `clicks`, `impressions`, `ctr`, `position`. Proceed to Phase 2.
If the user doesn't have a service account and prefers an automated approach, use the Claude Code browser extension to navigate GSC directly and extract data. The user just needs to be logged into Google Search Console in their browser.
**Prerequisites:**
**Workflow:**
1. **Ask for the GSC property URL** (or detect from `.env` if `GSC_SITE_URL` is set):
Which Google Search Console property should I pull data from? Example: https://example.com or sc-domain:example.com
2. **Navigate to GSC Performance report** using the browser extension:
3. **Set the date range to Last 28 days** and extract data:
4. **Repeat for additional data views:**
5. **Parse all exported CSVs** into the standard JSON format used by Phase 2+:
# Convert GSC CSV exports to JSON (same format as API responses)
python3 -c "
import csv, json, glob, os
for csv_file in glob.glob('*.csv'):
rows = []
with open(csv_file, encoding='utf-8-sig') as f:
reader = csv.DictReader(f)
for row in reader:
entry = {'keys': [], 'clicks': 0, 'impressions': 0, 'ctr': 0, 'position': 0}
for col in reader.fieldnames:
col_lower = col.lower().strip()
if 'queryExpert automation skills for Claude Code, organized by department.
Repo: naveedharri/benai-skills
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, and Microsoft Ads…
Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy appropriateness, scaling readiness, and…
Competitor ad intelligence analysis across Google, Meta, LinkedIn, TikTok, and Microsoft. Analyzes competitor ad copy, creative strategy, keyword targeting,…
Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative fatigue, evaluates…
Google Ads deep analysis covering Search, Performance Max, Display, YouTube, and Demand Gen campaigns. Evaluates 74 checks across conversion tracking, wasted…
Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust signals, form optimization, and…