Skip to content

Add comprehensive SEO + GEO instructions across all 12 AI coding tools#11

Merged
stuckvgn merged 86 commits intomainfrom
add-geo-seo-instructions
Mar 31, 2026
Merged

Add comprehensive SEO + GEO instructions across all 12 AI coding tools#11
stuckvgn merged 86 commits intomainfrom
add-geo-seo-instructions

Conversation

@stuckvgn
Copy link
Copy Markdown
Contributor

@stuckvgn stuckvgn commented Mar 28, 2026

Summary

Adds comprehensive SEO + GEO (Generative Engine Optimization) instructions across all 12 AI coding tool configurations, incorporating three research sources:

  1. Princeton/Georgia Tech GEO-BENCH study (KDD 2024) and practitioner GEO findings (March 2026)
  2. Grey-hat AI citation manipulation landscape research (Palo Alto Networks Unit 42, SPLX/Zscaler, Ahrefs 15,000-prompt analysis, March 2026)
  3. Traditional SEO state-of-the-art playbook (Core Web Vitals 2.0, Helpful Content System, E-E-A-T, link building, March 2026)

Files

New rule files (per-tool format)

File Trigger
claude-code/.claude/rules/geo-seo.md paths: frontmatter
cursor/.cursor/rules/geo-seo.mdc description: frontmatter
github-copilot/.github/instructions/geo-seo.md applyTo: glob
windsurf/.windsurf/rules/geo-seo.md <!-- trigger: model_decision -->
kilo-code/.kilocode/rules/geo-seo.md No frontmatter
roo-code/.roo/rules/geo-seo.md No frontmatter
augment-code/.augment/rules/geo-seo.md No frontmatter

Skill files

File Tool
claude-code/.claude/skills/geo-seo-audit/SKILL.md Claude Code (17-step audit)
github-copilot/.github/skills/geo-seo-audit/SKILL.md GitHub Copilot
github-copilot/.github/prompts/geo-seo-audit.prompt.md GitHub Copilot

Single-file tools (section appended/updated)

  • aider/CONVENTIONS.md, gemini-cli/GEMINI.md, jetbrains-junie/.junie/guidelines.md, agents-md/AGENTS.md

Index updates

  • claude-code/.claude/skills/README.md, README.md

Content coverage

Core Web Vitals (updated March 2026): LCP threshold tightened from 2.5s to 2.0s. INP officially replaces FID. Ranking impact data: INP >200ms = -0.8 position drop; LCP >3s = 23% more traffic loss vs faster competitors. 43% of sites still fail the 200ms INP threshold.

Search intent mapping: Content must match the intent format of top-ranking results before any other optimization. Table of intent types → expected content formats.

Google's Helpful Content System: Integrated into core ranking since March 2024. "Scaled content abuse" manual actions since June 2025. AI content position (Mueller, Nov 2025) with caveats.

E-E-A-T signals: How to demonstrate Experience, Expertise, Authoritativeness, Trustworthiness. Author attribution chain: Article schema → author @id → Person schema → sameAs external profiles. +40% AI citations with proper author metadata.

Semantic writing for AI retrieval: Entity salience (active voice 0.74 vs passive 0.11), atomic claims as semantic triples, proper noun density (20.6% vs 5-8% standard), content density sweet spot (5,000-20,000 chars), Gemini's ~380 word per-page grounding budget.

Wikipedia and Wikidata: Wikipedia = 47.9% of ChatGPT's top-10 citations. Knowledge Panels within 7 days of Wikidata entry. Entity web strategy. sameAs to Wikipedia and Wikidata Q-ID in Organization schema.

Crawl budget: Faceted navigation URL explosion, redirect chains, crawl waste patterns. HTTP status code requirements. Index audit cadence.

Image optimization: Descriptive file names, WebP/AVIF with <picture> fallbacks, srcset for responsive, explicit width/height for CLS prevention.

Security headers: HSTS, CSP, X-Content-Type-Options, X-Frame-Options, mixed content.

Link building (post-March 2026 spam update): Topical relevance (r=0.4) > raw DA. Anchor text distribution requirements (sites below 30% diversity = -15 positions). Digital PR + original research = 156% more links. What was devalued: PBNs, sponsored guest posts on generalist sites, niche edits on thin domains.

Brand signals: Brand mentions now 55% of off-page ranking weight (up from ~20%). 85% of AI brand mentions from third-party pages. Unlinked mention conversion (>30% close rate). 60% of online brand mentions are unlinked.

Authoritative platform publishing: Platform trust hierarchy, Reddit/YouTube/LinkedIn/GitHub strategy. Cross-platform consistency requirement.

Platform-specific behavior: 40-60% monthly citation turnover, 11% ChatGPT/Perplexity domain overlap, first-mover advantage in data voids.

Defensive awareness: Hidden text injection including invisible Unicode U+E0000-U+E007F, agent-aware cloaking (domain-wide penalty), scaled AI content (80% traffic loss), FTC "Operation AI Comply" legal exposure.

Test plan

  • Verify CWV table shows LCP ≤2.0s (not 2.5s) and INP replacing FID
  • Verify E-E-A-T section covers all four dimensions with actionable guidance
  • Verify JSON-LD examples include Wikipedia and Wikidata URLs in sameAs
  • Verify robots.txt template allows OAI-SearchBot, PerplexityBot, ClaudeBot and notes 226+ crawler landscape
  • Verify content intent table maps all four intent types to expected formats
  • Verify skill has 17 steps including content intent, E-E-A-T, semantic writing, link profile, brand signals, and defensive review
  • Validate JSON-LD examples at schema.org/validator
  • Verify single-file tools have updated section covering CWV 2026, E-E-A-T, and link building

Summary by CodeRabbit

  • Documentation

    • Added comprehensive GEO + SEO guidance across the project: semantic HTML/heading/accessibility rules, AI‑retrieval writing patterns, JSON‑LD/meta conventions, Core Web Vitals/INP targets, rendering/crawlability, robots/sitemap/IndexNow, site architecture/linking, analytics/conversion, i18n, Wikipedia/Wikidata alignment, and anti‑abuse defenses.
  • New Features

    • Added a GEO+SEO audit skill (17‑step workflow), a condensed 11‑step audit prompt, and a standardized findings report template.
  • Chores

    • Updated README/skills counts and overall project totals.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 28, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 430b74c7-fe0c-4291-af76-356219bb147b

📥 Commits

Reviewing files that changed from the base of the PR and between f481a4b and 3dcc08d.

📒 Files selected for processing (3)
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • kilo-code/.kilocode/skills/README.md
  • kilo-code/.kilocode/skills/geo-seo-audit/SKILL.md

📝 Walkthrough

Walkthrough

Adds a cross-repo “SEO + GEO” specification and supporting artifacts: many new geo-seo rule documents across tools, a new geo-seo-audit skill (17-step) implemented in multiple tool dirs, an 11-step Copilot audit prompt, path-scoped Copilot instruction, and README/index count updates. All edits are documentation-only.

Changes

