seo-geo-optimizer 1.0.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/CONTRIBUTING.md +81 -0
- package/LICENSE +21 -0
- package/README.md +303 -0
- package/bin/install.js +301 -0
- package/package.json +62 -0
- package/skill/SEO_GEO_SKILL.md +776 -0
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Contributing to SEO & GEO Optimizer
|
|
2
|
+
|
|
3
|
+
Thank you for helping keep this skill accurate and up to date. This is an open resource โ contributions are genuinely valuable.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What we accept
|
|
8
|
+
|
|
9
|
+
The most useful contributions are:
|
|
10
|
+
|
|
11
|
+
**Skill file updates** (`skill/SEO_GEO_SKILL.md`)
|
|
12
|
+
- A Google or Bing ranking factor changed and the skill needs to reflect it
|
|
13
|
+
- A schema type changed on schema.org
|
|
14
|
+
- A Core Web Vital threshold was updated by Google
|
|
15
|
+
- A reference URL broke or redirected โ update it with the current URL
|
|
16
|
+
- A new schema type is now supported in Google Rich Results
|
|
17
|
+
|
|
18
|
+
**Installer improvements** (`bin/install.js`)
|
|
19
|
+
- A new AI IDE emerged that has a known rules file path
|
|
20
|
+
- An existing IDE changed where it reads its rules file
|
|
21
|
+
- A bug in the auto-detection logic
|
|
22
|
+
|
|
23
|
+
**README improvements**
|
|
24
|
+
- A manual install step for an IDE changed
|
|
25
|
+
- Clarity improvements on existing instructions
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## What we do not accept
|
|
30
|
+
|
|
31
|
+
- Generic SEO advice without an official source URL
|
|
32
|
+
- Recommendations based on personal experience only โ all claims must cite Google Search Central, Bing Webmaster Guidelines, or schema.org
|
|
33
|
+
- Changes that remove official citation links from the skill file
|
|
34
|
+
- New IDE targets added without a verified install path (test it yourself first)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## How to contribute
|
|
39
|
+
|
|
40
|
+
1. Fork this repository
|
|
41
|
+
2. Create a branch: `git checkout -b fix/bing-guidelines-update`
|
|
42
|
+
3. Make your change
|
|
43
|
+
4. In your PR description, include:
|
|
44
|
+
- What changed and why
|
|
45
|
+
- The official source URL confirming the change (required for skill file updates)
|
|
46
|
+
5. Submit the pull request
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Naming conventions for branches
|
|
51
|
+
|
|
52
|
+
| Type | Format | Example |
|
|
53
|
+
|------|--------|---------|
|
|
54
|
+
| Skill update | `fix/what-changed` | `fix/inp-threshold-update` |
|
|
55
|
+
| New IDE support | `feat/ide-name` | `feat/zed-editor-support` |
|
|
56
|
+
| Bug fix | `fix/what-broke` | `fix/copilot-detection` |
|
|
57
|
+
| Documentation | `docs/what-updated` | `docs/replit-instructions` |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## The one rule for skill file changes
|
|
62
|
+
|
|
63
|
+
**Every SEO or GEO claim must include the official source URL.**
|
|
64
|
+
|
|
65
|
+
If you add a recommendation without a citation link, it will not be merged. This is the core quality bar that separates this skill from generic SEO advice.
|
|
66
|
+
|
|
67
|
+
Good example:
|
|
68
|
+
```
|
|
69
|
+
**Title tag optimal length:** 50โ60 characters
|
|
70
|
+
Source: https://developers.google.com/search/docs/appearance/title-link
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Questions?
|
|
76
|
+
|
|
77
|
+
Open an issue. Label it `question` and describe what you're unsure about.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
Built by [Aryan Panwar](https://github.com/Aryanpanwar10005)
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Aryan Panwar (https://github.com/Aryanpanwar10005)
|
|
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,303 @@
|
|
|
1
|
+
# ๐ SEO & GEO Optimizer
|
|
2
|
+
|
|
3
|
+
> The only AI skill that covers **Google ยท Bing ยท AI Overviews ยท Bing Copilot ยท ChatGPT ยท Perplexity** โ in one file, for every AI IDE.
|
|
4
|
+
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
[](CONTRIBUTING.md)
|
|
7
|
+
[](skill/SEO_GEO_SKILL.md)
|
|
8
|
+
[](skill/SEO_GEO_SKILL.md)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## What this is
|
|
13
|
+
|
|
14
|
+
A single `.md` skill file you drop into your AI IDE. Once active, your AI becomes a senior SEO + GEO strategist that:
|
|
15
|
+
|
|
16
|
+
- Asks you **40 targeted intake questions** before touching anything
|
|
17
|
+
- Analyzes **3โ5 real SEO competitors** across Google and Bing
|
|
18
|
+
- Builds a full **Execution Plan Report** and waits for your written approval
|
|
19
|
+
- Executes across **10 phases** โ stopping after each one to report and confirm
|
|
20
|
+
- Covers both **traditional SEO** and **Generative Engine Optimization (GEO)** for AI search
|
|
21
|
+
|
|
22
|
+
**The AI never makes a change without your explicit approval. Ever.**
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Install in one command
|
|
27
|
+
|
|
28
|
+
Open your terminal inside your project folder and run:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx seo-geo-optimizer
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
That's it. The installer auto-detects your IDE and places the skill in the right directory.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Or copy-paste manually โ no terminal needed
|
|
39
|
+
|
|
40
|
+
Choose your IDE below and follow the 2-step instructions.
|
|
41
|
+
|
|
42
|
+
> ๐ **The raw skill file:** [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md) โ this is what you're installing.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### Cursor
|
|
47
|
+
|
|
48
|
+
**Step 1** โ Create the file `.cursor/rules/seo-geo-optimizer.mdc` in your project root.
|
|
49
|
+
|
|
50
|
+
**Step 2** โ Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md) into it.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Or via terminal
|
|
54
|
+
mkdir -p .cursor/rules
|
|
55
|
+
curl -o .cursor/rules/seo-geo-optimizer.mdc \
|
|
56
|
+
https://raw.githubusercontent.com/Aryanpanwar10005/seo-geo-optimizer/main/skill/SEO_GEO_SKILL.md
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The skill activates automatically in all Cursor AI and Composer sessions.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### Windsurf
|
|
64
|
+
|
|
65
|
+
**Step 1** โ Create the file `.windsurf/rules/seo-geo-optimizer.md` in your project root.
|
|
66
|
+
|
|
67
|
+
**Step 2** โ Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md) into it.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Or via terminal
|
|
71
|
+
mkdir -p .windsurf/rules
|
|
72
|
+
curl -o .windsurf/rules/seo-geo-optimizer.md \
|
|
73
|
+
https://raw.githubusercontent.com/Aryanpanwar10005/seo-geo-optimizer/main/skill/SEO_GEO_SKILL.md
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The skill activates automatically in all Cascade AI sessions.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### GitHub Copilot (VS Code)
|
|
81
|
+
|
|
82
|
+
**Step 1** โ Create the file `.github/copilot-instructions.md` in your project root.
|
|
83
|
+
|
|
84
|
+
**Step 2** โ Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md) into it.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Or via terminal
|
|
88
|
+
mkdir -p .github
|
|
89
|
+
curl -o .github/copilot-instructions.md \
|
|
90
|
+
https://raw.githubusercontent.com/Aryanpanwar10005/seo-geo-optimizer/main/skill/SEO_GEO_SKILL.md
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The skill activates automatically in all Copilot Chat sessions inside VS Code.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Replit
|
|
98
|
+
|
|
99
|
+
Replit does not use rule files. Use this method:
|
|
100
|
+
|
|
101
|
+
**Step 1** โ Open your Replit project.
|
|
102
|
+
|
|
103
|
+
**Step 2** โ Click the AI assistant icon โ open **System Prompt** or **Custom Instructions**.
|
|
104
|
+
|
|
105
|
+
**Step 3** โ Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md) into the field.
|
|
106
|
+
|
|
107
|
+
**Step 4** โ Save and start a new conversation.
|
|
108
|
+
|
|
109
|
+
> Tip: You can also keep the raw file URL open in a browser tab and paste it fresh each session if Replit doesn't persist your system prompt between projects.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### Lovable
|
|
114
|
+
|
|
115
|
+
**Step 1** โ Open your Lovable project settings.
|
|
116
|
+
|
|
117
|
+
**Step 2** โ Navigate to **Custom Instructions** or **System Prompt**.
|
|
118
|
+
|
|
119
|
+
**Step 3** โ Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md).
|
|
120
|
+
|
|
121
|
+
Alternatively, the installer creates `.ai/seo-geo-optimizer.md` if you run `npx seo-geo-optimizer --lovable`.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### Bolt
|
|
126
|
+
|
|
127
|
+
**Step 1** โ Open your Bolt project.
|
|
128
|
+
|
|
129
|
+
**Step 2** โ Go to **Project Settings โ AI Instructions** or the prompt configuration panel.
|
|
130
|
+
|
|
131
|
+
**Step 3** โ Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md).
|
|
132
|
+
|
|
133
|
+
Alternatively, run `npx seo-geo-optimizer --bolt` to auto-install into `.bolt/prompt`.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### Any other AI IDE or assistant
|
|
138
|
+
|
|
139
|
+
If your IDE isn't listed, the pattern is always the same:
|
|
140
|
+
|
|
141
|
+
1. Find where your IDE reads persistent AI instructions (rules file, system prompt, custom instructions, context file)
|
|
142
|
+
2. Paste the full contents of [`skill/SEO_GEO_SKILL.md`](skill/SEO_GEO_SKILL.md) there
|
|
143
|
+
3. Start a new session
|
|
144
|
+
|
|
145
|
+
The skill file is plain Markdown. It works anywhere an AI can read text.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## After install โ tell your AI this
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
Read and activate the SEO & GEO Optimizer skill, then start the process.
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
That's the trigger phrase. Your AI will confirm it read the full file, then begin Phase 1.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## What happens after activation
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
Phase 0 Reads the entire skill file โ confirms before proceeding
|
|
163
|
+
Phase 1 Asks all 40 intake questions (product, audience, goals, GEO targets)
|
|
164
|
+
Phase 2 Identifies and analyzes 3โ5 real SEO competitors
|
|
165
|
+
Phase 3 Gap and opportunity assessment vs. competitors
|
|
166
|
+
Phase 4 Generates full Execution Plan Report โ waits for written approval โ stops
|
|
167
|
+
Phase 5 Executes Tier 1: all meta tags + Organization + WebSite schema โ reports โ stops
|
|
168
|
+
Phase 6 Executes Tier 2: Core Web Vitals + H1/H2 structure + Open Graph + schema โ stops
|
|
169
|
+
Phase 7 Executes Tier 3: FAQPage/HowTo/Author schema + topic cluster + internal links โ stops
|
|
170
|
+
Phase 8 Executes Tier 4: GEO restructuring + AI parsability + entity optimization โ stops
|
|
171
|
+
Phase 9 Full verification checklist โ every tool, every item, pass/fail
|
|
172
|
+
Phase 10 Monitoring setup + ongoing update cadence
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**The AI stops after every phase, reports what was done, and asks before continuing.**
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## What gets optimized
|
|
180
|
+
|
|
181
|
+
### Technical SEO
|
|
182
|
+
- All HTML meta tags โ `<title>`, `<meta description>`, `<canonical>`, `<robots>`, `<viewport>`
|
|
183
|
+
- Open Graph and Twitter Cards for social sharing
|
|
184
|
+
- `robots.txt` and XML sitemap โ submitted to Google AND Bing separately
|
|
185
|
+
- HTTPS, mobile-first indexing, URL structure, internal linking
|
|
186
|
+
- JavaScript rendering audit (critical for Bing โ CSR/SPA apps are invisible to Bingbot)
|
|
187
|
+
|
|
188
|
+
### Core Web Vitals
|
|
189
|
+
- **LCP** (Largest Contentful Paint) < 2.5s
|
|
190
|
+
- **INP** (Interaction to Next Paint) < 200ms โ โ ๏ธ INP replaced FID in March 2024
|
|
191
|
+
- **CLS** (Cumulative Layout Shift) < 0.1
|
|
192
|
+
|
|
193
|
+
### Schema Markup (JSON-LD โ all templates included in skill)
|
|
194
|
+
`Organization` ยท `WebSite` ยท `WebPage` ยท `Article` ยท `FAQPage` ยท `HowTo` ยท `Product` ยท `SoftwareApplication` ยท `LocalBusiness` ยท `BreadcrumbList` ยท `Person` ยท `AggregateRating`
|
|
195
|
+
|
|
196
|
+
### Google-Specific
|
|
197
|
+
- E-E-A-T signals (Experience, Expertise, Authoritativeness, Trustworthiness)
|
|
198
|
+
- Helpful Content system compliance
|
|
199
|
+
- Featured snippet optimization
|
|
200
|
+
- Google AI Overviews eligibility
|
|
201
|
+
- Google Search Console setup and monitoring
|
|
202
|
+
|
|
203
|
+
### Bing-Specific
|
|
204
|
+
- Exact-match keyword placement (Bing weights this more heavily than Google)
|
|
205
|
+
- Social signals strategy โ Facebook, LinkedIn, X (explicit Bing ranking factor)
|
|
206
|
+
- Bing Webmaster Tools setup and URL submission (completely separate from Google)
|
|
207
|
+
- JavaScript rendering fix for React/Vue/Angular CSR apps
|
|
208
|
+
- Bing Places listing
|
|
209
|
+
|
|
210
|
+
### GEO โ AI Search Visibility
|
|
211
|
+
- FAQPage schema (3.2ร more likely to appear in Google AI Overviews)
|
|
212
|
+
- Self-contained H2 content blocks (AI engines read blocks, not whole pages)
|
|
213
|
+
- Definitive answer format โ "X is Y." patterns AI citation engines prefer
|
|
214
|
+
- Entity optimization for LLM citation selection
|
|
215
|
+
- Table and list conversion for AI extraction
|
|
216
|
+
- Citation links to credible sources
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Supported IDEs
|
|
221
|
+
|
|
222
|
+
| IDE | Auto-detect | Install path |
|
|
223
|
+
|-----|-------------|-------------|
|
|
224
|
+
| **Cursor** | โ
Yes | `.cursor/rules/seo-geo-optimizer.mdc` |
|
|
225
|
+
| **Windsurf** | โ
Yes | `.windsurf/rules/seo-geo-optimizer.md` |
|
|
226
|
+
| **GitHub Copilot** | โ
Yes | `.github/copilot-instructions.md` |
|
|
227
|
+
| **Lovable** | โ
Yes | `.ai/seo-geo-optimizer.md` |
|
|
228
|
+
| **Bolt** | โ
Yes | `.bolt/prompt` |
|
|
229
|
+
| **Replit** | Manual | Paste into system prompt |
|
|
230
|
+
| **VS Code (any AI)** | Manual | `.github/copilot-instructions.md` or system prompt |
|
|
231
|
+
| **Any AI assistant** | Manual | Paste `skill/SEO_GEO_SKILL.md` as context |
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Force install for a specific IDE
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
npx seo-geo-optimizer --cursor # Cursor only
|
|
239
|
+
npx seo-geo-optimizer --windsurf # Windsurf only
|
|
240
|
+
npx seo-geo-optimizer --copilot # GitHub Copilot only
|
|
241
|
+
npx seo-geo-optimizer --lovable # Lovable only
|
|
242
|
+
npx seo-geo-optimizer --bolt # Bolt only
|
|
243
|
+
npx seo-geo-optimizer --all # All IDEs at once
|
|
244
|
+
npx seo-geo-optimizer --help # Show all options
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Repo structure
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
seo-geo-optimizer/
|
|
253
|
+
โโโ bin/
|
|
254
|
+
โ โโโ install.js โ CLI installer (auto-detects + installs)
|
|
255
|
+
โโโ skill/
|
|
256
|
+
โ โโโ SEO_GEO_SKILL.md โ The skill file โ this is what the AI reads
|
|
257
|
+
โโโ package.json
|
|
258
|
+
โโโ CONTRIBUTING.md
|
|
259
|
+
โโโ LICENSE
|
|
260
|
+
โโโ README.md
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Verified against
|
|
266
|
+
|
|
267
|
+
| Source | Version |
|
|
268
|
+
|--------|---------|
|
|
269
|
+
| Google Search Central | December 2025 |
|
|
270
|
+
| Core Web Vitals โ INP replaces FID | March 2024 |
|
|
271
|
+
| Google June 2025 Core Update | June 2025 |
|
|
272
|
+
| Bing Webmaster Guidelines | 2025 |
|
|
273
|
+
| Schema.org vocabulary | Current |
|
|
274
|
+
|
|
275
|
+
Every recommendation inside the skill file includes its official source URL. When Google or Bing updates their guidelines, those links tell your AI exactly what changed.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Philosophy
|
|
280
|
+
|
|
281
|
+
**No guessing. No autonomous changes. No generic advice.**
|
|
282
|
+
|
|
283
|
+
The AI asks before acting. Plans before executing. Stops and reports after every phase. You approve every change โ not silence, not a nod, written approval only.
|
|
284
|
+
|
|
285
|
+
The AI is your analyst and planner. You are the decision-maker.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Contributing
|
|
290
|
+
|
|
291
|
+
Found a ranking factor that changed? Open a PR updating `skill/SEO_GEO_SKILL.md` with the new official reference link. Read [CONTRIBUTING.md](CONTRIBUTING.md) first.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## License
|
|
296
|
+
|
|
297
|
+
MIT โ free to use, modify, and share.
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Author
|
|
302
|
+
|
|
303
|
+
Built by [Aryan Panwar](https://github.com/Aryanpanwar10005)
|