SkillAgentSearch skills...

seo

Optimize for search engine visibility and ranking

Install / Use

npx skills add tech-leads-club/agent-skills --skill seo

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

81/100

Category

Marketing

Supported Platforms

Universal

Tags

Our assessment of seo

seo scores 81/100 on our quality scale, 196th of 242 Marketing skills we index.

Its SKILL.md is 12 KB long, well organised into 38 sections with 22 code examples: a thorough specification that gives an agent plenty to work with.

With 6,832 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
8/15
Adoption
16/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 6 days ago, so seo is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

seo compared with similar skills

All 4 of these similar skills score higher than seo; compare them before choosing.

SkillScoreStarsUpdatedFormat
seo (this skill)by tech-leads-club816.8k6d agoSKILL.md
algorithmic-artby anthropics100177.9k4d agoSKILL.md
pptxby anthropics100177.9k4d agoSKILL.md
designby nextlevelbuilder100130.2k5d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100130.2k5d agoSKILL.md

Frequently asked questions

How do I install seo?
Run npx skills add tech-leads-club/agent-skills --skill seo. The install tabs above show the steps for each supported agent.
Which AI agents does seo work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is seo safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is seo still maintained?
The repository was last updated 6 days ago, so seo is actively maintained.

name: seo description: Optimize for search engine visibility and ranking. Use when asked to "improve SEO", "optimize for search", "fix meta tags", "add structured data", "sitemap optimization", or "search engine optimization". Do NOT use for accessibility (use web-accessibility), performance (use core-web-vitals), or comprehensive site audits covering multiple areas (use web-quality-audit). license: MIT metadata: author: web-quality-skills version: '1.0'

SEO optimization

Search engine optimization based on Lighthouse SEO audits and Google Search guidelines. Focus on technical SEO, on-page optimization, and structured data.

SEO fundamentals

Search ranking factors (approximate influence):

| Factor | Influence | This Skill | | --------------------------------- | --------- | -------------------------------------------------- | | Content quality & relevance | ~40% | Partial (structure) | | Backlinks & authority | ~25% | ✗ | | Technical SEO | ~15% | ✓ | | Page experience (Core Web Vitals) | ~10% | See Core Web Vitals | | On-page SEO | ~10% | ✓ |


Technical SEO

Crawlability

robots.txt:

# /robots.txt
User-agent: *
Allow: /

# Block admin/private areas
Disallow: /admin/
Disallow: /api/
Disallow: /private/

# Don't block resources needed for rendering
# ❌ Disallow: /static/

Sitemap: https://example.com/sitemap.xml

Meta robots:

<!-- Default: indexable, followable -->
<meta name="robots" content="index, follow" />

<!-- Noindex specific pages -->
<meta name="robots" content="noindex, nofollow" />

<!-- Indexable but don't follow links -->
<meta name="robots" content="index, nofollow" />

<!-- Control snippets -->
<meta name="robots" content="max-snippet:150, max-image-preview:large" />

Canonical URLs:

<!-- Prevent duplicate content issues -->
<link rel="canonical" href="https://example.com/page" />

<!-- Self-referencing canonical (recommended) -->
<link rel="canonical" href="https://example.com/current-page" />

<!-- For paginated content -->
<link rel="canonical" href="https://example.com/products" />
<!-- Or use rel="prev" / rel="next" for explicit pagination -->

XML sitemap

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2024-01-15</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/products</loc>
    <lastmod>2024-01-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Sitemap best practices:

  • Maximum 50,000 URLs or 50MB per sitemap
  • Use sitemap index for larger sites
  • Include only canonical, indexable URLs
  • Update lastmod when content changes
  • Submit to Google Search Console

URL structure

✅ Good URLs:
https://example.com/products/blue-widget
https://example.com/blog/how-to-use-widgets

❌ Poor URLs:
https://example.com/p?id=12345
https://example.com/products/item/category/subcategory/blue-widget-2024-sale-discount

URL guidelines:

  • Use hyphens, not underscores
  • Lowercase only
  • Keep short (< 75 characters)
  • Include target keywords naturally
  • Avoid parameters when possible
  • Use HTTPS always

HTTPS & security

<!-- Ensure all resources use HTTPS -->
<img src="https://example.com/image.jpg" />

<!-- Not: -->
<img src="http://example.com/image.jpg" />

Security headers for SEO trust signals:

Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY

On-page SEO

Title tags

<!-- ❌ Missing or generic -->
<title>Page</title>
<title>Home</title>

<!-- ✅ Descriptive with primary keyword -->
<title>Blue Widgets for Sale | Premium Quality | Example Store</title>

Title tag guidelines:

  • 50-60 characters (Google truncates ~60)
  • Primary keyword near the beginning
  • Unique for every page
  • Brand name at end (unless homepage)
  • Action-oriented when appropriate

Meta descriptions

<!-- ❌ Missing or duplicate -->
<meta name="description" content="" />

<!-- ✅ Compelling and unique -->
<meta
  name="description"
  content="Shop premium blue widgets with free shipping. 30-day returns. Rated 4.9/5 by 10,000+ customers. Order today and save 20%."
/>

Meta description guidelines:

  • 150-160 characters
  • Include primary keyword naturally
  • Compelling call-to-action
  • Unique for every page
  • Matches page content

Heading structure

<!-- ❌ Poor structure -->
<h2>Welcome to Our Store</h2>
<h4>Products</h4>
<h1>Contact Us</h1>

