mkreindel
UserClaude Code workspace template for running consistent SEO across a portfolio of managed websites.
Categories
Indexed Skills (18)
alternative
Generate an "alternatives to [Competitor]" page that captures searchers actively shopping away from a named competitor. Listicle-style — ranks the site alongside 4–7 other named alternatives, with the site positioned as best-fit for a specific use case (not always
audit
Run a technical SEO audit on a chosen managed site — verifies all 8 non-negotiables, runs Lighthouse mobile, checks Core Web Vitals from GSC field data, validates schema on representative pages, audits foundational infrastructure (GSC, GBP, GA4, GTM, BWT). Logs results to `sites/[name]/site-info.md` under "Technical SEO baseline." Use when the user types `/audit` or after any major site change.
blog
Generate a long-form, SEO-optimized, voice-matched blog post for a chosen managed site. Picks an unused informational keyword, runs SERP analysis on the top 3 results, fetches images per the site's configured source, applies the resolved voice (root + per-site override), satisfies Tier 1 on-page SEO, validates schema, and ships in the format the site's publishing method requires (repo-commit / cms-paste / lovable-prompt / headless-api). Use when the user types `/blog` or asks for a new blog post.
broken-backlinks
Monthly cron — finds pages on the open web that link to defunct competitor URLs where the site has a live replacement page, queues outreach to pitch the site's URL as the broken-link replacement. Pulls broken-backlink data from SEMrush (or Ahrefs/Moz as fallback) for each top-5 competitor, cross-references with the site's published content, surfaces high-probability "replacement-ready" opportunities. Highest-conversion outreach type — link reclamation pitches convert ~10× higher than cold-pitches because the publisher already has a broken link to fix. Use when the user types `/broken-backlinks` or when the monthly cron fires.
case-study
Generate a case study page that documents a specific client outcome — problem, intervention, measurable result, and the testable claim. Captures decision-stage searchers looking for proof of capability ("[industry] [outcome] case study", "[service] results"). Pulls the real story from the site's per-site `stories.md` (refuses if no eligible story exists — never invents). Satisfies Tier 1 on-page SEO, validates schema, and ships per the site's publishing method. Use when the user types `/case-study` or asks for a case study / customer story page.
cluster
Plan a topic cluster around a seed keyword for a chosen managed site. Pulls 5-15 SERP-clustered related keywords (per SEO_GUIDE Section 2.4 overlap test), designs a pillar page (broad target) + N cluster pages (narrow targets), specifies the internal-linking graph (pillar ↔ clusters + lateral cluster ↔ cluster), and generates wireframes for every page in one pass. Output lands in `_drafts/cluster-{seed-slug}/` ready for `/blog` or `/service` to fill in content. Use when the user types `/cluster {seed-keyword} {site}` or asks for a topic-cluster plan.
comparison
Generate a head-to-head comparison page ("[Site] vs [Competitor]" or "[Product A] vs [Product B]") for a chosen managed site. Captures decision-stage searchers comparing the site against a named alternative. Picks the comparison from `service-keywords.csv` (rows with intent=`comparison`) or user input, runs SERP analysis on top 3 comparison pages, builds a feature-by-feature comparison table, balances honesty (real limitations) with conversion (clear differentiators), satisfies Tier 1 on-page SEO, and ships per the site's publishing method. Use when the user types `/comparison` or asks for a "vs" page.
competitor-backlinks
Monthly cron — reverse-engineers the backlink graphs of the site's top-5 ranking competitors to surface high-probability link-acquisition targets. Pulls each competitor's top referring domains via SEMrush (or Ahrefs/Moz fallback), filters to domains NOT yet linking to the site, prioritizes domains linking to multiple competitors (= proven willingness to link to this vertical), scores by DA + topical relevance + outreach probability, and queues opportunities for user review in `_inbox/`. Use when the user types `/competitor-backlinks` or when the monthly cron fires.
glossary
Generate a glossary entry (single term) or glossary index (terms list) for a chosen managed site. Captures definition-stage search behavior ("what is [term]", "[term] meaning", "[term] definition") AND functions as an internal-link hub that distributes authority to commercial pages. Pulls definitions from site-specific authoritative sources, satisfies Tier 1 on-page SEO, validates DefinedTerm + DefinedTermSet schema, and ships per the site's publishing method. Use when the user types `/glossary` (one entry) or `/glossary --index` (full index) or asks for glossary content.
haro
Pull today's journalist-query digest from the site's configured source (Featured.com, Source of Sources, Qwoted, Help a B2B Writer, or HARO if revived), match queries to the site's documented expertise (per `site-info.md` + `stats.md` + `stories.md`), auto-draft pitch responses for high-match queries, and queue them for user approval in `_inbox/`. Runs daily as a cron. Highest-velocity backlink-acquisition channel — journalist queries move on 4–24 hour windows, so daily cadence is mandatory. Use when the user types `/haro` or when the daily cron fires.
integrations
Generate an integration page documenting how the site's product/service connects to a named third-party tool ("[Site] + [Tool]" or "[Site] [Tool] integration"). Captures decision-stage searchers verifying compatibility before purchase ("does [site] work with [tool]?"). Pulls real integration details from `site-info.md` or supplied integration dossier — refuses to invent integration capabilities. Satisfies Tier 1 on-page SEO, validates schema, and ships per the site's publishing method. Use when the user types `/integrations` or asks for an integration page.
lovable-deploy
Drive a Lovable round-trip via Chrome DevTools MCP. Reads a prepared prompt from the site's _drafts/ folder, navigates the user's local Chrome to the right Lovable project, pastes the prompt atomically (DataTransfer-based, bypassing Cmd+V UTF-8 mangling), waits for Lovable to finish building, captures the diff, runs heuristic verification, and either queues for human approval (default mode) or clicks Publish → Update directly (--auto-approve, subject to eligibility rules). After publish, runs curl-based verification on the live URL. Interactive-only — requires a local Claude session with Chrome MCP connected. Use when the user types `/lovable-deploy` or asks to ship a queued Lovable deploy.
pricing
Generate a transparent pricing page for a chosen managed site. Captures the highest-intent search behavior — searchers typing "[brand] pricing", "[service] cost", "how much does [service] cost". Pulls real pricing from the site's `stats.md` (refuses if pricing data missing — never invents). Builds a tier-by-tier breakdown OR a custom-quote framing depending on the site's pricing model (read from `site-info.md`). Satisfies Tier 1 on-page SEO, validates Offer schema, and ships per the site's publishing method. Use when the user types `/pricing` or asks for a pricing page.
refresh
Upgrade an existing blog post — re-run SERP analysis against the current top 3, refresh stats from `stats.md`, fix any Tier 1 on-page SEO gaps, update internal links to recent content, refresh the `dateModified`. Preserves the original URL and primary keyword (no cannibalization). Use when the user types `/refresh` or asks to update an existing post.
semrush-baseline
Refresh a site's SEMrush snapshot — domain authority, organic traffic, keyword count, top keywords, top competitors, backlink snapshot — and append the result as a dated baseline file in the site folder. Use when the user types `/semrush-baseline {site}` or when the quarterly cron fires.
service
Generate a service page (commercial-intent landing page) for a chosen managed site. Footprint-aware (single-location / multi-location / service-area / national-online), enforces anti-doorway-page rules, applies real NAP per Section 4.3 of SEO_GUIDE.md, includes mandatory conversion elements per Section 4.4, validates schema. Use when the user types `/service` or asks for a service page.
triage
Score every site in `sites/` by SEO opportunity and recommend the top 3 to focus investment on. Considers revenue potential, current authority, technical health, content gap, and conversion potential. Outputs a ranked list with rationale. Use when the user types `/triage` or asks "which sites should I focus on."
wireframe
Produce a wireframe doc for a new page (blog post, service page, or catalog leaf) BEFORE content generation. Mandatory step per `CLAUDE.md` — `/blog` and `/service` invoke this in their flow. Output is a markdown wireframe in `_drafts/[slug]/wireframe.md` covering layout zones, heading hierarchy, internal-linking pattern slots, conversion elements (service pages), and image plan. Optionally produces a draw.io / AI-generated visual mockup for client presentation. Use when the user types `/wireframe` directly, or when a page-generating skill calls it.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.