@piramilan/seo-expert 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,66 @@
1
+ # Changelog
2
+
3
+ All notable changes to the SEO Expert skill are documented here.
4
+
5
+ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [0.2.0] — 2026-05-13
8
+
9
+ One-line install via `npx`. Same skill content as 0.1.0; new way to deliver it.
10
+
11
+ ### Added
12
+ - `package.json` — npm package metadata. Published as `@piramilan/seo-expert` to the public registry.
13
+ - `bin/seo-expert.js` — zero-dependency Node CLI. Drives:
14
+ - `npx @piramilan/seo-expert install <tool>` for file-based installs (Cursor, Cline, Windsurf, Aider, continue.dev, Claude Code)
15
+ - `npx @piramilan/seo-expert copy <tool>` for clipboard-based installs (ChatGPT, Claude Project, Gemini, Perplexity)
16
+ - `npx @piramilan/seo-expert` for the interactive picker
17
+ - `list`, `info`, `help` subcommands for discovery
18
+ - Existing-file backup on install — any pre-existing `.cursorrules` / `CONVENTIONS.md` / `.clinerules` is renamed to `<file>.bak.<timestamp>` before being overwritten.
19
+ - Cross-platform clipboard support (macOS `pbcopy`, Linux `wl-copy`/`xclip`/`xsel`, Windows `clip`) with a `seo-expert-adapter.md` file fallback when none is available.
20
+
21
+ ### Changed
22
+ - `README.md` rewritten as a one-stop install guide with table of contents, npx primary path, and inline manual paths per AI tool.
23
+ - `INSTALL.md` adds a "Quickest path — one-line npx" section at the top and corrects the manual Claude Code clone path to `~/.claude/skills/seo-expert`.
24
+ - Skill content under `core/`, `adapters/`, `prompts/`, `sources/`, and `SKILL.md` is unchanged from v0.1.0 — `npx @piramilan/seo-expert@0.1.0` and `@0.2.0` ship identical guidance.
25
+
26
+ ### Requirements
27
+ - Node ≥ 18 for the `npx` flow (zero deps, uses only `node:` built-ins).
28
+ - Manual install paths require no runtime — just file copy.
29
+
30
+ [0.2.0]: https://github.com/Piramilan/seo-expert/releases/tag/v0.2.0
31
+
32
+ ## [0.1.0] — 2026-05-13
33
+
34
+ Initial public release.
35
+
36
+ ### Added
37
+ - `SKILL.md` — canonical skill definition with frontmatter, six-step universal flow, task → playbook routing table, eight operating principles, six-part output contract, and guardrails.
38
+ - `core/ai-seo-operating-system.md` — audits, AI visibility, measurement, paid-AI-surface guidance.
39
+ - `core/technical-seo.md` — crawl, index, schema, performance, Search Console workflow, citation targeting.
40
+ - `core/content-strategy.md` — briefs, topic clusters, content refresh, visual pipeline, AI-assisted internal linking.
41
+ - `core/local-seo.md` — Google Business Profile, map pack behavior signals, location pages, review acquisition.
42
+ - `core/programmatic-seo.md` — six pattern recipes, validation, monitoring, kill-switch failure modes, "when NOT to go programmatic".
43
+ - `core/video-derived-lessons.md` — generated lessons keyed by 8 topic tags with source links.
44
+ - `prompts/universal-ai-seo-prompts.md` — 9 ready-to-paste prompt templates (audit, page rewrite, content brief, technical, schema, local, programmatic, measurement, authority).
45
+ - `adapters/claude-project-instructions.md` — Claude.ai / Claude Desktop.
46
+ - `adapters/chatgpt-instructions.md` — ChatGPT Custom GPT / Project.
47
+ - `adapters/gemini-gem-instructions.md` — Gemini Gem.
48
+ - `adapters/perplexity-space-instructions.md` — Perplexity Space.
49
+ - `adapters/coding-agent-rules.md` — Cursor / Cline / Windsurf / Aider / continue.dev.
50
+ - `sources/video-index.md` — public source-video metadata index.
51
+ - `INSTALL.md` — per-tool setup walkthrough.
52
+
53
+ ### Principles enforced by all adapters
54
+ - Answer-first structure
55
+ - Entities over keywords
56
+ - Extractability (H2/H3 questions, short paragraphs, tables, FAQ blocks)
57
+ - Source-backed claims
58
+ - AI visibility separated from traditional ranking
59
+ - Conversion outcomes over vanity metrics
60
+ - Diagnose before prescribing
61
+ - Verify, then ship
62
+
63
+ ### Guardrails
64
+ - No bought reviews · no faked engagement · no link farms · no hidden text · no doorway pages · no generated-content spam · no keyword stuffing · no schema mismatched with visible content · no reproduction of raw third-party transcripts
65
+
66
+ [0.1.0]: https://github.com/Piramilan/seo-expert/releases/tag/v0.1.0
package/INSTALL.md ADDED
@@ -0,0 +1,196 @@
1
+ # Install — SEO Expert Skill
2
+
3
+ Five-minute setup per AI tool. Pick the tool(s) you use; the skill operates the same way in each.
4
+
5
+ This file is the deep walkthrough. The [README](README.md) has the same content in a more compact form — pick whichever you prefer.
6
+
7
+ ---
8
+
9
+ ## Quickest path — one-line `npx` (Node ≥ 18)
10
+
11
+ The package ships every adapter and playbook. The CLI either drops the right files into your project / home, or copies the adapter to your clipboard for web-based AI tools.
12
+
13
+ ```bash
14
+ # Interactive menu
15
+ npx @piramilan/seo-expert
16
+
17
+ # Coding agents (drops the rules file into the current directory)
18
+ npx @piramilan/seo-expert install cursor # → .cursorrules
19
+ npx @piramilan/seo-expert install cline # → .clinerules
20
+ npx @piramilan/seo-expert install windsurf # → .windsurfrules
21
+ npx @piramilan/seo-expert install aider # → CONVENTIONS.md
22
+ npx @piramilan/seo-expert install continue # → .continue/seo-expert.md
23
+
24
+ # Anthropic CLI (installs to ~/.claude/skills/seo-expert/)
25
+ npx @piramilan/seo-expert install claude-code
26
+
27
+ # Web-based AI tools — copies the adapter to clipboard + prints next steps
28
+ npx @piramilan/seo-expert copy chatgpt
29
+ npx @piramilan/seo-expert copy claude-project
30
+ npx @piramilan/seo-expert copy gemini
31
+ npx @piramilan/seo-expert copy perplexity
32
+
33
+ # Discovery
34
+ npx @piramilan/seo-expert list
35
+ npx @piramilan/seo-expert info
36
+ npx @piramilan/seo-expert help
37
+ ```
38
+
39
+ **Pin a version for reproducible setups:**
40
+
41
+ ```bash
42
+ npx @piramilan/seo-expert@0.2.0 install cursor
43
+ ```
44
+
45
+ **Safety notes:**
46
+
47
+ - Existing target files (`.cursorrules`, `CONVENTIONS.md`, etc.) are backed up to `<file>.bak.<timestamp>` before being overwritten.
48
+ - Clipboard copy works on macOS (`pbcopy`), Linux (`wl-copy` / `xclip` / `xsel`), Windows (`clip`). If none are available, the adapter is written to `seo-expert-adapter.md` in the current directory.
49
+ - Zero runtime dependencies — the CLI uses only Node built-ins.
50
+
51
+ If you can't run Node, skip to the manual path for your tool below.
52
+
53
+ ---
54
+
55
+ ## Claude Code (developers, agencies, anyone using Claude in the terminal)
56
+
57
+ ```bash
58
+ # Clone into the Claude Code skills directory
59
+ git clone https://github.com/Piramilan/seo-expert.git ~/.claude/skills/seo-expert
60
+ ```
61
+
62
+ Then restart Claude Code (or open a new conversation). The skill auto-invokes when you ask SEO questions because of the `description:` in `SKILL.md` frontmatter.
63
+
64
+ **Test it:**
65
+ ```
66
+ audit https://example.com for AI visibility
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Claude Project (claude.ai or Claude Desktop)
72
+
73
+ 1. Go to **claude.ai → Projects → New Project**
74
+ 2. Open [adapters/claude-project-instructions.md](adapters/claude-project-instructions.md), copy the block under `## Instructions (paste this)`
75
+ 3. Paste into the Project's **Custom instructions** field
76
+ 4. Upload to the Project's knowledge:
77
+ - `SKILL.md`
78
+ - `core/ai-seo-operating-system.md`
79
+ - `core/technical-seo.md`
80
+ - `core/content-strategy.md`
81
+ - `core/local-seo.md`
82
+ - `core/programmatic-seo.md`
83
+ - `core/video-derived-lessons.md`
84
+ - `prompts/universal-ai-seo-prompts.md`
85
+ - `sources/video-index.md`
86
+ 5. Save.
87
+
88
+ **Test it:** `Audit https://example.com for SEO`
89
+
90
+ ---
91
+
92
+ ## ChatGPT — Custom GPT (Plus/Pro/Team users)
93
+
94
+ 1. Go to **chatgpt.com → My GPTs → Create a GPT → Configure**
95
+ 2. Name: `SEO Expert`
96
+ 3. Description: `Senior SEO + AI-SEO consultant. Audits, content briefs, page rewrites, schema, local SEO, programmatic SEO, AI visibility.`
97
+ 4. Open [adapters/chatgpt-instructions.md](adapters/chatgpt-instructions.md), copy the block under `## Instructions (paste this)` → paste into **Instructions**
98
+ 5. **Conversation starters** (copy these into the four starter slots):
99
+ - `Audit this URL for SEO and AI visibility: `
100
+ - `Rewrite this page section for AI extractability: `
101
+ - `Build a content brief for the query: `
102
+ - `Plan programmatic pages for the pattern: `
103
+ 6. **Knowledge** — upload the same 9 files listed in the Claude Project section above
104
+ 7. **Capabilities** — enable Web Browsing (lets the GPT fetch URLs you give it). Enable Code Interpreter only if you want it to validate JSON-LD locally.
105
+ 8. **Save** → publish to *Only me*, *Anyone with the link*, or *Everyone* (the GPT Store).
106
+
107
+ **Test it:** start a new chat with the GPT and use one of the conversation starters.
108
+
109
+ ### ChatGPT Project (alternative, simpler, no Custom GPT)
110
+ 1. **chatgpt.com → Projects → New Project**
111
+ 2. Paste the same instructions block into the Project's instructions
112
+ 3. Drop the same 9 files into Project files
113
+ 4. Same conversation starters work.
114
+
115
+ ---
116
+
117
+ ## Gemini Gem
118
+
119
+ 1. **gemini.google.com → Gems → New Gem**
120
+ 2. Open [adapters/gemini-gem-instructions.md](adapters/gemini-gem-instructions.md), copy the block under `## Instructions (paste this)` → paste into the Gem's instructions
121
+ 3. Gems do not accept attached files the way Custom GPTs do. **Embed the playbook content inline:**
122
+ - Copy the contents of `SKILL.md` and each `core/*.md` into the Gem's instructions, or
123
+ - Paste the file you need at the start of each conversation (faster for long-context tasks)
124
+ 4. Save.
125
+
126
+ **Test it:** *"Read https://example.com and audit it for SEO and AI visibility."* Gemini will fetch the URL and apply the embedded playbooks.
127
+
128
+ ---
129
+
130
+ ## Perplexity Space
131
+
132
+ 1. **perplexity.ai → Spaces → Create a Space**
133
+ 2. Open [adapters/perplexity-space-instructions.md](adapters/perplexity-space-instructions.md), copy the block under `## Instructions (paste this)` → paste into the Space's instructions
134
+ 3. Add to the Space library (Perplexity supports `.md`):
135
+ - `SKILL.md`
136
+ - All 6 `core/*.md` files
137
+ - `prompts/universal-ai-seo-prompts.md`
138
+ - `sources/video-index.md`
139
+ 4. Save.
140
+
141
+ **Why Perplexity is special:** it does live web search and cites every claim. Use it for *current-state* audits where you want fresh evidence (rank tracking, AI-answer surface, competitor backlinks).
142
+
143
+ **Test it:** *"Audit https://example.com — pull current SERP citations and AI-answer state, then apply the SEO Expert playbook."*
144
+
145
+ ---
146
+
147
+ ## Cursor / Cline / Windsurf / Aider / continue.dev (coding agents)
148
+
149
+ For agents that edit your repo's marketing pages, schema, sitemaps, or meta tags.
150
+
151
+ 1. In your project root:
152
+ - **Cursor:** save [adapters/coding-agent-rules.md](adapters/coding-agent-rules.md) as `.cursorrules` (or `.cursor/rules/seo-expert.md`)
153
+ - **Cline:** save as `.clinerules`
154
+ - **Windsurf:** save as `.windsurfrules`
155
+ - **Aider:** save as `CONVENTIONS.md`, then run `aider --read CONVENTIONS.md`
156
+ - **continue.dev:** copy the block into `.continue/config.json` `systemMessage` or `rules`
157
+ 2. (Optional) Vendor the `core/*.md` playbooks into your repo under `docs/seo-expert/core/` so the agent can read depth when needed
158
+ 3. Commit and push.
159
+
160
+ **What it does:** any time the agent edits a `.html`, `.jsx`, `.tsx`, `.mdx`, `.vue`, `.svelte`, `_app.*`, `_document.*`, `Header.*`, `Footer.*`, or `Head.*` file — or `sitemap.xml`, `robots.txt`, `manifest.*` — it automatically applies the SEO Expert defaults (single `<h1>`, schema parity with visible content, canonical, OG, Twitter Card, redirect maps).
161
+
162
+ **Test it:** ask the agent to *"add SEO meta tags and JSON-LD to the pricing page"*. Confirm the diff matches the Output Contract.
163
+
164
+ ---
165
+
166
+ ## How to verify your install worked
167
+
168
+ Run this prompt in any installed tool:
169
+
170
+ > Diagnose, then return the six-part output contract for this URL: `https://example.com`. Skip detailed recommendations — I just want to confirm the skill is wired up.
171
+
172
+ The response should contain six labeled sections (Diagnosis · Prioritized recommendations · Concrete examples · Verification steps · Risks/assumptions/dependencies · Source references). If any section is missing, the adapter wasn't fully pasted or files weren't uploaded.
173
+
174
+ ---
175
+
176
+ ## Updating
177
+
178
+ When this repo cuts a new release (see [CHANGELOG.md](CHANGELOG.md)):
179
+
180
+ - **Claude Code:** `git pull` in the skill directory
181
+ - **Claude Project / ChatGPT GPT / Perplexity Space:** re-upload the changed files
182
+ - **Gemini Gem:** re-paste the changed playbook content
183
+ - **Coding agents:** `git pull` if vendored, or replace the rules file
184
+
185
+ Pin to a tag (`git checkout v0.1.0`) if you want a stable surface.
186
+
187
+ ---
188
+
189
+ ## Need help?
190
+
191
+ Open an issue on the repo with:
192
+ - Which AI tool you're installing in
193
+ - What step failed
194
+ - The output you got vs. what you expected
195
+
196
+ PRs to improve this install guide are welcome.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Milan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,320 @@
1
+ # SEO Expert
2
+
3
+ > One portable SEO + AI-SEO/GEO skill that works the same way in **Claude**, **ChatGPT**, **Gemini**, **Perplexity**, and coding agents (**Cursor**, **Cline**, **Windsurf**, **Aider**).
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
+ [![Version](https://img.shields.io/badge/version-0.2.0-green.svg)](CHANGELOG.md)
7
+ [![npm](https://img.shields.io/badge/npm-%40piramilan%2Fseo--expert-red.svg)](https://www.npmjs.com/package/@piramilan/seo-expert)
8
+ [![Skill](https://img.shields.io/badge/skill-seo--expert-purple.svg)](SKILL.md)
9
+
10
+ A senior SEO + AI-search consultant in skill form. Diagnose before prescribing, return prioritized recommendations against a six-part output contract, and refuse fake-signal tactics. Built on hand-written playbooks plus a corpus of video-derived SEO lessons.
11
+
12
+ ---
13
+
14
+ ## Table of contents
15
+
16
+ - [What it does](#what-it-does)
17
+ - [Output contract](#output-contract)
18
+ - [Install — one-line `npx` (recommended)](#install--one-line-npx-recommended)
19
+ - [Install — manual paths (no Node required)](#install--manual-paths-no-node-required)
20
+ - [Claude Code](#claude-code)
21
+ - [Claude Project / Desktop](#claude-project--desktop)
22
+ - [ChatGPT (Custom GPT / Project)](#chatgpt-custom-gpt--project)
23
+ - [Gemini Gem](#gemini-gem)
24
+ - [Perplexity Space](#perplexity-space)
25
+ - [Cursor / Cline / Windsurf / Aider / continue.dev](#cursor--cline--windsurf--aider--continuedev)
26
+ - [Verify your install](#verify-your-install)
27
+ - [Update an existing install](#update-an-existing-install)
28
+ - [Repo layout](#repo-layout)
29
+ - [Operating principles](#operating-principles)
30
+ - [Guardrails](#guardrails)
31
+ - [Quick example](#quick-example)
32
+ - [Versioning, contributing, license](#versioning-contributing-license)
33
+
34
+ ---
35
+
36
+ ## What it does
37
+
38
+ Ask any of the following in your AI tool and the skill auto-routes to the right playbook:
39
+
40
+ - **SEO audit** of a site, page, or section
41
+ - **Content brief**, topic cluster plan, or editorial calendar
42
+ - **Page rewrite** for AI-answer extractability and traditional ranking
43
+ - **Technical SEO** review (crawl, index, schema, performance, internal links)
44
+ - **Schema markup** plan with JSON-LD that mirrors visible content
45
+ - **Local SEO** plan (Google Business Profile, reviews, map pack, service pages)
46
+ - **Programmatic SEO** plan (template + data + indexability rules)
47
+ - **AI visibility / GEO / AEO / LLMO** strategy (ChatGPT, Perplexity, Gemini, Claude, Copilot, AI Overviews)
48
+ - **Measurement** plan (Search Console + GA4 + AI-referral tracking)
49
+ - **Authority / backlink / citation** plan
50
+
51
+ ## Output contract
52
+
53
+ Every deliverable from the skill contains, in order:
54
+
55
+ 1. **Diagnosis** — what was observed, what's missing, what's assumed
56
+ 2. **Prioritized recommendations** — ordered by impact ÷ effort, each naming a specific page/section/asset
57
+ 3. **Concrete examples** — rewritten section, schema snippet, internal-link plan, or page template
58
+ 4. **Verification steps** — tool, expected timeframe, signal to watch
59
+ 5. **Risks, assumptions, dependencies**
60
+ 6. **Source references** when drawing from the video corpus
61
+
62
+ If a critical input is missing, the skill asks one specific question rather than guessing.
63
+
64
+ ---
65
+
66
+ ## Install — one-line `npx` (recommended)
67
+
68
+ Requires Node ≥ 18. The package ships every adapter and playbook; the CLI places them where each AI tool expects them or copies them to your clipboard.
69
+
70
+ **Interactive menu** — pick a tool from a list:
71
+
72
+ ```bash
73
+ npx @piramilan/seo-expert
74
+ ```
75
+
76
+ **Direct install per tool** — one command, done:
77
+
78
+ ```bash
79
+ # Coding agents (drops the rules file into your current project directory)
80
+ npx @piramilan/seo-expert install cursor # → .cursorrules
81
+ npx @piramilan/seo-expert install cline # → .clinerules
82
+ npx @piramilan/seo-expert install windsurf # → .windsurfrules
83
+ npx @piramilan/seo-expert install aider # → CONVENTIONS.md
84
+ npx @piramilan/seo-expert install continue # → .continue/seo-expert.md
85
+
86
+ # Anthropic CLI (installs to ~/.claude/skills/seo-expert/)
87
+ npx @piramilan/seo-expert install claude-code
88
+
89
+ # Web-based AI tools — copies the adapter to your clipboard + prints next steps
90
+ npx @piramilan/seo-expert copy chatgpt
91
+ npx @piramilan/seo-expert copy claude-project
92
+ npx @piramilan/seo-expert copy gemini
93
+ npx @piramilan/seo-expert copy perplexity
94
+ ```
95
+
96
+ **Discovery commands:**
97
+
98
+ ```bash
99
+ npx @piramilan/seo-expert list # list every supported tool
100
+ npx @piramilan/seo-expert info # version + repo info
101
+ npx @piramilan/seo-expert help # full CLI usage
102
+ ```
103
+
104
+ **Safety notes:**
105
+
106
+ - If a target file (`.cursorrules`, `CONVENTIONS.md`, etc.) already exists, the CLI backs it up to `<file>.bak.<timestamp>` before writing.
107
+ - Clipboard copy works on macOS (`pbcopy`), Linux (`wl-copy` / `xclip` / `xsel`), and Windows (`clip`). If none are available, the CLI writes `seo-expert-adapter.md` to the current directory so you can copy it manually.
108
+ - Pin a specific version for reproducible setups: `npx @piramilan/seo-expert@0.2.0 install cursor`.
109
+
110
+ ---
111
+
112
+ ## Install — manual paths (no Node required)
113
+
114
+ If you can't run `npx` or want to install without touching a terminal, every adapter is a plain Markdown file you can copy by hand. Pick your tool:
115
+
116
+ ### Claude Code
117
+
118
+ The Anthropic CLI auto-loads skills from `~/.claude/skills/<name>/`.
119
+
120
+ ```bash
121
+ git clone https://github.com/Piramilan/seo-expert.git ~/.claude/skills/seo-expert
122
+ ```
123
+
124
+ Restart Claude Code (or open a new conversation). Ask any SEO question — the skill auto-routes because of the `description:` in [SKILL.md](SKILL.md) frontmatter.
125
+
126
+ **Test it:** `Audit https://example.com for SEO and AI visibility`
127
+
128
+ ---
129
+
130
+ ### Claude Project / Desktop
131
+
132
+ 1. Go to **[claude.ai](https://claude.ai) → Projects → New Project**.
133
+ 2. Open [adapters/claude-project-instructions.md](adapters/claude-project-instructions.md). Copy the block under **`## Instructions (paste this)`** into the Project's **Custom instructions** field.
134
+ 3. Upload these files to the Project's knowledge base:
135
+ - [SKILL.md](SKILL.md)
136
+ - [core/ai-seo-operating-system.md](core/ai-seo-operating-system.md)
137
+ - [core/technical-seo.md](core/technical-seo.md)
138
+ - [core/content-strategy.md](core/content-strategy.md)
139
+ - [core/local-seo.md](core/local-seo.md)
140
+ - [core/programmatic-seo.md](core/programmatic-seo.md)
141
+ - [core/video-derived-lessons.md](core/video-derived-lessons.md)
142
+ - [prompts/universal-ai-seo-prompts.md](prompts/universal-ai-seo-prompts.md)
143
+ - [sources/video-index.md](sources/video-index.md)
144
+ 4. Save.
145
+
146
+ **Test it:** `Audit https://example.com for SEO`
147
+
148
+ ---
149
+
150
+ ### ChatGPT (Custom GPT / Project)
151
+
152
+ 1. Go to **[chatgpt.com](https://chatgpt.com) → My GPTs → Create a GPT → Configure**. (For a Project instead, go to **Projects → New Project**.)
153
+ 2. **Name:** `SEO Expert`. **Description:** *Senior SEO + AI-SEO consultant. Audits, content briefs, page rewrites, schema, local SEO, programmatic SEO, AI visibility.*
154
+ 3. Open [adapters/chatgpt-instructions.md](adapters/chatgpt-instructions.md). Copy the block under **`## Instructions (paste this)`** → paste into **Instructions**.
155
+ 4. **Conversation starters** (paste into the four starter slots):
156
+ - `Audit this URL for SEO and AI visibility: `
157
+ - `Rewrite this page section for AI extractability: `
158
+ - `Build a content brief for the query: `
159
+ - `Plan programmatic pages for the pattern: `
160
+ 5. **Knowledge** — upload the same 9 files listed in the Claude Project section above.
161
+ 6. **Capabilities** — enable Web Browsing (so the GPT can fetch URLs you give it). Code Interpreter is optional.
162
+ 7. **Save** → publish to *Only me*, *Anyone with the link*, or *Everyone* (GPT Store).
163
+
164
+ **Test it:** start a new chat with one of the conversation starters.
165
+
166
+ ---
167
+
168
+ ### Gemini Gem
169
+
170
+ 1. **[gemini.google.com](https://gemini.google.com) → Gems → New Gem**.
171
+ 2. Open [adapters/gemini-gem-instructions.md](adapters/gemini-gem-instructions.md). Copy the block under **`## Instructions (paste this)`** → paste into the Gem's instructions.
172
+ 3. Gems don't support attached files like Custom GPTs do. **Embed the playbook content inline:**
173
+ - Copy the contents of [SKILL.md](SKILL.md) and each `core/*.md` into the Gem's instructions, or
174
+ - Paste the file you need at the start of each conversation (faster for long-context tasks).
175
+ 4. Save.
176
+
177
+ **Test it:** *"Read https://example.com and audit it for SEO and AI visibility."* Gemini will fetch the URL and apply the embedded playbooks.
178
+
179
+ ---
180
+
181
+ ### Perplexity Space
182
+
183
+ 1. **[perplexity.ai](https://perplexity.ai) → Spaces → Create a Space**.
184
+ 2. Open [adapters/perplexity-space-instructions.md](adapters/perplexity-space-instructions.md). Copy the block under **`## Instructions (paste this)`** → paste into the Space's instructions.
185
+ 3. Add the 9 files (same list as the Claude Project section) to the Space library.
186
+ 4. Save.
187
+
188
+ **Why Perplexity is special:** it does live web search and cites every claim. Use it for *current-state* audits where you want fresh evidence.
189
+
190
+ **Test it:** *"Audit https://example.com — pull current SERP citations and AI-answer state, then apply the SEO Expert playbook."*
191
+
192
+ ---
193
+
194
+ ### Cursor / Cline / Windsurf / Aider / continue.dev
195
+
196
+ For coding agents editing your marketing pages, schema, sitemaps, or meta tags.
197
+
198
+ In your project root, save [adapters/coding-agent-rules.md](adapters/coding-agent-rules.md) as the right filename for your agent:
199
+
200
+ | Agent | File path |
201
+ | --- | --- |
202
+ | Cursor | `.cursorrules` (or `.cursor/rules/seo-expert.md`) |
203
+ | Cline | `.clinerules` |
204
+ | Windsurf | `.windsurfrules` |
205
+ | Aider | `CONVENTIONS.md` — then run `aider --read CONVENTIONS.md` |
206
+ | continue.dev | `.continue/seo-expert.md` (or paste into `.continue/config.json` `rules`) |
207
+
208
+ **One command shortcut** (from your project root):
209
+
210
+ ```bash
211
+ curl -fsSL https://raw.githubusercontent.com/Piramilan/seo-expert/main/adapters/coding-agent-rules.md > .cursorrules
212
+ ```
213
+
214
+ Commit and push. The agent now applies SEO defaults automatically when editing any `.html`, `.jsx`, `.tsx`, `.mdx`, `.vue`, `.svelte`, `Head.*`, `_app.*`, `_document.*` file — or `sitemap.xml`, `robots.txt`, `manifest.*`.
215
+
216
+ **Test it:** ask the agent *"add SEO meta tags and JSON-LD to the pricing page"* and confirm the diff matches the six-part Output Contract.
217
+
218
+ ---
219
+
220
+ ## Verify your install
221
+
222
+ Run this prompt in any installed tool:
223
+
224
+ > Diagnose, then return the six-part output contract for `https://example.com`. Skip detailed recommendations — I just want to confirm the skill is wired up.
225
+
226
+ The response must contain six labeled sections: Diagnosis · Prioritized recommendations · Concrete examples · Verification steps · Risks/assumptions/dependencies · Source references. If any section is missing, the adapter wasn't fully pasted or the knowledge files weren't uploaded.
227
+
228
+ ---
229
+
230
+ ## Update an existing install
231
+
232
+ When a new release cuts (see [CHANGELOG.md](CHANGELOG.md)):
233
+
234
+ - **`npx` users:** the next `npx @piramilan/seo-expert install <tool>` automatically pulls the latest version. Pin with `@x.y.z` if you don't want updates.
235
+ - **Claude Code (manual clone):** `cd ~/.claude/skills/seo-expert && git pull`
236
+ - **Claude Project / ChatGPT GPT / Perplexity Space:** re-upload only the files that changed (see the version's CHANGELOG diff).
237
+ - **Gemini Gem:** re-paste the changed playbook content.
238
+ - **Coding agents:** `git pull` if vendored, or re-run the curl one-liner to overwrite `.cursorrules` / equivalent.
239
+
240
+ Pin to a specific version for reproducible installs:
241
+
242
+ ```bash
243
+ npx @piramilan/seo-expert@0.2.0 install cursor
244
+ ```
245
+
246
+ ---
247
+
248
+ ## Repo layout
249
+
250
+ ```
251
+ seo-expert/
252
+ ├── SKILL.md ← canonical skill (entry point)
253
+ ├── INSTALL.md ← per-tool walkthrough (mirror of this README's install sections)
254
+ ├── README.md ← you are here
255
+ ├── CHANGELOG.md ← versioned release notes
256
+ ├── LICENSE ← MIT
257
+ ├── package.json ← npm metadata + bin field
258
+ ├── bin/
259
+ │ └── seo-expert.js ← npx CLI (zero deps, Node ≥ 18)
260
+ ├── core/
261
+ │ ├── ai-seo-operating-system.md ← audits, AI visibility, measurement
262
+ │ ├── technical-seo.md ← crawl, index, schema, performance, Search Console
263
+ │ ├── content-strategy.md ← briefs, clusters, refresh, internal linking
264
+ │ ├── local-seo.md ← GBP, map pack, reviews, location pages
265
+ │ ├── programmatic-seo.md ← templated page sets, validation, kill switches
266
+ │ └── video-derived-lessons.md ← generated lessons by topic (with source links)
267
+ ├── prompts/
268
+ │ └── universal-ai-seo-prompts.md ← 9 ready-to-paste prompt templates
269
+ ├── adapters/
270
+ │ ├── claude-project-instructions.md
271
+ │ ├── chatgpt-instructions.md
272
+ │ ├── gemini-gem-instructions.md
273
+ │ ├── perplexity-space-instructions.md
274
+ │ └── coding-agent-rules.md
275
+ └── sources/
276
+ └── video-index.md ← public source-video metadata index
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Operating principles
282
+
283
+ Rules the skill follows on every task:
284
+
285
+ - **Answer-first structure** — lead with the direct answer, then proof
286
+ - **Entities over keywords** — each page is the canonical home for a named entity
287
+ - **Extractability** — H2/H3 questions, short paragraphs, comparison tables, FAQ blocks
288
+ - **Source-backed claims** — statistics and definitions cite a source
289
+ - **Separate AI visibility from traditional ranking** when both are in scope
290
+ - **Conversion outcomes, not vanity metrics** — every recommendation maps to revenue/leads/calls
291
+ - **Diagnose before prescribing** — name the page, query, or signal first
292
+ - **Verify, then ship** — every recommendation includes how to confirm it worked
293
+
294
+ ## Guardrails
295
+
296
+ No bought reviews · no faked map-pack engagement · no link farms · no hidden text · no doorway pages · no generated-content spam · no keyword stuffing · no schema that doesn't match visible content · no reproducing raw third-party transcripts. If asked, the skill refuses and recommends the durable equivalent.
297
+
298
+ ---
299
+
300
+ ## Quick example
301
+
302
+ > **You:** Audit `example.com` for SEO and AI visibility.
303
+ >
304
+ > **Skill returns:**
305
+ > 1. Diagnosis with specific findings (empty H1, missing schema, no AI-crawler policy, etc.)
306
+ > 2. Prioritized fixes in tiers (this week / this month / this quarter)
307
+ > 3. Concrete HTML rewrites + JSON-LD blocks ready to ship
308
+ > 4. Verification steps (Rich Results Test, Search Console, GA4 filters)
309
+ > 5. Risks (schema-mismatch, thin pages, competitor positioning)
310
+ > 6. Source links to the video corpus
311
+
312
+ ---
313
+
314
+ ## Versioning, contributing, license
315
+
316
+ **Semver.** See [CHANGELOG.md](CHANGELOG.md). Pin to a tag (`v0.2.0`) or to an npm version (`@piramilan/seo-expert@0.2.0`) if you want a stable surface.
317
+
318
+ **Contributing.** Issues and PRs welcome. Useful contributions: new playbooks (`core/*.md`), new adapters (a new AI tool), new prompt templates (`prompts/*.md`), and edits that tighten existing guidance. Keep the six-part Output Contract intact — that's the skill's identity. See `.github/PULL_REQUEST_TEMPLATE.md` for the checklist.
319
+
320
+ **License.** [MIT](LICENSE). Use it, fork it, ship it inside your product, charge for it. Attribution appreciated, not required.