telo3-ai 5.0.7 → 6.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.
Files changed (47) hide show
  1. package/README.md +32 -791
  2. package/SKILL.md +36 -657
  3. package/bootstrap/TELO3.md +17 -0
  4. package/cli.js +223 -42
  5. package/hooks/inject-contract.mjs +23 -0
  6. package/hooks/session-start.example.json +15 -0
  7. package/index.js +48 -14
  8. package/package.json +32 -69
  9. package/references/accessibility-quality.md +92 -272
  10. package/references/ai-behavior.md +70 -332
  11. package/references/anti-slop.md +71 -0
  12. package/references/document-specification.md +110 -419
  13. package/references/legal-compliance.md +90 -395
  14. package/references/performance-quality.md +100 -351
  15. package/references/privacy-compliance.md +88 -464
  16. package/references/project-audit.md +79 -440
  17. package/references/security-quality.md +68 -220
  18. package/references/seo-quality.md +83 -339
  19. package/references/smart-skill-delegation.md +73 -419
  20. package/references/token-optimization.md +83 -450
  21. package/references/ui-quality.md +106 -481
  22. package/references/workflow.md +91 -447
  23. package/scripts/postinstall.mjs +27 -0
  24. package/src/activate.js +159 -0
  25. package/src/context.js +72 -0
  26. package/src/find-context.js +41 -0
  27. package/src/init.js +38 -0
  28. package/src/install.js +128 -0
  29. package/src/paths.js +20 -0
  30. package/src/status.js +30 -0
  31. package/src/tokens.js +10 -0
  32. package/src/validate.js +220 -0
  33. package/src/version.js +12 -0
  34. package/templates/architecture.md +17 -398
  35. package/templates/design.md +22 -631
  36. package/templates/memory.md +13 -351
  37. package/templates/prd.md +15 -295
  38. package/templates/rules.md +20 -600
  39. package/templates/tasks.md +10 -210
  40. package/AI-CONTEXT.md +0 -272
  41. package/ONBOARDING-SKILL.md +0 -738
  42. package/SKILL-METADATA.json +0 -237
  43. package/scripts/init-project-context.sh +0 -139
  44. package/scripts/validate-project-context.sh +0 -164
  45. package/skills/telo3/SKILL.md +0 -315
  46. package/skills/telo3-context/SKILL.md +0 -272
  47. package/skills/telo3-onboarding/SKILL.md +0 -738
@@ -1,347 +1,91 @@
1
- # SEO Quality Standards
2
-
3
- > SEO audit framework for public websites, portfolios, documentation, marketing sites, and indexable applications.
4
-
5
- ---
6
-
7
- ## When SEO Applies
8
-
9
- ✅ **Apply SEO to:**
10
- - Marketing websites
11
- - Portfolios
12
- - Blogs and documentation
13
- - E-commerce sites
14
- - Public-facing applications
15
- - Content platforms
16
-
17
- ❌ **SEO may NOT apply to:**
18
- - Private dashboards
19
- - Internal tools
20
- - Authenticated-only pages
21
- - APIs
22
- - Intentionally non-indexable pages
23
-
24
- **Assess applicability based on actual project purpose.**
25
-
26
- ---
27
-
28
- ## SEO Audit Checklist
29
-
30
- ### 1. Meta Tags
31
-
32
- #### Title Tags
33
- - [ ] Every page has unique `<title>`
34
- - [ ] Title length: 50-60 characters
35
- - [ ] Primary keyword near the beginning
36
- - [ ] Format: `Page Title | Site Name`
37
-
38
- #### Meta Descriptions
39
- - [ ] Every page has unique `<meta name="description">`
40
- - [ ] Description length: 150-160 characters
41
- - [ ] Compelling, actionable copy
42
- - [ ] Includes target keywords naturally
43
-
44
- #### Canonical URLs
45
- - [ ] Canonical URLs set (`<link rel="canonical">`)
46
- - [ ] Prevents duplicate content issues
47
- - [ ] Points to preferred URL version
48
-
49
- ### 2. Open Graph & Social
50
-
51
- #### Open Graph Tags
52
- - [ ] `og:title` — Page title
53
- - [ ] `og:description` — Page description
54
- - [ ] `og:image` — Social share image (1200x630px recommended)
55
- - [ ] `og:url` — Canonical URL
56
- - [ ] `og:type` — Content type (website, article, etc.)
57
-
58
- #### Twitter Cards
59
- - [ ] `twitter:card` — Card type (summary_large_image)
60
- - [ ] `twitter:title` — Page title
61
- - [ ] `twitter:description` — Page description
62
- - [ ] `twitter:image` — Social share image
63
-
64
- ### 3. Structured Data
65
-
66
- - [ ] Schema.org structured data where applicable
67
- - [ ] JSON-LD format
68
- - [ ] Common schemas:
69
- - Organization
70
- - Person (for portfolios)
71
- - Article (for blog posts)
72
- - Product (for e-commerce)
73
- - FAQ
74
- - Breadcrumbs
75
- - [ ] Validate with Google Rich Results Test
76
-
77
- ### 4. Content & HTML
78
-
79
- #### Heading Hierarchy
80
- - [ ] One `<h1>` per page
81
- - [ ] Logical heading hierarchy (h1 → h2 → h3)
82
- - [ ] Headings describe content structure
83
- - [ ] No skipped heading levels
84
-
85
- #### Semantic HTML
86
- - [ ] Use semantic elements (`<article>`, `<nav>`, `<main>`, `<aside>`)
87
- - [ ] Proper `<header>` and `<footer>`
88
- - [ ] Lists use `<ul>`, `<ol>`, `<li>`
89
-
90
- #### Images
91
- - [ ] All images have descriptive `alt` text
92
- - [ ] Alt text describes image content
93
- - [ ] Decorative images: `alt=""`
94
- - [ ] Images optimized (WebP/AVIF with fallbacks)
95
- - [ ] Images have width/height attributes
96
-
97
- #### Links
98
- - [ ] Descriptive link text (not "click here")
99
- - [ ] Internal linking strategy
100
- - [ ] External links use `rel="noopener"` when appropriate
101
- - [ ] Broken links identified and fixed
102
-
103
- #### URLs
104
- - [ ] Clean, descriptive URLs (kebab-case)
105
- - [ ] Keywords in URLs
106
- - [ ] No unnecessary parameters
107
- - [ ] Consistent URL structure
108
-
109
- ### 5. Technical SEO
110
-
111
- #### robots.txt
112
- - [ ] robots.txt file exists
113
- - [ ] Configured correctly
114
- - [ ] Allows search engines
115
- - [ ] Disallows admin/private areas
116
- - [ ] References sitemap.xml
117
-
118
- Example:
1
+ # SEO Quality
2
+ **Load when:** building or reviewing public, indexable pages — marketing sites, portfolios, blogs, docs, e-commerce, content platforms.
3
+
4
+ Apply to: marketing websites, portfolios, blogs/documentation, e-commerce sites, public-facing applications, content platforms.
5
+ Skip SEO for private dashboards, internal tools, authenticated-only pages, APIs, and intentionally non-indexable pages. Assess applicability from the actual project purpose.
6
+
7
+ ## Metadata
8
+ | Item | Rule |
9
+ |---|---|
10
+ | `<title>` | Unique per page; 50-60 characters; primary keyword near the beginning; format `Page Title \| Site Name` |
11
+ | Meta description | Unique per page; 150-160 characters; compelling, actionable copy; target keywords naturally |
12
+ | Canonical | `<link rel="canonical">` pointing to the preferred URL version; prevents duplicate content |
13
+ | Open Graph | `og:title`, `og:description`, `og:image` (1200x630px recommended), `og:url` (canonical), `og:type` (website, article, etc.) |
14
+ | Twitter Card | `twitter:card` (summary_large_image), `twitter:title`, `twitter:description`, `twitter:image` |
15
+
16
+ ## Structured Data
17
+ - Schema.org structured data in JSON-LD format where applicable.
18
+ - Common schemas: Organization, Person (portfolios), Article (blog posts).
19
+ - Also: Product (e-commerce), FAQ, Breadcrumbs.
20
+ - Mark up only real content — never fabricate schema claims (fake reviews, ratings, offers, facts).
21
+ - Validate with Google Rich Results Test and the Schema.org validator.
22
+
23
+ ## Content & HTML
24
+ - One `<h1>` per page; logical hierarchy h1→h2→h3; no skipped levels.
25
+ - Headings describe content structure.
26
+ - Semantic elements: `<article>`, `<nav>`, `<main>`, `<aside>`, proper `<header>`/`<footer>`.
27
+ - Lists via `<ul>`/`<ol>`/`<li>`.
28
+ - Images: descriptive `alt` text; decorative images `alt=""`.
29
+ - Images optimized (WebP/AVIF with fallbacks); width/height attributes set.
30
+ - Links: descriptive text (not "click here"); internal linking strategy.
31
+ - External links: `rel="noopener"` when appropriate; find and fix broken links.
32
+ - URLs: clean, descriptive, kebab-case; keywords in URLs.
33
+ - No unnecessary URL parameters; consistent URL structure.
34
+ - Substantive content: no thin pages, no keyword stuffing.
35
+ - No cloaking or hidden text; no duplicate content.
36
+
37
+ ## Indexing & Crawlability
38
+ - robots.txt exists, configured correctly: allow search engines.
39
+ - Disallow admin/private areas (e.g. `/api/`, `/admin/`); reference the sitemap.
40
+ - XML sitemap (`sitemap.xml`): all important pages; updated automatically.
41
+ - Submit sitemap to Google Search Console.
42
+ - Robots meta: `index, follow` for indexable pages.
43
+ - `noindex, nofollow` for private/admin/non-indexable pages.
44
+ - Pages crawlable: no JavaScript-only rendering of critical info.
45
+ - SSR or static generation for public pages.
46
+ - No infinite scroll blocking access to content.
47
+ - Verify robots.txt isn't accidentally blocking pages that should rank.
48
+
49
+ Example robots.txt:
119
50
  ```
120
51
  User-agent: *
121
52
  Allow: /
122
-
123
53
  Disallow: /api/
124
54
  Disallow: /admin/
125
-
126
55
  Sitemap: https://example.com/sitemap.xml
127
56
  ```
