cc-codeconductor 0.2.6 → 0.2.8
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/README.md +18 -1
- package/dist/index.js +782 -24
- package/package.json +2 -1
- package/presets/opencode/README.md +7 -7
- package/presets/opencode/agents/architect.md +0 -1
- package/presets/opencode/agents/docs.md +0 -1
- package/presets/opencode/agents/implementer.md +0 -1
- package/presets/opencode/agents/orchestrator.md +0 -1
- package/presets/opencode/agents/repo-explorer.md +0 -1
- package/presets/opencode/agents/reviewer.md +0 -1
- package/presets/opencode/agents/task-coach.md +0 -1
- package/presets/opencode/agents/tester.md +0 -1
- package/presets/opencode/opencode.jsonc +2 -11
- package/presets/opencode/prompts/v0.2.0/docs.md +1 -1
- package/presets/opencode/prompts/v0.2.0/repo-explorer.md +1 -1
- package/presets/opencode/prompts/v0.2.0/reviewer.md +1 -1
- package/presets/opencode/prompts/v0.2.0/task-coach.md +1 -1
- package/presets/seo-hotel/commands/cc-seo-audit.md +87 -0
- package/presets/seo-hotel/skills/astro-seo/SKILL.md +245 -0
- package/presets/seo-hotel/skills/geo-readiness/SKILL.md +221 -0
- package/presets/seo-hotel/skills/off-page/SKILL.md +201 -0
- package/presets/seo-hotel/skills/schema-validator/SKILL.md +325 -0
- package/presets/seo-hotel/skills/seo-audit/SKILL.md +191 -0
- package/src/presets/manifests/agy.yml +9 -0
- package/src/presets/manifests/opencode.yml +2 -1
- package/src/presets/models/agy.yml +59 -0
- package/src/presets/models/claude.yml +3 -3
- package/src/presets/models/codex.yml +3 -3
- package/src/presets/models/cursor.yml +3 -3
- package/src/presets/models/gemini.yml +3 -3
- package/src/presets/models/opencode.yml +11 -46
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: geo-readiness
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
name: GEO Readiness Checker
|
|
5
|
+
description: >
|
|
6
|
+
Validates AI-search readiness (Generative Engine Optimization) for hotel websites.
|
|
7
|
+
Checks for citable content, factual cards, llms.txt, structured data completeness,
|
|
8
|
+
and content patterns that AI search engines (ChatGPT, Perplexity, Google AI Overviews)
|
|
9
|
+
use to generate answers about hotels.
|
|
10
|
+
|
|
11
|
+
user-invokable: true
|
|
12
|
+
license: MIT
|
|
13
|
+
metadata:
|
|
14
|
+
author: codeconductor
|
|
15
|
+
category: seo
|
|
16
|
+
|
|
17
|
+
compatibility:
|
|
18
|
+
tools: [claude, codex, gemini, opencode]
|
|
19
|
+
stacks:
|
|
20
|
+
languages: []
|
|
21
|
+
frameworks: [astro, nextjs, django, spring]
|
|
22
|
+
|
|
23
|
+
risk:
|
|
24
|
+
level: medium
|
|
25
|
+
can_execute_shell: true
|
|
26
|
+
can_modify_files: false
|
|
27
|
+
requires_network: true
|
|
28
|
+
|
|
29
|
+
inputs:
|
|
30
|
+
- name: url
|
|
31
|
+
type: string
|
|
32
|
+
required: false
|
|
33
|
+
description: Single URL to check
|
|
34
|
+
- name: sitemap
|
|
35
|
+
type: string
|
|
36
|
+
required: false
|
|
37
|
+
description: Remote sitemap XML URL. Only URLs listed here will be checked.
|
|
38
|
+
|
|
39
|
+
outputs:
|
|
40
|
+
- name: report
|
|
41
|
+
type: json
|
|
42
|
+
description: Structured GEO readiness report
|
|
43
|
+
|
|
44
|
+
quality:
|
|
45
|
+
reviewed_by: codeconductor-core
|
|
46
|
+
version: 0.3.0
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
# GEO Readiness Checker
|
|
50
|
+
|
|
51
|
+
## Purpose
|
|
52
|
+
|
|
53
|
+
Evaluate how well a hotel website is positioned for Generative Engine Optimization (GEO) —
|
|
54
|
+
the practice of making content easily discoverable, citable, and accurately represented
|
|
55
|
+
by AI search engines (ChatGPT, Perplexity, Google AI Overviews, Bing Copilot).
|
|
56
|
+
|
|
57
|
+
## Invocation
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
codeconductor seo geo-readiness --url https://www.example.com
|
|
61
|
+
codeconductor seo geo-readiness --sitemap https://www.example.com/sitemap-0.xml
|
|
62
|
+
codeconductor seo geo-readiness --sitemap https://www.example.com/sitemap-0.xml --format json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Hard Rules
|
|
66
|
+
|
|
67
|
+
Same as schema-validator: sitemap-scoped only, no external links, GET only, no auth,
|
|
68
|
+
10s timeout, 500ms delay, SSRF prevention.
|
|
69
|
+
|
|
70
|
+
## GEO Readiness Checks
|
|
71
|
+
|
|
72
|
+
### llms.txt
|
|
73
|
+
|
|
74
|
+
| Check | Severity | Details |
|
|
75
|
+
|-------|----------|---------|
|
|
76
|
+
| `/llms.txt` present | WARNING | Machine-readable site description for AI crawlers |
|
|
77
|
+
| `/llms.txt` valid format | FAIL | Must follow llms.txt specification |
|
|
78
|
+
| `/llms-full.txt` present | SUGGESTION | Extended version with more detail |
|
|
79
|
+
| Content accuracy | WARNING | llms.txt should match actual site content |
|
|
80
|
+
|
|
81
|
+
### llms.txt expected format
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
# Canto Vallarta
|
|
85
|
+
> Boutique hotel in Puerto Vallarta, Mexico
|
|
86
|
+
|
|
87
|
+
## Rooms
|
|
88
|
+
- Ocean Suite: King bed, ocean view, private jacuzzi
|
|
89
|
+
- Garden Room: Queen bed, garden access
|
|
90
|
+
|
|
91
|
+
## Amenities
|
|
92
|
+
- Rooftop pool
|
|
93
|
+
- Restaurant
|
|
94
|
+
- Spa
|
|
95
|
+
|
|
96
|
+
## Contact
|
|
97
|
+
- Address: [full address]
|
|
98
|
+
- Phone: [phone]
|
|
99
|
+
- Email: [email]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Citable Content
|
|
103
|
+
|
|
104
|
+
| Check | Severity | Details |
|
|
105
|
+
|-------|----------|---------|
|
|
106
|
+
| Factual statements present | WARNING | Pages should contain clear, factual statements AI can cite |
|
|
107
|
+
| Structured lists/tables | SUGGESTION | AI engines prefer structured data formats |
|
|
108
|
+
| FAQ sections | WARNING | FAQ content is highly citable by AI |
|
|
109
|
+
| Unique selling points | WARNING | Clear, concise USPs that AI can extract |
|
|
110
|
+
| Pricing information | SUGGESTION | Price ranges help AI answer "how much" queries |
|
|
111
|
+
| Location details | WARNING | Address, neighborhood, nearby attractions |
|
|
112
|
+
|
|
113
|
+
### Content Quality for AI
|
|
114
|
+
|
|
115
|
+
| Check | Severity | Details |
|
|
116
|
+
|-------|----------|---------|
|
|
117
|
+
| No contradictory info | FAIL | AI engines penalize conflicting facts |
|
|
118
|
+
| Consistent entity naming | WARNING | Use the same hotel name everywhere |
|
|
119
|
+
| Date freshness | WARNING | Content with dates should be current |
|
|
120
|
+
| Author attribution | SUGGESTION | E-E-A-T signals for AI trust |
|
|
121
|
+
| Source citations | SUGGESTION | Linking to authoritative sources boosts AI trust |
|
|
122
|
+
|
|
123
|
+
### Structured Data Completeness
|
|
124
|
+
|
|
125
|
+
| Check | Severity | Details |
|
|
126
|
+
|-------|----------|---------|
|
|
127
|
+
| Schema.org coverage | WARNING | All key entities should have structured data |
|
|
128
|
+
| Property completeness | WARNING | Fill optional properties for richer AI citations |
|
|
129
|
+
| Cross-references | SUGGESTION | Use `@id` to link related entities |
|
|
130
|
+
| SameAs property | WARNING | Link to Wikipedia, Google Maps, TripAdvisor |
|
|
131
|
+
|
|
132
|
+
### AI Search Specific
|
|
133
|
+
|
|
134
|
+
| Check | Severity | Details |
|
|
135
|
+
|-------|----------|---------|
|
|
136
|
+
| Speakable schema | SUGGESTION | `speakable` property for voice search |
|
|
137
|
+
| HowTo schema | SUGGESTION | For "how to get to" or "how to book" content |
|
|
138
|
+
| TouristAttraction nearby | SUGGESTION | Link to nearby attractions with schema |
|
|
139
|
+
| Event schema | SUGGESTION | Hotel events are highly citable |
|
|
140
|
+
|
|
141
|
+
## Output Format
|
|
142
|
+
|
|
143
|
+
### CLI (default)
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
GEO Readiness Report
|
|
147
|
+
====================
|
|
148
|
+
Source: --url https://www.cantovallarta.com
|
|
149
|
+
Timestamp: 2026-05-29T06:40:00Z
|
|
150
|
+
|
|
151
|
+
llms.txt:
|
|
152
|
+
[WARNING] /llms.txt not found — AI crawlers lack a machine-readable site summary
|
|
153
|
+
[SUGGEST] /llms-full.txt not found
|
|
154
|
+
|
|
155
|
+
Citable Content:
|
|
156
|
+
[PASS] Factual statements found on /about
|
|
157
|
+
[WARNING] No FAQ sections detected on any page
|
|
158
|
+
[WARNING] Missing unique selling points on room pages
|
|
159
|
+
|
|
160
|
+
Structured Data:
|
|
161
|
+
[WARNING] Hotel schema missing sameAs property (TripAdvisor, Google Maps)
|
|
162
|
+
[PASS] BreadcrumbList present
|
|
163
|
+
|
|
164
|
+
AI Search:
|
|
165
|
+
[SUGGEST] No speakable schema found
|
|
166
|
+
[SUGGEST] No HowTo schema for booking process
|
|
167
|
+
|
|
168
|
+
--- GEO Score ---
|
|
169
|
+
Readiness: 45/100
|
|
170
|
+
Top actions:
|
|
171
|
+
1. Create /llms.txt with hotel facts
|
|
172
|
+
2. Add FAQ sections to key pages
|
|
173
|
+
3. Add sameAs links to Hotel schema
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Remediation
|
|
177
|
+
|
|
178
|
+
### Create llms.txt
|
|
179
|
+
|
|
180
|
+
```text
|
|
181
|
+
# Canto Vallarta
|
|
182
|
+
> Boutique hotel in Puerto Vallarta, Jalisco, Mexico
|
|
183
|
+
|
|
184
|
+
## About
|
|
185
|
+
Canto Vallarta is a 12-room boutique hotel overlooking Banderas Bay.
|
|
186
|
+
Founded in 2018. Designed by [architect name].
|
|
187
|
+
|
|
188
|
+
## Rooms
|
|
189
|
+
- [Ocean Suite](/rooms/ocean-suite): King bed, ocean view, $280-450/night
|
|
190
|
+
- [Garden Room](/rooms/garden): Queen bed, garden access, $180-280/night
|
|
191
|
+
|
|
192
|
+
## Amenities
|
|
193
|
+
- Rooftop infinity pool (open 7am-10pm)
|
|
194
|
+
- Restaurant Canto (breakfast 7-11am, dinner 6-10pm)
|
|
195
|
+
- Spa treatments by appointment
|
|
196
|
+
|
|
197
|
+
## Location
|
|
198
|
+
- Address: [full address]
|
|
199
|
+
- 15 min from Puerto Vallarta International Airport (PVR)
|
|
200
|
+
- 5 min walk from Malecon boardwalk
|
|
201
|
+
|
|
202
|
+
## Contact
|
|
203
|
+
- Phone: +52 322 XXX XXXX
|
|
204
|
+
- Email: reservations@cantovallarta.com
|
|
205
|
+
- WhatsApp: +52 322 XXX XXXX
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Add sameAs to Hotel schema
|
|
209
|
+
|
|
210
|
+
```json
|
|
211
|
+
{
|
|
212
|
+
"@type": "Hotel",
|
|
213
|
+
"name": "Canto Vallarta",
|
|
214
|
+
"sameAs": [
|
|
215
|
+
"https://www.tripadvisor.com/Hotel_Review-...",
|
|
216
|
+
"https://maps.google.com/...",
|
|
217
|
+
"https://www.booking.com/hotel/...",
|
|
218
|
+
"https://www.instagram.com/cantovallarta"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
```
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: off-page
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
name: SEO Off-Page & Marketing
|
|
5
|
+
description: >
|
|
6
|
+
Guidance for off-page SEO strategy specific to hotel and hospitality websites.
|
|
7
|
+
Covers backlink strategy, local citations, review management, social signals,
|
|
8
|
+
and content marketing patterns for hotel websites.
|
|
9
|
+
|
|
10
|
+
user-invokable: true
|
|
11
|
+
license: MIT
|
|
12
|
+
metadata:
|
|
13
|
+
author: codeconductor
|
|
14
|
+
category: seo
|
|
15
|
+
|
|
16
|
+
compatibility:
|
|
17
|
+
tools: [claude, codex, gemini, opencode]
|
|
18
|
+
stacks:
|
|
19
|
+
languages: []
|
|
20
|
+
frameworks: []
|
|
21
|
+
|
|
22
|
+
risk:
|
|
23
|
+
level: low
|
|
24
|
+
can_execute_shell: false
|
|
25
|
+
can_modify_files: true
|
|
26
|
+
requires_network: false
|
|
27
|
+
|
|
28
|
+
inputs: []
|
|
29
|
+
|
|
30
|
+
outputs:
|
|
31
|
+
- name: report
|
|
32
|
+
type: markdown
|
|
33
|
+
description: Off-page SEO strategy and checklist
|
|
34
|
+
|
|
35
|
+
quality:
|
|
36
|
+
reviewed_by: codeconductor-core
|
|
37
|
+
version: 0.3.0
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# SEO Off-Page & Marketing for Hotels
|
|
41
|
+
|
|
42
|
+
## Purpose
|
|
43
|
+
|
|
44
|
+
Provide actionable off-page SEO guidance for hotel websites. This skill focuses on
|
|
45
|
+
strategy and implementation guidance, not automated crawling or link analysis.
|
|
46
|
+
|
|
47
|
+
## Hotel Citation Sources
|
|
48
|
+
|
|
49
|
+
### Essential (must-have)
|
|
50
|
+
|
|
51
|
+
| Platform | Type | Priority |
|
|
52
|
+
|----------|------|----------|
|
|
53
|
+
| Google Business Profile | Local | Critical |
|
|
54
|
+
| TripAdvisor | Review | Critical |
|
|
55
|
+
| Booking.com | OTA | High |
|
|
56
|
+
| Expedia | OTA | High |
|
|
57
|
+
| Apple Maps | Local | High |
|
|
58
|
+
| Bing Places | Local | Medium |
|
|
59
|
+
| Yelp | Review | Medium |
|
|
60
|
+
|
|
61
|
+
### NAP Consistency
|
|
62
|
+
|
|
63
|
+
**NAP** = Name, Address, Phone. Must be identical across all citations.
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
GOOD:
|
|
67
|
+
Google: Canto Vallarta, Calle Hidalgo 123, Puerto Vallarta, +52 322 123 4567
|
|
68
|
+
TripAdvisor: Canto Vallarta, Calle Hidalgo 123, Puerto Vallarta, +52 322 123 4567
|
|
69
|
+
|
|
70
|
+
BAD:
|
|
71
|
+
Google: Canto Vallarta Hotel, Hidalgo #123, PV, 322-123-4567
|
|
72
|
+
TripAdvisor: Hotel Canto Vallarta, Calle Hidalgo 123, Puerto Vallarta, Jalisco
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Backlink Strategy for Hotels
|
|
76
|
+
|
|
77
|
+
### High-value link sources
|
|
78
|
+
|
|
79
|
+
1. **Tourism boards** — local and national tourism websites
|
|
80
|
+
2. **Travel bloggers** — review stays, destination guides
|
|
81
|
+
3. **Local business directories** — chamber of commerce, local associations
|
|
82
|
+
4. **Event websites** — conferences, weddings hosted at the hotel
|
|
83
|
+
5. **Press coverage** — local news, travel magazines
|
|
84
|
+
6. **Partner websites** — restaurants, tour operators, transport services
|
|
85
|
+
|
|
86
|
+
### Link-worthy content types
|
|
87
|
+
|
|
88
|
+
| Content Type | Link Potential | Effort |
|
|
89
|
+
|-------------|---------------|--------|
|
|
90
|
+
| Destination guides | High | Medium |
|
|
91
|
+
| Local event calendars | High | Low |
|
|
92
|
+
| Travel tips / itineraries | Medium | Medium |
|
|
93
|
+
| Photo galleries (high quality) | Medium | Low |
|
|
94
|
+
| Wedding/event pages | High | Medium |
|
|
95
|
+
| Sustainability initiatives | Medium | High |
|
|
96
|
+
|
|
97
|
+
## Schema Markup for Off-Page
|
|
98
|
+
|
|
99
|
+
### sameAs property
|
|
100
|
+
|
|
101
|
+
Connect your website to all external profiles:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"@type": "Hotel",
|
|
106
|
+
"name": "Canto Vallarta",
|
|
107
|
+
"sameAs": [
|
|
108
|
+
"https://www.tripadvisor.com/Hotel_Review-...",
|
|
109
|
+
"https://www.booking.com/hotel/...",
|
|
110
|
+
"https://www.google.com/maps/place/...",
|
|
111
|
+
"https://www.instagram.com/cantovallarta",
|
|
112
|
+
"https://www.facebook.com/cantovallarta",
|
|
113
|
+
"https://www.yelp.com/biz/..."
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Review Schema
|
|
119
|
+
|
|
120
|
+
### AggregateRating
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"@type": "Hotel",
|
|
125
|
+
"name": "Canto Vallarta",
|
|
126
|
+
"aggregateRating": {
|
|
127
|
+
"@type": "AggregateRating",
|
|
128
|
+
"ratingValue": "4.7",
|
|
129
|
+
"reviewCount": "142",
|
|
130
|
+
"bestRating": "5",
|
|
131
|
+
"worstRating": "1"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Rules:**
|
|
137
|
+
- `ratingValue` must reflect actual reviews on the page
|
|
138
|
+
- `reviewCount` must match the number of reviews visible on the page
|
|
139
|
+
- Never fabricate review data — Google penalizes fake reviews severely
|
|
140
|
+
|
|
141
|
+
## Content Marketing Templates
|
|
142
|
+
|
|
143
|
+
### Blog post structure for hotel SEO
|
|
144
|
+
|
|
145
|
+
```markdown
|
|
146
|
+
# [Destination] Travel Guide: [Specific Topic]
|
|
147
|
+
|
|
148
|
+
## Why Visit [Destination]
|
|
149
|
+
[2-3 paragraphs with factual, citable content]
|
|
150
|
+
|
|
151
|
+
## Best Time to Visit
|
|
152
|
+
[Seasonal information with specific months/temperatures]
|
|
153
|
+
|
|
154
|
+
## Where to Stay
|
|
155
|
+
[Natural mention of the hotel with link]
|
|
156
|
+
|
|
157
|
+
## Things to Do
|
|
158
|
+
[List of nearby attractions with distances]
|
|
159
|
+
|
|
160
|
+
## Getting There
|
|
161
|
+
[Transport options from airport, bus station]
|
|
162
|
+
|
|
163
|
+
## FAQ
|
|
164
|
+
[5-10 questions with concise answers — highly citable by AI]
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### FAQ schema for blog posts
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"@type": "FAQPage",
|
|
172
|
+
"mainEntity": [
|
|
173
|
+
{
|
|
174
|
+
"@type": "Question",
|
|
175
|
+
"name": "What is the best time to visit Puerto Vallarta?",
|
|
176
|
+
"acceptedAnswer": {
|
|
177
|
+
"@type": "Answer",
|
|
178
|
+
"text": "The best time to visit Puerto Vallarta is from November to May..."
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Social Signals
|
|
186
|
+
|
|
187
|
+
### Platform-specific guidance
|
|
188
|
+
|
|
189
|
+
| Platform | Content Type | Frequency |
|
|
190
|
+
|----------|-------------|-----------|
|
|
191
|
+
| Instagram | Room photos, amenities, local scenes | 3-5x/week |
|
|
192
|
+
| Facebook | Events, promotions, guest stories | 2-3x/week |
|
|
193
|
+
| TikTok | Short video tours, behind-the-scenes | 2-3x/week |
|
|
194
|
+
| Pinterest | Destination boards, room inspiration | 5-10 pins/week |
|
|
195
|
+
|
|
196
|
+
### Social profile optimization
|
|
197
|
+
|
|
198
|
+
- Use consistent hotel name and profile image across platforms
|
|
199
|
+
- Link back to website in bio/profile
|
|
200
|
+
- Use location tags for local discoverability
|
|
201
|
+
- Respond to reviews and comments promptly
|