Cohort / File(s) Summary
Top-level README & indexes
README.md, claude-code/.claude/skills/README.md, github-copilot/.github/skills/README.md, claude-code/.claude/README.md, github-copilot/.github/instructions/README.md
Updated per-repo counts and registry tables to include new GEO/SEO materials and the geo-seo-audit skill.
Claude Code — rules & skills
claude-code/.claude/rules/geo-seo.md, claude-code/.claude/rules/README.md, claude-code/.claude/skills/geo-seo-audit/SKILL.md, claude-code/.claude/skills/README.md
Added a comprehensive geo-seo ruleset, registered it in rules index, and introduced the 17-step geo-seo-audit skill and README entries.
GitHub Copilot — instructions, prompt & skill
github-copilot/.github/instructions/geo-seo.md, github-copilot/.github/prompts/geo-seo-audit.prompt.md, github-copilot/.github/skills/geo-seo-audit/SKILL.md, github-copilot/.github/instructions/README.md
Added path-scoped Copilot instruction for SEO+GEO, an 11-step audit prompt, and a Copilot geo-seo-audit skill definition; updated instructions index.
Cross-tool GEO‑SEO rulebooks
augment-code/.augment/rules/geo-seo.md, cursor/.cursor/rules/geo-seo.mdc, kilo-code/.kilocode/rules/geo-seo.md, roo-code/.roo/rules/geo-seo.md, windsurf/.windsurf/rules/geo-seo.md, gemini-cli/GEMINI.md
Introduced consistent GEO+SEO rule documents across multiple tool directories covering HTML semantics, AI-retrieval writing, JSON‑LD/schema, Core Web Vitals, SSR/SSG guidance, robots/sitemaps/IndexNow, i18n, site architecture, analytics, and anti-abuse guidance.
Agents / conventions / guidelines
agents-md/AGENTS.md, aider/CONVENTIONS.md, jetbrains-junie/.junie/guidelines.md
Appended GEO+SEO sections to agent/convention/guideline docs (discovery framing, E‑E‑A‑T/author metadata, schema expectations, CWV targets, crawl controls, architecture, analytics, and defensive checks).
Kilo/Roo skill material
kilo-code/.kilocode/skills/geo-seo-audit/SKILL.md, kilo-code/.kilocode/skills/geo-seo-audit/README.md, kilo-code/.kilocode/skills/README.md
Added geo-seo-audit skill and README for Kilo, plus repo-specific skill registration and guidance.
Repository-wide propagation & ancillary docs
.../.*/rules/geo-seo.*, .../.*/skills/geo-seo-audit/SKILL.md, github-copilot/.github/instructions/*, agents-md/AGENTS.md, gemini-cli/GEMINI.md
Propagated GEO/SEO guidance, audit skill entries, prompts, and path-specific instruction files across registries and ancillary documentation—many new documentation files added.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐇 I scoped the headings, counted alt-text bright,
I tucked JSON‑LD neatly into site.
Sitemaps whisper, robots learn their cue,
Fresh dates hop forward, citations pursue.
🥕📜

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add comprehensive SEO + GEO instructions across all 12 AI coding tools' directly and accurately describes the main objective of the pull request—introducing SEO and GEO guidance to 12 AI tool configurations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-geo-seo-instructions

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@claude-code/.claude/rules/geo-seo.md`:
- Around line 151-200: The robots.txt example code fence in the geo-seo rules
(the triple-backtick block that begins with "# Standard search engines" /
"User-agent: Googlebot") should include a language identifier for proper
highlighting; change the opening fence from "```" to "```txt" so the block is
explicitly marked as plain text.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 04cbe481-7e51-466f-a49c-2ee3edcbf5cf

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and d3877f4.

📒 Files selected for processing (4)
  • README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md

stuckvgn added 23 commits March 29, 2026 00:03
…ng, platform presence, defensive awareness, citation volatility
…g audit, platform presence, defensive review, updated statistics
…/Wikidata, semantic writing, defensive awareness
…ikidata, semantic writing, defensive awareness
…/Wikidata, semantic writing, defensive awareness
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@augment-code/.augment/rules/geo-seo.md`:
- Around line 131-177: The fenced robots.txt block is missing a language
identifier which triggers markdownlint rule MD040; update the opening code fence
for the robots.txt block (the triple-backtick that begins the fenced block
containing "User-agent: Googlebot" through "Sitemap:
https://yoursite.com/sitemap.xml") to include a language tag such as txt (e.g.,
change ``` to ```txt) so the block is explicitly marked and MD040 is satisfied.
- Around line 203-216: The fenced examples need normalized Markdown fencing and
surrounding blank lines to satisfy MD031/MD040: for the citable paragraph block
add a language tag (e.g., use ```txt) and ensure there is a blank line before
and after the fenced block, and for the Definition block wrap the HTML example
in a fenced block with language tag (```html) also surrounded by blank lines;
specifically update the occurrence of the triple-backtick block containing
"[Direct statement of fact]..." to use ```txt and add blank lines around it, and
update the Definition example to be enclosed in ```html with blank lines before
and after so both the citable paragraph and the `<section id="what-is-term">`
example comply.

In `@claude-code/.claude/rules/geo-seo.md`:
- Around line 311-328: The fenced code examples in the geo-seo rules (the "Every
key claim follows this structure" block, the "FAQ block pattern", and the
"Definition block pattern" shown around the `<section id="what-is-term">`
example) need proper fenced-code language tags and blank-line separation to
satisfy MD031/MD040; update the first generic paragraph fence to use a language
(e.g., ```txt) and add a blank line between adjacent fenced blocks (and ensure
the HTML example uses ```html) so each fenced block is correctly labeled and
separated.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md`:
- Around line 11-12: The markdown heading "## When to Use" is immediately
followed by a list and violates MD022; add a single blank line between the
heading ("## When to Use") and the following list so the heading is separated
from the list by an empty line to satisfy markdownlint.

In `@gemini-cli/GEMINI.md`:
- Around line 433-450: The large "GEO + SEO — Advocacy Website Visibility" rule
block (the heading and its entire content) exceeds the file's
instruction-budget; extract that whole section into a new rule/skill file (e.g.,
a separate GEO_SEO.md or rules/gseo.md) and replace it here with a concise
pointer line such as "See GEO + SEO guidance in [GEO SEO rules]" linking to the
new file; ensure the moved content retains its heading "GEO + SEO — Advocacy
Website Visibility", all subsections (HTML structure, Structured data (JSON-LD),
Meta tags, robots.txt, Sitemap and architecture, Performance, Content patterns
that earn AI citations) and metadata so nothing is lost, and update any internal
references to point to the new file.

In `@github-copilot/.github/prompts/geo-seo-audit.prompt.md`:
- Around line 5-45: The prompt omits the repo’s expanded GEO audit areas
(Wikipedia/Wikidata and defensive-risk checks) so update the
geo-seo-audit.prompt.md steps to match the full GEO model by adding explicit
steps (e.g., "Step X: Audit Wikipedia/Wikidata" and "Step Y: Audit Defensive &
Risk Checks") and include specific checks and validation actions for each (what
to verify, where to validate, and expected metadata/sources). Also update the
"Findings Report" section to include corresponding Critical/High/Medium/Low
entries for Wikipedia/Wikidata issues and defensive-risk findings, and ensure
cross-references to existing symbols like "Step 2: Audit Structured Data
(JSON-LD)" and "Step 9: Findings Report" so reviewers can locate and align the
new checks with the current JSON-LD, meta, robots, and sitemap audit items.

In `@jetbrains-junie/.junie/guidelines.md`:
- Around line 410-426: The GEO+SEO guideline "GEO + SEO — Advocacy Website
Visibility" is missing high-impact audit domains (semantic writing for
retrieval, Wikipedia/Wikidata, authoritative platform publishing,
defensive-awareness guardrails) referenced in
claude-code/.claude/rules/geo-seo.md; update the Junie rules by adding a
dedicated subsection or checklist entries under the same "GEO + SEO" heading
that enumerate each missing domain, describe the required checks (e.g., semantic
writing practices for retrieval, verification/citation protocols for
Wikipedia/Wikidata, requirements for authoritative-platform publishing, and
defensive-awareness guardrails), and reference the existing Schema/metadata,
robots, and content modules (Structured data (JSON-LD), Meta tags, robots.txt)
so audits use consistent criteria across tools. Ensure the new entries use the
same concise checklist format and link back to the Article/FAQ/Organization
schema rules to keep tool-independent audit outcomes consistent.

In `@kilo-code/.kilocode/rules/geo-seo.md`:
- Line 131: Several fenced code blocks are triggering markdownlint rules MD040
and MD031 because they lack language identifiers and blank lines around the
fences; update each plain ``` fence to include a language tag (e.g., ```txt) and
ensure there is a blank line before and after the fenced block, including the
"citable paragraph pattern" example and the User-agent/Sitemap example, so the
fences read as a properly delimited block with a language identifier and
surrounding blank lines to satisfy MD040/MD031.
- Around line 1-236: The GEO+SEO rules file is missing four mandatory policy
areas compared to the canonical set: "semantic writing for AI retrieval",
"Wikipedia/Wikidata strategy", "authoritative third-party platform publishing",
and "defensive-awareness prohibitions"; add four new sections to
kilo-code/.kilocode/rules/geo-seo.md with clear, actionable guidance mirroring
the canonical content in claude-code/.claude/rules/geo-seo.md (include goals,
required markup/metadata, examples, and enforcement notes), place them alongside
existing major headings like "HTML Structure" and "Structured Data (JSON-LD)" so
they integrate with the modular guidance, and ensure each new section includes
required artifacts (e.g., semantic writing patterns, citation strategy to
Wikipedia/Wikidata, checklist for publishing to third-party platforms, and
explicit prohibitions + detection tips for defensive-awareness content) and
references to update rules/tests that assert their presence.

In `@roo-code/.roo/rules/geo-seo.md`:
- Around line 181-184: The XML Sitemap section omits concrete size limits
causing inconsistent implementations: update the "XML Sitemap" paragraph to
state explicit limits (max 50,000 URLs per sitemap and 50MB uncompressed file
size), require use of sitemap index files when those limits are exceeded,
recommend splitting by canonical grouping (matching the canonical rule set) and
include guidance to reference sitemap locations in robots.txt and to submit
sitemap index to Google Search Console and Bing Webmaster Tools; also note
<lastmod> must reflect actual update dates and be preserved when
generating/regenerating sitemaps automatically.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 6de0a9ef-bfcb-46ce-9ad1-d0e537d59285

📥 Commits

Reviewing files that changed from the base of the PR and between d3877f4 and afe3f26.

📒 Files selected for processing (14)
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

Comment on lines +433 to +450

## GEO + SEO — Advocacy Website Visibility

Websites built for animal advocacy serve two discovery channels: traditional search engines and AI answer systems (ChatGPT, Perplexity, Google AI Overviews, Claude, Gemini, Bing Copilot). Approximately 60% of searches end without a click — AI systems are the fastest-growing discovery channel with distinct citation requirements. Apply these rules when building or modifying any public-facing advocacy website.

**HTML structure.** Every page needs exactly one `<h1>` containing the primary topic. Use a logical heading hierarchy (h1 > h2 > h3), never skipping levels. Phrase h2 headings as questions — question-based headings produce 7× more AI citations for smaller sites. The first paragraph after any heading must directly answer that question in 40-60 words; AI systems pull from the first 30% of content 44% of the time. Keep paragraphs to 2-4 sentences (40-60 words). Structure content as self-contained 120-180 word modules — this modular pattern generates 70% more ChatGPT citations than unstructured prose. Use semantic HTML correctly: article, section, nav, aside, header, footer, main. Add lang attribute to html element. Every img must have descriptive alt text. Every anchor must have meaningful text — never "click here". Use table for comparison data (32.5% of AI-cited content uses tables), ol and ul for lists (78% of AI answers include list formats), blockquote with cite attribute for expert quotations (+28-40% AI visibility). Flag any content rendered exclusively by JavaScript — AI crawlers often skip JS rendering. Do NOT keyword-stuff — stuffing decreases AI visibility by 10%.

**Structured data (JSON-LD).** This is the single highest-leverage GEO action: 41% citation rate with schema vs 15% without, yet only 12.4% of websites implement it. Every page needs Organization + WebSite schema in a @graph array. Every content page needs Article schema with headline, author (with name, url, jobTitle), publisher, datePublished, dateModified, image, and description. Any page with Q&A content needs FAQPage schema with 40-80 word direct answers per question. Also implement when applicable: HowTo, BreadcrumbList, SoftwareApplication, Event, Dataset, Person. Always use JSON-LD format, not Microdata. Keep dateModified accurate. Validate at schema.org/validator.

**Meta tags.** Title tag: Primary Keyword — Brand Name, 50-60 chars, keywords first, unique per page. Meta description: 150-160 chars, direct factual answer to the primary query, one specific statistic, never duplicated across pages. Every page needs a canonical link tag, full Open Graph tags (og:title, og:description, og:type, og:url, og:image, og:site_name), Twitter Card tags, and article timestamp tags in ISO 8601 format.

**robots.txt.** Allow AI citation crawlers — they power AI answer systems: OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot, Claude-SearchBot, Applebot, Amazonbot. Optionally block AI training crawlers if not consenting to training use: GPTBot, CCBot, Google-Extended. Include a Sitemap directive. Note: blocking Googlebot blocks both Google Search AND Google AI Overviews — there is no way to separate them.

**Sitemap and architecture.** XML sitemap at /sitemap.xml with accurate lastmod dates — never fake them. Submit to Google Search Console and Bing Webmaster Tools. Regenerate automatically on content changes. Use descriptive hyphenated lowercase URLs under 75 characters, max 3 levels deep, canonical tags on every page. Implement hub-and-spoke topic cluster model: pillar page (2,000-4,000 words) + 8-15 cluster pages with bidirectional links — increases AI citation rate from 12% to 41%. Display "Last Updated" visibly with time[datetime] tag; synchronize with dateModified in schema (76% of most-cited AI content was updated within 30 days).

**Performance.** AI crawlers timeout at 1-5 seconds: TTFB under 200ms, LCP under 2.5s, CLS under 0.1, page weight under 1MB. Require SSR or SSG — AI crawlers often skip JavaScript rendering. Enforce HTTPS.

**Content patterns that earn AI citations.** Citable paragraph: direct statement of fact, specific statistic with attribution, brief elaboration, named source and date. Author attribution on every content page — visible name, credentials, link to profile page with Person schema — increases AI citations by 40%. Pages over 2,900 words are 59% more likely to be cited. Original or proprietary data generates 4.31× more citations per URL. Adding statistics to claims increases AI visibility by 41%. Citing credible sources inline increases AI visibility by 30-40%. Expert quotations increase AI visibility by 28-40%.
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

New GEO/SEO block conflicts with this file’s instruction-budget constraint.

Line 432 warns about an effective instruction budget, but this large append increases prompt load and can reduce compliance with higher-priority safety rules in the same file. Move GEO/SEO into a separate rule/skill file and keep a short pointer here.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@gemini-cli/GEMINI.md` around lines 433 - 450, The large "GEO + SEO — Advocacy
Website Visibility" rule block (the heading and its entire content) exceeds the
file's instruction-budget; extract that whole section into a new rule/skill file
(e.g., a separate GEO_SEO.md or rules/gseo.md) and replace it here with a
concise pointer line such as "See GEO + SEO guidance in [GEO SEO rules]" linking
to the new file; ensure the moved content retains its heading "GEO + SEO —
Advocacy Website Visibility", all subsections (HTML structure, Structured data
(JSON-LD), Meta tags, robots.txt, Sitemap and architecture, Performance, Content
patterns that earn AI citations) and metadata so nothing is lost, and update any
internal references to point to the new file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re: extracting the GEO+SEO section to a separate file

This is architecturally impossible for Gemini CLI. The gemini-cli/README.md explicitly states that GEMINI.md is the sole instruction file — there is no mechanism for persistent project-level rules in any other location. A separate GEO_SEO.md file would never be read by the tool.

The section has been condensed specifically to fit within the practical instruction budget while preserving the highest-impact rules (Core Web Vitals thresholds, entity salience, Wikipedia/Wikidata, structured data, robots.txt citation crawlers, and defensive awareness). The condensation is intentional — lower-priority details that are fully covered in the standalone rule files for other tools (claude-code, cursor, etc.) are omitted here to stay within budget.

This is a known architectural constraint of Gemini CLI, not an oversight. The canonical full rule set lives in claude-code/.claude/rules/geo-seo.md for tools that support separate rule files.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stuckvgn, understood — thanks for the clear explanation. You're right that my suggestion was architecturally invalid for Gemini CLI. Since GEMINI.md is the only file the tool loads, extraction to a separate file would silently drop all GEO+SEO guidance. The intentional condensation to ~50 lines, prioritizing the highest-impact rules while deferring the full playbook to claude-code/.claude/rules/geo-seo.md, is exactly the right approach given the tool's constraints. I'll withdraw this comment.


✏️ Learnings added
Learnt from: stuckvgn
Repo: Open-Paws/structured-coding-with-ai PR: 11
File: gemini-cli/GEMINI.md:0-0
Timestamp: 2026-03-28T21:25:36.222Z
Learning: In the `Open-Paws/structured-coding-with-ai` repository, `gemini-cli/GEMINI.md` is the **sole** instruction file that Gemini CLI reads. There is no mechanism for persistent project-level rules in any other location — separate files such as `GEO_SEO.md` or `rules/geo-seo.md` are never loaded by the tool. Any guidance that needs to be available to Gemini CLI must be included directly in `GEMINI.md`, kept concise to stay within the effective instruction budget (~150-200 instructions). The canonical full GEO+SEO rule set lives in `claude-code/.claude/rules/geo-seo.md` for tools that support separate rule files.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@agents-md/AGENTS.md`:
- Line 504: Replace the phrase “saw average position drops of 0.8 places” with
“saw an average ranking drop of 0.8 positions” to improve clarity; update the
sentence containing the INP/LCP statistics (the line referencing INP, LCP and
the primary technique `scheduler.yield()` ) so it reads: “Sites with INP above
200ms saw an average ranking drop of 0.8 positions; LCP above 3s causes 23% more
traffic loss vs faster competitors.”
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bc474a8e-ac81-4851-ac17-c2909235cda0

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and cc6f9e4.

📒 Files selected for processing (20)
  • README.md
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/README.md
  • claude-code/.claude/rules/README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/README.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/README.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Full review triggered.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
claude-code/.claude/README.md (1)

11-13: ⚠️ Potential issue | 🟡 Minor

Update skill count to match the geo-seo-audit addition.

Line 11 still references "6 process skill packages," but the PR adds the geo-seo-audit skill (confirmed in claude-code/.claude/skills/README.md), bringing the total to 7. Update the count for consistency.

📝 Suggested fix
-- **`skills/`** — 6 process skill packages, each in its own subdirectory with a `SKILL.md`
+- **`skills/`** — 7 process skill packages, each in its own subdirectory with a `SKILL.md`
   workflow file. Skills cover code review, git workflow, plan-first development,
-  requirements interview, security audit, and testing strategy.
+  requirements interview, security audit, testing strategy, and GEO + SEO audit.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/README.md` around lines 11 - 13, Update the count in the
README entry for "skills/" from 6 to 7 to reflect the new geo-seo-audit skill;
locate the line that reads "**`skills/`** — 6 process skill packages…" and
change the numeral to 7, and confirm the new "geo-seo-audit" skill (present in
the skills/ listing and its SKILL.md) is represented consistently.
♻️ Duplicate comments (1)
agents-md/AGENTS.md (1)

504-504: ⚠️ Potential issue | 🟡 Minor

Tighten metric wording for clarity.

The phrase “saw average position drops of 0.8 places” is still awkward; use “saw an average ranking drop of 0.8 positions.”

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents-md/AGENTS.md` at line 504, Edit the sentence in AGENTS.md that reads
"saw average position drops of 0.8 places" to the clearer wording "saw an
average ranking drop of 0.8 positions" in the paragraph discussing INP (the line
mentioning "43% of sites still fail the INP threshold" and "The primary INP
technique is `scheduler.yield()`...") so the metric phrasing is concise and
natural.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@claude-code/.claude/rules/geo-seo.md`:
- Line 507: The guidance wrongly uses React JSX casing `autoComplete` in
framework-agnostic documentation; update the sentence to clarify the distinction
and show the correct native HTML attribute `autocomplete` (lowercase) vs the
React prop `autoComplete` so implementers know to use `autocomplete` in HTML and
`autoComplete` in JSX; ensure the rule text replaces or augments the existing
mention so it explicitly states both names and their contexts (native HTML vs
React) to avoid misimplementation.

---

Outside diff comments:
In `@claude-code/.claude/README.md`:
- Around line 11-13: Update the count in the README entry for "skills/" from 6
to 7 to reflect the new geo-seo-audit skill; locate the line that reads
"**`skills/`** — 6 process skill packages…" and change the numeral to 7, and
confirm the new "geo-seo-audit" skill (present in the skills/ listing and its
SKILL.md) is represented consistently.

---

Duplicate comments:
In `@agents-md/AGENTS.md`:
- Line 504: Edit the sentence in AGENTS.md that reads "saw average position
drops of 0.8 places" to the clearer wording "saw an average ranking drop of 0.8
positions" in the paragraph discussing INP (the line mentioning "43% of sites
still fail the INP threshold" and "The primary INP technique is
`scheduler.yield()`...") so the metric phrasing is concise and natural.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1635c269-6317-42c6-a8a8-f3e05101f2d2

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and cc6f9e4.

📒 Files selected for processing (20)
  • README.md
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/README.md
  • claude-code/.claude/rules/README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/README.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/README.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Full review triggered.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
claude-code/.claude/README.md (1)

11-13: ⚠️ Potential issue | 🟡 Minor

Update skills count from 6 to 7 to match current registry.

geo-seo-audit/ is now present in the skills index, so this top-level README line is outdated and can mislead users about available skills.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/README.md` around lines 11 - 13, Update the README line
under "skills/" to reflect the current registry count: change "6 process skill
packages" to "7 process skill packages" and mention that the skills index now
includes the geo-seo-audit/ package (or ensure the top-level description
implicitly covers geo-seo-audit/); edit the sentence that references "skills/"
so it accurately states seven skill subdirectories and still references that
each has a SKILL.md workflow file.
♻️ Duplicate comments (2)
agents-md/AGENTS.md (1)

504-504: ⚠️ Potential issue | 🟡 Minor

Use clearer metric phrasing for ranking impact sentence.

Line 504 still reads awkwardly (“average position drops of 0.8 places”). Prefer: “an average ranking drop of 0.8 positions.”

Suggested edit
-43% of sites still fail the INP threshold. Sites with INP above 200ms saw average position drops of 0.8 places; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
+43% of sites still fail the INP threshold. Sites with INP above 200ms saw an average ranking drop of 0.8 positions; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents-md/AGENTS.md` at line 504, Update the awkward phrasing in the sentence
that reads “average position drops of 0.8 places” to a clearer form such as “an
average ranking drop of 0.8 positions” in AGENTS.md (the sentence discussing INP
impact). Replace the existing fragment with the suggested wording and ensure
surrounding punctuation and spacing remain consistent with the paragraph.
claude-code/.claude/rules/geo-seo.md (1)

507-507: ⚠️ Potential issue | 🟡 Minor

Use autocomplete for HTML and qualify autoComplete as JSX-specific.

Line 507 is framework-agnostic guidance but uses JSX casing. This can mislead non-React implementations.

What is the correct autofill attribute name in HTML, and what is the corresponding React JSX prop name?
🛠 Proposed fix
-For all forms: target 3-5 essential fields maximum — each additional field costs ~11% in conversion. Start with easy, non-threatening questions. Make optional fields clearly optional (+25-35% completion). Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+For all forms: target 3-5 essential fields maximum — each additional field costs ~11% in conversion. Start with easy, non-threatening questions. Make optional fields clearly optional (+25-35% completion). Support browser autofill with correct `autocomplete` attributes in HTML (React JSX uses `autoComplete`) (also required for WCAG 2.2 AA SC 1.3.5).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/rules/geo-seo.md` at line 507, Update the guidance to
clarify HTML vs JSX attribute names: state that the standard HTML attribute is
"autocomplete" (lowercase) and the React JSX prop is "autoComplete" (camelCase);
revise the sentence that currently uses `autoComplete` to either use
`autocomplete` for framework-agnostic guidance or explicitly mention both forms
(HTML: "autocomplete", React JSX: "autoComplete") and keep the WCAG note about
SC 1.3.5 intact.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md`:
- Line 163: Update Step 8’s “Additional applicable types” list to include
LocalBusiness; locate the line containing the phrase "Additional applicable
types: HowTo, SoftwareApplication, Event, Dataset, VideoObject" in SKILL.md and
add LocalBusiness to that comma-separated list so it reads including
LocalBusiness.
- Line 264: Replace the JSX-specific attribute name `autoComplete` with the
standard HTML attribute name `autocomplete` in the SKILL.md checklist entry that
currently reads "autoComplete attributes on all form fields?"; update that
string so the doc is tool-agnostic and uses lowercase `autocomplete` (note: keep
React-specific usage unchanged elsewhere if explicitly React contexts exist).

In `@cursor/.cursor/rules/geo-seo.mdc`:
- Line 496: Replace the React JSX attribute name "autoComplete" with the native
HTML attribute name "autocomplete" wherever the document references form markup
(update the literal text "autoComplete" to "autocomplete"); also update the
sentence that mislabels utility classes as CSS logical properties to clearly
distinguish them—state that CSS logical properties (e.g., margin-inline-start,
inset-inline) are native browser properties while utility classes are
framework/author-provided helpers (mention the phrase "utility classes" and "CSS
logical properties" so you change the specific wording near the current
reference).

In `@github-copilot/.github/instructions/geo-seo.md`:
- Around line 336-343: Update the security header checklist to include the
missing Permissions-Policy and Cross-Origin-Opener-Policy (COOP) entries: add a
Permissions-Policy line (e.g., disable unused features like "geolocation=(),
camera=(), microphone=()") and add COOP set to "same-origin" (or
"same-origin-allow-popups" if needed) alongside the existing headers and the
middleware.ts guidance for Next.js; ensure the list still recommends HSTS, CSP
with nonces, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, fixing
mixed content, and removing X-Powered-By so the audit guidance is consistent.
- Line 492: Clarify the distinction between HTML and React attribute names by
explicitly stating that the HTML attribute is `autocomplete` while React JSX
uses `autoComplete` (update the sentence referencing `autoComplete`
accordingly), and separate the native CSS logical properties from
Tailwind/utility class equivalents by replacing or appending the utility-class
mentions `ps-4`, `pe-4`, and `text-start` with the native CSS equivalents
`padding-inline-start`, `padding-inline-end`, and `text-align: start` (or show
both forms side-by-side for clarity) so readers can see both the native property
names and their Tailwind counterparts.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md`:
- Line 163: Update the optional schema types list in SKILL.md by adding
"LocalBusiness" to the line currently reading "Additional applicable types:
HowTo, SoftwareApplication, Event, Dataset, VideoObject" so it matches the
canonical rule spec; ensure the text exactly includes LocalBusiness (e.g.,
"HowTo, SoftwareApplication, Event, Dataset, VideoObject, LocalBusiness") to
prevent false passes for location-based organizations.
- Line 264: Update the framework-agnostic checklist entry that currently reads
"`autoComplete` attributes on all form fields?" to use the HTML standard name by
replacing it with "`autocomplete` attributes on all form fields?" or, if you
want to note React specifically, change it to "`autocomplete` attributes on all
form fields? (camelCase `autoComplete` in React)"; target the text token
`autoComplete` in SKILL.md and make the replacement/clarification.

In `@README.md`:
- Around line 59-61: Update the README so the “process skills” counts are
consistent: in the table rows for "Claude Code", "Cursor", and "GitHub Copilot"
ensure the inventory numbers reflect the new 7 process skills (or change the
later "6 process skills" heading/text to "7 process skills"); specifically edit
the table entries shown and the later "6 process skills" section text so both
reference the same total (7) and adjust any related counts or descriptions that
assume six skills.

In `@windsurf/.windsurf/rules/geo-seo.md`:
- Line 493: Change framework-specific JSX terms to platform-standard names:
replace the mention of JSX's autoComplete with the HTML standard autocomplete
(you may optionally note "JSX: autoComplete" in parentheses). Also clarify that
ps-4, pe-4 and text-start are Bootstrap utility classes that map to CSS logical
properties rather than being logical properties themselves — rewrite the
sentence to say CSS logical properties (via utilities like ps-4, pe-4,
text-start) handle RTL mirroring or explicitly state that those Bootstrap
utilities map to native logical properties.

---

Outside diff comments:
In `@claude-code/.claude/README.md`:
- Around line 11-13: Update the README line under "skills/" to reflect the
current registry count: change "6 process skill packages" to "7 process skill
packages" and mention that the skills index now includes the geo-seo-audit/
package (or ensure the top-level description implicitly covers geo-seo-audit/);
edit the sentence that references "skills/" so it accurately states seven skill
subdirectories and still references that each has a SKILL.md workflow file.

---

Duplicate comments:
In `@agents-md/AGENTS.md`:
- Line 504: Update the awkward phrasing in the sentence that reads “average
position drops of 0.8 places” to a clearer form such as “an average ranking drop
of 0.8 positions” in AGENTS.md (the sentence discussing INP impact). Replace the
existing fragment with the suggested wording and ensure surrounding punctuation
and spacing remain consistent with the paragraph.

In `@claude-code/.claude/rules/geo-seo.md`:
- Line 507: Update the guidance to clarify HTML vs JSX attribute names: state
that the standard HTML attribute is "autocomplete" (lowercase) and the React JSX
prop is "autoComplete" (camelCase); revise the sentence that currently uses
`autoComplete` to either use `autocomplete` for framework-agnostic guidance or
explicitly mention both forms (HTML: "autocomplete", React JSX: "autoComplete")
and keep the WCAG note about SC 1.3.5 intact.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 00b5d2df-fe10-4fbd-9bd9-26444db3ead0

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and cc6f9e4.

📒 Files selected for processing (20)
  • README.md
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/README.md
  • claude-code/.claude/rules/README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/README.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/README.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

- **FAQPage schema** on any page with Q&A content
- **BreadcrumbList schema** on all non-homepage pages
- **Person schema** on all author/team profile pages
- Additional applicable types: HowTo, SoftwareApplication, Event, Dataset, VideoObject
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Add LocalBusiness to the optional schema types list for parity with the rule spec.

Line 163 omits LocalBusiness, which is included in the canonical structured-data guidance for location-based entities. This can cause false “pass” audits for orgs with physical locations.

🛠 Proposed fix
-- Additional applicable types: HowTo, SoftwareApplication, Event, Dataset, VideoObject
+- Additional applicable types: HowTo, SoftwareApplication, Event, Dataset, VideoObject, LocalBusiness (for location-based entities)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md` at line 163, Update the
optional schema types list in SKILL.md by adding "LocalBusiness" to the line
currently reading "Additional applicable types: HowTo, SoftwareApplication,
Event, Dataset, VideoObject" so it matches the canonical rule spec; ensure the
text exactly includes LocalBusiness (e.g., "HowTo, SoftwareApplication, Event,
Dataset, VideoObject, LocalBusiness") to prevent false passes for location-based
organizations.

- Single-step form? (multi-step forms see 52% drop in completions)
- Site header navigation removed during donation flow?
- Form embedded on-site, not redirecting to third-party processor?
- `autoComplete` attributes on all form fields?
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

In forms, what is the correct attribute name in native HTML vs React JSX: autocompleteorautoComplete?

💡 Result:

In native HTML, the correct attribute name is autocomplete (kebab-case, lowercase). In React JSX, the correct prop name is autoComplete (camelCase). Native HTML: Use as specified in the HTML standard and MDN docs. React JSX: Use . React converts camelCase props to the corresponding HTML attributes. Using autocomplete triggers a development warning like "Unknown DOM property autocomplete. Did you mean autoComplete?"

Citations:


🏁 Script executed:

fd "SKILL.md" --type f | head -5

Repository: Open-Paws/structured-coding-with-ai

Length of output: 61


🏁 Script executed:

wc -l github-copilot/.github/skills/geo-seo-audit/SKILL.md

Repository: Open-Paws/structured-coding-with-ai

Length of output: 135


🏁 Script executed:

sed -n '250,280p' github-copilot/.github/skills/geo-seo-audit/SKILL.md

Repository: Open-Paws/structured-coding-with-ai

Length of output: 1798


Use HTML standard autocomplete instead of React-style autoComplete in framework-agnostic guidance.

Line 264 uses the React camelCase prop name in a framework-agnostic audit checklist. Use autocomplete (the HTML standard) or clarify that React requires autoComplete.

🛠 Suggested revision
-- `autoComplete` attributes on all form fields?
+- `autocomplete` attributes on all form fields?

If the guide needs to mention React: - \autocomplete` attributes on all form fields? (camelCase `autoComplete` in React)`

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md` at line 264, Update the
framework-agnostic checklist entry that currently reads "`autoComplete`
attributes on all form fields?" to use the HTML standard name by replacing it
with "`autocomplete` attributes on all form fields?" or, if you want to note
React specifically, change it to "`autocomplete` attributes on all form fields?
(camelCase `autoComplete` in React)"; target the text token `autoComplete` in
SKILL.md and make the replacement/clarification.

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Full review triggered.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

89-89: ⚠️ Potential issue | 🟡 Minor

Update the section heading to reflect 7 process skills.

The table entries above now document 7 skills for Claude Code and GitHub Copilot, but this heading still says "6 process skills", creating an inconsistency that will confuse readers.

📝 Suggested fix
-**6 process skills** (workflow guides invoked on demand):
+**7 process skills** (workflow guides invoked on demand):
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 89, Update the heading string "**6 process skills**
(workflow guides invoked on demand):" to "**7 process skills** (workflow guides
invoked on demand):" so the section title matches the seven skills documented
above; locate and change the exact heading text in README.md (the bold "6
process skills" line) to "7 process skills".
♻️ Duplicate comments (9)
agents-md/AGENTS.md (1)

504-504: ⚠️ Potential issue | 🟡 Minor

Improve wording precision for metric description.

The phrase "saw average position drops of 0.8 places" should be "saw an average ranking drop of 0.8 positions" for clarity and grammatical correctness, as previously suggested.

✏️ Suggested fix
-43% of sites still fail the INP threshold. Sites with INP above 200ms saw average position drops of 0.8 places; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
+43% of sites still fail the INP threshold. Sites with INP above 200ms saw an average ranking drop of 0.8 positions; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents-md/AGENTS.md` at line 504, Replace the imprecise phrase "saw average
position drops of 0.8 places" in the INP metric paragraph (the sentence
discussing "Sites with INP above 200ms...") with "saw an average ranking drop of
0.8 positions" to improve clarity and grammatical correctness.
aider/CONVENTIONS.md (1)

373-374: ⚠️ Potential issue | 🟡 Minor

Fix missing blank line and improve wording clarity.

Two issues: (1) MD022 requires a blank line after the heading, and (2) the phrase "saw average position drops of 0.8 places" should be "saw an average ranking drop of 0.8 positions" for clarity and correctness.

🔧 Suggested fix
 ### HTML Structure
+
-One `<h1>` per page. Phrase `<h2>` headings as questions — produces 7× more AI citations for smaller sites. First paragraph after any heading must directly answer the question in 40–60 words. AI pulls from the first 30% of content 44% of the time. Keep paragraphs 2–4 sentences. Structure content as self-contained 120–180 word modules — generates 70% more ChatGPT citations than unstructured prose. Use semantic HTML (`<article>`, `<section>`, `<main>`, etc.). Never hide content behind JavaScript-only rendering; AI crawlers generally do not execute JS.
+One `<h1>` per page. Phrase `<h2>` headings as questions — produces 7× more AI citations for smaller sites. First paragraph after any heading must directly answer the question in 40–60 words. AI pulls from the first 30% of content 44% of the time. Keep paragraphs 2–4 sentences. Structure content as self-contained 120–180 word modules — generates 70% more ChatGPT citations than unstructured prose. Use semantic HTML (`<article>`, `<section>`, `<main>`, etc.). Never hide content behind JavaScript-only rendering; AI crawlers generally do not execute JS.

For the wording issue at line 374:

-43% of sites still fail the INP threshold. Sites with INP above 200ms saw average position drops of 0.8 places; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
+43% of sites still fail the INP threshold. Sites with INP above 200ms saw an average ranking drop of 0.8 positions; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@aider/CONVENTIONS.md` around lines 373 - 374, Add a blank line after the
preceding heading to satisfy MD022 and improve the sentence wording: change "saw
average position drops of 0.8 places" to "saw an average ranking drop of 0.8
positions" in the paragraph that mentions "43% of sites still fail the INP
threshold" and references "scheduler.yield()" so the text reads clearly and the
Markdown linter passes.
claude-code/.claude/rules/geo-seo.md (1)

507-507: ⚠️ Potential issue | 🟡 Minor

Use HTML autocomplete naming (and optionally note React JSX casing).

Line 507 is framework-agnostic guidance but uses React-style autoComplete. Use native HTML autocomplete, with optional JSX clarification.

✏️ Proposed fix
-For all forms: target 3-5 essential fields maximum — each additional field costs ~11% in conversion. Start with easy, non-threatening questions. Make optional fields clearly optional (+25-35% completion). Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+For all forms: target 3-5 essential fields maximum — each additional field costs ~11% in conversion. Start with easy, non-threatening questions. Make optional fields clearly optional (+25-35% completion). Support browser autofill with correct `autocomplete` attributes in HTML (React JSX uses `autoComplete`) (also required for WCAG 2.2 AA SC 1.3.5).
In native HTML vs React JSX, what is the correct form attribute/prop name: `autocomplete` or `autoComplete`?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/rules/geo-seo.md` at line 507, The guidance currently
uses React-style `autoComplete`; change the text to use the native HTML
attribute name `autocomplete` (while optionally adding a parenthetical note that
in React JSX the prop is camelCased as `autoComplete`) so the rule is
framework‑agnostic; update occurrences of `autoComplete` in the guidance and add
a short clarification mentioning React JSX casing where helpful.
windsurf/.windsurf/rules/geo-seo.md (1)

497-497: ⚠️ Potential issue | 🟡 Minor

Use framework-neutral, standards-accurate terminology in these two lines.

Line 497 should use HTML autocomplete (with optional JSX note).
Line 531 should describe ps-4/pe-4/text-start as utility classes that map to logical properties.

Confirm best-practice wording: HTML uses `autocomplete`; React JSX uses `autoComplete`; `ps-4`/`pe-4`/`text-start` are utility classes, while native CSS uses logical properties like `padding-inline-start`.

Also applies to: 531-531

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@windsurf/.windsurf/rules/geo-seo.md` at line 497, Update the wording on line
497 and 531 to use framework-neutral, standards-accurate terms: replace the
current `autoComplete` mention with "HTML autocomplete (React JSX:
autoComplete)" so readers know the HTML attribute name and the JSX casing, and
change the note about `ps-4`/`pe-4`/`text-start` to state these are utility
classes that map to logical CSS properties (e.g., padding-inline-start,
padding-inline-end, text-align: start) rather than implying they are native CSS
properties.
cursor/.cursor/rules/geo-seo.mdc (1)

496-496: ⚠️ Potential issue | 🟡 Minor

Correct HTML attribute naming and CSS terminology in implementation guidance.

Line 496 should reference HTML autocomplete (optionally noting React JSX autoComplete).
Line 530 should state that ps-4/pe-4/text-start are utility classes, not native CSS properties.

Confirm: (1) HTML uses `autocomplete` while React JSX uses `autoComplete`; (2) `ps-4`, `pe-4`, `text-start` are utility classes rather than native CSS logical properties.

Also applies to: 530-530

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cursor/.cursor/rules/geo-seo.mdc` at line 496, Update the guidance to use
correct HTML and React attribute names and to clarify CSS terminology: state
that the HTML attribute is autocomplete (and in React JSX it is autoComplete),
and change the wording around ps-4, pe-4, and text-start to say they are utility
classes (not native CSS logical properties); adjust the sentences around the
existing guidance references to replace incorrect terms with these exact
identifiers (autocomplete, autoComplete, ps-4, pe-4, text-start).
claude-code/.claude/skills/geo-seo-audit/SKILL.md (2)

264-264: ⚠️ Potential issue | 🟡 Minor

Use HTML-standard autofill attribute name in the checklist.

Line 264 should use autocomplete (HTML) instead of JSX-only autoComplete, unless the line is explicitly React-specific.

For form autofill, what is the correct attribute name in HTML vs React JSX (`autocomplete` vs `autoComplete`)?
Suggested patch
-- `autoComplete` attributes on all form fields?
+- `autocomplete` attributes on all form fields? (React JSX: `autoComplete`)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md` at line 264, Update the
checklist entry that currently uses the JSX-specific attribute name
`autoComplete` to the HTML-standard `autocomplete` so the document is correct
for non-React contexts; locate the checklist line referencing `autoComplete` and
replace it with `autocomplete`, and if any surrounding guidance mentions
React-only behavior, clarify that `autoComplete` is React/JSX-specific while
`autocomplete` is the standard HTML attribute.

163-163: ⚠️ Potential issue | 🟠 Major

Add LocalBusiness to Step 8 optional schema types.

Step 8 omits a canonical applicable type for location-based entities, so the audit rubric is incomplete.

Is `LocalBusiness` a valid Schema.org type typically recommended for location-based organizations/websites?
Suggested patch
-- Additional applicable types: HowTo, SoftwareApplication, Event, Dataset, VideoObject
+- Additional applicable types: HowTo, SoftwareApplication, Event, Dataset, VideoObject, LocalBusiness
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md` at line 163, Step 8's
optional schema types list omits the location-focused Schema.org type; update
the "Additional applicable types" entry in SKILL.md (the line currently listing
HowTo, SoftwareApplication, Event, Dataset, VideoObject) to include
LocalBusiness so location-based organizations are covered, and optionally add a
brief parenthetical note that LocalBusiness is the recommended Schema.org type
for local/brick-and-mortar organizations/websites where relevant.
github-copilot/.github/instructions/geo-seo.md (2)

492-492: ⚠️ Potential issue | 🟡 Minor

Clarify standards vs framework-specific terms in form/i18n guidance.

Use HTML autocomplete in generic guidance (optionally note JSX autoComplete).
Also separate native CSS logical properties from utility classes (ps-4, pe-4, text-start).

Please verify: HTML attribute name (`autocomplete`) vs React JSX prop (`autoComplete`), and whether `ps-4`/`pe-4`/`text-start` are native CSS properties or utility classes.

Also applies to: 526-526

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` at line 492, Update the
guidance to distinguish standard HTML attribute names from framework-specific
props by using the HTML attribute name "autocomplete" in the generic guidance
and adding a short parenthetical note that in React/JSX it appears as the prop
"autoComplete"; likewise, explicitly call out that "ps-4", "pe-4" and
"text-start" are utility-class names (e.g., Bootstrap/Tailwind-like) and not
native CSS logical properties, and add a brief line referencing native CSS
logical properties (padding-inline-start, padding-inline-end, text-align) as the
standards-based alternatives.

336-344: ⚠️ Potential issue | 🟠 Major

Security header baseline is incomplete in this Copilot instruction file.

Permissions-Policy and Cross-Origin-Opener-Policy are missing here, creating inconsistent hardening guidance versus the canonical rule set.

Based on learnings, claude-code/.claude/rules/geo-seo.md is the canonical source and derived tool files should remain synchronized.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` around lines 336 - 344, The
instruction file's security header baseline is missing Permissions-Policy and
Cross-Origin-Opener-Policy and must be synchronized with the canonical rule set;
update the Copilot instruction text to include adding Permissions-Policy (e.g.,
restrict features like camera, microphone, geolocation) and
Cross-Origin-Opener-Policy: same-origin (or same-origin-allow-popups as
appropriate), and explicitly state removing X-Powered-By and fixing mixed
content, plus the existing CSP, HSTS, X-Content-Type-Options, X-Frame-Options,
and Referrer-Policy; reference Next.js middleware.ts as the implementation point
and note exact header names (Permissions-Policy, Cross-Origin-Opener-Policy,
Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options,
X-Frame-Options, Referrer-Policy, X-Powered-By) so derived tool files stay
synchronized with claude-code/.claude/rules/geo-seo.md.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@aider/CONVENTIONS.md`:
- Line 283: A Markdown heading in CONVENTIONS.md is missing the required blank
line after it (causing MD022); fix it by inserting a single blank line
immediately after the heading so the next paragraph/content is separated, then
run the markdown linter to confirm the MD022 warning is cleared.

In `@augment-code/.augment/rules/geo-seo.md`:
- Line 496: Update the tool-agnostic guidance to use the HTML attribute name
"autocomplete" and add a parenthetical that "autoComplete" is the React JSX prop
equivalent; also revise the wording around spacing/alignment to state that
"ps-4", "pe-4", and "text-start" are Tailwind/Bootstrap utility classes (or
similar utility frameworks) that map to native CSS logical properties, rather
than being native CSS properties themselves, so readers understand they are
utilities not browser-level properties.

In `@kilo-code/.kilocode/rules/geo-seo.md`:
- Line 496: Update the text to clearly distinguish HTML/JSX attribute naming and
CSS utility classes: state that the HTML standard attribute is "autocomplete"
(kebab-case) while React JSX uses "autoComplete" (camelCase) so readers know
which applies depending on context; and when mentioning layout helpers, clarify
that "ps-4", "pe-4", and "text-start" are framework utility classes (e.g.,
Tailwind/Bootstrap) and show their native CSS equivalents—use
"padding-inline-start", "padding-inline-end", and "text-align: start"—so readers
understand the difference and can implement correctly in non-framework or
non-React environments.

In `@roo-code/.roo/rules/geo-seo.md`:
- Around line 337-345: The security-header baseline is missing two canonical
headers: add Permissions-Policy and Cross-Origin-Opener-Policy to the list of
required headers (the same set used in claude-code/.claude/rules/geo-seo.md) so
the rule enumerating required headers includes "Permissions-Policy" (with a
restrictive default value, e.g., disabling powerful features) and
"Cross-Origin-Opener-Policy: same-origin" alongside the existing CSP, HSTS,
X-Content-Type-Options, X-Frame-Options, Referrer-Policy, mixed-content
guidance, and removal of X-Powered-By; update the guidance text and the Next.js
note (middleware.ts) to show setting these headers there.

---

Outside diff comments:
In `@README.md`:
- Line 89: Update the heading string "**6 process skills** (workflow guides
invoked on demand):" to "**7 process skills** (workflow guides invoked on
demand):" so the section title matches the seven skills documented above; locate
and change the exact heading text in README.md (the bold "6 process skills"
line) to "7 process skills".

---

Duplicate comments:
In `@agents-md/AGENTS.md`:
- Line 504: Replace the imprecise phrase "saw average position drops of 0.8
places" in the INP metric paragraph (the sentence discussing "Sites with INP
above 200ms...") with "saw an average ranking drop of 0.8 positions" to improve
clarity and grammatical correctness.

In `@aider/CONVENTIONS.md`:
- Around line 373-374: Add a blank line after the preceding heading to satisfy
MD022 and improve the sentence wording: change "saw average position drops of
0.8 places" to "saw an average ranking drop of 0.8 positions" in the paragraph
that mentions "43% of sites still fail the INP threshold" and references
"scheduler.yield()" so the text reads clearly and the Markdown linter passes.

In `@claude-code/.claude/rules/geo-seo.md`:
- Line 507: The guidance currently uses React-style `autoComplete`; change the
text to use the native HTML attribute name `autocomplete` (while optionally
adding a parenthetical note that in React JSX the prop is camelCased as
`autoComplete`) so the rule is framework‑agnostic; update occurrences of
`autoComplete` in the guidance and add a short clarification mentioning React
JSX casing where helpful.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md`:
- Line 264: Update the checklist entry that currently uses the JSX-specific
attribute name `autoComplete` to the HTML-standard `autocomplete` so the
document is correct for non-React contexts; locate the checklist line
referencing `autoComplete` and replace it with `autocomplete`, and if any
surrounding guidance mentions React-only behavior, clarify that `autoComplete`
is React/JSX-specific while `autocomplete` is the standard HTML attribute.
- Line 163: Step 8's optional schema types list omits the location-focused
Schema.org type; update the "Additional applicable types" entry in SKILL.md (the
line currently listing HowTo, SoftwareApplication, Event, Dataset, VideoObject)
to include LocalBusiness so location-based organizations are covered, and
optionally add a brief parenthetical note that LocalBusiness is the recommended
Schema.org type for local/brick-and-mortar organizations/websites where
relevant.

In `@cursor/.cursor/rules/geo-seo.mdc`:
- Line 496: Update the guidance to use correct HTML and React attribute names
and to clarify CSS terminology: state that the HTML attribute is autocomplete
(and in React JSX it is autoComplete), and change the wording around ps-4, pe-4,
and text-start to say they are utility classes (not native CSS logical
properties); adjust the sentences around the existing guidance references to
replace incorrect terms with these exact identifiers (autocomplete,
autoComplete, ps-4, pe-4, text-start).

In `@github-copilot/.github/instructions/geo-seo.md`:
- Line 492: Update the guidance to distinguish standard HTML attribute names
from framework-specific props by using the HTML attribute name "autocomplete" in
the generic guidance and adding a short parenthetical note that in React/JSX it
appears as the prop "autoComplete"; likewise, explicitly call out that "ps-4",
"pe-4" and "text-start" are utility-class names (e.g., Bootstrap/Tailwind-like)
and not native CSS logical properties, and add a brief line referencing native
CSS logical properties (padding-inline-start, padding-inline-end, text-align) as
the standards-based alternatives.
- Around line 336-344: The instruction file's security header baseline is
missing Permissions-Policy and Cross-Origin-Opener-Policy and must be
synchronized with the canonical rule set; update the Copilot instruction text to
include adding Permissions-Policy (e.g., restrict features like camera,
microphone, geolocation) and Cross-Origin-Opener-Policy: same-origin (or
same-origin-allow-popups as appropriate), and explicitly state removing
X-Powered-By and fixing mixed content, plus the existing CSP, HSTS,
X-Content-Type-Options, X-Frame-Options, and Referrer-Policy; reference Next.js
middleware.ts as the implementation point and note exact header names
(Permissions-Policy, Cross-Origin-Opener-Policy, Content-Security-Policy,
Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options,
Referrer-Policy, X-Powered-By) so derived tool files stay synchronized with
claude-code/.claude/rules/geo-seo.md.

In `@windsurf/.windsurf/rules/geo-seo.md`:
- Line 497: Update the wording on line 497 and 531 to use framework-neutral,
standards-accurate terms: replace the current `autoComplete` mention with "HTML
autocomplete (React JSX: autoComplete)" so readers know the HTML attribute name
and the JSX casing, and change the note about `ps-4`/`pe-4`/`text-start` to
state these are utility classes that map to logical CSS properties (e.g.,
padding-inline-start, padding-inline-end, text-align: start) rather than
implying they are native CSS properties.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: a2b6d76c-d966-4a5c-b2af-8f3a08ecd29f

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and e6f6b11.

📒 Files selected for processing (20)
  • README.md
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/README.md
  • claude-code/.claude/rules/README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/README.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/README.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Full review triggered.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (14)
agents-md/AGENTS.md (1)

504-504: ⚠️ Potential issue | 🟡 Minor

Change "saw average position drops of 0.8 places" to "saw an average ranking drop of 0.8 positions" for clarity and precision. The suggested wording improvement has not yet been applied at line 504.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents-md/AGENTS.md` at line 504, Replace the imprecise phrase "saw average
position drops of 0.8 places" with "saw an average ranking drop of 0.8
positions" in the sentence that reads "43% of sites still fail the INP
threshold... saw average position drops of 0.8 places" (the same line mentioning
INP and scheduler.yield()); simply update that fragment to the suggested wording
so the sentence becomes clearer and more precise.
claude-code/.claude/rules/geo-seo.md (1)

507-507: ⚠️ Potential issue | 🟡 Minor

Clarify autocomplete (HTML) vs autoComplete (React JSX).

In canonical, framework-agnostic guidance, prefer the HTML attribute name and optionally annotate JSX casing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/rules/geo-seo.md` at line 507, Update the guidance to
prefer the HTML attribute name "autocomplete" for canonical, framework-agnostic
documentation and add a short parenthetical note that in React JSX the
equivalent attribute is camelCased as "autoComplete"; ensure the sentence
referencing "Support browser autofill with correct `autoComplete` attributes" is
edited to use "autocomplete" as the primary term and include the JSX casing as
an optional note so both usages are clear (refer to the sentence about autofill
and the phrase currently using `autoComplete`).
github-copilot/.github/skills/geo-seo-audit/SKILL.md (2)

264-264: ⚠️ Potential issue | 🟡 Minor

Prefer autocomplete wording for framework-neutral instructions.

Use HTML attribute naming and optionally note React’s autoComplete variant.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md` at line 264, Replace
the framework-specific `autoComplete` wording with the HTML attribute name
`autocomplete` in the guidance line and any related instructions; if you want to
help React users, add a short parenthetical note that in React the equivalent
prop is `autoComplete` (capital C) so both audiences understand the mapping.

163-163: ⚠️ Potential issue | 🟡 Minor

Add LocalBusiness to the optional schema-type checklist.

This avoids false “pass” outcomes for location-based entities.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md` at line 163, Update the
optional schema-type checklist line that currently reads "Additional applicable
types: HowTo, SoftwareApplication, Event, Dataset, VideoObject" to include
"LocalBusiness" so it becomes "Additional applicable types: HowTo,
SoftwareApplication, Event, Dataset, VideoObject, LocalBusiness" ensuring
location-based entities are covered in the SKILL.md checklist.
claude-code/.claude/skills/geo-seo-audit/SKILL.md (2)

264-264: ⚠️ Potential issue | 🟡 Minor

Use HTML-standard autocomplete in tool-agnostic guidance.

autoComplete is JSX-specific naming; this checklist is framework-agnostic.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md` at line 264, The checklist
uses JSX-specific `autoComplete` casing; change any occurrences of the string
`autoComplete` to the HTML-standard `autocomplete` in SKILL.md (e.g., the
checklist item "`autoComplete` attributes on all form fields?") so the guidance
is tool-agnostic and uses the correct HTML attribute name.

163-163: ⚠️ Potential issue | 🟡 Minor

Include LocalBusiness in the “additional applicable types” list.

Location-based organizations can be incorrectly marked “complete” without it.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md` at line 163, The
"Additional applicable types" list currently reads "HowTo, SoftwareApplication,
Event, Dataset, VideoObject" and is missing LocalBusiness; update the SKILL.md
entry for "Additional applicable types" (the line containing that exact list) to
include "LocalBusiness" among the comma-separated types so location-based
organizations are correctly recognized.
github-copilot/.github/instructions/geo-seo.md (2)

336-343: ⚠️ Potential issue | 🟠 Major

Security header checklist is missing Permissions-Policy and Cross-Origin-Opener-Policy.

Please align this section with the canonical rules to avoid weaker Copilot-specific guidance.

Based on learnings, the canonical source is claude-code/.claude/rules/geo-seo.md and derived tool instructions should remain aligned.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` around lines 336 - 343,
Update the security header checklist in geo-seo.md to include the missing
headers by adding "Permissions-Policy" (specify allowed features or set to none
/ strict policy) and "Cross-Origin-Opener-Policy: same-origin" to the list
alongside the existing headers and note implementing them in Next.js via
middleware.ts; ensure the guidance references CSP/HSTS/etc. already listed and
aligns wording with the canonical rules in claude-code/.claude/rules/geo-seo.md
so the derived tool instructions remain consistent.

492-492: ⚠️ Potential issue | 🟡 Minor

Fix platform-agnostic naming: autocomplete (HTML) and utility classes vs native CSS properties.

Current wording mixes React prop naming with HTML guidance and mislabels ps-4/pe-4/text-start as native CSS properties.

Also applies to: 526-526

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` at line 492, Update the
guidance to use platform-agnostic naming: refer to the HTML attribute as
"autocomplete" (lowercase) and note React uses the prop "autoComplete" only when
relevant; clarify that `ps-4`, `pe-4`, and `text-start` are framework utility
classes (e.g., Bootstrap/Tailwind) not native CSS properties and show the native
CSS equivalents (padding-inline-start, padding-inline-end, text-align) where
needed; ensure the WCAG note still references autocomplete support for SC 1.3.5
and replicate the same wording change at the other occurrence mentioned (line
526).
augment-code/.augment/rules/geo-seo.md (1)

495-495: ⚠️ Potential issue | 🟡 Minor

Correct terminology for HTML autofill and CSS logical properties.

In this tool-agnostic document, prefer autocomplete for HTML (note React autoComplete as equivalent), and describe ps-4/pe-4/text-start as utility classes rather than native CSS logical properties.

Also applies to: 529-529

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@augment-code/.augment/rules/geo-seo.md` at line 495, Update the phrasing to
use the correct HTML autofill attribute name "autocomplete" (note that in React
it appears as "autoComplete") and change references to "ps-4", "pe-4", and
"text-start" to state they are utility classes (e.g., framework utility classes)
rather than native CSS logical properties; make the same correction at the other
occurrence flagged (line 529) so the document consistently uses "autocomplete"
and describes those tokens as utility classes.
kilo-code/.kilocode/rules/geo-seo.md (1)

495-495: ⚠️ Potential issue | 🟡 Minor

Use standard naming in cross-framework guidance (autocomplete) and fix CSS terminology.

Please avoid React-specific naming in generic HTML rules, and identify ps-4/pe-4/text-start as framework utility classes with native CSS equivalents.

Also applies to: 529-529

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@kilo-code/.kilocode/rules/geo-seo.md` at line 495, The guidance currently
uses React-specific attribute naming and framework utility class names; change
the attribute reference from "autoComplete" to the standard HTML "autocomplete"
and mark "ps-4", "pe-4", and "text-start" as Bootstrap/utility framework classes
(not native CSS), adding their native CSS equivalents (e.g.,
padding-left/padding-right values and text-align: left) and keep the WCAG
reference to "SC 1.3.5 (WCAG 2.2 AA)" intact; update the cross-framework
guidance text to use the standard "autocomplete" term and explicitly note the
native CSS alternatives for the utility classes.
roo-code/.roo/rules/geo-seo.md (1)

337-345: ⚠️ Potential issue | 🟠 Major

Add missing Permissions-Policy and Cross-Origin-Opener-Policy headers.

This security baseline is still incomplete versus the canonical GEO+SEO rule set and can cause tool-specific drift.

🔧 Proposed fix
 ### Security headers

 Implement all of these — they are expected signals in 2026. For Next.js, set via `middleware.ts`:
 - `Content-Security-Policy` (CSP with nonces for scripts/styles) — prevents XSS
 - `Strict-Transport-Security: max-age=63072000; includeSubDomains; preload` (HSTS)
 - `X-Content-Type-Options: nosniff`
 - `X-Frame-Options: DENY`
 - `Referrer-Policy: strict-origin-when-cross-origin`
+- `Permissions-Policy: camera=(), microphone=(), geolocation=()`
+- `Cross-Origin-Opener-Policy: same-origin`
 - Fix all mixed content (HTTP resources on HTTPS pages)
 - Remove `X-Powered-By` header (information disclosure)

Based on learnings, claude-code/.claude/rules/geo-seo.md is the canonical source and derived rule files should stay synchronized.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@roo-code/.roo/rules/geo-seo.md` around lines 337 - 345, Add the missing
security headers by updating the middleware that sets response headers (e.g.,
the Next.js middleware.ts header configuration) to include Permissions-Policy
(with a conservative policy such as fullscreen=(), camera=(), microphone=(),
geolocation=()) and Cross-Origin-Opener-Policy: same-origin; ensure their names
are exactly "Permissions-Policy" and "Cross-Origin-Opener-Policy" and that they
are added alongside the existing CSP, HSTS, X-Content-Type-Options,
X-Frame-Options, Referrer-Policy and removal of X-Powered-By; also mirror these
changes to the canonical rule source (claude-code/.claude/rules/geo-seo.md) so
derived rule files stay synchronized.
cursor/.cursor/rules/geo-seo.mdc (1)

496-496: ⚠️ Potential issue | 🟡 Minor

Clarify autocomplete vs autoComplete, and distinguish native CSS logical properties from utility classes.

This text should be tool-agnostic: HTML uses autocomplete; React uses autoComplete. Also, ps-4/pe-4/text-start are utility classes, not native CSS properties.

Also applies to: 530-530

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cursor/.cursor/rules/geo-seo.mdc` at line 496, Update the guidance to be
tool-agnostic by explicitly distinguishing the HTML attribute name
`autocomplete` (lowercase) from React's prop `autoComplete` (camelCase), and
replace or annotate any phrasing that implies `ps-4`/`pe-4`/`text-start` are
native CSS logical properties by calling them out as utility classes (e.g.,
framework-specific utilities) rather than CSS properties; ensure the WCAG
reference to SC 1.3.5 remains and that the text instructs to use correct
attribute casing for browser autofill depending on the environment (HTML vs
React).
windsurf/.windsurf/rules/geo-seo.md (2)

497-497: ⚠️ Potential issue | 🟡 Minor

Use HTML standard autocomplete attribute naming.

The text references JSX-specific autoComplete (camelCase). Since this is framework-neutral documentation for all 12 AI coding tools, use the HTML platform standard autocomplete (lowercase). Optionally note the JSX variant in parentheses if helpful.

📝 Suggested wording
-Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+Support browser autofill with correct `autocomplete` attributes (also required for WCAG 2.2 AA SC 1.3.5; JSX: `autoComplete`).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@windsurf/.windsurf/rules/geo-seo.md` at line 497, The doc uses the JSX
camelCase attribute `autoComplete`; update the guidance to use the HTML standard
lowercase `autocomplete` instead (e.g., "Support browser autofill with correct
`autocomplete` attributes") and, if helpful, add a parenthetical note that
JSX/React uses `autoComplete` to avoid confusion; ensure the sentence
referencing WCAG 2.2 AA SC 1.3.5 still follows and replace any other occurrences
of `autoComplete` with `autocomplete`.

531-531: ⚠️ Potential issue | 🟡 Minor

Clarify that Bootstrap utilities apply CSS logical properties.

The text states "CSS logical properties (ps-4, pe-4, text-start)" but these are Bootstrap utility classes that apply native CSS logical properties, not the properties themselves. Improve technical precision.

🔧 Suggested rewording
-CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
+Bootstrap utilities like `ps-4`, `pe-4`, and `text-start` (which apply CSS logical properties) handle RTL layout mirroring automatically without separate stylesheets.

Or more concisely:

-CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
+CSS logical properties (via Bootstrap utilities like `ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@windsurf/.windsurf/rules/geo-seo.md` at line 531, Update the wording to be
technically precise: change the phrase that currently implies `ps-4`, `pe-4`,
and `text-start` are CSS properties to state that these are Bootstrap utility
classes which apply native CSS logical properties for RTL mirroring; reference
the classes `ps-4`, `pe-4`, and `text-start` in the sentence so readers know
which utilities apply the logical properties rather than calling them the
properties themselves.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@jetbrains-junie/.junie/guidelines.md`:
- Line 478: Update the guideline text to distinguish Tailwind utility class
names from native CSS logical properties: replace the phrase that calls `ps-4`,
`pe-4`, and `text-start` "CSS logical properties" with a clear note that those
are Tailwind utilities, and add the actual native properties
`padding-inline-start`, `padding-inline-end`, and `text-align: start` (or
`direction`/`unicode-bidi` as needed) as the alternatives for teams not using a
utility framework; reference the existing labels `ps-4`, `pe-4`, and
`text-start` and the native properties so readers know which to use depending on
whether they use Tailwind or plain CSS.

In `@roo-code/.roo/rules/geo-seo.md`:
- Line 493: Update the copy to distinguish HTML and React attribute names:
explicitly mention the HTML attribute `autocomplete` and the React prop
`autoComplete` when advising to support browser autofill (replace or augment the
existing React-only example). Also clarify that `ps-4`, `pe-4`, and `text-start`
are Tailwind utility classes (not native CSS logical properties) by labeling
them as Tailwind utilities wherever those class names are referenced.

---

Duplicate comments:
In `@agents-md/AGENTS.md`:
- Line 504: Replace the imprecise phrase "saw average position drops of 0.8
places" with "saw an average ranking drop of 0.8 positions" in the sentence that
reads "43% of sites still fail the INP threshold... saw average position drops
of 0.8 places" (the same line mentioning INP and scheduler.yield()); simply
update that fragment to the suggested wording so the sentence becomes clearer
and more precise.

In `@augment-code/.augment/rules/geo-seo.md`:
- Line 495: Update the phrasing to use the correct HTML autofill attribute name
"autocomplete" (note that in React it appears as "autoComplete") and change
references to "ps-4", "pe-4", and "text-start" to state they are utility classes
(e.g., framework utility classes) rather than native CSS logical properties;
make the same correction at the other occurrence flagged (line 529) so the
document consistently uses "autocomplete" and describes those tokens as utility
classes.

In `@claude-code/.claude/rules/geo-seo.md`:
- Line 507: Update the guidance to prefer the HTML attribute name "autocomplete"
for canonical, framework-agnostic documentation and add a short parenthetical
note that in React JSX the equivalent attribute is camelCased as "autoComplete";
ensure the sentence referencing "Support browser autofill with correct
`autoComplete` attributes" is edited to use "autocomplete" as the primary term
and include the JSX casing as an optional note so both usages are clear (refer
to the sentence about autofill and the phrase currently using `autoComplete`).

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md`:
- Line 264: The checklist uses JSX-specific `autoComplete` casing; change any
occurrences of the string `autoComplete` to the HTML-standard `autocomplete` in
SKILL.md (e.g., the checklist item "`autoComplete` attributes on all form
fields?") so the guidance is tool-agnostic and uses the correct HTML attribute
name.
- Line 163: The "Additional applicable types" list currently reads "HowTo,
SoftwareApplication, Event, Dataset, VideoObject" and is missing LocalBusiness;
update the SKILL.md entry for "Additional applicable types" (the line containing
that exact list) to include "LocalBusiness" among the comma-separated types so
location-based organizations are correctly recognized.

In `@cursor/.cursor/rules/geo-seo.mdc`:
- Line 496: Update the guidance to be tool-agnostic by explicitly distinguishing
the HTML attribute name `autocomplete` (lowercase) from React's prop
`autoComplete` (camelCase), and replace or annotate any phrasing that implies
`ps-4`/`pe-4`/`text-start` are native CSS logical properties by calling them out
as utility classes (e.g., framework-specific utilities) rather than CSS
properties; ensure the WCAG reference to SC 1.3.5 remains and that the text
instructs to use correct attribute casing for browser autofill depending on the
environment (HTML vs React).

In `@github-copilot/.github/instructions/geo-seo.md`:
- Around line 336-343: Update the security header checklist in geo-seo.md to
include the missing headers by adding "Permissions-Policy" (specify allowed
features or set to none / strict policy) and "Cross-Origin-Opener-Policy:
same-origin" to the list alongside the existing headers and note implementing
them in Next.js via middleware.ts; ensure the guidance references CSP/HSTS/etc.
already listed and aligns wording with the canonical rules in
claude-code/.claude/rules/geo-seo.md so the derived tool instructions remain
consistent.
- Line 492: Update the guidance to use platform-agnostic naming: refer to the
HTML attribute as "autocomplete" (lowercase) and note React uses the prop
"autoComplete" only when relevant; clarify that `ps-4`, `pe-4`, and `text-start`
are framework utility classes (e.g., Bootstrap/Tailwind) not native CSS
properties and show the native CSS equivalents (padding-inline-start,
padding-inline-end, text-align) where needed; ensure the WCAG note still
references autocomplete support for SC 1.3.5 and replicate the same wording
change at the other occurrence mentioned (line 526).

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md`:
- Line 264: Replace the framework-specific `autoComplete` wording with the HTML
attribute name `autocomplete` in the guidance line and any related instructions;
if you want to help React users, add a short parenthetical note that in React
the equivalent prop is `autoComplete` (capital C) so both audiences understand
the mapping.
- Line 163: Update the optional schema-type checklist line that currently reads
"Additional applicable types: HowTo, SoftwareApplication, Event, Dataset,
VideoObject" to include "LocalBusiness" so it becomes "Additional applicable
types: HowTo, SoftwareApplication, Event, Dataset, VideoObject, LocalBusiness"
ensuring location-based entities are covered in the SKILL.md checklist.

In `@kilo-code/.kilocode/rules/geo-seo.md`:
- Line 495: The guidance currently uses React-specific attribute naming and
framework utility class names; change the attribute reference from
"autoComplete" to the standard HTML "autocomplete" and mark "ps-4", "pe-4", and
"text-start" as Bootstrap/utility framework classes (not native CSS), adding
their native CSS equivalents (e.g., padding-left/padding-right values and
text-align: left) and keep the WCAG reference to "SC 1.3.5 (WCAG 2.2 AA)"
intact; update the cross-framework guidance text to use the standard
"autocomplete" term and explicitly note the native CSS alternatives for the
utility classes.

In `@roo-code/.roo/rules/geo-seo.md`:
- Around line 337-345: Add the missing security headers by updating the
middleware that sets response headers (e.g., the Next.js middleware.ts header
configuration) to include Permissions-Policy (with a conservative policy such as
fullscreen=(), camera=(), microphone=(), geolocation=()) and
Cross-Origin-Opener-Policy: same-origin; ensure their names are exactly
"Permissions-Policy" and "Cross-Origin-Opener-Policy" and that they are added
alongside the existing CSP, HSTS, X-Content-Type-Options, X-Frame-Options,
Referrer-Policy and removal of X-Powered-By; also mirror these changes to the
canonical rule source (claude-code/.claude/rules/geo-seo.md) so derived rule
files stay synchronized.

In `@windsurf/.windsurf/rules/geo-seo.md`:
- Line 497: The doc uses the JSX camelCase attribute `autoComplete`; update the
guidance to use the HTML standard lowercase `autocomplete` instead (e.g.,
"Support browser autofill with correct `autocomplete` attributes") and, if
helpful, add a parenthetical note that JSX/React uses `autoComplete` to avoid
confusion; ensure the sentence referencing WCAG 2.2 AA SC 1.3.5 still follows
and replace any other occurrences of `autoComplete` with `autocomplete`.
- Line 531: Update the wording to be technically precise: change the phrase that
currently implies `ps-4`, `pe-4`, and `text-start` are CSS properties to state
that these are Bootstrap utility classes which apply native CSS logical
properties for RTL mirroring; reference the classes `ps-4`, `pe-4`, and
`text-start` in the sentence so readers know which utilities apply the logical
properties rather than calling them the properties themselves.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 27ae6011-1fc9-4e29-98f6-04963887f5fb

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and e6f6b11.

📒 Files selected for processing (20)
  • README.md
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/README.md
  • claude-code/.claude/rules/README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/README.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/README.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md


### Internationalization

For multilingual sites, use **next-intl** (1.8M weekly downloads) with subdirectory URL strategy (`/en/`, `/hi/`, `/ar/`) to centralize domain authority. Set `lang` and `dir` on `<html>`. Hreflang tags must be self-referencing and reciprocal on every page — 31% of international sites have broken hreflang. Use ICU MessageFormat for plural/gender forms (Arabic requires 6 CLDR plural categories). CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout automatically.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Find the guidelines.md file and read context around line 478
fd "guidelines.md" -t f | head -5

Repository: Open-Paws/structured-coding-with-ai

Length of output: 61


🏁 Script executed:

# Get file size first
wc -l jetbrains-junie/.junie/guidelines.md 2>/dev/null || find . -name "guidelines.md" -exec wc -l {} \;

Repository: Open-Paws/structured-coding-with-ai

Length of output: 119


🏁 Script executed:

# Search for the file containing the CSS logical properties snippet
rg "CSS logical properties" -B 5 -A 5

Repository: Open-Paws/structured-coding-with-ai

Length of output: 3248


🏁 Script executed:

# Read the guidelines.md file directly, focusing on the area around line 478
sed -n '470,490p' jetbrains-junie/.junie/guidelines.md

Repository: Open-Paws/structured-coding-with-ai

Length of output: 2868


🏁 Script executed:

# Get broader context around the CSS logical properties mention
sed -n '450,510p' jetbrains-junie/.junie/guidelines.md

Repository: Open-Paws/structured-coding-with-ai

Length of output: 6761


🌐 Web query:

CSS logical properties padding-inline-start padding-inline-end MDN documentation

💡 Result:

CSS logical properties padding-inline-start and padding-inline-end define the inline start and end padding of an element, respectively. These map to physical padding properties (padding-left, padding-right, padding-top, or padding-bottom) based on the element's writing-mode, direction, and text-orientation, enabling direction-agnostic styling for internationalization. padding-inline-start (MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-start): - Defines logical inline start padding. - Syntax: padding-inline-start: <length-percentage [0,∞]> (e.g., 10px, 1em, 5%). - Initial value: 0. - Applies to: All elements (some table elements excluded). - Inherited: No. - Percentages: Relative to logical inline size of containing block. - Part of CSS Logical Properties and Values Level 1. padding-inline-end (MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/padding-inline-end): - Defines logical inline end padding. - Same syntax, values, initial value, applicability, inheritance, and percentages as padding-inline-start. - Maps oppositely to physical properties compared to start. Related: padding-inline shorthand sets both (padding-inline: 10px 20px; sets start to 10px, end to 20px). These are widely supported (baseline across browsers since ~2020). For LTR horizontal-tb: start maps to left, end to right. Changes with RTL (direction: rtl) or vertical writing-modes.

Citations:


🌐 Web query:

Tailwind CSS ps-4 pe-4 logical properties mapping

💡 Result:

In Tailwind CSS, the classes ps-4 and pe-4 use logical properties for RTL/LTR support. ps-4 maps to padding-inline-start: 1rem (16px), which corresponds to padding-left in LTR and padding-right in RTL. pe-4 maps to padding-inline-end: 1rem (16px), which corresponds to padding-right in LTR and padding-left in RTL. These were introduced in v3.3 for inline direction support.

Citations:


Distinguish native CSS logical properties from framework utility class names.

The text labels ps-4, pe-4, and text-start as "CSS logical properties," but these are Tailwind CSS utility class names. The native CSS logical properties are padding-inline-start, padding-inline-end, and text-align: start. This distinction matters for teams adopting logical properties without a utility framework.

Suggested revision
-CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout automatically.
+Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL layout. If using a utility framework, use its equivalent classes (for example: Tailwind's `ps-4`, `pe-4`, `text-start`).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
For multilingual sites, use **next-intl** (1.8M weekly downloads) with subdirectory URL strategy (`/en/`, `/hi/`, `/ar/`) to centralize domain authority. Set `lang` and `dir` on `<html>`. Hreflang tags must be self-referencing and reciprocal on every page — 31% of international sites have broken hreflang. Use ICU MessageFormat for plural/gender forms (Arabic requires 6 CLDR plural categories). CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout automatically.
For multilingual sites, use **next-intl** (1.8M weekly downloads) with subdirectory URL strategy (`/en/`, `/hi/`, `/ar/`) to centralize domain authority. Set `lang` and `dir` on `<html>`. Hreflang tags must be self-referencing and reciprocal on every page — 31% of international sites have broken hreflang. Use ICU MessageFormat for plural/gender forms (Arabic requires 6 CLDR plural categories). Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL layout. If using a utility framework, use its equivalent classes (for example: Tailwind's `ps-4`, `pe-4`, `text-start`).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@jetbrains-junie/.junie/guidelines.md` at line 478, Update the guideline text
to distinguish Tailwind utility class names from native CSS logical properties:
replace the phrase that calls `ps-4`, `pe-4`, and `text-start` "CSS logical
properties" with a clear note that those are Tailwind utilities, and add the
actual native properties `padding-inline-start`, `padding-inline-end`, and
`text-align: start` (or `direction`/`unicode-bidi` as needed) as the
alternatives for teams not using a utility framework; reference the existing
labels `ps-4`, `pe-4`, and `text-start` and the native properties so readers
know which to use depending on whether they use Tailwind or plain CSS.

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai resume

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Reviews resumed.

@stuckvgn
Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

✅ Actions performed

Full review triggered.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (15)
roo-code/.roo/rules/geo-seo.md (1)

493-493: ⚠️ Potential issue | 🟡 Minor

Make form/CSS guidance framework-neutral and technically precise.

Use HTML autocomplete in generic guidance (optionally note React autoComplete), and don’t call ps-4/pe-4/text-start CSS properties—they are utility classes.

✏️ Suggested wording fix
-Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+Support browser autofill with correct `autocomplete` attributes (React JSX equivalent: `autoComplete`) (also required for WCAG 2.2 AA SC 1.3.5).

-Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
+Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL mirroring, or utility-framework equivalents such as `ps-4`, `pe-4`, and `text-start`.
What is the HTML standard attribute name for browser autofill, what is the React JSX equivalent, and are `ps-4`/`pe-4`/`text-start` native CSS properties?

Also applies to: 527-527

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@roo-code/.roo/rules/geo-seo.md` at line 493, Update the guidance to be
framework-neutral and technically precise: replace any references to "browser
autofill" with the HTML standard attribute name autocomplete, note the React JSX
equivalent autoComplete in parentheses (no framework-specific examples), and
remove or stop recommending utility class names like ps-4, pe-4, and
text-start—refer instead to native CSS properties (e.g.,
padding-inline-start/padding-inline-end and text-align) or say "use CSS for
spacing/alignment" so the doc doesn't prescribe utility classes; update the
sentences near the existing autocomplete and CSS guidance accordingly.
jetbrains-junie/.junie/guidelines.md (1)

478-478: ⚠️ Potential issue | 🟡 Minor

Clarify utility classes vs native CSS logical properties.

ps-4, pe-4, and text-start are utility classes, not CSS property names.

✏️ Suggested wording fix
-CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout automatically.
+Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL layout. If using a utility framework, use its equivalents (for example: `ps-4`, `pe-4`, `text-start`).
Are `ps-4`, `pe-4`, and `text-start` native CSS logical properties or utility classes, and what are the native CSS equivalents?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@jetbrains-junie/.junie/guidelines.md` at line 478, Update the sentence to
state that ps-4, pe-4, and text-start are framework utility classes (not native
CSS properties) and add their native CSS logical equivalents: use
padding-inline-start, padding-inline-end, and text-align (or
inline-size/text-align for flow) or consider padding-inline and text-align:
start/right/left as appropriate; mention that the corresponding logical CSS
properties (padding-inline-start, padding-inline-end, padding-inline,
block-size/inline-size, and direction/ text-align) handle RTL automatically.
Reference the utility class names ps-4, pe-4, and text-start when clarifying and
provide the native CSS property names as the replacements.
augment-code/.augment/rules/geo-seo.md (1)

496-496: ⚠️ Potential issue | 🟡 Minor

Correct HTML/React naming and CSS logical-property terminology.

This text is still mixing framework-specific names into framework-neutral guidance.

✏️ Suggested wording fix
-Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+Support browser autofill with correct `autocomplete` attributes (React JSX equivalent: `autoComplete`) (also required for WCAG 2.2 AA SC 1.3.5).

-Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
+Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL layout mirroring, or utility-framework equivalents such as `ps-4`, `pe-4`, and `text-start`.
In standards terms, should generic docs use `autocomplete` or `autoComplete`, and are `ps-4`/`pe-4`/`text-start` CSS properties or utility classes?

Also applies to: 530-530

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@augment-code/.augment/rules/geo-seo.md` at line 496, The guidance is mixing
framework-specific names into framework-neutral docs; replace React-specific
attr names and utility-class tokens with standard HTML/CSS terminology: use the
HTML attribute name "autocomplete" (lowercase) instead of "autoComplete", and
describe layout using CSS logical properties (e.g.,
"padding-inline-start"/"padding-inline-end" and "text-align: start") rather than
utility class names like "ps-4", "pe-4", or "text-start"; also call out when
examples are framework-specific by labeling them as framework examples or
showing both the standard property and the framework utility equivalent.
windsurf/.windsurf/rules/geo-seo.md (1)

497-497: ⚠️ Potential issue | 🟡 Minor

Use platform-standard terminology for autofill and logical CSS properties.

These lines still read as framework-specific and technically imprecise.

✏️ Suggested wording fix
-Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+Support browser autofill with correct `autocomplete` attributes (React JSX equivalent: `autoComplete`) (also required for WCAG 2.2 AA SC 1.3.5).

-Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
+Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL mirroring, or utility-framework equivalents such as `ps-4`, `pe-4`, and `text-start`.
What is the correct HTML autofill attribute name vs React JSX prop name, and are `ps-4`/`pe-4`/`text-start` native CSS properties?

Also applies to: 531-531

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@windsurf/.windsurf/rules/geo-seo.md` at line 497, Update the wording to use
platform-standard terms: explain that the correct raw HTML attribute is
"autocomplete" while in React JSX it is "autoComplete" (case-sensitive), and
replace framework-specific CSS references like "ps-4", "pe-4", and "text-start"
with native CSS properties such as "padding-inline-start"/"padding-inline-end"
or "padding-left"/"padding-right" and "text-align: start" (or note these are
Bootstrap utility classes if you must keep them); keep the WCAG reference "WCAG
2.2 AA SC 1.3.5" as-is and apply the same clarification at the other occurrence
mentioned ("531-531").
kilo-code/.kilocode/rules/geo-seo.md (1)

496-496: ⚠️ Potential issue | 🟡 Minor

Fix HTML autofill attribute naming and CSS logical-property wording.

Line 496 should reference HTML autocomplete (with optional React autoComplete note).
Line 530 should not describe ps-4/pe-4/text-start as native CSS properties.

Verify with standards/framework docs:
- HTML uses `autocomplete`; React JSX uses `autoComplete`.
- `ps-4`, `pe-4`, `text-start` are utility classes, while native CSS logical properties are `padding-inline-start`, `padding-inline-end`, and `text-align: start`.

Also applies to: 530-530

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@kilo-code/.kilocode/rules/geo-seo.md` at line 496, Update the wording at the
two noted spots: change the HTML attribute reference on the line currently
mentioning "autofill" to the correct attribute name "autocomplete" and add a
parenthetical note that React JSX uses "autoComplete"; and update the
description that currently treats "ps-4"/"pe-4"/"text-start" as native CSS
properties to instead state they are utility classes, and mention the equivalent
native CSS logical properties "padding-inline-start", "padding-inline-end", and
"text-align: start" for clarity.
agents-md/AGENTS.md (1)

504-504: ⚠️ Potential issue | 🟡 Minor

Refine metric wording for precision.

Line 504 reads awkwardly (“saw average position drops of 0.8 places”). Prefer “saw an average ranking drop of 0.8 positions” for clarity.

✏️ Proposed edit
-43% of sites still fail the INP threshold. Sites with INP above 200ms saw average position drops of 0.8 places; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
+43% of sites still fail the INP threshold. Sites with INP above 200ms saw an average ranking drop of 0.8 positions; LCP above 3s causes 23% more traffic loss vs faster competitors. The primary INP technique is `scheduler.yield()` (Chrome-native, with `setTimeout` fallback) — breaks long tasks so the browser can handle user input between them.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@agents-md/AGENTS.md` at line 504, Replace the awkward phrase in AGENTS.md
describing ranking impact: change "saw average position drops of 0.8 places" to
"saw an average ranking drop of 0.8 positions" in the sentence that starts with
"43% of sites still fail the INP threshold..." so the metric wording is clearer
and more precise.
cursor/.cursor/rules/geo-seo.mdc (1)

496-496: ⚠️ Potential issue | 🟡 Minor

Correct HTML/CSS terminology to avoid implementation mistakes.

Line 496 should use native HTML autocomplete (or explicitly distinguish React JSX autoComplete).
Line 530 mislabels ps-4, pe-4, text-start as native CSS logical properties—they are utility classes.

Confirm from official docs:
1) Native HTML attribute name for autofill is "autocomplete", and React JSX prop is "autoComplete".
2) "ps-4", "pe-4", and "text-start" are utility classes (Tailwind/Bootstrap), not native CSS logical properties; provide native equivalents.
🛠 Suggested wording fix
-For all forms: target 3-5 essential fields maximum — each additional field costs ~11% in conversion. Start with easy, non-threatening questions. Make optional fields clearly optional (+25-35% completion). Support browser autofill with correct `autoComplete` attributes (also required for WCAG 2.2 AA SC 1.3.5).
+For all forms: target 3-5 essential fields maximum — each additional field costs ~11% in conversion. Start with easy, non-threatening questions. Make optional fields clearly optional (+25-35% completion). Support browser autofill with correct `autocomplete` attributes in HTML (React JSX uses `autoComplete`) (also required for WCAG 2.2 AA SC 1.3.5).
-Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout mirroring automatically without separate stylesheets.
+Arabic requires all 6 CLDR plural categories — use ICU MessageFormat, not string concatenation. Native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) handle RTL layout mirroring automatically; utility-class equivalents include `ps-4`, `pe-4`, and `text-start`.

Also applies to: 530-530

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cursor/.cursor/rules/geo-seo.mdc` at line 496, The docs/text incorrectly uses
non-native terminology: replace any mention of the HTML autofill attribute
"autoComplete" with the native HTML attribute name "autocomplete" (and note that
in React JSX the prop is camelCased as "autoComplete"); also correct the claim
that "ps-4", "pe-4", and "text-start" are native CSS logical properties—mark
them as utility classes (e.g., Bootstrap/Tailwind) and provide native CSS
equivalents such as padding-inline-start, padding-inline-end, and text-align (or
text-align: start/left) where appropriate so implementers use the correct
attribute/prop names and CSS properties (search for occurrences of
autocomplete/autoComplete and the utility class names to update).
github-copilot/.github/instructions/geo-seo.md (3)

492-492: ⚠️ Potential issue | 🟡 Minor

Use HTML autocomplete naming (or explicitly note JSX variant).

Line 492 is framework-agnostic text but uses React casing. Prefer autocomplete in HTML and optionally clarify React uses autoComplete.

In standards docs, what is the correct attribute name in native HTML vs React JSX for browser autofill: `autocomplete` or `autoComplete`?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` at line 492, The guidance
line should use native HTML attribute casing `autocomplete` (lowercase) and add
a parenthetical note that in React JSX the prop is `autoComplete` (camelCase);
update the text that currently shows `autoComplete` to read `autocomplete` and
append a brief clarification like "(React JSX: `autoComplete`)" so the doc
remains framework-agnostic and accurate.

526-526: ⚠️ Potential issue | 🟡 Minor

Distinguish native CSS logical properties from utility classes.

Line 526 currently presents ps-4, pe-4, text-start as logical properties; these are framework utilities. Use native names (padding-inline-start, padding-inline-end, text-align: start) and optionally map utility equivalents.

Are `ps-4`, `pe-4`, and `text-start` native CSS logical properties or framework utility classes, and what are their native CSS equivalents?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` at line 526, The comment
flags that ps-4, pe-4 and text-start are framework utility classes, not native
CSS logical properties; update the docs/text to clearly distinguish them by
replacing or annotating occurrences of "ps-4", "pe-4", and "text-start" with
their native CSS equivalents ("padding-inline-start", "padding-inline-end",
"text-align: start") and optionally note the utility-to-native mapping (e.g.,
ps-4 -> padding-inline-start) so readers understand these are utilities vs.
built-in logical properties.

336-343: ⚠️ Potential issue | 🟠 Major

Security baseline is missing Permissions-Policy and COOP.

Line 336-343 should include both headers to match the rest of the GEO/SEO baseline and avoid incomplete hardening guidance.

🔧 Suggested patch
 ### Security headers
@@
 - `Referrer-Policy: strict-origin-when-cross-origin`
+- `Permissions-Policy: camera=(), microphone=(), geolocation=()`
+- `Cross-Origin-Opener-Policy: same-origin`
 - Fix all mixed content (HTTP resources on HTTPS pages)
 - Remove `X-Powered-By` header (information disclosure)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/instructions/geo-seo.md` around lines 336 - 343, Add
the missing Permissions-Policy and Cross-Origin-Opener-Policy (COOP) headers in
the same place you set the other security headers (e.g., in Next.js
middleware.ts header configuration) so the GEO/SEO baseline is complete; set
Permissions-Policy to explicitly opt out of sensitive features (example: block
geolocation, camera, microphone, interest-cohort, etc.) and set
Cross-Origin-Opener-Policy to a strict value (e.g., "same-origin") to provide
top-level document isolation — update the header list alongside
Content-Security-Policy, HSTS, X-Content-Type-Options, X-Frame-Options,
Referrer-Policy and removal of X-Powered-By.
claude-code/.claude/skills/geo-seo-audit/SKILL.md (2)

264-264: ⚠️ Potential issue | 🟡 Minor

Use standards-based autofill attribute naming in checklist text.

Line 264 should use autocomplete for HTML guidance (optionally noting React’s autoComplete).

What is the correct autofill attribute name in HTML docs, and how should React JSX naming be represented?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md` at line 264, Update the
checklist text to use the HTML attribute name "autocomplete" (lowercase, single
word) for standards-based guidance and optionally note React JSX uses
"autoComplete" (camelCase) when referencing component props; replace the current
backticked `autoComplete` wording at the checklist item with "autocomplete" and
add a short parenthetical like "(React prop: autoComplete)" if you want to call
out the JSX naming.

163-163: ⚠️ Potential issue | 🟠 Major

Add LocalBusiness to the optional schema list.

Line 163 omits LocalBusiness, which can cause false passes for organizations with physical locations.

In Schema.org guidance for organization pages, should `LocalBusiness` be included as an applicable type for location-based entities?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md` at line 163, The
"Additional applicable types" list in SKILL.md currently reads "HowTo,
SoftwareApplication, Event, Dataset, VideoObject" and is missing LocalBusiness;
update that list to include LocalBusiness (e.g., "HowTo, SoftwareApplication,
Event, Dataset, VideoObject, LocalBusiness") so location-based organizations are
correctly flagged, and adjust any related examples or validation checks that
derive from this list in the geo-seo-audit skill.
claude-code/.claude/rules/geo-seo.md (1)

507-507: ⚠️ Potential issue | 🟡 Minor

Clarify HTML autocomplete vs React autoComplete.

Line 507 is framework-agnostic guidance but uses React-style casing; use autocomplete for HTML and optionally add the React note.

Confirm the canonical naming for browser autofill attributes in native HTML and in React JSX inputs.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@claude-code/.claude/rules/geo-seo.md` at line 507, The guidance line should
use the canonical HTML attribute name "autocomplete" (lowercase) for browser
autofill, and add a brief parenthetical note that in React JSX the prop is
"autoComplete" (camelCase); update the sentence mentioning `autoComplete` to
reference the HTML attribute `autocomplete` and append a short React note, and
ensure the WCAG reference (SC 1.3.5) remains intact.
github-copilot/.github/skills/geo-seo-audit/SKILL.md (2)

264-264: ⚠️ Potential issue | 🟡 Minor

Standardize form autofill attribute naming.

Line 264 uses JSX-style casing in a tool-agnostic checklist. Prefer autocomplete (and optionally note React uses autoComplete).

For web form autofill guidance, what naming should docs use for HTML vs React JSX: `autocomplete` and `autoComplete`?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md` at line 264, The
checklist uses JSX-style casing `autoComplete` but should use the standard HTML
attribute name `autocomplete` in tool-agnostic docs; update the checklist item
(the string "`autoComplete` attributes on all form fields?") to "`autocomplete`
attributes on all form fields?" and optionally add a brief parenthetical note
that React JSX uses `autoComplete` (e.g., "HTML `autocomplete` (React JSX:
`autoComplete`)") so readers know the React exception.

163-163: ⚠️ Potential issue | 🟠 Major

Include LocalBusiness in applicable schema types.

Line 163 should include LocalBusiness for location-based entities to keep the audit rubric aligned with canonical rules.

Is `LocalBusiness` an official Schema.org type appropriate for location-based organizations in JSON-LD audits?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md` at line 163, Update the
applicable schema types list to include LocalBusiness so location-based entities
are covered; specifically, add "LocalBusiness" to the "Additional applicable
types" entry (the line that currently reads "Additional applicable types: HowTo,
SoftwareApplication, Event, Dataset, VideoObject") in SKILL.md to align the
audit rubric with canonical Schema.org types for location-based organizations.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@aider/CONVENTIONS.md`:
- Around line 426-429: Update the Internationalization section to clarify that
ps-4, pe-4, and text-start are Tailwind (or other utility framework) classes
rather than native CSS logical properties; change the wording to recommend using
CSS logical properties (e.g., padding-inline-start, padding-inline-end,
text-align: start) for plain-CSS projects and note that utility classes like
ps-4/pe-4/text-start provide the equivalent behavior in Tailwind/Bootstrap-style
frameworks so teams understand the distinction.

In `@gemini-cli/GEMINI.md`:
- Line 452: Edit the paragraph that currently starts with three consecutive
"Required ..." sentences in GEMINI.md (the lines describing Organization +
WebSite, Article, and FAQPage schemas) to remove the repetitive sentence
openings — e.g., replace the three "Required on ..." sentences with a single
lead like "Required: on every page include Organization + WebSite (with sameAs
to Wikipedia and Wikidata); on content pages include Article (with author,
datePublished, dateModified); on Q&A pages include FAQPage." — keep all required
schema names (BreadcrumbList, Person, HowTo, VideoObject) and the instruction to
use `@id` and validate at https://validator.schema.org/ unchanged.

---

Duplicate comments:
In `@agents-md/AGENTS.md`:
- Line 504: Replace the awkward phrase in AGENTS.md describing ranking impact:
change "saw average position drops of 0.8 places" to "saw an average ranking
drop of 0.8 positions" in the sentence that starts with "43% of sites still fail
the INP threshold..." so the metric wording is clearer and more precise.

In `@augment-code/.augment/rules/geo-seo.md`:
- Line 496: The guidance is mixing framework-specific names into
framework-neutral docs; replace React-specific attr names and utility-class
tokens with standard HTML/CSS terminology: use the HTML attribute name
"autocomplete" (lowercase) instead of "autoComplete", and describe layout using
CSS logical properties (e.g., "padding-inline-start"/"padding-inline-end" and
"text-align: start") rather than utility class names like "ps-4", "pe-4", or
"text-start"; also call out when examples are framework-specific by labeling
them as framework examples or showing both the standard property and the
framework utility equivalent.

In `@claude-code/.claude/rules/geo-seo.md`:
- Line 507: The guidance line should use the canonical HTML attribute name
"autocomplete" (lowercase) for browser autofill, and add a brief parenthetical
note that in React JSX the prop is "autoComplete" (camelCase); update the
sentence mentioning `autoComplete` to reference the HTML attribute
`autocomplete` and append a short React note, and ensure the WCAG reference (SC
1.3.5) remains intact.

In `@claude-code/.claude/skills/geo-seo-audit/SKILL.md`:
- Line 264: Update the checklist text to use the HTML attribute name
"autocomplete" (lowercase, single word) for standards-based guidance and
optionally note React JSX uses "autoComplete" (camelCase) when referencing
component props; replace the current backticked `autoComplete` wording at the
checklist item with "autocomplete" and add a short parenthetical like "(React
prop: autoComplete)" if you want to call out the JSX naming.
- Line 163: The "Additional applicable types" list in SKILL.md currently reads
"HowTo, SoftwareApplication, Event, Dataset, VideoObject" and is missing
LocalBusiness; update that list to include LocalBusiness (e.g., "HowTo,
SoftwareApplication, Event, Dataset, VideoObject, LocalBusiness") so
location-based organizations are correctly flagged, and adjust any related
examples or validation checks that derive from this list in the geo-seo-audit
skill.

In `@cursor/.cursor/rules/geo-seo.mdc`:
- Line 496: The docs/text incorrectly uses non-native terminology: replace any
mention of the HTML autofill attribute "autoComplete" with the native HTML
attribute name "autocomplete" (and note that in React JSX the prop is camelCased
as "autoComplete"); also correct the claim that "ps-4", "pe-4", and "text-start"
are native CSS logical properties—mark them as utility classes (e.g.,
Bootstrap/Tailwind) and provide native CSS equivalents such as
padding-inline-start, padding-inline-end, and text-align (or text-align:
start/left) where appropriate so implementers use the correct attribute/prop
names and CSS properties (search for occurrences of autocomplete/autoComplete
and the utility class names to update).

In `@github-copilot/.github/instructions/geo-seo.md`:
- Line 492: The guidance line should use native HTML attribute casing
`autocomplete` (lowercase) and add a parenthetical note that in React JSX the
prop is `autoComplete` (camelCase); update the text that currently shows
`autoComplete` to read `autocomplete` and append a brief clarification like
"(React JSX: `autoComplete`)" so the doc remains framework-agnostic and
accurate.
- Line 526: The comment flags that ps-4, pe-4 and text-start are framework
utility classes, not native CSS logical properties; update the docs/text to
clearly distinguish them by replacing or annotating occurrences of "ps-4",
"pe-4", and "text-start" with their native CSS equivalents
("padding-inline-start", "padding-inline-end", "text-align: start") and
optionally note the utility-to-native mapping (e.g., ps-4 ->
padding-inline-start) so readers understand these are utilities vs. built-in
logical properties.
- Around line 336-343: Add the missing Permissions-Policy and
Cross-Origin-Opener-Policy (COOP) headers in the same place you set the other
security headers (e.g., in Next.js middleware.ts header configuration) so the
GEO/SEO baseline is complete; set Permissions-Policy to explicitly opt out of
sensitive features (example: block geolocation, camera, microphone,
interest-cohort, etc.) and set Cross-Origin-Opener-Policy to a strict value
(e.g., "same-origin") to provide top-level document isolation — update the
header list alongside Content-Security-Policy, HSTS, X-Content-Type-Options,
X-Frame-Options, Referrer-Policy and removal of X-Powered-By.

In `@github-copilot/.github/skills/geo-seo-audit/SKILL.md`:
- Line 264: The checklist uses JSX-style casing `autoComplete` but should use
the standard HTML attribute name `autocomplete` in tool-agnostic docs; update
the checklist item (the string "`autoComplete` attributes on all form fields?")
to "`autocomplete` attributes on all form fields?" and optionally add a brief
parenthetical note that React JSX uses `autoComplete` (e.g., "HTML
`autocomplete` (React JSX: `autoComplete`)") so readers know the React
exception.
- Line 163: Update the applicable schema types list to include LocalBusiness so
location-based entities are covered; specifically, add "LocalBusiness" to the
"Additional applicable types" entry (the line that currently reads "Additional
applicable types: HowTo, SoftwareApplication, Event, Dataset, VideoObject") in
SKILL.md to align the audit rubric with canonical Schema.org types for
location-based organizations.

In `@jetbrains-junie/.junie/guidelines.md`:
- Line 478: Update the sentence to state that ps-4, pe-4, and text-start are
framework utility classes (not native CSS properties) and add their native CSS
logical equivalents: use padding-inline-start, padding-inline-end, and
text-align (or inline-size/text-align for flow) or consider padding-inline and
text-align: start/right/left as appropriate; mention that the corresponding
logical CSS properties (padding-inline-start, padding-inline-end,
padding-inline, block-size/inline-size, and direction/ text-align) handle RTL
automatically. Reference the utility class names ps-4, pe-4, and text-start when
clarifying and provide the native CSS property names as the replacements.

In `@kilo-code/.kilocode/rules/geo-seo.md`:
- Line 496: Update the wording at the two noted spots: change the HTML attribute
reference on the line currently mentioning "autofill" to the correct attribute
name "autocomplete" and add a parenthetical note that React JSX uses
"autoComplete"; and update the description that currently treats
"ps-4"/"pe-4"/"text-start" as native CSS properties to instead state they are
utility classes, and mention the equivalent native CSS logical properties
"padding-inline-start", "padding-inline-end", and "text-align: start" for
clarity.

In `@roo-code/.roo/rules/geo-seo.md`:
- Line 493: Update the guidance to be framework-neutral and technically precise:
replace any references to "browser autofill" with the HTML standard attribute
name autocomplete, note the React JSX equivalent autoComplete in parentheses (no
framework-specific examples), and remove or stop recommending utility class
names like ps-4, pe-4, and text-start—refer instead to native CSS properties
(e.g., padding-inline-start/padding-inline-end and text-align) or say "use CSS
for spacing/alignment" so the doc doesn't prescribe utility classes; update the
sentences near the existing autocomplete and CSS guidance accordingly.

In `@windsurf/.windsurf/rules/geo-seo.md`:
- Line 497: Update the wording to use platform-standard terms: explain that the
correct raw HTML attribute is "autocomplete" while in React JSX it is
"autoComplete" (case-sensitive), and replace framework-specific CSS references
like "ps-4", "pe-4", and "text-start" with native CSS properties such as
"padding-inline-start"/"padding-inline-end" or "padding-left"/"padding-right"
and "text-align: start" (or note these are Bootstrap utility classes if you must
keep them); keep the WCAG reference "WCAG 2.2 AA SC 1.3.5" as-is and apply the
same clarification at the other occurrence mentioned ("531-531").
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: c4bfa388-481e-4de5-9b15-58f90955c305

📥 Commits

Reviewing files that changed from the base of the PR and between a64b256 and e6f6b11.

📒 Files selected for processing (20)
  • README.md
  • agents-md/AGENTS.md
  • aider/CONVENTIONS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/README.md
  • claude-code/.claude/rules/README.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/README.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • gemini-cli/GEMINI.md
  • github-copilot/.github/instructions/README.md
  • github-copilot/.github/instructions/geo-seo.md
  • github-copilot/.github/prompts/geo-seo-audit.prompt.md
  • github-copilot/.github/skills/README.md
  • github-copilot/.github/skills/geo-seo-audit/SKILL.md
  • jetbrains-junie/.junie/guidelines.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

Comment on lines +426 to +429
### Internationalization

For multilingual sites, use **next-intl** (1.8M weekly downloads) with subdirectory URL strategy (`/en/`, `/hi/`, `/ar/`) to centralize domain authority. Set `lang` and `dir` on `<html>`. Hreflang tags must be self-referencing and reciprocal on every page — 31% of international sites have broken hreflang. Use ICU MessageFormat for plural/gender forms (Arabic requires 6 CLDR plural categories). CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout automatically.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

What are the native CSS logical properties corresponding to ps-4, pe-4, and text-start, and are those names native CSS properties or utility framework classes?

💡 Result:

The classes ps-4, pe-4, and text-start are utility framework classes from Tailwind CSS, not native CSS properties. Their corresponding native CSS logical properties are: - ps-4 → padding-inline-start: 1rem (16px) - pe-4 → padding-inline-end: 1rem (16px) - text-start → text-align: start

Citations:


Clarify that those are utility framework classes, not native CSS logical properties.

The text presents ps-4, pe-4, and text-start as CSS logical properties, but these are Tailwind utility classes. Using native CSS property names prevents confusion for teams using plain CSS.

Suggested fix
-CSS logical properties (`ps-4`, `pe-4`, `text-start`) handle RTL layout automatically.
+Use native CSS logical properties (`padding-inline-start`, `padding-inline-end`, `text-align: start`) for RTL layout. If using a utility framework, use its equivalents (for example: `ps-4`, `pe-4`, `text-start`).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@aider/CONVENTIONS.md` around lines 426 - 429, Update the Internationalization
section to clarify that ps-4, pe-4, and text-start are Tailwind (or other
utility framework) classes rather than native CSS logical properties; change the
wording to recommend using CSS logical properties (e.g., padding-inline-start,
padding-inline-end, text-align: start) for plain-CSS projects and note that
utility classes like ps-4/pe-4/text-start provide the equivalent behavior in
Tailwind/Bootstrap-style frameworks so teams understand the distinction.


**Wikipedia COI (mandatory):** Never directly edit your own organization's Wikipedia article. Disclose affiliation on the Talk page. Propose edits through Talk-page requests or neutral editors. Use only independent, reliable sources.

**Structured data (JSON-LD):** 41% AI citation rate with schema vs 15% without. Required on every page: Organization + WebSite schema (with `sameAs` to Wikipedia and Wikidata). Required on content pages: Article schema with `author`, `datePublished`, `dateModified`. Required on Q&A pages: FAQPage schema. Also implement: BreadcrumbList, Person (author pages), HowTo, VideoObject. Use `@id` to connect entities. Validate at https://validator.schema.org/.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Tighten repeated sentence openings for readability.

Line 452 repeats “Required … Required … Required …” in consecutive sentences; rephrasing improves scanability without changing meaning.

Suggested wording tweak
-**Structured data (JSON-LD):** 41% AI citation rate with schema vs 15% without. Required on every page: Organization + WebSite schema (with `sameAs` to Wikipedia and Wikidata). Required on content pages: Article schema with `author`, `datePublished`, `dateModified`. Required on Q&A pages: FAQPage schema. Also implement: BreadcrumbList, Person (author pages), HowTo, VideoObject. Use `@id` to connect entities. Validate at https://validator.schema.org/.
+**Structured data (JSON-LD):** 41% AI citation rate with schema vs 15% without. On every page, include Organization + WebSite schema (with `sameAs` to Wikipedia and Wikidata). On content pages, include Article schema with `author`, `datePublished`, `dateModified`; on Q&A pages, include FAQPage schema. Also implement: BreadcrumbList, Person (author pages), HowTo, VideoObject. Use `@id` to connect entities. Validate at https://validator.schema.org/.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Structured data (JSON-LD):** 41% AI citation rate with schema vs 15% without. Required on every page: Organization + WebSite schema (with `sameAs` to Wikipedia and Wikidata). Required on content pages: Article schema with `author`, `datePublished`, `dateModified`. Required on Q&A pages: FAQPage schema. Also implement: BreadcrumbList, Person (author pages), HowTo, VideoObject. Use `@id` to connect entities. Validate at https://validator.schema.org/.
**Structured data (JSON-LD):** 41% AI citation rate with schema vs 15% without. On every page, include Organization + WebSite schema (with `sameAs` to Wikipedia and Wikidata). On content pages, include Article schema with `author`, `datePublished`, `dateModified`; on Q&A pages, include FAQPage schema. Also implement: BreadcrumbList, Person (author pages), HowTo, VideoObject. Use `@id` to connect entities. Validate at https://validator.schema.org/.
🧰 Tools
🪛 LanguageTool

[style] ~452-~452: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...thor, datePublished, dateModified`. Required on Q&A pages: FAQPage schema. Also impl...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@gemini-cli/GEMINI.md` at line 452, Edit the paragraph that currently starts
with three consecutive "Required ..." sentences in GEMINI.md (the lines
describing Organization + WebSite, Article, and FAQPage schemas) to remove the
repetitive sentence openings — e.g., replace the three "Required on ..."
sentences with a single lead like "Required: on every page include Organization
+ WebSite (with sameAs to Wikipedia and Wikidata); on content pages include
Article (with author, datePublished, dateModified); on Q&A pages include
FAQPage." — keep all required schema names (BreadcrumbList, Person, HowTo,
VideoObject) and the instruction to use `@id` and validate at
https://validator.schema.org/ unchanged.

…curity headers, schema types

- Fix `autoComplete` → `autocomplete` (HTML standard) with React JSX note across 7 rule files and SKILL.md checklist
- Clarify ps-4/pe-4/text-start are Tailwind utility classes, not native CSS logical properties, across 6 files
- Add missing Permissions-Policy and Cross-Origin-Opener-Policy headers to roo-code and github-copilot rules
- Add LocalBusiness to optional schema types in geo-seo-audit SKILL.md Step 8
- Fix README.md process skills count: 6 → 7
- Fix INP metric wording in agents-md: "average position drops of 0.8 places" → "average ranking drop of 0.8 positions"
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
README.md (1)

89-97: ⚠️ Potential issue | 🟡 Minor

Count mismatch: heading says 7 process skills, list contains 6.

Line 89 declares 7 skills, but only 6 items are listed below. Please either add the missing skill entry or change the heading back to 6 to keep the README internally consistent.

✏️ Suggested fix (if 7 is intended)
 **7 process skills** (workflow guides invoked on demand):
@@
 - **security-audit** -- Advocacy threat model assessment, slopsquatting defense, prompt injection / rules file backdoor detection, MCP server security
+- **geo-seo-audit** -- GEO/SEO verification workflow (CWV, structured data, indexing controls, citation-risk checks)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 89 - 97, The README heading "**7 process skills**" is
inconsistent with the six listed items (git-workflow, testing-strategy,
requirements-interview, plan-first-development, code-review, security-audit);
either add the missing seventh skill entry to the list (with a short name and
one-line description matching the style of the other bullets) or change the
heading to "**6 process skills**" so the count matches; update the text near the
heading and ensure the new bullet (if added) follows the same markdown
formatting as the existing items.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@README.md`:
- Around line 89-97: The README heading "**7 process skills**" is inconsistent
with the six listed items (git-workflow, testing-strategy,
requirements-interview, plan-first-development, code-review, security-audit);
either add the missing seventh skill entry to the list (with a short name and
one-line description matching the style of the other bullets) or change the
heading to "**6 process skills**" so the count matches; update the text near the
heading and ensure the new bullet (if added) follows the same markdown
formatting as the existing items.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 084405e2-8d80-418f-beed-fcece799c47c

📥 Commits

Reviewing files that changed from the base of the PR and between e6f6b11 and fa74b6e.

📒 Files selected for processing (10)
  • README.md
  • agents-md/AGENTS.md
  • augment-code/.augment/rules/geo-seo.md
  • claude-code/.claude/rules/geo-seo.md
  • claude-code/.claude/skills/geo-seo-audit/SKILL.md
  • cursor/.cursor/rules/geo-seo.mdc
  • github-copilot/.github/instructions/geo-seo.md
  • kilo-code/.kilocode/rules/geo-seo.md
  • roo-code/.roo/rules/geo-seo.md
  • windsurf/.windsurf/rules/geo-seo.md

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@README.md`:
- Around line 89-97: The README's header claiming "7 process skills" is
inconsistent with some tool sections (e.g., Kilo Code, Roo Code, Aider) that
list six; either update those tool sections to include the missing seventh skill
or change the Line 89 claim to a softer statement (e.g., "up to 7 process
skills" or "process skills (varies by tool)"). Find the "7 process skills"
heading and the per-tool subsections for "Kilo Code", "Roo Code", and "Aider"
and make counts and lists consistent—either add the omitted skill entry to each
tool's list to reach seven, or reword the global claim so it no longer asserts
every tool has seven.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 98e3ec90-f9ee-477a-a5a1-7a3e62a93e83

📥 Commits

Reviewing files that changed from the base of the PR and between fa74b6e and 10510d9.

📒 Files selected for processing (1)
  • README.md

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@kilo-code/.kilocode/skills/geo-seo-audit/README.md`:
- Around line 1-7: Update the parent skills index README by changing the header
count from "Six skill packages" to "Seven skill packages" in
kilo-code/.kilocode/skills/README.md and add a new table row for the
geo-seo-audit skill: include a row with the folder name `geo-seo-audit/`,
display name "geo-seo-audit", and the description "SEO + GEO audit workflow —
Core Web Vitals, HTML structure, semantic writing, E-E-A-T, structured data,
crawl budget, topic clusters, link building, conversion optimization, AI
citation-risk checks" so the skill becomes discoverable.

In `@kilo-code/.kilocode/skills/geo-seo-audit/SKILL.md`:
- Around line 146-147: Two consecutive question lines start with "Is" (the line
containing "Is there an entity web: organization → tools → people → related orgs
→ policy areas?") and the following question also begins similarly; please
rephrase one or both to vary sentence openings (e.g., change to "Does the
organization have an entity web: organization → tools → people → related orgs →
policy areas?" or "Has the organization established an entity web ...") and
ensure the second question about structured data ("Does the site's structured
data match Wikipedia and Wikidata? Inconsistency reduces AI confidence.") keeps
parallel clarity while avoiding repetitive "Is" openings.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: f1809c6b-6f35-4470-a457-5c7cebe13734

📥 Commits

Reviewing files that changed from the base of the PR and between 10510d9 and f481a4b.

📒 Files selected for processing (3)
  • README.md
  • kilo-code/.kilocode/skills/geo-seo-audit/README.md
  • kilo-code/.kilocode/skills/geo-seo-audit/SKILL.md

@stuckvgn stuckvgn merged commit dc85f44 into main Mar 31, 2026
3 checks passed
@stuckvgn stuckvgn deleted the add-geo-seo-instructions branch March 31, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant