Compare commits

...

2 Commits

Author SHA1 Message Date
Corey Haines ae770a99bd fix: rename aso-audit to aso
- Rename skills/aso-audit/ directory to skills/aso/
- Update name field in frontmatter
- Update marketplace.json reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 18:06:44 -07:00
Corey Haines b5eda9e6fb fix: clean up aso-audit skill for cross-agent compatibility
- Replace Playwright-specific tool references with generic instructions
- Convert description from YAML multiline to quoted string (repo convention)
- Add Task-Specific Questions section
- Add Related Skills section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 17:54:25 -07:00
8 changed files with 298 additions and 15 deletions
+1 -1
View File
@@ -19,7 +19,7 @@
"./skills/ab-test-setup",
"./skills/ad-creative",
"./skills/ai-seo",
"./skills/aso-audit",
"./skills/aso",
"./skills/analytics-tracking",
"./skills/churn-prevention",
"./skills/cold-email",
@@ -1,12 +1,6 @@
---
name: aso-audit
description: >
Use when auditing an App Store or Google Play listing for optimization.
Triggers: "ASO audit", "app store optimization", "optimize my app listing",
"improve app visibility", "app store ranking", "audit my listing", or when
user shares an App Store / Google Play URL and wants to improve it. Also
triggers on: "why aren't people downloading my app", "improve my app
conversion", "keyword optimization for app", "compare my app to competitors".
name: aso
description: "When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it."
metadata:
version: 1.0.0
---
@@ -90,14 +84,13 @@ work with what's available. Ask the user to paste missing fields if critical.
### Visual asset assessment
WebFetch cannot extract screenshot images or caption text. **Always use the
Playwright browser tool** to get visual data:
WebFetch cannot extract screenshot images or caption text. **Take a screenshot
of the listing page** to get visual data:
1. Navigate to the listing URL with `browser_navigate`
2. Take a full-page screenshot with `browser_take_screenshot`
3. Read the screenshot image to assess: icon, screenshot count, caption text,
1. Navigate to the listing URL and capture a full-page screenshot
2. Assess the screenshot for: icon quality, screenshot count, caption text,
messaging quality, preview video presence, feature graphic (Google Play)
4. If Playwright is unavailable, ask the user to share a screenshot of the
3. If browser tools are unavailable, ask the user to share a screenshot of the
listing page
**Promotional text (Apple):** This 170-char field appears above the description
@@ -297,3 +290,23 @@ the app's brand maturity tier — they may be deliberate choices for Dominant ap
- [ ] No developer responses to negative reviews _(note volume — responding at 10M+ reviews is a different challenge than at 1K)_
- [ ] Generic "What's New" text _(acceptable at weekly+ release cadence for Established/Dominant)_
---
## Task-Specific Questions
1. What is the App Store or Google Play URL?
2. Is this your app or a competitor's?
3. What category does the app compete in?
4. Do you have competitor URLs to compare against?
5. Are you focused on search visibility, conversion rate, or both?
6. Do you have access to App Store Connect or Google Play Console data?
---
## Related Skills
- **page-cro**: For optimizing the conversion of web-based landing pages that drive app installs
- **ad-creative**: For creating App Store and Google Play ad creatives
- **analytics-tracking**: For setting up install attribution and in-app event tracking
- **customer-research**: For understanding user needs and language to inform listing copy
+270
View File
@@ -0,0 +1,270 @@
# Truelist.io SEO Tracker
Last updated: 2026-03-18
Data sources: Ahrefs (date: 2026-03-01) + Google Search Console (JanMar 2026)
---
## Site Health Snapshot
| Metric | Value |
|---|---|
| Domain Rating | 45 |
| Ahrefs Rank | 1,006,134 |
| Live referring domains | 385 |
| GSC total clicks (JanMar) | 2,566 |
| GSC total impressions (JanMar) | 932,430 |
| Overall CTR | 0.28% ⚠️ |
| Pages with impressions | 638 |
| Unique queries | 18,843 |
---
## New Pages to Build
### Marketing / Landing Pages
These are product-focused, conversion-oriented pages. Build these first.
#### Competitor Alternative Pages
| Target Keyword | Vol (Ahrefs) | KD | GSC Imps | Priority | Status |
|---|---|---|---|---|---|
| hunter.io alternative | 100 | 0 | — | 🔥 High | Not built |
| kickbox alternative | — | — | — | Medium | Not built |
| zerobounce alternatives | — | — | 300 | Medium | `/zerobounce-alternative` exists but ranking pos 45 |
| emaillistverify alternative | — | — | — | Low | `/emaillistverify-alternative` exists |
> **Note**: `/neverbounce-alternative`, `/zerobounce-alternative`, `/mailercheck-alternative`, `/mails-so-alternative`, `/millionverifier-alternative`, `/validity-alternative`, `/verifalia-alternative` already exist. `/hunter-io-list-verification` exists but is not an "alternative" page.
#### Use Case / Feature Landing Pages
| Target Keyword | Vol (Ahrefs) | KD | GSC Imps | Priority | Status |
|---|---|---|---|---|---|
| bulk email verification | 500 | 57 | 1,251 (pos 73) | 🔥 High | `/use-cases/bulk-email-verification` exists but not ranking |
| email list cleaning service | 250 | 22 | 1,255 (pos 17) | 🔥 High | Split across 4 pages — needs dedicated landing page |
| email validation service | 300 | 45 | 1,064 (pos 49) | High | No strong page |
| email verification service | — | — | 898 (pos 66) | High | No strong page |
| email list validation | — | — | 803 (pos 37) | High | No strong page |
| email validation api | 500 | 19 | 851 (pos 66) | 🔥 High | `/docs/api` exists but weak for this query |
| email verification api | — | — | 914 (pos 69) | High | Same — optimize `/docs/api` or create `/features/api` page |
| email hygiene | — | — | 481 (pos 52) | Medium | No dedicated page |
| real-time email validation | — | — | — | Medium | `/use-cases/real-time-form-validation` exists |
| disposable email checker | 150 | 4 | 236 (pos 10) | Medium | `/blog/disposable-email-checker` exists — should be a tool page |
#### Email Warm-Up Cluster
> High-value cluster, low-to-moderate KD, not currently targeted
| Target Keyword | Vol | KD | Priority | Status |
|---|---|---|---|---|
| email warm up | 4,000 | 30 | 🔥 High | No page |
| email warm up tools | 250 | 12 | High | No page |
| email warm up services | 200 | 36 | Medium | No page |
> Could be a landing page (`/email-warmup` or `/tools/email-warmup`) + a blog post cluster.
#### Catch-All Email Cluster
> Near-zero KD, directly relevant to their product
| Target Keyword | Vol | KD | Priority | Status |
|---|---|---|---|---|
| catch all email | 200 | 1 | 🔥 High | No page |
| catch all email address | 100 | 5 | High | No page |
> Recommend: `/tools/catch-all-email-checker` or `/blog/catch-all-email` (see blog section)
#### Email Append Cluster
> KD 14 across all terms, niche but easy wins
| Target Keyword | Vol | KD | Priority | Status |
|---|---|---|---|---|
| email append service | 150 | 1 | High | No page |
| best email append service | 150 | 2 | High | No page |
| email append | 200 | 3 | Medium | No page |
| reverse email append | 200 | 0 | Medium | No page |
---
### Blog Posts
These are educational/informational posts. Good candidates for a content queue.
#### Email Deliverability Cluster
> Confirmed demand from GSC, low KD, high relevance to product
| Target Keyword | Vol | KD | GSC Imps | Priority | Status |
|---|---|---|---|---|---|
| improve email deliverability | 700 | 17 | — | 🔥 High | No post |
| email sender reputation | 450 | 16 | 378 (pos 69) | 🔥 High | No dedicated post |
| email domain reputation | 200 | 15 | — | High | No dedicated post |
| email deliverability | 2,300 | 45 | 280 (pos 73) | High | No post |
| check email deliverability | 700 | 70 | 280 (pos 73) | Medium | `/tools/email-deliverability-checker` exists |
| email deliverability news | 600 | 5 | — | Low | News/roundup format |
#### Email Bounce Cluster
> Already have some content but gaps remain
| Target Keyword | Vol | KD | GSC Imps | Priority | Status |
|---|---|---|---|---|---|
| email bounce checker | 500 | 73 | 731 (pos 41) | 🔥 High | `/blog/email-bounce-checker` exists at pos 18 — needs refresh |
| what is email bounce rate | 100 | 14 | — | High | No post |
| average email bounce rate | 60 | 18 | — | Medium | No post |
| reduce email bounce rate | 60 | — | — | Medium | No post |
| hard bounce vs soft bounce | — | — | — | Medium | `/blog/what-is-a-hard-bounce-email` exists |
#### Email Warm-Up Blog Posts
> Pair with landing page above
| Target Keyword | Vol | KD | Priority | Status |
|---|---|---|---|---|
| how to warm up email domain | 250 | 4 | 🔥 High | No post |
| what is email warm up | — | — | High | No post |
#### Catch-All Email Blog Posts
| Target Keyword | Vol | KD | Priority | Status |
|---|---|---|---|---|
| what is a catch all email | 150 | 2 | 🔥 High | No post |
| what does catch all email mean | 100 | — | High | No post |
#### Email Append Blog Posts
| Target Keyword | Vol | KD | Priority | Status |
|---|---|---|---|---|
| what is email append | — | 3 | High | No post |
| email data append best practices | — | — | Medium | No post |
#### SPF / DKIM / DMARC Cluster
> 7,295 GSC impressions across 32 queries, zero clicks — clear content gap
| Target Keyword | Vol | KD | GSC Imps | Priority | Status |
|---|---|---|---|---|---|
| dmarc policy | — | — | 609 (pos 75) | 🔥 High | No post |
| dmarc generator | — | — | 376 (pos 70) | High | No post |
| spf record generator | — | — | 343 (pos 47) | High | No post |
| dkim checker | — | — | 344 (pos 67) | High | No post |
| spf checker | — | — | 249 (pos 71) | Medium | `/tools/spf-record-checker` exists at pos 68 |
| what is dmarc | — | — | — | Medium | No post |
#### Email Validation / Verification Blog Posts
| Target Keyword | Vol | KD | GSC Imps | Priority | Status |
|---|---|---|---|---|---|
| email list validation | — | — | 803 (pos 37) | High | No strong post |
| bulk email verification | 500 | 57 | 1,251 (pos 73) | High | `/blog/bulk-email-verifier-free` exists at pos 13 — expand |
| free email validation | 400 | 70 | — | Medium | `/blog/free-email-validation` exists at pos 27 |
| email list verification | — | — | 652 (pos 43) | Medium | No strong post |
| email hygiene best practices | — | — | — | Medium | No post |
| email exists check | — | — | 1,210 (pos 49) | Medium | 2 posts cannibalizing — consolidate |
#### Data Quality Cluster
> Unexpected impression volume — off-brand but present
| Target Keyword | GSC Imps | Position | Priority | Notes |
|---|---|---|---|---|
| data management best practices | 687 | 63 | Low | Off-brand, deprioritize |
| data quality management tools | 542 | 61 | Low | Off-brand, deprioritize |
| data quality solutions | 509 | 77 | Low | Off-brand, deprioritize |
> **Recommendation**: Don't invest in data quality content — it's not product-adjacent enough to convert.
---
## Content Refreshes
> Separate section — tackle after new pages are built.
### Priority 1: Cannibalization Fixes
| Issue | Pages | Combined Imps | Fix |
|---|---|---|---|
| Email format (duplicate posts) | `/blog/format-of-email-address` (pos 11) + `/blog/format-of-an-email-address` (pos 16) | 122,049 | Merge into one canonical post, 301 the other |
| Email list cleaning (4 pages splitting queries) | `/blog/email-list-cleaning-services`, `/blog/email-list-cleaning-tools`, `/blog/best-email-list-cleaning-service`, `/use-cases/email-list-cleaning` | ~12,000 | Pick one winner, redirect the rest |
| Email exists (2 posts) | `/blog/email-address-exists-check` + `/blog/check-if-email-exists` | ~1,200 | Merge |
### Priority 2: Title/Meta Rewrites (ranking but not clicking)
| Page | Imps | CTR | Position | Fix |
|---|---|---|---|---|
| `/blog/best-marketing-automation-software` | 47,591 | 0.00% | 5.6 | Zero clicks at pos 5 — wrong audience entirely. Redirect or rewrite for email validation angle |
| `/blog/best-email-verification-tool` | 26,152 | 0.04% | 6.2 | Rewrite title/meta — this should be getting 35% CTR |
| `/blog/best-crm-with-email-marketing` | 38,399 | 0.03% | 17.0 | Off-brand — redirect to relevant page |
| `/blog/email-subject-line-best-practices` | 37,397 | 0.07% | 10.1 | Title refresh — 37K imps, 25 clicks |
| `/blog/mx-record-lookup` | 16,561 | 0.03% | 13.1 | Content + title refresh |
| `/blog/best-email-validation-tool` | 11,175 | 0.05% | 12.6 | Title/meta rewrite |
### Priority 3: Full Content Overhauls
| Page | Imps | Position | Issue |
|---|---|---|---|
| `/tools/free-email-checker` | 11,275 | 78 | Ranking for "email checker" (30K vol) at pos 80 — needs full rewrite |
| `/tools/spf-record-checker` | — | 68 | Big keyword, deep ranking — needs content overhaul |
| `/blog/check-if-email-address-is-valid` | 15,918 | 32.6 | Stuck on page 3, 20 keywords, 1 ref domain |
| `/tools/free-email-verifier` | 14,139 | 42.6 | High impressions, deep position |
---
## Backlink Building Targets
> In priority order — pages near page 1 with high impressions and zero/few backlinks.
| Page | Imps | Position | Ref Domains | Why |
|---|---|---|---|---|
| `/blog/format-of-email-address` | 60,084 | 11.3 | 0 | One nudge hits page 1 on massive impression volume |
| `/blog/email-subject-line-best-practices` | 37,397 | 10.1 | 0 | Borderline page 1, 37K imps |
| `/blog/free-email-validation` | 11,368 | 27.4 | 0 | Core product keyword, 1,500 vol |
| `/blog/mx-record-lookup` | 16,561 | 13.1 | 0 | High imps, no links |
| `/blog/email-bounce-checker` | 8,093 | 18.1 | 0 | High imps, no links |
| `/tools/domain-reputation-checker` | 9,874 | 18.9 | 0 | Tool page, linkable |
| `/neverbounce-alternative` | 3,536 | 26.9 | 0 | 12 links could push to #1 |
| `/blog/bulk-email-verifier-free` | 5,773 | 13.3 | 0 | Near page 1 |
---
## Progress Tracking
### Marketing Landing Pages
- [ ] `/hunter-io-alternative` — hunter.io alternative (KD 0)
- [ ] Dedicated email warm-up landing page
- [ ] Dedicated catch-all email page/tool
- [ ] Dedicated email append service page
- [ ] Strengthen `/use-cases/bulk-email-verification`
- [ ] Strengthen `/features/api` for "email validation api" queries
- [ ] Email list cleaning consolidated landing page
### Blog Posts Queue
- [ ] How to warm up an email domain (KD 4)
- [ ] What is a catch-all email (KD 2)
- [ ] What is email append (KD 3)
- [ ] Improve email deliverability guide (KD 17)
- [ ] Email sender reputation guide (KD 16)
- [ ] DMARC policy guide
- [ ] SPF record generator guide
- [ ] DKIM checker guide
- [ ] What is email bounce rate (KD 14)
- [ ] Reduce email bounce rate guide
- [ ] Email list validation guide
- [ ] Email hygiene best practices
### Cannibalization Fixes
- [ ] Merge email format posts (122K impressions at stake)
- [ ] Consolidate email list cleaning pages
- [ ] Merge email exists posts
### Title/Meta Rewrites
- [ ] `/blog/best-email-verification-tool` (26K imps, 0.04% CTR)
- [ ] `/blog/email-subject-line-best-practices` (37K imps, 0.07% CTR)
- [ ] `/blog/mx-record-lookup` (16K imps, 0.03% CTR)
- [ ] `/blog/best-marketing-automation-software` (48K imps, 0.00% CTR) — redirect decision needed
- [ ] `/blog/best-crm-with-email-marketing` (38K imps, 0.03% CTR) — redirect decision needed
### Content Overhauls
- [ ] `/tools/free-email-checker` — full rewrite
- [ ] `/tools/spf-record-checker` — full overhaul
- [ ] `/blog/check-if-email-address-is-valid` — refresh + links
### Backlink Campaigns
- [ ] `/blog/format-of-email-address` — 35 links
- [ ] `/blog/email-subject-line-best-practices` — 23 links
- [ ] `/blog/free-email-validation` — 35 links
- [ ] `/neverbounce-alternative` — 12 links