seo-intel 1.5.31 → 1.5.33

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 CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.5.33 (2026-05-19)
4
+
5
+ ### Dashboard — visual brief foundation (intel-blue tokens + component utilities)
6
+ First step toward the v1.6 marketing-video polish. **Purely additive** — every existing dashboard card looks identical; new tokens and component classes are in place for subsequent patches to opt in page-by-page.
7
+
8
+ - **Intel-blue palette** (alongside existing gold/purple accents — never mixed in the same component):
9
+ `--intel-blue: #3b82f6`, plus `--intel-blue-soft`, `--intel-blue-faint`, `--intel-blue-border`, `--intel-blue-glow`.
10
+ - **Signal palette** for citability / health scores:
11
+ `--signal-good: #4ade80`, `--signal-warn: #f5c842`, `--signal-bad: #f47b5d`.
12
+ - **Surface aliases** under brief-friendly names: `--surface-page`, `--surface-card`, `--surface-off`, `--surface-border`.
13
+ - **`--font-mono` now defined** — previously referenced in 6 places but never declared, falling through to nothing. Now properly resolves to JetBrains Mono → SF Mono → Fira Code. Mono fields (version stamps, code snippets, numeric tables) instantly look sharper without any markup change.
14
+ - **Component utility classes** (opt-in, prefixed `.vb-` for visual-brief):
15
+ - `.vb-pill` — blue chip with a glowing left dot, for section headers
16
+ - `.vb-label-caps` — small-caps Inter label, 1.8px letter-spacing
17
+ - `.vb-num-tabular` — `font-variant-numeric: tabular-nums` + JetBrains Mono for column alignment
18
+ - `.vb-severity-dot.info / .warn / .crit` — Site Watch dot with sized glow per severity
19
+ - `.vb-score-big.good / .warn / .bad` — Syne 800 hero numeric with color-matched text-shadow
20
+ - `.vb-card` — sharp-corner card (0 radius), `0 24px 60px` shadow
21
+ - `.vb-card-featured` — premium variant with blue gradient + glow shadow
22
+
23
+ Next: v1.5.34 polishes the Citability page to use these tokens. v1.5.35 adds the Action Export modal. UI polish lands per page; nothing breaks in between.
24
+
25
+ ## 1.5.32 (2026-05-19)
26
+
27
+ ### Docs — `skill/SKILL.md` rewritten for AI agent discovery
28
+ - Updated YAML frontmatter description: now leads with "Local SEO data layer for AI agents" and enumerates the 13 MCP tools by name so MCP hosts surface them when matching a user query.
29
+ - New top-level **"MCP Server — Native AI Agent Integration"** section right after install: full free / paid tool tables, three agent session patterns (free closed loop, Solo strategic loop, bulk firehose), and an explicit instruction about `export_intel.notice` so agents don't blind-ingest large responses.
30
+ - Header reframed: `OpenClaw-recommended` → `local SEO data layer for AI agents` with two consumer paths (MCP and CLI) called out. Free vs Solo tier is now explicit, with the Ahrefs price comparison front-and-center.
31
+ - Pipeline table extended: `seo-intel intel` CLI primitive + `npx seo-intel-mcp` stdio entry, both with the right tier gating.
32
+
33
+ Skill files at ukkometa.fi (`/seo-intel/llms.txt`, `llms-ctx.txt`, `skill.md`) inherit this on next site deploy per the publishing pipeline.
34
+
3
35
  ## 1.5.31 (2026-05-17)
4
36
 
5
37
  ### MCP — `export_intel` ships the full data layer to AI agents
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "seo-intel",
3
- "version": "1.5.31",
3
+ "version": "1.5.33",
4
4
  "description": "Local Ahrefs-style SEO competitor intelligence. Crawl → SQLite → cloud analysis.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -243,7 +243,7 @@ function buildHtmlTemplate(data, opts = {}) {
243
243
  <link rel="icon" type="image/png" href="/favicon.png?v=${Date.now()}">
244
244
  <link rel="preconnect" href="https://fonts.googleapis.com">
245
245
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
246
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Syne:wght@600;700;800&display=swap" rel="stylesheet">
246
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Syne:wght@600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
247
247
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
248
248
  <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>
249
249
  <style>
