npx claudepluginhub karis-ai/karis --plugin reddit-growthThis skill uses the workspace's default tool permissions.
Optimize a single webpage for traditional search engines. Core question: "How well does this page rank for its target keyword, and what should we fix?"
Audits on-page SEO for titles, headers, images, links, meta with scored reports and prioritized fix recommendations. Useful for diagnosing page ranking issues.
Audits websites for SEO: full site scans, single-page analysis, technical checks (Core Web Vitals, crawlability, indexability), schema markup, E-E-A-T content quality, image optimization, sitemaps, backlinks, and AI GEO.
Audits, plans, and implements SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and keyword mapping for better search visibility.
Share bugs, ideas, or general feedback.
Optimize a single webpage for traditional search engines. Core question: "How well does this page rank for its target keyword, and what should we fix?"
| User Says | Use This Skill |
|---|---|
| "Optimize this page for SEO" | page-seo |
| "What's my SEO score?" | page-seo |
| "Help me rank for [keyword]" | page-seo |
| "Audit my page's on-page SEO" | page-seo |
| "Fix my title tag / meta description" | page-seo |
| "Add schema markup to my page" | page-seo |
| "What keywords should I target?" | page-seo |
| "Why isn't my page ranking?" | page-seo |
| "Analyze competitor pages for [keyword]" | page-seo |
npx @karis-ai/cli) — optional but recommendedkaris setup) — optionalkaris brand init) — optional, provides contextTask Progress:
- [ ] Step 1: Keyword Research
- [ ] Step 2: Competitor Page Analysis
- [ ] Step 3: On-Page SEO Audit
- [ ] Step 4: Content Optimization
Extract the target keyword from user context. Identify related terms and search intent.
What to determine:
Optional CLI command:
npx @karis-ai/cli chat --skill page-seo "Research keywords for [topic]. Include:
- Primary keyword recommendation
- 5 secondary/long-tail keywords
- Search intent classification
- Difficulty assessment based on SERP competition"
Output:
| Keyword | Type | Intent | Difficulty |
|---|---|---|---|
| [primary] | Primary | [intent] | [low/med/high] |
| [secondary 1] | Secondary | [intent] | [low/med/high] |
| [secondary 2] | Long-tail | [intent] | [low/med/high] |
Analyze the top 5 ranking pages for the target keyword to identify gaps and opportunities.
What to analyze per competitor:
Optional CLI command:
npx @karis-ai/cli chat --skill page-seo "Analyze top 5 ranking pages for '[keyword]'. For each:
- Title and meta description
- Heading structure
- Content depth and word count
- Unique angles covered
- Schema markup used
Identify content gaps and opportunities."
Output:
## Competitor Analysis — "[keyword]"
### Top 5 Pages
| # | Page | Word Count | Headings | Schema | Unique Angle |
|---|------|-----------|----------|--------|--------------|
| 1 | [url] | [count] | [count] | [type] | [angle] |
| 2 | [url] | [count] | [count] | [type] | [angle] |
| 3 | [url] | [count] | [count] | [type] | [angle] |
| 4 | [url] | [count] | [count] | [type] | [angle] |
| 5 | [url] | [count] | [count] | [type] | [angle] |
### Content Gaps
- [Topic/angle missing from most competitors]
- [Question not answered by any competitor]
- [Data point or example no one provides]
### Opportunities
- [How to differentiate]
- [Underserved subtopic]
Score the page across 10 on-page SEO factors. Generate a score from 0-100.
Scoring Rubric:
| Factor | Weight | What to Check |
|---|---|---|
| Title Tag | 15% | Contains keyword, 50-60 chars, compelling |
| Meta Description | 15% | Contains keyword, 150-160 chars, includes CTA |
| H1 Tag | 10% | Single H1, contains keyword, matches title intent |
| Heading Structure | 10% | Logical H2-H3 hierarchy, keywords in subheadings |
| Image Optimization | 10% | Alt text with keywords, compressed, descriptive filenames |
| Internal Links | 10% | 3+ relevant internal links, descriptive anchor text |
| External Links | 5% | 1-2 authoritative outbound links, opens in new tab |
| Social Meta | 10% | Open Graph tags, Twitter Card, proper images |
| Content Quality | 10% | Adequate length (1500+), covers topic depth, readable |
| Keyword Presence | 5% | In first 100 words, URL, naturally distributed |
Per-factor scoring:
E-E-A-T Signals Checklist:
Optional CLI command:
npx @karis-ai/cli chat --skill page-seo "Audit this page for on-page SEO: [URL or paste content].
Score each factor out of 10:
Title Tag, Meta Description, H1, Heading Structure, Image Optimization,
Internal Links, External Links, Social Meta, Content Quality, Keyword Presence.
Calculate overall SEO Score (0-100)."
Output:
## On-Page SEO Audit — [Page Title]
### SEO Score: XX/100
| Factor | Weight | Score | Status | Issue |
|--------|--------|-------|--------|-------|
| Title Tag | 15% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Meta Description | 15% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| H1 Tag | 10% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Heading Structure | 10% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Image Optimization | 10% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Internal Links | 10% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| External Links | 5% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Social Meta | 10% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Content Quality | 10% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
| Keyword Presence | 5% | X/10 | ✅/⚠️/❌ | [issue or "OK"] |
### E-E-A-T Assessment
- [Present/missing signals]
### Priority Fixes
1. 🔴 [Critical fix]
2. 🟡 [Medium priority fix]
3. 🟢 [Nice to have]
Based on the audit and competitor analysis, optimize the page content.
What to optimize:
Optional CLI command:
npx @karis-ai/cli chat --skill page-seo "Optimize this content for '[keyword]'. Based on the audit:
- Rewrite title tag and meta description
- Fix heading structure
- Add keyword placements naturally
- Suggest internal and external links
- Recommend schema markup type
- Improve E-E-A-T signals"
Output:
## Content Optimization — [Page Title]
### Rewritten Meta Tags
- **Title**: [new title, 50-60 chars]
- **Meta Description**: [new description, 150-160 chars]
### Heading Structure (Revised)
- H1: [heading]
- H2: [heading]
- H3: [heading]
- H2: [heading]
- H2: [heading]
### Keyword Placements
- First paragraph: [suggestion]
- Subheadings: [which H2s to include keyword]
- Image alt text: [suggestions]
### Links to Add
**Internal:**
- [anchor text] → [target page]
- [anchor text] → [target page]
**External:**
- [anchor text] → [authoritative source]
### Recommended Schema
- Type: [Article/Product/FAQ/HowTo/etc.]
- See template: [references/schema-templates.md](references/schema-templates.md)
### E-E-A-T Improvements
- [Specific recommendation]
- [Specific recommendation]
Final combined report:
# Page SEO Report — [Page Title]
**Target Keyword:** [keyword]
**Date:** [date]
## SEO Score: XX/100
## Keyword Research
[Step 1 output]
## Competitor Analysis
[Step 2 output]
## On-Page Audit
[Step 3 output]
## Optimization Plan
[Step 4 output]
## Next Steps
1. [Most impactful change]
2. [Second priority]
3. [Third priority]
Overall SEO Score = Sum of (factor_score / 10 * weight * 100)
| Factor | Weight |
|---|---|
| Title Tag | 15% |
| Meta Description | 15% |
| H1 Tag | 10% |
| Heading Structure | 10% |
| Image Optimization | 10% |
| Internal Links | 10% |
| External Links | 5% |
| Social Meta | 10% |
| Content Quality | 10% |
| Keyword Presence | 5% |
| Score | Rating | Meaning |
|---|---|---|
| 90-100 | Excellent | Page is well-optimized, focus on content freshness |
| 75-89 | Good | Minor improvements needed, competitive for most keywords |
| 60-74 | Needs Work | Clear gaps affecting ranking potential |
| 40-59 | Poor | Significant on-page issues, unlikely to rank |
| 0-39 | Critical | Major SEO problems, needs complete overhaul |