From 219c1c3dfdac305ad25bad2ea50ac6ec23239e84 Mon Sep 17 00:00:00 2001 From: Reza Rezvani Date: Wed, 18 Mar 2026 10:57:08 +0100 Subject: [PATCH] fix(seo): fix multi-line YAML description parser, add 2 orphan pages to nav MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --- docs/commands/plugin-audit.md | 2 +- docs/commands/seo-auditor.md | 2 +- docs/skills/engineering-team/epic-design.md | 2 +- .../playwright-pro-browserstack.md | 2 +- .../playwright-pro-coverage.md | 2 +- .../engineering-team/playwright-pro-fix.md | 2 +- .../playwright-pro-generate.md | 2 +- .../engineering-team/playwright-pro-init.md | 2 +- .../playwright-pro-migrate.md | 2 +- .../engineering-team/playwright-pro-report.md | 2 +- .../engineering-team/playwright-pro-review.md | 2 +- .../playwright-pro-testrail.md | 2 +- .../engineering/skill-security-auditor.md | 2 +- .../marketing-skill/content-strategy.md | 2 +- docs/skills/product-team/code-to-prd.md | 2 +- mkdocs.yml | 2 ++ scripts/generate-docs.py | 33 +++++++++++++++---- 17 files changed, 44 insertions(+), 21 deletions(-) diff --git a/docs/commands/plugin-audit.md b/docs/commands/plugin-audit.md index 2cc1d77..900456b 100644 --- a/docs/commands/plugin-audit.md +++ b/docs/commands/plugin-audit.md @@ -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 diff --git a/docs/commands/seo-auditor.md b/docs/commands/seo-auditor.md index 9f3dc84..d4f810a 100644 --- a/docs/commands/seo-auditor.md +++ b/docs/commands/seo-auditor.md @@ -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 diff --git a/docs/skills/engineering-team/epic-design.md b/docs/skills/engineering-team/epic-design.md index 34ecfa7..b5e3d28 100644 --- a/docs/skills/engineering-team/epic-design.md +++ b/docs/skills/engineering-team/epic-design.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-browserstack.md b/docs/skills/engineering-team/playwright-pro-browserstack.md index dfaedab..bb5e97a 100644 --- a/docs/skills/engineering-team/playwright-pro-browserstack.md +++ b/docs/skills/engineering-team/playwright-pro-browserstack.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-coverage.md b/docs/skills/engineering-team/playwright-pro-coverage.md index f118fdb..05091c5 100644 --- a/docs/skills/engineering-team/playwright-pro-coverage.md +++ b/docs/skills/engineering-team/playwright-pro-coverage.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-fix.md b/docs/skills/engineering-team/playwright-pro-fix.md index 85aef86..32bd9aa 100644 --- a/docs/skills/engineering-team/playwright-pro-fix.md +++ b/docs/skills/engineering-team/playwright-pro-fix.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-generate.md b/docs/skills/engineering-team/playwright-pro-generate.md index 378f99b..4605cc6 100644 --- a/docs/skills/engineering-team/playwright-pro-generate.md +++ b/docs/skills/engineering-team/playwright-pro-generate.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-init.md b/docs/skills/engineering-team/playwright-pro-init.md index 3cbf0d8..89653e8 100644 --- a/docs/skills/engineering-team/playwright-pro-init.md +++ b/docs/skills/engineering-team/playwright-pro-init.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-migrate.md b/docs/skills/engineering-team/playwright-pro-migrate.md index 6eec31c..9970263 100644 --- a/docs/skills/engineering-team/playwright-pro-migrate.md +++ b/docs/skills/engineering-team/playwright-pro-migrate.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-report.md b/docs/skills/engineering-team/playwright-pro-report.md index cdc4113..076e076 100644 --- a/docs/skills/engineering-team/playwright-pro-report.md +++ b/docs/skills/engineering-team/playwright-pro-report.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-review.md b/docs/skills/engineering-team/playwright-pro-review.md index 04fe172..ff9d2f5 100644 --- a/docs/skills/engineering-team/playwright-pro-review.md +++ b/docs/skills/engineering-team/playwright-pro-review.md @@ -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 diff --git a/docs/skills/engineering-team/playwright-pro-testrail.md b/docs/skills/engineering-team/playwright-pro-testrail.md index 0f69071..3f4b16f 100644 --- a/docs/skills/engineering-team/playwright-pro-testrail.md +++ b/docs/skills/engineering-team/playwright-pro-testrail.md @@ -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 diff --git a/docs/skills/engineering/skill-security-auditor.md b/docs/skills/engineering/skill-security-auditor.md index ef5dc52..fedd5b2 100644 --- a/docs/skills/engineering/skill-security-auditor.md +++ b/docs/skills/engineering/skill-security-auditor.md @@ -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 diff --git a/docs/skills/marketing-skill/content-strategy.md b/docs/skills/marketing-skill/content-strategy.md index 8bbf4a1..ef6f9e1 100644 --- a/docs/skills/marketing-skill/content-strategy.md +++ b/docs/skills/marketing-skill/content-strategy.md @@ -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 diff --git a/docs/skills/product-team/code-to-prd.md b/docs/skills/product-team/code-to-prd.md index 9b4a843..b163076 100644 --- a/docs/skills/product-team/code-to-prd.md +++ b/docs/skills/product-team/code-to-prd.md @@ -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 diff --git a/mkdocs.yml b/mkdocs.yml index 7aa13bf..d0ac99f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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 diff --git a/scripts/generate-docs.py b/scripts/generate-docs.py index 3739d86..7f2270d 100644 --- a/scripts/generate-docs.py +++ b/scripts/generate-docs.py @@ -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