128
57
 
129
- #### Sitemap
130
- - [ ] XML sitemap exists (`sitemap.xml`)
131
- - [ ] Lists all important pages
132
- - [ ] Updated automatically
133
- - [ ] Submitted to Google Search Console
134
-
135
- #### robots Meta Tag
136
- - [ ] Indexable pages: `<meta name="robots" content="index, follow">`
137
- - [ ] Non-indexable pages: `<meta name="robots" content="noindex, nofollow">`
138
- - [ ] Appropriate use of `noindex` for private/admin pages
139
-
140
- ### 6. Performance (Core Web Vitals)
141
-
142
- See `performance-quality.md` for detailed performance optimization.
143
-
144
- #### LCP (Largest Contentful Paint)
145
- - [ ] LCP < 2.5 seconds
146
- - [ ] Optimize images
147
- - [ ] Reduce server response time
148
-
149
- #### FID/INP (First Input Delay / Interaction to Next Paint)
150
- - [ ] FID < 100ms or INP < 200ms
151
- - [ ] Minimize JavaScript
152
- - [ ] Break up long tasks
153
-
154
- #### CLS (Cumulative Layout Shift)
155
- - [ ] CLS < 0.1
156
- - [ ] Set image dimensions
157
- - [ ] Avoid layout shifts
158
-
159
- ### 7. Mobile Optimization
160
-
161
- - [ ] Mobile-responsive design
162
- - [ ] Mobile-friendly test passes
163
- - [ ] Touch targets ≥44x44px
164
- - [ ] Text readable without zooming
165
- - [ ] No horizontal scrolling
166
-
167
- ### 8. Page Speed
168
-
169
- - [ ] Fast server response time
170
- - [ ] Optimized images
171
- - [ ] Minimized CSS/JS
172
- - [ ] Leverage browser caching
173
- - [ ] Use CDN if appropriate
174
-
175
- ### 9. HTTPS
176
-
177
- - [ ] Site uses HTTPS
178
- - [ ] Mixed content issues resolved
179
- - [ ] HTTP redirects to HTTPS
180
-
181
- ### 10. Indexability
182
-
183
- - [ ] Pages are crawlable
184
- - [ ] No JavaScript-only content for critical info
185
- - [ ] Server-side rendering or static generation for public pages
186
- - [ ] No infinite scroll blocking content
187
-
188
- ---
189
-
190
- ## Next.js SEO Implementation
191
-
192
- ### Metadata API (App Router)
193
-
194
- ```typescript
195
- import { Metadata } from 'next';
196
-
197
- export const metadata: Metadata = {
198
- title: 'Page Title | Site Name',
199
- description: 'Page description 150-160 characters',
200
- openGraph: {
201
- title: 'Page Title',
202
- description: 'Page description',
203
- images: ['/og-image.jpg'],
204
- url: 'https://example.com/page',
205
- },
206
- twitter: {
207
- card: 'summary_large_image',
208
- title: 'Page Title',
209
- description: 'Page description',
210
- images: ['/og-image.jpg'],
211
- },
212
- alternates: {
213
- canonical: 'https://example.com/page',
214
- },
215
- };
216
- ```
217
-
218
- ### Dynamic Metadata
219
-
220
- ```typescript
221
- export async function generateMetadata({ params }): Promise<Metadata> {
222
- const post = await getPost(params.slug);
223
-
224
- return {
225
- title: post.title,
226
- description: post.excerpt,
227
- // ...
228
- };
229
- }
230
- ```
231
-
232
- ### Sitemap Generation
233
-
234
- ```typescript
235
- // app/sitemap.ts
236
- export default function sitemap() {
237
- return [
238
- {
239
- url: 'https://example.com',
240
- lastModified: new Date(),
241
- changeFrequency: 'yearly',
242
- priority: 1,
243
- },
244
- {
245
- url: 'https://example.com/about',
246
- lastModified: new Date(),
247
- changeFrequency: 'monthly',
248
- priority: 0.8,
249
- },
250
- ];
251
- }
252
- ```
253
-
254
- ### robots.txt
255
-
256
- ```typescript
257
- // app/robots.ts
258
- export default function robots() {
259
- return {
260
- rules: {
261
- userAgent: '*',
262
- allow: '/',
263
- disallow: ['/api/', '/admin/'],
264
- },
265
- sitemap: 'https://example.com/sitemap.xml',
266
- };
267
- }
268
- ```
269
-
270
- ---
271
-
272
- ## Common SEO Mistakes
273
-
274
- ❌ Duplicate title tags
275
- ❌ Missing meta descriptions
276
- ❌ Weak or generic content
277
- ❌ Broken internal links
278
- ❌ Slow page load
279
- ❌ Non-mobile-friendly design
280
- ❌ Missing alt text
281
- ❌ Thin content pages
282
- ❌ Keyword stuffing
283
- ❌ Cloaking or hidden text
284
- ❌ Duplicate content
285
- ❌ Missing sitemap
286
- ❌ Blocked by robots.txt accidentally
287
-
288
- ---
289
-
290
- ## SEO Documentation Template
291
-
292
- ```markdown
293
- ## SEO Configuration
294
-
295
- ### Meta Tags
296
- - **Status:** [Configured / Partial / Needed]
297
- - **Unique titles:** [Yes/No]
298
- - **Unique descriptions:** [Yes/No]
299
-
300
- ### Social Sharing
301
- - **Open Graph:** [Configured]
302
- - **Twitter Cards:** [Configured]
303
- - **Social images:** [Created / Needed]
304
-
305
- ### Technical SEO
306
- - **Sitemap:** [Generated / Static / Needed]
307
- - **robots.txt:** [Configured]
308
- - **Canonical URLs:** [Set]
309
-
310
- ### Structured Data
311
- - **Schema types:** [List or "Not implemented"]
312
- - **Validation:** [Passed / Not tested]
313
-
314
- ### Performance
315
- - **Core Web Vitals:** [Good / Needs improvement]
316
- - **Mobile-friendly:** [Yes/No]
317
-
318
- ### Indexing
319
- - **Search Console:** [Set up / Needed]
320
- - **Indexable pages:** [List or count]
321
- - **Non-indexable pages:** [List or count]
322
-
323
- ### Content
324
- - **Heading hierarchy:** [Correct / Needs review]
325
- - **Alt text:** [Complete / Partial]
326
- - **Internal linking:** [Implemented / Needs improvement]
327
-
328
- ### Next Steps
329
- - [ ] [SEO task 1]
330
- - [ ] [SEO task 2]
331
- ```
332
-
333
- ---
334
-
335
- ## Tools for SEO Audit
336
-
337
- - Google Search Console
338
- - Google PageSpeed Insights
339
- - Lighthouse (built into Chrome DevTools)
340
- - Screaming Frog SEO Spider
341
- - Ahrefs / SEMrush / Moz (professional tools)
342
- - Schema.org validator
343
- - Google Rich Results Test
344
-
345
- ---
346
-
347
- **Summary:** Good SEO is about making great content discoverable. Focus on: unique metadata, semantic HTML, fast performance, mobile-friendliness, and quality content.
58
+ ## Performance (Core Web Vitals — details: performance-quality.md)
59
+ - LCP < 2.5s: optimize images; reduce server response time.
60
+ - FID < 100ms or INP < 200ms: minimize JavaScript; break up long tasks.
61
+ - CLS < 0.1: set image dimensions; avoid layout shifts.
62
+ - Fast server response; optimized images; minimized CSS/JS.
63
+ - Leverage browser caching; use CDN if appropriate.
64
+
65
+ ## Mobile & HTTPS
66
+ - Mobile-responsive design; passes mobile-friendly test.
67
+ - Touch targets ≥ 44x44px; text readable without zooming; no horizontal scrolling.
68
+ - HTTPS everywhere; mixed content resolved; HTTP redirects to HTTPS.
69
+
70
+ ## Next.js (App Router)
71
+ - Static metadata: `export const metadata: Metadata` (title, description, openGraph, twitter, `alternates.canonical`).
72
+ - Dynamic metadata: `export async function generateMetadata({ params })` per route (e.g. post title/excerpt).
73
+ - `app/sitemap.ts`: entries with url, lastModified, changeFrequency, priority.
74
+ - `app/robots.ts`: rules (userAgent, allow, disallow) plus sitemap URL.
75
+
76
+ ## Audit Tools
77
+ - Google Search Console; Google PageSpeed Insights; Lighthouse (Chrome DevTools).
78
+ - Screaming Frog SEO Spider; Ahrefs / SEMrush / Moz.
79
+ - Schema.org validator; Google Rich Results Test.
80
+
81
+ ## Common Mistakes
82
+ - Duplicate title tags; missing meta descriptions; weak/generic or thin content.
83
+ - Broken internal links; slow page load; non-mobile-friendly design; missing alt text.
84
+ - Keyword stuffing; cloaking/hidden text; duplicate content.
85
+ - Missing sitemap; accidental robots.txt blocks.
86
+
87
+ ## Record in project docs
88
+ - Meta/social sharing status; sitemap, robots.txt, canonical config.
89
+ - Schema types and validation result; Core Web Vitals and mobile status.
90
+ - Search Console setup; indexable vs non-indexable pages.
91
+ - Heading hierarchy, alt text, internal linking status; next steps.