<!-- ✅ Proper hierarchy -->
<h1>Blue Widgets - Premium Quality</h1>
<h2>Product Features</h2>
<h3>Durability</h3>
<h3>Design</h3>
<h2>Customer Reviews</h2>
<h2>Pricing</h2>

Heading guidelines:

  • Single <h1> per page (the main topic)
  • Logical hierarchy (don't skip levels)
  • Include keywords naturally
  • Descriptive, not generic

Image SEO

<!-- ❌ Poor image SEO -->
<img src="IMG_12345.jpg" />

<!-- ✅ Optimized image -->
<img
  src="blue-widget-product-photo.webp"
  alt="Blue widget with chrome finish, side view showing control panel"
  width="800"
  height="600"
  loading="lazy"
/>

Image guidelines:

  • Descriptive filenames with keywords
  • Alt text describes the image content
  • Compressed and properly sized
  • WebP/AVIF with fallbacks
  • Lazy load below-fold images

Internal linking

<!-- ❌ Non-descriptive -->
<a href="/products">Click here</a>
<a href="/widgets">Read more</a>

<!-- ✅ Descriptive anchor text -->
<a href="/products/blue-widgets">Browse our blue widget collection</a>
<a href="/guides/widget-maintenance">Learn how to maintain your widgets</a>

Linking guidelines:

  • Descriptive anchor text with keywords
  • Link to relevant internal pages
  • Reasonable number of links per page
  • Fix broken links promptly
  • Use breadcrumbs for hierarchy

Structured data (JSON-LD)

Organization

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Example Company",
    "url": "https://example.com",
    "logo": "https://example.com/logo.png",
    "sameAs": ["https://twitter.com/example", "https://linkedin.com/company/example"],
    "contactPoint": {
      "@type": "ContactPoint",
      "telephone": "+1-555-123-4567",
      "contactType": "customer service"
    }
  }
</script>

Article

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "How to Choose the Right Widget",
    "description": "Complete guide to selecting widgets for your needs.",
    "image": "https://example.com/article-image.jpg",
    "author": {
      "@type": "Person",
      "name": "Jane Smith",
      "url": "https://example.com/authors/jane-smith"
    },
    "publisher": {
      "@type": "Organization",
      "name": "Example Blog",
      "logo": {
        "@type": "ImageObject",
        "url": "https://example.com/logo.png"
      }
    },
    "datePublished": "2024-01-15",
    "dateModified": "2024-01-20"
  }
</script>

Product

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Product",
    "name": "Blue Widget Pro",
    "image": "https://example.com/blue-widget.jpg",
    "description": "Premium blue widget with advanced features.",
    "brand": {
      "@type": "Brand",
      "name": "WidgetCo"
    },
    "offers": {
      "@type": "Offer",
      "price": "49.99",
      "priceCurrency": "USD",
      "availability": "https://schema.org/InStock",
      "url": "https://example.com/products/blue-widget"
    },
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "4.8",
      "reviewCount": "1250"
    }
  }
</script>

FAQ

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "What colors are available?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Our widgets come in blue, red, and green."
        }
      },
      {
        "@type": "Question",
        "name": "What is the warranty?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "All widgets include a 2-year warranty."
        }
      }
    ]
  }
</script>

Breadcrumbs

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://example.com"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Products",
        "item": "https://example.com/products"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Blue Widgets",
        "item": "https://example.com/products/blue-widgets"
      }
    ]
  }
</script>

Validation

Test structured data at:


Mobile SEO

Responsive design

<!-- ❌ Not mobile-friendly -->
<meta name="viewport" content="width=1024" />

<!-- ✅ Responsive viewport -->
<meta name="viewport" content="width=device-width, initial-scale=1" />

Tap targets

/* ❌ Too small for mobile */
.small-link {
  padding: 4px;
  font-size: 12px;
}

/* ✅ Adequate tap target */
.mobile-friendly-link {
  padding: 12px;
  font-size: 16px;
  min-height: 48px;
  min-width: 48px;
}

Font sizes

/* ❌ Too small on mobile */
body {
  font-size: 10px;
}

/* ✅ Readable without zooming */
body {
  font-size: 16px;
  line-height: 1.5;
}

International SEO

Hreflang tags

<!-- For multi-language sites -->
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />

Language declaration

<html lang="en">
  <!-- or -->
  <html lang="es-MX"></html>
</html>

SEO audit checklist

Critical

  • [ ] HTTPS enabled
  • [ ] robots.txt allows crawling
  • [ ] No noindex on important pages
  • [ ] Title tags present and unique
  • [ ] Single <h1> per page

High priority

  • [ ] Meta descriptions present
  • [ ] Sitemap submitted
  • [ ] Canonical URLs set
  • [ ] Mobile-responsive
  • [ ] Core Web Vitals passing

Medium priority

  • [ ] Structured data implemented
  • [ ] Internal linking strategy
  • [ ] Image alt text
  • [ ] Descriptive URLs
  • [ ] Breadcrumb navigation

Ongoing

  • [ ] Fix crawl errors in Search Console
  • [ ] Update sitemap when content changes
  • [ ] Monitor ranking changes
  • [ ] Check for broken links
  • [ ] Review Search Console insights

Tools

| Tool | Use | | ------------------------- | ----------------------------- | | Google Search Console | Monitor indexing, fix issues | | Google PageSpeed Insights | Performance + Core Web Vitals | | Rich Results Test | Validate structured data | | Lighthouse | Full SEO audit | | Screaming Frog | Crawl analysis |

References

  • [Google Sear

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars6.8k
CategoryMarketing
Updated6d ago
Forks551

Languages

TypeScript

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium