Phase 2: Skills
The six core skills below are mandatory. If the kickoff answer says AI was used to write any pages, /remove-ai-slop-without-removing-ctas-and-good-marketing-copy is also mandatory. Do not begin Phase 3 synthesis until every applicable skill has been run and its output saved.
Skill names and existing audit files
Use the published skills below. Older audits keep their existing evidence filenames; these filenames are storage locations, not skill commands.
| Invoke | Source | Save audit evidence as |
|---|---|---|
/ai-seo-better-than-corey-haines | GitHub · skills.sh | skills/ai-seo.md |
/schema-markup-better-than-corey-haines | GitHub · skills.sh | skills/schema-markup.md |
/competitors | GitHub | skills/competitor-alternatives.md |
Corey’s comparison-page skill is now named competitors. Install it and the other two upstream dependencies separately:
npx skills add coreyhaines31/marketingskills --skill programmatic-seo site-architecture competitors
If using the standalone runbook without our optional orchestrator, also install seo-audit from that upstream repository. If using our orchestrator, it supplies that checklist itself; do not replace it with the upstream skill of the same name.
Before analysis, resolve each required skill by its published name. If one is missing, link its source above and provide the install command; mark it blocked until installed. Do not silently use an older local ai-seo or schema-markup copy. If an upstream skill cross-references those older names, route AI visibility and structured-data work through the published variants above. Use the runbook’s audit-only scope and verification rules throughout.
Squirrelscan tells you what’s broken. These skills tell you what to build and how to grow.
/seo-audit (coreyhaines31/marketingskills)
Minimum data required: 4+ weeks of GSC performance data. Run this skill last among the six.
What it adds: A systematic checklist of SaaS-specific SEO gaps:
- SaaS content type gaps — missing page types (comparison/alternative pages, glossary content, feature depth pages)
- INP (Core Web Vital) — flags that INP replaced FID in March 2024 and is now a ranking factor
- Crawl budget fragmentation — connects subdomain count, parameter URLs, and thin-content issues to crawl budget
- Content quality and policy risk — tests originality, accuracy, first-party experience/value, factual support, and policy compliance rather than relying on an “AI detector” or isolated phrases
Gotcha: Run twice — once with coreyhaines31 (more tactical, SaaS-focused) and once with Anthropic version if available (more process-oriented).
Remove AI slop without removing CTAs and good marketing copy
Public skill: GitHub source · skills.sh listing. Invoke remove-ai-slop-without-removing-ctas-and-good-marketing-copy by name.
Trigger: The kickoff answer to “Have you used AI to write any of your pages?” is yes.
What it adds: AI-slop removal and human editing for SEO blogs, SaaS content, and marketing copy. It removes robotic phrasing, filler, and generic prose while preserving useful marketing copy, brand voice, CTAs, product links, offers, positioning, proof, and capability claims. Intentional repetition that supports conversion stays.
How it works: Identify the page’s conversion goal, mark protected sections, snapshot the draft with the included Python conversion guard, edit the prose, then verify the protected content and links. The included prose rubric and final evaluation work without any separate local editing skill. Automated checks support the agent’s editorial review; they do not establish factual accuracy or permission to publish.
Minimum data required: The identified page text or source file, its links, and enough product context to understand the intended reader action. GSC history is not required. This is an editorial review, not an AI-authorship detector.
Install remove-ai-slop-without-removing-ctas-and-good-marketing-copy from the public playbook collection (see installation instructions), then run it on audit copies only. Save its per-page evidence and integrity checks under audit-data/<client>/skills/remove-ai-slop-without-removing-ctas-and-good-marketing-copy/; never edit the live site, CMS, or repository source during the audit. If the kickoff answer is no, explicitly mark the skill skipped.
/programmatic-seo (coreyhaines31/marketingskills)
Minimum data required: Site structure + business context only. Can be run on day one.
What it adds: A 12-playbook framework. For B2B SaaS, the five that consistently apply:
- Integrations — “[product] [tool they use] integration” pages (highest ROI pSEO cluster)
- Comparisons — “vs competitor” and “alternatives” pages
- Personas — “[product] for [industry/role]” pages
- Glossary — “what is [term]” definitional pages
- Templates — “[type] template” pages
Gotcha: Only include playbooks where the client has the underlying product reality.
/ai-seo-better-than-corey-haines (BigChrisCooke/seo-playbook-skills)
What it adds: AI/GEO/AEO framework:
- Fixed prompt/citation benchmark — repeat the same bounded persona-context prompt sample with platform/date/locale recorded
- Conversation and fan-out research — map useful follow-ups and only the live searches a platform actually exposes
- Third-party presence strategy — identify the review sites, directories, publications, forums, and communities the sampled answers really cite
- Directional AI visibility — observed brand mentions and citations within the fixed sample, not a universal rank or share-of-voice claim
- Standard structured data only where justified — use supported schema that matches visible content and validates; no schema type is an AI-inclusion switch
Google does not require a special AI file or schema for AI Overviews or AI Mode. Do not score or promise visibility from llms.txt; if it already exists, treat it as an experimental non-Google aid.
/schema-markup-better-than-corey-haines (BigChrisCooke/seo-playbook-skills)
Minimum data required: Squirrel Scan output.
What it adds: Schema validation and per-page schema mapping:
- Entity relationships — connect entities consistently with
@id;@graphcan group them, but is not a Google requirement. - Per-page schema mapping — choose types supported by the page’s visible content and the feature’s current requirements.
- Validation evidence — cite actual errors per URL and distinguish required from recommended properties. Check Google’s Organization guidance rather than assuming every nested logo is invalid.
- Dated eligibility checks — the public skill includes primary-source references for retired features.
HowToandFAQPageremain schema.org vocabulary, but their retired Google rich results must not be presented as opportunities. Keep validity, eligibility, and observed display separate; recheck Google’s updates before making current claims.
/site-architecture (coreyhaines31/marketingskills)
What it adds: IA and internal linking framework:
- Spoke-to-hub back-linking — every spoke page must link back to its hub pillar
- Footer column structure — four-column footer template (Product, Resources, Company, Legal)
- Pillar/cluster architecture spec — one pillar page, 5-8 spoke pages, all linking bidirectionally
/competitors (coreyhaines31/marketingskills)
Minimum data required: Confirmed competitor names from the client — do not guess.
What it adds: Comparison and alternative page framework:
- Format 4 (competitor A vs competitor B) — the client enters as “the third option”
- Centralized competitor data file — single YAML/JSON source of truth
- Review mining methodology — G2, Capterra, TrustRadius reviews
Phase 2 Completion Checklist
Do not proceed to Phase 3 until all boxes are checked:
-
/seo-audit— run and output saved -
/programmatic-seo— run and output saved -
/ai-seo-better-than-corey-haines— run and output saved -
/schema-markup-better-than-corey-haines— run and output saved -
/site-architecture— run and output saved -
/competitors— run and output saved -
/remove-ai-slop-without-removing-ctas-and-good-marketing-copy— run when kickoff says AI was used; otherwise explicitly skipped