fix(seo): fix multi-line YAML description parser, add 2 orphan pages to nav

- generate-docs.py: extract_description_from_frontmatter() now handles
  multi-line YAML block scalars (|, >, indented continuation) — fixes
  14 pages that had 56-65 char truncated descriptions
- mkdocs.yml: add epic-design and research-summarizer to nav (orphan pages)
- Regenerated 251 pages, rebuilt sitemap (278 URLs)
- SEO audit: 0 broken links, 17→3 short descriptions, 278/278 pages
  have "Claude Code Skills" in <title>

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Reza Rezvani
2026-03-18 10:57:08 +01:00
parent 90cef3b3ac
commit 219c1c3dfd
17 changed files with 44 additions and 21 deletions

View File

@@ -1,6 +1,6 @@
---
title: "/plugin-audit — Slash Command for AI Coding Agents"
description: "|. Slash command for Claude Code, Codex CLI, Gemini CLI."
description: "Comprehensive audit pipeline for skills, plugins, agents, and commands. Validates structure, quality, security, marketplace compliance. Slash command for Claude Code, Codex CLI, Gemini CLI."
---
# /plugin-audit

View File

@@ -1,6 +1,6 @@
---
title: "/seo-auditor — Slash Command for AI Coding Agents"
description: "|. Slash command for Claude Code, Codex CLI, Gemini CLI."
description: "Scan and optimize documentation files for SEO. Audits README.md files and docs/ pages for meta tags, headings, keywords, readability, duplicate. Slash command for Claude Code, Codex CLI, Gemini CLI."
---
# /seo-auditor

View File

@@ -1,6 +1,6 @@
---
title: "Epic Design Skill — Agent Skill & Codex Plugin"
description: ">. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Build immersive, cinematic 2.5D interactive websites using scroll storytelling, parallax depth, text animations, and premium scroll effects — no. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Epic Design Skill

View File

@@ -1,6 +1,6 @@
---
title: "BrowserStack Integration — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Run tests on BrowserStack. Use when user mentions 'browserstack', 'cross-browser', 'cloud testing', 'browser matrix', 'test on safari', 'test on. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# BrowserStack Integration

View File

@@ -1,6 +1,6 @@
---
title: "Analyze Test Coverage Gaps — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Analyze test coverage gaps. Use when user says 'test coverage', 'what's not tested', 'coverage gaps', 'missing tests', 'coverage report', or 'what. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Analyze Test Coverage Gaps

View File

@@ -1,6 +1,6 @@
---
title: "Fix Failing or Flaky Tests — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Fix failing or flaky Playwright tests. Use when user says 'fix test', 'flaky test', 'test failing', 'debug test', 'test broken', 'test passes. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Fix Failing or Flaky Tests

View File

@@ -1,6 +1,6 @@
---
title: "Generate Playwright Tests — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Generate Playwright tests. Use when user says 'write tests', 'generate tests', 'add tests for', 'test this component', 'e2e test', 'create test for'. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Generate Playwright Tests

View File

@@ -1,6 +1,6 @@
---
title: "Initialize Playwright Project — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Set up Playwright in a project. Use when user says 'set up playwright', 'add e2e tests', 'configure playwright', 'testing setup', 'init playwright'. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Initialize Playwright Project

View File

@@ -1,6 +1,6 @@
---
title: "Migrate to Playwright — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Migrate from Cypress or Selenium to Playwright. Use when user mentions 'cypress', 'selenium', 'migrate tests', 'convert tests', 'switch to. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Migrate to Playwright

View File

@@ -1,6 +1,6 @@
---
title: "Smart Test Reporting — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Generate test report. Use when user says 'test report', 'results summary', 'test status', 'show results', 'test dashboard', or 'how did tests go'. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Smart Test Reporting

View File

@@ -1,6 +1,6 @@
---
title: "Review Playwright Tests — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Review Playwright tests for quality. Use when user says 'review tests', 'check test quality', 'audit tests', 'improve tests', 'test code review', or. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Review Playwright Tests

View File

@@ -1,6 +1,6 @@
---
title: "TestRail Integration — Agent Skill & Codex Plugin"
description: ">-. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Sync tests with TestRail. Use when user mentions 'testrail', 'test management', 'test cases', 'test run', 'sync test cases', 'push results to. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# TestRail Integration

View File

@@ -1,6 +1,6 @@
---
title: "Skill Security Auditor — Agent Skill for Codex & OpenClaw"
description: ">. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Security audit and vulnerability scanner for AI agent skills before installation. Use when: (1) evaluating a skill from an untrusted source, (2)."
---
# Skill Security Auditor

View File

@@ -1,6 +1,6 @@
---
title: "Content Strategy — Agent Skill for Marketing"
description: "When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions \. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Content Strategy

View File

@@ -1,6 +1,6 @@
---
title: "Code → PRD: Reverse-Engineer Any Codebase into Product Requirements — Agent Skill for Product Teams"
description: "|. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
description: "Reverse-engineer any codebase into a complete Product Requirements Document (PRD). Analyzes routes, components, state management, API integrations. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw."
---
# Code → PRD: Reverse-Engineer Any Codebase into Product Requirements

View File

@@ -161,6 +161,7 @@ nav:
- "Stripe Integration Expert": skills/engineering-team/stripe-integration-expert.md
- "TDD Guide": skills/engineering-team/tdd-guide.md
- "Tech Stack Evaluator": skills/engineering-team/tech-stack-evaluator.md
- "Epic Design": skills/engineering-team/epic-design.md
- Engineering - POWERFUL:
- Overview: skills/engineering/index.md
- "Autoresearch Agent": skills/engineering/autoresearch-agent.md
@@ -217,6 +218,7 @@ nav:
- "Product Discovery": skills/product-team/product-discovery.md
- "Product Manager Toolkit": skills/product-team/product-manager-toolkit.md
- "Product Strategist": skills/product-team/product-strategist.md
- "Research Summarizer": skills/product-team/research-summarizer.md
- "Roadmap Communicator": skills/product-team/roadmap-communicator.md
- "SaaS Scaffolder": skills/product-team/saas-scaffolder.md
- "UI Design System": skills/product-team/ui-design-system.md

View File

@@ -105,16 +105,37 @@ def extract_subtitle(filepath):
def extract_description_from_frontmatter(filepath):
"""Extract the description field from YAML frontmatter."""
"""Extract the description field from YAML frontmatter.
Handles single-line, quoted, and multi-line (| or >) YAML descriptions.
"""
try:
with open(filepath, "r", encoding="utf-8") as f:
content = f.read()
match = re.match(r"^---\n(.*?)---\n", content, re.DOTALL)
if match:
fm = match.group(1)
desc_match = re.search(r'description:\s*["\']?(.*?)["\']?\s*$', fm, re.MULTILINE)
if desc_match:
return desc_match.group(1).strip()
if not match:
return None
fm = match.group(1)
# Try quoted single-line: description: "text" or description: 'text'
m = re.search(r'description:\s*"([^"]+)"', fm)
if m:
return m.group(1).strip()
m = re.search(r"description:\s*'([^']+)'", fm)
if m:
return m.group(1).strip()
# Try multi-line block scalar: description: | or description: >
m = re.search(r"description:\s*[|>]-?\s*\n((?:[ \t]+.+\n?)+)", fm)
if m:
lines = m.group(1).strip().splitlines()
text = " ".join(line.strip() for line in lines)
return text
# Try unquoted single-line: description: text
m = re.search(r"description:\s+([^\n\"'][^\n]+)", fm)
if m:
return m.group(1).strip()
except Exception:
pass
return None