@@ -278,10 +278,128 @@ function buildHtmlTemplate(data, opts = {}) {
278
278
  /* Typography */
279
279
  --font-display: 'Syne', sans-serif;
280
280
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
281
+ --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', ui-monospace, monospace;
281
282
 
282
283
  /* Spacing */
283
284
  --radius: 6px;
284
285
  --max-width: 1200px;
286
+
287
+ /* ── v1.6 Visual Brief — Intel Blue System (added v1.5.33) ──────────
288
+ These tokens are ADDITIVE alongside the existing --accent-gold /
289
+ --accent-purple palette. Subsequent patches migrate per-page UI
290
+ to the intel-blue accent; existing pages stay on the gold accent
291
+ until explicitly migrated. Anti-pattern: never mix gold + blue
292
+ in the same component. */
293
+ --intel-blue: #3b82f6;
294
+ --intel-blue-soft: rgba(59, 130, 246, 0.18);
295
+ --intel-blue-faint: rgba(59, 130, 246, 0.06);
296
+ --intel-blue-border: rgba(59, 130, 246, 0.25);
297
+ --intel-blue-glow: rgba(59, 130, 246, 0.45);
298
+
299
+ /* Brief severity palette (brighter/more saturated than legacy --color-*).
300
+ For new score gradients + severity dots. */
301
+ --signal-good: #4ade80;
302
+ --signal-warn: #f5c842;
303
+ --signal-bad: #f47b5d;
304
+
305
+ /* Brief background tones — already match --bg-primary/--bg-elevated
306
+ above; re-aliased here so future patches can reference brief naming
307
+ without remembering the legacy variable names. */
308
+ --surface-page: #0a0a0a;
309
+ --surface-card: #161616;
310
+ --surface-off: #111111;
311
+ --surface-border: #262626;
312
+ }
313
+
314
+ /* ── v1.6 Component utilities (added v1.5.33) ─────────────────────────
315
+ Opt-in classes used by new components. No existing markup changes. */
316
+
317
+ /* Pill — section header chip */
318
+ .vb-pill {
319
+ display: inline-flex;
320
+ align-items: center;
321
+ gap: 10px;
322
+ padding: 10px 22px;
323
+ border-radius: 100px;
324
+ color: var(--intel-blue);
325
+ font-family: var(--font-body);
326
+ font-weight: 600;
327
+ font-size: 0.78rem;
328
+ background: var(--intel-blue-faint);
329
+ border: 1px solid var(--intel-blue-border);
330
+ letter-spacing: 0.5px;
331
+ }
332
+ .vb-pill::before {
333
+ content: '';
334
+ display: inline-block;
335
+ width: 8px;
336
+ height: 8px;
337
+ border-radius: 50%;
338
+ background: var(--intel-blue);
339
+ box-shadow: 0 0 12px var(--intel-blue-glow);
340
+ }
341
+
342
+ /* All-caps label — small typography accent */
343
+ .vb-label-caps {
344
+ font-family: var(--font-body);
345
+ font-weight: 600;
346
+ letter-spacing: 1.8px;
347
+ font-size: 0.72rem;
348
+ text-transform: uppercase;
349
+ color: var(--text-subtle);
350
+ }
351
+
352
+ /* Tabular numbers — apply to any block of figures so columns align */
353
+ .vb-num-tabular {
354
+ font-variant-numeric: tabular-nums;
355
+ font-family: var(--font-mono);
356
+ }
357
+
358
+ /* Severity dot — Site Watch / Problems tab style */
359
+ .vb-severity-dot {
360
+ display: inline-block;
361
+ border-radius: 50%;
362
+ vertical-align: middle;
363
+ }
364
+ .vb-severity-dot.info { width: 10px; height: 10px; background: var(--signal-good); box-shadow: 0 0 14px rgba(74, 222, 128, 0.65); }
365
+ .vb-severity-dot.warn { width: 14px; height: 14px; background: var(--signal-warn); box-shadow: 0 0 14px rgba(245, 200, 66, 0.65); }
366
+ .vb-severity-dot.crit { width: 18px; height: 18px; background: var(--signal-bad); box-shadow: 0 0 14px rgba(244, 123, 93, 0.65); }
367
+
368
+ /* Big score numeric — citability/health hero numbers.
369
+ Use .vb-score-big.good|warn|bad to drive color + glow. */
370
+ .vb-score-big {
371
+ font-family: var(--font-display);
372
+ font-weight: 800;
373
+ font-size: clamp(3rem, 7vw, 5.25rem);
374
+ line-height: 1;
375
+ letter-spacing: -0.03em;
376
+ font-variant-numeric: tabular-nums;
377
+ }
378
+ .vb-score-big.good { color: var(--signal-good); text-shadow: 0 0 28px rgba(74, 222, 128, 0.33); }
379
+ .vb-score-big.warn { color: var(--signal-warn); text-shadow: 0 0 28px rgba(245, 200, 66, 0.33); }
380
+ .vb-score-big.bad { color: var(--signal-bad); text-shadow: 0 0 28px rgba(244, 123, 93, 0.33); }
381
+
382
+ /* Featured/premium card — for the Solo upsell or hero blocks */
383
+ .vb-card-featured {
384
+ background:
385
+ linear-gradient(180deg, rgba(59,130,246,0.14) 0%, rgba(59,130,246,0.04) 100%),
386
+ var(--surface-card);
387
+ border: 1px solid var(--intel-blue-border);
388
+ border-radius: 0;
389
+ padding: 32px;
390
+ box-shadow:
391
+ 0 40px 100px rgba(0, 0, 0, 0.6),
392
+ 0 0 90px rgba(59, 130, 246, 0.18);
393
+ }
394
+
395
+ /* Plain dashboard card per brief — sharp corners, deep shadow.
396
+ Use for new cards; existing dashboard cards keep their look. */
397
+ .vb-card {
398
+ background: var(--surface-card);
399
+ border: 1px solid var(--surface-border);
400
+ border-radius: 0;
401
+ padding: 32px;
402
+ box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
285
403
  }
286
404
 
287
405
  * { box-sizing: border-box; margin: 0; padding: 0; }