vibes-plug 1.0.0 → 2.5.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.
Files changed (123) hide show
  1. package/.github/workflows/publish.yml +20 -0
  2. package/AGENTS.md +66 -0
  3. package/BLUEPRINT.md +152 -60
  4. package/CHANGELOG.md +50 -0
  5. package/README.md +346 -194
  6. package/package.json +25 -25
  7. package/plugin.json +1 -1
  8. package/skills/ai-cost-token-optimizer/SKILL.md +52 -0
  9. package/skills/ai-llm-integration-expert/SKILL.md +180 -162
  10. package/skills/api-design-expert/SKILL.md +314 -310
  11. package/skills/app-analyzer-optimizer/SKILL.md +193 -189
  12. package/skills/apple-ecosystem-expert/SKILL.md +142 -0
  13. package/skills/async-queue-temporal-expert/SKILL.md +54 -0
  14. package/skills/authentication-identity-expert/SKILL.md +251 -20
  15. package/skills/auto-doc-updater/SKILL.md +214 -204
  16. package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
  17. package/skills/autonomous-red-teamer/SKILL.md +59 -0
  18. package/skills/autonomous-swarm-director/SKILL.md +69 -0
  19. package/skills/autonomous-tdd-debugger/SKILL.md +65 -0
  20. package/skills/bootstrap-to-modern/SKILL.md +90 -86
  21. package/skills/brainstorming/SKILL.md +373 -353
  22. package/skills/browser-automation-expert/SKILL.md +46 -0
  23. package/skills/ci-cd-devops-architect/SKILL.md +72 -45
  24. package/skills/cloud-hosting-expert/SKILL.md +244 -244
  25. package/skills/coderabbit/SKILL.md +192 -192
  26. package/skills/cron-scheduler-expert/SKILL.md +298 -0
  27. package/skills/data-telemetry-expert/SKILL.md +213 -213
  28. package/skills/database-orm-expert/SKILL.md +294 -294
  29. package/skills/dependency-upgrade-migrator/SKILL.md +295 -0
  30. package/skills/design-system-architect/SKILL.md +27 -10
  31. package/skills/doku-mcp-server/SKILL.md +251 -0
  32. package/skills/doku-payment-gateway/SKILL.md +227 -0
  33. package/skills/e2e-testing-expert/SKILL.md +315 -315
  34. package/skills/edge-serverless-db-expert/SKILL.md +43 -0
  35. package/skills/email-notification-expert/SKILL.md +362 -0
  36. package/skills/error-resilience-expert/SKILL.md +480 -0
  37. package/skills/event-driven-architect/SKILL.md +81 -81
  38. package/skills/feature-flag-analytics-expert/SKILL.md +46 -0
  39. package/skills/file-upload-media-expert/SKILL.md +431 -0
  40. package/skills/form-validation-expert/SKILL.md +401 -0
  41. package/skills/fullstack-expert/SKILL.md +202 -202
  42. package/skills/fullstack-expert/references/api_design_guide.md +466 -466
  43. package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
  44. package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
  45. package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
  46. package/skills/gemini-agent-booster/SKILL.md +135 -135
  47. package/skills/global-a11y-i18n-expert/SKILL.md +81 -81
  48. package/skills/glsl-shader-expert/SKILL.md +101 -0
  49. package/skills/go-programming-expert/SKILL.md +295 -295
  50. package/skills/graphql-apollo-expert/SKILL.md +108 -0
  51. package/skills/hig/SKILL.md +188 -188
  52. package/skills/hyper-context-synthesizer/SKILL.md +55 -0
  53. package/skills/js-backend-expert/SKILL.md +34 -9
  54. package/skills/legacy-code-translator/SKILL.md +65 -0
  55. package/skills/llm-cost-arbitrage-router/SKILL.md +59 -0
  56. package/skills/logging-error-tracking-expert/SKILL.md +338 -0
  57. package/skills/mcp-client-orchestrator/SKILL.md +70 -0
  58. package/skills/mcp-server-architect/SKILL.md +194 -194
  59. package/skills/micro-frontend-architect/SKILL.md +106 -0
  60. package/skills/mobile-expo-expert/SKILL.md +186 -186
  61. package/skills/mobile-push-notification-expert/SKILL.md +51 -0
  62. package/skills/monday-design-aesthetic/SKILL.md +67 -67
  63. package/skills/monorepo-architect/SKILL.md +227 -227
  64. package/skills/mpa-orchestrator/SKILL.md +101 -101
  65. package/skills/multi-agent-orchestration/SKILL.md +234 -234
  66. package/skills/multiple-entry-points/SKILL.md +55 -55
  67. package/skills/mvc-expert/SKILL.md +231 -231
  68. package/skills/payment-gateway-expert/SKILL.md +45 -45
  69. package/skills/performance-web-vitals/SKILL.md +332 -332
  70. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
  71. package/skills/prd-architect/SKILL.md +201 -191
  72. package/skills/proactive-background-watcher/SKILL.md +62 -0
  73. package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
  74. package/skills/production-ready-hardener/SKILL.md +173 -186
  75. package/skills/production-ready-hardener/references/production_checklist.md +161 -161
  76. package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
  77. package/skills/project-context-mapper/SKILL.md +79 -0
  78. package/skills/python-programming-expert/SKILL.md +263 -132
  79. package/skills/rate-limit-abuse-prevention/SKILL.md +371 -0
  80. package/skills/realtime-collaboration-expert/SKILL.md +45 -45
  81. package/skills/rust-programming-expert/SKILL.md +235 -235
  82. package/skills/saas-billing/SKILL.md +377 -377
  83. package/skills/saas-multi-tenant/SKILL.md +251 -237
  84. package/skills/saas-mvp-launcher/SKILL.md +10 -0
  85. package/skills/saas-transformer/SKILL.md +187 -144
  86. package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
  87. package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
  88. package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
  89. package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
  90. package/skills/scalability-clean-code/SKILL.md +229 -229
  91. package/skills/self-evolving-memory-graph/SKILL.md +75 -0
  92. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
  93. package/skills/senior-frontend/SKILL.md +161 -161
  94. package/skills/senior-fullstack/SKILL.md +167 -167
  95. package/skills/seo/SKILL.md +235 -225
  96. package/skills/seo-geo/SKILL.md +188 -188
  97. package/skills/session-context-loader/SKILL.md +77 -0
  98. package/skills/session-handoff-resume/SKILL.md +158 -158
  99. package/skills/skill_baru/SKILL.md +172 -147
  100. package/skills/spa-orchestrator/SKILL.md +288 -288
  101. package/skills/state-management-expert/SKILL.md +272 -272
  102. package/skills/supabase-security-expert/SKILL.md +243 -243
  103. package/skills/tailwind-expert/SKILL.md +188 -188
  104. package/skills/tanstack-query-expert/SKILL.md +199 -199
  105. package/skills/token-saver/SKILL.md +119 -111
  106. package/skills/typescript-expert/SKILL.md +324 -279
  107. package/skills/ui-components-expert/SKILL.md +263 -46
  108. package/skills/ui-ux-pro-max/SKILL.md +202 -201
  109. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  110. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  111. package/skills/ui_ux_expert/SKILL.md +17 -6
  112. package/skills/vector-db-rag-expert/SKILL.md +52 -0
  113. package/skills/vibe-code-gardener/SKILL.md +181 -173
  114. package/skills/visual-qa-vision-agent/SKILL.md +65 -0
  115. package/skills/vue-frontend-expert/SKILL.md +126 -0
  116. package/skills/web-3d-graphics-expert/SKILL.md +131 -0
  117. package/skills/web-game-engine-expert/SKILL.md +96 -0
  118. package/skills/web-scraper/SKILL.md +207 -205
  119. package/skills/website-design-cloner/SKILL.md +174 -0
  120. package/skills/webxr-ar-vr-expert/SKILL.md +117 -0
  121. package/skills/zero-to-prod-orchestrator/SKILL.md +206 -180
  122. package/skills/zero-trust-secret-vault/SKILL.md +40 -0
  123. package/vibes-swarm-demo.gif +0 -0
