Qaskills analytics check
Skill PramodDutta/qaskills/seed-skills/qaskills-analytics-check
QA Skills Directory QA Skills is a curated directory of testing-specific skills for AI coding agents (Claude Code, Cursor, Copilot, etc.).
npx -y skills add PramodDutta/qaskills --skill qaskills-analytics-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Pull weekly/monthly performance metrics for qaskills.sh from Google Analytics 4 (GA4) and Google Search Console (GSC) via Claude in Chrome. Returns traffic, channels, top queries, top pages, growth deltas in a single report.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.9 KB, as published. Nobody here has run it
QASkills.sh Analytics Performance Check
You are an expert at pulling site performance data for qaskills.sh from Google Analytics 4 and Google Search Console. Use Claude in Chrome browser tools to navigate, capture, and synthesize metrics into a single weekly/monthly report. Goal: detect growth trends, traffic source health, ranking opportunities, and content gaps without manual clicking.
Property Identifiers
| Tool | ID / URL |
|---|---|
| GA4 Property | qaskillssh — property ID 528788664 (account btc scrolltest / 107190665) |
| GA4 Measurement ID | G-DBRNT5VNQ3 |
| Search Console | Domain property sc-domain:qaskills.sh |
| Site URL | https://qaskills.sh |
| Login email | [email protected] (or [email protected] for GSC if access needed) |
Core Principles
- Always use last 28 days by default — GA4 default. Comparable week-over-week and month-over-month.
- Capture 3 reports minimum — Home (top-level), Traffic Acquisition (channel mix), Search Console Queries (ranking), Landing Pages (content perf).
- Use
browser_batch— Each report is navigate + wait + screenshot. Batch saves 3-5x time. - Look for anomalies — GA4 highlights anomalies (e.g. "Direct surged on May 19"). Capture them.
- Compute deltas — Compare against prior-period if available. Surface % growth/decline.
- Brand vs non-brand split — In GSC queries, brand =
qaskills*,qa skills*. Non-brand reveals true SEO health. - Output a markdown report — Tables for channels, top queries, top pages. Never dump screenshots into report.
Workflow
Step 1: Open browser tab
mcp__Claude_in_Chrome__tabs_context_mcp({ createIfEmpty: true })
Step 2: GA4 Home — capture top-line + realtime
Navigate to:
https://analytics.google.com/analytics/web/#/a107190665p528788664/reports/intelligenthome
Wait 5s for chart to render, screenshot. Extract:
- Active users (today) + % change vs prior day
- Event count (today) + % change
- Realtime active users (last 30 min)
- Top realtime countries
Step 3: GA4 Traffic Acquisition — channel mix (28d)
From Home, click "Traffic acquisition" tile (recently accessed) OR navigate sidebar: Generate leads → Traffic acquisition.
Wait 5s. Close any "Add annotations" or "Generate leads reports" popup with X. Scroll down to reveal data table.
Extract for each channel: Sessions, Engaged sessions, Engagement rate, Avg engagement time, Events:
| Channel | Sessions | % | Engagement Rate | Avg Time |
|---|---|---|---|---|
| Organic Search | ... | ... | ... | ... |
| Direct | ... | ... | ... | ... |
| Referral | ... | ... | ... | ... |
| Organic Social | ... | ... | ... | ... |
| ... | ... | ... | ... | |
| Unassigned | ... | ... | ... | ... |
Also capture any AI anomaly insight banner at top (e.g. "X surged on date Y").
Step 4: Search Console Queries — top ranking queries (28d)
Click sidebar: Search Console → Queries. Wait 5s, scroll down to data table.
Extract top 10 queries with:
| # | Query | Clicks | Impressions | CTR | Avg Position |
|---|---|---|---|---|---|
| 1 | ... | ... | ... | ... | ... |
Also note:
- Total queries indexed (top right of table, e.g. "1-10 of 1312")
- Total clicks + Total impressions + Avg CTR + Avg position
- Brand vs non-brand split: count clicks where query contains
qaskillvs all others
Step 5: Landing Page Report (28d)
Click sidebar: Generate leads → Landing page. Wait 5s. Scroll to data table.
Extract top 10 landing pages:
| # | Landing Page | Sessions | Active Users | Avg Time | Notes |
|---|---|---|---|---|---|
| 1 | / | ... | ... | ... | homepage |
Flag pages with avg time < 20s as possible bounce issue.
Step 6: Synthesize Report
Output single markdown report with sections:
# QASkills.sh Performance Report — [Date Range]
## Top-Line Metrics (28d)
| Metric | Value | Δ vs Prior 28d |
|--------|-------|---------------|
| Active Users | ... | ... |
| Sessions | ... | ... |
| Engagement Rate | ... | ... |
| Total Events | ... | ... |
## Today's Snapshot
- Active users today: X (Y% vs yesterday)
- Realtime: N users
- Top countries: ...
## Traffic Channels (28d)
[channel table]
## Search Console (28d)
- Total clicks: ... | Impressions: ... | CTR: ...% | Avg pos: ...
- Total queries indexed: ...
- Brand share: X% | Non-brand share: Y%
### Top 10 Queries
[query table]
## Top Landing Pages
[landing page table]
## Anomalies & Insights
- [Anomaly 1 from GA4 banner]
- [Page with bounce signal]
- [Growing query opportunities]
## Next Actions
- [Specific SEO/content recommendations based on data]
Reference Snapshot (May 21, 2026)
For comparison/sanity check — this is what healthy growth looked like:
| Metric | 28d (Mar 16 - Apr 12) | 28d (Apr 23 - May 20) | Growth |
|---|---|---|---|
| Sessions | 5,945 | 9,101 | +53% |
| Organic Search | 1,384 | 4,399 | +218% |
| Direct | 3,811 | 3,844 | flat |
| Referral | 534 | 512 | flat |
| GSC clicks | 717 | 869 | +21% |
| GSC impressions | ~8,800 | 14,869 | +69% |
| GSC queries indexed | 134 | 1,312 | +879% |
Top GSC queries (28d, May 20):
- qaskills.sh — 160 clicks, 91% CTR, pos 1.0
- qa skills — 81 clicks, 21% CTR, pos 3.88
- qaskills — 81, 74%, 1.01
- qa skills claude — 68, 51%, 1.39
- claude qa skill — 45, 27%, 2.72
- claude qa skills — 34, 34%, 2.38
- qa skill claude — 32, 39%, 1.59
- claude skills for qa — 27, 35%, 1.86
- qaskill — 27, 69%, 1.31
- qa skills sh — 26, 79%, 1.00
Top landing pages (28d, May 20):
- / (homepage) — 1,828 sessions, 1m 23s
- (not set) — 1,357
- /skills — 982, 1m 05s
- /skills/thetestingacademy/playwright-e2e — 735, 23s (bounce signal)
- /agents/claude-code — 715, 1m 10s
- /blog/must-have-qa-skills-claude-code-2026 — 538, 59s
- /blog/state-of-ai-powered-testing-2026 — 133, 20s
- /blog/ai-qa-skills-directory-2026 — 108, 1m 11s
- /categories/e2e-testing — 95, 1m 04s
- /how-to-publish — 85, 4s (broken/bounce)
Direct Report URLs (Bookmarkable)
# GA4 Home
https://analytics.google.com/analytics/web/#/a107190665p528788664/reports/intelligenthome
# Traffic Acquisition
https://analytics.google.com/analytics/web/#/a107190665p528788664/reports/explorer?r=lifecycle-traffic-acquisition-v2
# Pages and Screens
https://analytics.google.com/analytics/web/#/a107190665p528788664/reports/explorer?r=all-pages-and-screens&collectionId=business-objectives
# Landing Page
https://analytics.google.com/analytics/web/#/a107190665p528788664/reports/explorer?r=landing-page&collectionId=business-objectives
# Search Console Queries (in GA4)
https://analytics.google.com/analytics/web/#/a107190665p528788664/reports/explorer?r=search-query&collectionId=search-console
# Google Search Console (native)
https://search.google.com/search-console/performance/search-analytics?resource_id=sc-domain%3Aqaskills.sh
Best Practices
- Run weekly — Same day each week (Monday recommended) for consistent comparisons.
- Compare 28d not 7d — Less noise. Weekly periods are too volatile for trend detection.
- Always include AI Insights banner — GA4's anomaly detection is genuinely useful.
- Highlight bounce signals — Pages with avg time < 20s on top 10 landing list are red flags.
- Track query position changes — Position movement from 4 → 2 is bigger win than +5 clicks.
- Separate brand from non-brand —
qaskill*traffic is brand recall. Non-brand is true SEO health. - Cross-check GA4 Search Console widget with native GSC — Sometimes counts differ due to indexing.
- Note today's realtime — Live signal for whether banner/launch traffic is flowing.
- Use
browser_batchfor navigation — Cuts wall time by 3-5x vs individual clicks. - Save report to file —
/Users/promode/qaskills/.analytics-reports/YYYY-MM-DD.mdfor history.
Anti-Patterns
- Reporting only 7d — Too noisy. Use 28d for trends.
- Dumping raw screenshots — Always extract numbers into markdown tables.
- Ignoring "(not set)" landing pages — Often means missing UTMs from social/email. Worth flagging.
- Treating brand and non-brand the same — Brand traffic doesn't measure SEO health.
- Skipping prior-period delta — A number without context is useless.
- Manual clicking through reports — Slow. Use
browser_batchor direct deeplinks. - Trusting realtime as a daily metric — Realtime is for spot-check only, not trend.
- Reporting impressions without position — Impressions without position context is misleading.
- Capturing 100+ landing pages — Top 10 is enough. Note the long-tail total.
- Missing the popups — Close annotation/feedback popups before screenshotting tables.
Quick Commands
# Save analytics report to dated file
mkdir -p ~/qaskills/.analytics-reports
date_today=$(date +%Y-%m-%d)
# (paste markdown report content here)
When to Trigger This Skill
Use when user asks:
- "How is qaskills doing?"
- "Show me last week's analytics"
- "Search Console performance"
- "Top queries / top pages"
- "Traffic report"
- "GA4 check"
- "SEO performance"