@@ -1,225 +1,235 @@
1
- ---
2
- name: seo
3
- description: "Run a broad SEO audit across technical SEO, on-page SEO, schema, sitemaps, content quality, AI search readiness, and GEO / Audit SEO menyeluruh (Technical, On-Page, Schema, Sitemap, E-E-A-T, GEO)"
4
- author: "Roedy Rustam"
5
- ---
6
-
7
- # SEO Expert (2026 — AI Mode & Core Web Vitals Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- Comprehensive SEO audit covering technical SEO, on-page optimization, structured data, sitemaps, Core Web Vitals, E-E-A-T signals, and **Generative Engine Optimization (GEO)** for AI-powered search (Google AI Mode, ChatGPT Search, Perplexity).
18
-
19
- ### Trigger Conditions
20
- - Running a full SEO audit on an existing web application.
21
- - Optimizing technical SEO for a new Next.js / Astro site.
22
- - Adding structured data (JSON-LD) for rich results and AI citation.
23
- - Optimizing Core Web Vitals (LCP, INP, CLS).
24
- - Preparing a site for Google AI Mode and ChatGPT Search indexing.
25
- - Setting up a sitemap and `robots.txt`.
26
-
27
- ### 2026 SEO Landscape Changes
28
-
29
- | 2024 (Old) | 2026 (Current) |
30
- |---|---|
31
- | AI Overviews (SGE) | **Google AI Mode** — integrated AI answers |
32
- | FID metric (deprecated) | **INP** (Interaction to Next Paint) |
33
- | Keyword density focus | **Topical authority + E-E-A-T** |
34
- | Backlinks only | **Citations in AI responses** |
35
- | `robots.txt` only | `robots.txt` + **`/llms.txt`** |
36
-
37
- ### Technical SEO Checklist
38
-
39
- #### Core Web Vitals (2026 Targets)
40
- ```
41
- LCP (Largest Contentful Paint) < 2.5s
42
- INP (Interaction to Next Paint) < 200ms ← replaced FID
43
- CLS (Cumulative Layout Shift) < 0.1
44
- TTFB (Time to First Byte) < 600ms
45
- ```
46
-
47
- **INP Optimization** (the new critical metric):
48
- ```typescript
49
- // INP is degraded by long tasks blocking the main thread
50
- // Solution: Use React's useTransition to defer non-critical updates
51
- import { useTransition } from 'react';
52
-
53
- function SearchInput() {
54
- const [isPending, startTransition] = useTransition();
55
-
56
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
57
- startTransition(() => {
58
- // Defer the expensive filtering to not block INP
59
- setFilteredResults(filterData(e.target.value));
60
- });
61
- };
62
- return <input onChange={handleChange} />;
63
- }
64
- ```
65
-
66
- #### Crawlability & Indexing
67
- ```typescript
68
- // Next.js 15 — metadata API for complete SEO
69
- // app/layout.tsx
70
- export const metadata: Metadata = {
71
- metadataBase: new URL('https://myapp.com'),
72
- title: {
73
- default: 'My SaaS — One-line value proposition',
74
- template: '%s | My SaaS',
75
- },
76
- description: '150 characters max. Include primary keyword naturally.',
77
- openGraph: {
78
- type: 'website',
79
- url: 'https://myapp.com',
80
- siteName: 'My SaaS',
81
- images: [{ url: '/og.png', width: 1200, height: 630 }],
82
- },
83
- twitter: { card: 'summary_large_image', creator: '@handle' },
84
- robots: { index: true, follow: true },
85
- alternates: { canonical: 'https://myapp.com' },
86
- };
87
- ```
88
-
89
- ```typescript
90
- // Dynamic sitemap.ts (Next.js App Router)
91
- // app/sitemap.ts
92
- import { MetadataRoute } from 'next';
93
-
94
- export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
95
- const posts = await getBlogPosts();
96
-
97
- return [
98
- { url: 'https://myapp.com', lastModified: new Date(), changeFrequency: 'weekly', priority: 1 },
99
- { url: 'https://myapp.com/features', lastModified: new Date(), changeFrequency: 'monthly', priority: 0.8 },
100
- ...posts.map(p => ({
101
- url: `https://myapp.com/blog/${p.slug}`,
102
- lastModified: new Date(p.updatedAt),
103
- changeFrequency: 'monthly' as const,
104
- priority: 0.6,
105
- })),
106
- ];
107
- }
108
- ```
109
-
110
- ### Structured Data (JSON-LD) for AI Citation
111
- ```html
112
- <!-- Organization schema — establishes brand entity -->
113
- <script type="application/ld+json">
114
- {
115
- "@context": "https://schema.org",
116
- "@type": "Organization",
117
- "name": "My SaaS",
118
- "url": "https://myapp.com",
119
- "logo": "https://myapp.com/logo.png",
120
- "sameAs": [
121
- "https://twitter.com/myapp",
122
- "https://linkedin.com/company/myapp"
123
- ],
124
- "contactPoint": {
125
- "@type": "ContactPoint",
126
- "contactType": "customer support",
127
- "email": "support@myapp.com"
128
- }
129
- }
130
- </script>
131
-
132
- <!-- SoftwareApplication schema for SaaS products -->
133
- <script type="application/ld+json">
134
- {
135
- "@context": "https://schema.org",
136
- "@type": "SoftwareApplication",
137
- "name": "My SaaS",
138
- "applicationCategory": "BusinessApplication",
139
- "operatingSystem": "Web",
140
- "offers": {
141
- "@type": "Offer",
142
- "price": "0",
143
- "priceCurrency": "USD",
144
- "description": "Free tier available"
145
- },
146
- "aggregateRating": {
147
- "@type": "AggregateRating",
148
- "ratingValue": "4.8",
149
- "reviewCount": "247"
150
- }
151
- }
152
- </script>
153
- ```
154
-
155
- ### GEO — Google AI Mode Optimization
156
- Google AI Mode (formerly AI Overviews) now powers the top of search results:
157
- - **Be the source**: Write comprehensive, authoritative content on your core topics.
158
- - **Q&A format**: Structure content as questions and answers — AI Mode quotes these directly.
159
- - **Factual and specific**: Include statistics, named entities, and dates.
160
- - **`/llms.txt`**: Add an AI-readable site index (see `seo-geo` skill).
161
- - **Speed**: AI Mode favors fast-loading pages (TTFB < 600ms).
162
-
163
- ### On-Page SEO Standards
164
- ```
165
- H1: One per page — primary keyword, compelling, < 60 chars
166
- H2: Section headers — secondary keywords
167
- H3: Sub-sections — long-tail keywords, FAQ answers
168
- Meta Title: < 60 chars — keyword + brand
169
- Meta Description: < 155 chars — keyword + CTA + benefit
170
- URL: lowercase, hyphens, keyword-in-slug, < 5 segments
171
- Images: Descriptive alt text, WebP format, lazy loading
172
- Internal links: 3-5 per long-form page to related content
173
- ```
174
-
175
- ---
176
-
177
- <a name="bahasa-indonesia"></a>
178
- ## Bahasa Indonesia
179
-
180
- ### Deskripsi
181
- Audit SEO komprehensif mencakup SEO teknikal, optimasi on-page, data terstruktur, sitemap, Core Web Vitals, sinyal E-E-A-T, dan **Generative Engine Optimization (GEO)** untuk pencarian bertenaga AI (Google AI Mode, ChatGPT Search, Perplexity).
182
-
183
- ### Kondisi Pemicu
184
- - Menjalankan audit SEO penuh pada aplikasi web yang ada.
185
- - Mengoptimalkan SEO teknikal untuk situs Next.js / Astro baru.
186
- - Menambahkan data terstruktur (JSON-LD) untuk rich result dan kutipan AI.
187
- - Mengoptimalkan Core Web Vitals (LCP, INP, CLS).
188
- - Mempersiapkan situs untuk indexing Google AI Mode dan ChatGPT Search.
189
-
190
- ### Perubahan Lanskap SEO 2026
191
-
192
- | 2024 (Lama) | 2026 (Sekarang) |
193
- |---|---|
194
- | AI Overviews (SGE) | **Google AI Mode** — jawaban AI terintegrasi |
195
- | Metrik FID (dihentikan) | **INP** (Interaction to Next Paint) |
196
- | Fokus kepadatan keyword | **Otoritas topikal + E-E-A-T** |
197
- | Hanya backlink | **Kutipan dalam respons AI** |
198
- | Hanya `robots.txt` | `robots.txt` + **`/llms.txt`** |
199
-
200
- ### Checklist SEO Teknikal
201
-
202
- #### Core Web Vitals (Target 2026)
203
- - LCP < 2.5 detik
204
- - **INP < 200ms** ← menggantikan FID
205
- - CLS < 0.1
206
- - TTFB < 600ms
207
-
208
- **Optimasi INP**: Metrik kritis baru yang mengukur responsivitas interaksi. Gunakan `useTransition` React untuk menunda pembaruan non-kritis agar tidak memblokir thread utama.
209
-
210
- #### Crawlability & Indexing
211
- Gunakan Metadata API Next.js 15 untuk SEO lengkap: `title`, `description`, `openGraph`, `twitter`, `robots`, `alternates.canonical`. Buat sitemap dinamis dengan `app/sitemap.ts` yang menyertakan semua halaman statis dan konten dinamis.
212
-
213
- ### Data Terstruktur (JSON-LD) untuk Kutipan AI
214
- Tambahkan schema `Organization` untuk membangun entitas merek dan schema `SoftwareApplication` untuk produk SaaS — termasuk `aggregateRating` jika tersedia.
215
-
216
- ### GEO — Optimasi Google AI Mode
217
- Google AI Mode (sebelumnya AI Overviews) kini mendukung bagian atas hasil pencarian:
218
- - Tulis konten yang komprehensif dan otoritatif tentang topik inti.
219
- - Strukturkan konten sebagai Q&A — AI Mode langsung mengutip ini.
220
- - Sertakan statistik, entitas bernama, dan tanggal.
221
- - Tambahkan `/llms.txt` sebagai indeks situs yang dapat dibaca AI.
222
- - Kecepatan: AI Mode lebih memilih halaman yang memuat cepat (TTFB < 600ms).
223
-
224
- ### Standar SEO On-Page
225
- H1 satu per halaman, H2 untuk header seksi, meta title < 60 karakter, meta deskripsi < 155 karakter, URL lowercase dengan tanda hubung dan keyword di slug, alt text deskriptif untuk semua gambar, 3-5 internal link per halaman long-form.
1
+ ---
2
+ name: seo
3
+ description: "Run a broad SEO audit across technical SEO, on-page SEO, schema, sitemaps, content quality, AI search readiness, and GEO / Audit SEO menyeluruh (Technical, On-Page, Schema, Sitemap, E-E-A-T, GEO)"
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # SEO Expert (2026 — AI Mode & Core Web Vitals Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Comprehensive SEO audit covering technical SEO, on-page optimization, structured data, sitemaps, Core Web Vitals, E-E-A-T signals, and **Generative Engine Optimization (GEO)** for AI-powered search (Google AI Mode, ChatGPT Search, Perplexity).
18
+
19
+ ### Trigger Conditions
20
+ - Running a full SEO audit on an existing web application.
21
+ - Optimizing technical SEO for a new Next.js / Astro site.
22
+ - Adding structured data (JSON-LD) for rich results and AI citation.
23
+ - Optimizing Core Web Vitals (LCP, INP, CLS).
24
+ - Preparing a site for Google AI Mode and ChatGPT Search indexing.
25
+ - Setting up a sitemap and `robots.txt`.
26
+
27
+ ### 2026 SEO Landscape Changes
28
+
29
+ | 2024 (Old) | 2026 (Current) |
30
+ |---|---|
31
+ | AI Overviews (SGE) | **Google AI Mode** — integrated AI answers |
32
+ | FID metric (deprecated) | **INP** (Interaction to Next Paint) |
33
+ | Keyword density focus | **Topical authority + E-E-A-T** |
34
+ | Backlinks only | **Citations in AI responses** |
35
+ | `robots.txt` only | `robots.txt` + **`/llms.txt`** |
36
+
37
+ ### Technical SEO Checklist
38
+
39
+ #### Core Web Vitals (2026 Targets)
40
+ ```
41
+ LCP (Largest Contentful Paint) < 2.5s
42
+ INP (Interaction to Next Paint) < 200ms ← replaced FID
43
+ CLS (Cumulative Layout Shift) < 0.1
44
+ TTFB (Time to First Byte) < 600ms
45
+ ```
46
+
47
+ **INP Optimization** (the new critical metric):
48
+ ```typescript
49
+ // INP is degraded by long tasks blocking the main thread
50
+ // Solution: Use React's useTransition to defer non-critical updates
51
+ import { useTransition } from 'react';
52
+
53
+ function SearchInput() {
54
+ const [isPending, startTransition] = useTransition();
55
+
56
+ const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
57
+ startTransition(() => {
58
+ // Defer the expensive filtering to not block INP
59
+ setFilteredResults(filterData(e.target.value));
60
+ });
61
+ };
62
+ return <input onChange={handleChange} />;
63
+ }
64
+ ```
65
+
66
+ #### Crawlability & Indexing
67
+ ```typescript
68
+ // Next.js 15 — metadata API for complete SEO
69
+ // app/layout.tsx
70
+ export const metadata: Metadata = {
71
+ metadataBase: new URL('https://myapp.com'),
72
+ title: {
73
+ default: 'My SaaS — One-line value proposition',
74
+ template: '%s | My SaaS',
75
+ },
76
+ description: '150 characters max. Include primary keyword naturally.',
77
+ openGraph: {
78
+ type: 'website',
79
+ url: 'https://myapp.com',
80
+ siteName: 'My SaaS',
81
+ images: [{ url: '/og.png', width: 1200, height: 630 }],
82
+ },
83
+ twitter: { card: 'summary_large_image', creator: '@handle' },
84
+ robots: { index: true, follow: true },
85
+ alternates: { canonical: 'https://myapp.com' },
86
+ };
87
+ ```
88
+
89
+ ```typescript
90
+ // Dynamic sitemap.ts (Next.js App Router)
91
+ // app/sitemap.ts
92
+ import { MetadataRoute } from 'next';
93
+
94
+ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
95
+ const posts = await getBlogPosts();
96
+
97
+ return [
98
+ { url: 'https://myapp.com', lastModified: new Date(), changeFrequency: 'weekly', priority: 1 },
99
+ { url: 'https://myapp.com/features', lastModified: new Date(), changeFrequency: 'monthly', priority: 0.8 },
100
+ ...posts.map(p => ({
101
+ url: `https://myapp.com/blog/${p.slug}`,
102
+ lastModified: new Date(p.updatedAt),
103
+ changeFrequency: 'monthly' as const,
104
+ priority: 0.6,
105
+ })),
106
+ ];
107
+ }
108
+ ```
109
+
110
+ ### Structured Data (JSON-LD) for AI Citation
111
+ ```html
112
+ <!-- Organization schema — establishes brand entity -->
113
+ <script type="application/ld+json">
114
+ {
115
+ "@context": "https://schema.org",
116
+ "@type": "Organization",
117
+ "name": "My SaaS",
118
+ "url": "https://myapp.com",
119
+ "logo": "https://myapp.com/logo.png",
120
+ "sameAs": [
121
+ "https://twitter.com/myapp",
122
+ "https://linkedin.com/company/myapp"
123
+ ],
124
+ "contactPoint": {
125
+ "@type": "ContactPoint",
126
+ "contactType": "customer support",
127
+ "email": "support@myapp.com"
128
+ }
129
+ }
130
+ </script>
131
+
132
+ <!-- SoftwareApplication schema for SaaS products -->
133
+ <script type="application/ld+json">
134
+ {
135
+ "@context": "https://schema.org",
136
+ "@type": "SoftwareApplication",
137
+ "name": "My SaaS",
138
+ "applicationCategory": "BusinessApplication",
139
+ "operatingSystem": "Web",
140
+ "offers": {
141
+ "@type": "Offer",
142
+ "price": "0",
143
+ "priceCurrency": "USD",
144
+ "description": "Free tier available"
145
+ },
146
+ "aggregateRating": {
147
+ "@type": "AggregateRating",
148
+ "ratingValue": "4.8",
149
+ "reviewCount": "247"
150
+ }
151
+ }
152
+ </script>
153
+ ```
154
+
155
+ ### GEO — Google AI Mode Optimization
156
+ Google AI Mode (formerly AI Overviews) now powers the top of search results:
157
+ - **Be the source**: Write comprehensive, authoritative content on your core topics.
158
+ - **Q&A format**: Structure content as questions and answers — AI Mode quotes these directly.
159
+ - **Factual and specific**: Include statistics, named entities, and dates.
160
+ - **`/llms.txt`**: Add an AI-readable site index (see `seo-geo` skill).
161
+ - **Speed**: AI Mode favors fast-loading pages (TTFB < 600ms).
162
+
163
+ ### On-Page SEO Standards
164
+ ```
165
+ H1: One per page — primary keyword, compelling, < 60 chars
166
+ H2: Section headers — secondary keywords
167
+ H3: Sub-sections — long-tail keywords, FAQ answers
168
+ Meta Title: < 60 chars — keyword + brand
169
+ Meta Description: < 155 chars — keyword + CTA + benefit
170
+ URL: lowercase, hyphens, keyword-in-slug, < 5 segments
171
+ Images: Descriptive alt text, WebP format, lazy loading
172
+ Internal links: 3-5 per long-form page to related content
173
+ ```
174
+
175
+ ---
176
+
177
+ <a name="bahasa-indonesia"></a>
178
+ ## Bahasa Indonesia
179
+
180
+ ### Deskripsi
181
+ Audit SEO komprehensif mencakup SEO teknikal, optimasi on-page, data terstruktur, sitemap, Core Web Vitals, sinyal E-E-A-T, dan **Generative Engine Optimization (GEO)** untuk pencarian bertenaga AI (Google AI Mode, ChatGPT Search, Perplexity).
182
+
183
+ ### Kondisi Pemicu
184
+ - Menjalankan audit SEO penuh pada aplikasi web yang ada.
185
+ - Mengoptimalkan SEO teknikal untuk situs Next.js / Astro baru.
186
+ - Menambahkan data terstruktur (JSON-LD) untuk rich result dan kutipan AI.
187
+ - Mengoptimalkan Core Web Vitals (LCP, INP, CLS).
188
+ - Mempersiapkan situs untuk indexing Google AI Mode dan ChatGPT Search.
189
+
190
+ ### Perubahan Lanskap SEO 2026
191
+
192
+ | 2024 (Lama) | 2026 (Sekarang) |
193
+ |---|---|
194
+ | AI Overviews (SGE) | **Google AI Mode** — jawaban AI terintegrasi |
195
+ | Metrik FID (dihentikan) | **INP** (Interaction to Next Paint) |
196
+ | Fokus kepadatan keyword | **Otoritas topikal + E-E-A-T** |
197
+ | Hanya backlink | **Kutipan dalam respons AI** |
198
+ | Hanya `robots.txt` | `robots.txt` + **`/llms.txt`** |
199
+
200
+ ### Checklist SEO Teknikal
201
+
202
+ #### Core Web Vitals (Target 2026)
203
+ - LCP < 2.5 detik
204
+ - **INP < 200ms** ← menggantikan FID
205
+ - CLS < 0.1
206
+ - TTFB < 600ms
207
+
208
+ **Optimasi INP**: Metrik kritis baru yang mengukur responsivitas interaksi. Gunakan `useTransition` React untuk menunda pembaruan non-kritis agar tidak memblokir thread utama.
209
+
210
+ #### Crawlability & Indexing
211
+ Gunakan Metadata API Next.js 15 untuk SEO lengkap: `title`, `description`, `openGraph`, `twitter`, `robots`, `alternates.canonical`. Buat sitemap dinamis dengan `app/sitemap.ts` yang menyertakan semua halaman statis dan konten dinamis.
212
+
213
+ ### Data Terstruktur (JSON-LD) untuk Kutipan AI
214
+ Tambahkan schema `Organization` untuk membangun entitas merek dan schema `SoftwareApplication` untuk produk SaaS — termasuk `aggregateRating` jika tersedia.
215
+
216
+ ### GEO — Optimasi Google AI Mode
217
+ Google AI Mode (sebelumnya AI Overviews) kini mendukung bagian atas hasil pencarian:
218
+ - Tulis konten yang komprehensif dan otoritatif tentang topik inti.
219
+ - Strukturkan konten sebagai Q&A — AI Mode langsung mengutip ini.
220
+ - Sertakan statistik, entitas bernama, dan tanggal.
221
+ - Tambahkan `/llms.txt` sebagai indeks situs yang dapat dibaca AI.
222
+ - Kecepatan: AI Mode lebih memilih halaman yang memuat cepat (TTFB < 600ms).
223
+
224
+ ### Standar SEO On-Page
225
+ H1 satu per halaman, H2 untuk header seksi, meta title < 60 karakter, meta deskripsi < 155 karakter, URL lowercase dengan tanda hubung dan keyword di slug, alt text deskriptif untuk semua gambar, 3-5 internal link per halaman long-form.
226
+
227
+ ---
228
+ ### 🎨 Automatic Visual Assets Generation Mandate (CRITICAL)
229
+ **MANDATORY**: Whenever you are building a new application, scaffolding a project, or finalizing the initial UI/UX, you MUST automatically use the `generate_image` tool to create a custom logo that perfectly matches the application's core concept and aesthetic.
230
+ This generated image MUST be explicitly used as:
231
+ 1. The primary application logo (e.g., in the header/navbar).
232
+ 2. The website favicon (`favicon.ico` or equivalent).
233
+ 3. The Open Graph (OG) image for SEO metadata (`og:image`).
234
+
235
+ Do not use placeholders for these assets. Generate and integrate them automatically.