SEO Geo
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
Structured data implementation, validation, and optimization.
$ npx skills add borghei/Claude-Skills --skill schema-markup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borghei/Claude-Skills schema-markup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/marketing/schema-markup .claude/skills/schema-markup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "schema-markup" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markup into .claude/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add borghei/Claude-Skills --skill schema-markup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borghei/Claude-Skills schema-markup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/marketing/schema-markup .agents/skills/schema-markup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "schema-markup" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markup into .agents/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill schema-markup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borghei/Claude-Skills schema-markup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/marketing/schema-markup .cursor/skills/schema-markup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "schema-markup" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markup into .cursor/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/borghei/Claude-Skills.git --path marketing/schema-markup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add borghei/Claude-Skills --skill schema-markup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borghei/Claude-Skills schema-markup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/marketing/schema-markup .gemini/skills/schema-markup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "schema-markup" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markup into .gemini/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install borghei/Claude-Skills schema-markupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add borghei/Claude-Skills --skill schema-markup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/marketing/schema-markup .github/skills/schema-markup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "schema-markup" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markup into .github/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill schema-markup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borghei/Claude-Skills schema-markup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/marketing/schema-markup .opencode/skills/schema-markup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "schema-markup" agent skill from https://github.com/borghei/Claude-Skills/tree/main/marketing/schema-markup into .opencode/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
schema-markupStructured data implementation, validation, and optimization.
Schema Markup is an agent skill from borghei/Claude-Skills. Structured data implementation, validation, and optimization. Covers JSON-LD patterns for 20+ schema types, rich snippet eligibility, AI search visibility, Knowledge Graph optimization, and CMS-specific deployment guides.
Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/schema_auditor.py`, `scripts/schema_generator.py` and `scripts/schema_validator.py`).
It sits in Marketing & SEO, covering Schema markup. The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4a698e8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
schema.orglinkedin.comtwitter.comwikidata.orgen.wikipedia.orgcrunchbase.comgithub.comAlso links to:
developers.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Schema Markup loads about 5.8k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 2,540 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from borghei/Claude-Skills at commit 4a698e8, republished under its MIT licence (© borghei). 2,540 words, ~5,756 tokens.
.claude/skills/schema-markup/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Production-grade structured data implementation covering 20+ schema types, rich result eligibility rules, AI search optimization, and CMS-specific deployment patterns. Handles auditing existing markup, implementing new schema, and fixing validation errors.
Before generating the schema, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
| Page Type | Primary Schema | Supporting Schema | Rich Result Type |
|---|---|---|---|
| Homepage | Organization | WebSite (site name) | Site name, logo / knowledge panel signals (sitelinks search box retired Nov 2024) |
| Blog post | Article | BreadcrumbList, Person (author), ImageObject | Article card |
| How-to guide | Article | BreadcrumbList, ImageObject (HowTo optional) | Article (HowTo rich results removed Sept 2023) |
| FAQ page | WebPage / Article | BreadcrumbList (FAQPage optional) | -- (FAQ rich results removed May 2026) |
| Product page | Product | Offer, AggregateRating, Review, BreadcrumbList | Product card |
| Local business | LocalBusiness | OpeningHoursSpecification, GeoCoordinates, PostalAddress | Local pack |
| Video page | VideoObject | Article (if embedded) | Video card |
| Category page | CollectionPage | BreadcrumbList, ItemList | -- |
| Event page | Event | Organization, Place, Offer | Event listing |
| Recipe | Recipe | NutritionInformation, AggregateRating | Recipe card |
| Course | Course | Organization, Offer | Course listing |
| Software/App | SoftwareApplication | Offer, AggregateRating | Software card |
| Job posting | JobPosting | Organization, Place | Job listing |
| Review page | Review | Product or LocalBusiness, Rating | Review snippet |
| Podcast episode | PodcastEpisode | PodcastSeries, Person | Podcast card |
| Author page | Person | sameAs links | Knowledge Panel |
| Company page | Organization | sameAs links, ContactPoint | Knowledge Panel |
| Breadcrumb trail | BreadcrumbList | -- | Breadcrumb rich result |
| Site navigation | SiteNavigationElement | -- | -- |
| Dataset | Dataset | DataCatalog | Dataset search |
Always add:
Common valid stacks:
Never combine:
JSON-LD is the only format worth implementing. Google recommends it, it lives in the <head>, and it does not touch your HTML markup. Microdata and RDFa are legacy -- do not use them for new implementations.
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://example.com/authors/name",
"sameAs": ["https://linkedin.com/in/name", "https://twitter.com/name"]
},
"datePublished": "2026-01-15",
"dateModified": "2026-03-01",
"image": "https://example.com/images/article-hero.jpg",
"publisher": {
"@type": "Organization",
"name": "Company Name",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
</script>
</head>Multiple <script type="application/ld+json"> blocks per page are valid. Use separate blocks for unrelated schema types. Nest related types within one block.
| Scope | Schema | Placement |
|---|---|---|
| Site-wide | Organization, WebSite | Homepage template header |
| Per-page | Article, Product, VideoObject, Event | Page-specific head injection |
| Per-element | BreadcrumbList | Every non-homepage |
| Conditional | Event, JobPosting | Only on pages with that content type |
Google does not give rich results for all valid schema. These are the current requirements (as of September 2026). Check the live Search Gallery before promising a rich result — types get retired.
Retired Google rich results (markup is still valid schema.org, but produces no Google search feature):
| Feature | Status | Source |
|---|---|---|
| HowTo rich results | Restricted Aug 2023; no longer shown on any device from Sept 13, 2023 | Search Central blog |
| FAQ rich results | Restricted to authoritative government/health sites Aug 2023; removed from Google Search May 7, 2026 | FAQPage docs changelog |
| Sitelinks search box (WebSite + SearchAction) | Removed Nov 21, 2024; leaving the markup in place causes no issues | Search Central blog |
| Field | Required | Notes |
|---|---|---|
| headline | Yes | Must match visible page title |
| image | Yes | Must be crawlable, min 1200px wide |
| datePublished | Yes | ISO 8601 format |
| dateModified | Recommended | Must be >= datePublished |
| author.name | Yes | Must match a real person or organization |
| author.url | Recommended | Links to author page |
| publisher.name | Yes | |
| publisher.logo | Yes | Max 600x60px |
| Field | Required | Notes |
|---|---|---|
| name | Yes | Product name |
| image | Yes | Product photo |
| offers.price | Yes | Numeric value |
| offers.priceCurrency | Yes | ISO 4217 code |
| offers.availability | Recommended | Use schema.org/InStock etc. |
| aggregateRating.ratingValue | Recommended | Numeric |
| aggregateRating.reviewCount | Recommended | Integer |
| review | Recommended | At least 1 review |
If you still emit FAQPage or HowTo for other consumers, keep it valid and honest: mainEntity as an array of Question items with acceptedAnswer.text (FAQPage), step as an array of HowToStep items (HowTo), and every Q&A pair or step visible on the page. Do not report these as rich-result wins.
AI search systems (Google AI Overviews, Perplexity, ChatGPT Search, Bing Copilot) may use structured data for content understanding and entity recognition. Google states that no special schema.org markup is required to appear in AI Overviews or AI Mode (AI features and your website, as of September 2026) — schema supports understanding; it is not an AI-citation switch.
@type to determine if content is a how-to, product listing, FAQ, or opinion piecedatePublished and dateModified help AI systems filter by recencyauthor with sameAs links to known profiles boosts entity recognitionOrganization with sameAs links to Wikidata, LinkedIn, and social profiles strengthens entity resolution| Action | Priority | Impact |
|---|---|---|
| Add author Person schema with sameAs to LinkedIn, Twitter, Google Scholar | High | Author entity recognition |
| Add Organization with sameAs to Wikidata, LinkedIn, Crunchbase | High | Brand entity recognition |
| Keep dateModified accurate on every content update | Medium | Freshness filtering |
| Keep Article, Product, BreadcrumbList schema accurate and matching visible content | Medium | Rich results + content-type clarity |
| FAQPage / HowTo markup on Q&A or tutorial content | Low | Optional; no Google rich result, no special AI-feature treatment |
| Add SoftwareApplication schema to tool/product pages | Medium | Product recognition in AI answers |
Getting into Google's Knowledge Graph means your entity (person, company, product) is recognized and displayed in panels, AI answers, and cross-referenced searches.
{
"@type": "Organization",
"name": "Your Company",
"url": "https://yourcompany.com",
"sameAs": [
"https://www.wikidata.org/wiki/Q12345678",
"https://en.wikipedia.org/wiki/Your_Company",
"https://www.linkedin.com/company/yourcompany",
"https://twitter.com/yourcompany",
"https://www.crunchbase.com/organization/yourcompany",
"https://github.com/yourcompany"
]
}Order of importance for sameAs links:
wp_head action hook or a custom plugin.<head> section.<Head>.Test every schema implementation with all three tools before deployment:
| Tool | URL | What It Checks |
|---|---|---|
| Google Rich Results Test | search.google.com/test/rich-results | Google's parser, rich result eligibility |
| Schema.org Validator | validator.schema.org | Full spec compliance (broader than Google) |
| Google Search Console | Enhancements section | Real-world errors at scale, post-deployment |
| Error | Root Cause | Fix |
|---|---|---|
Missing @context | Schema block has no context declaration | Add "@context": "https://schema.org" |
| Missing required field | A required property is absent | Add the field with real content from the page |
image URL is relative | /image.jpg instead of absolute URL | Use https://example.com/image.jpg |
dateModified < datePublished | Impossible date relationship | Ensure dateModified >= datePublished |
| Markup does not match page content | Schema claims content not visible to users | Only add schema for content actually on the page |
| Deprecated property | Using old schema.org property names | Check current spec at schema.org |
| Nested type conflict | Product inside Article incorrectly | Keep types flat or use proper @graph nesting |
| Date format wrong | Not ISO 8601 | Use "2026-01-15" or "2026-01-15T10:30:00Z" |
| Empty string values | "name": "" passes syntax but fails semantics | Use real values, never empty strings |
| Array expected, single value given | mainEntity needs array for FAQPage | Wrap in [] array brackets |
| Logo too large | Publisher logo exceeds 600x60px | Resize or use a different logo format |
| GTM injection not indexed | Client-side rendering | Move to server-side <head> injection |
| Dimension | Weight | Scoring |
|---|---|---|
| Required fields present | 40% | -10 per missing required field |
| Recommended fields present | 15% | -3 per missing recommended field |
| Rich result eligibility | 20% | Binary: eligible or not |
| Content-markup match | 15% | -5 per mismatch between schema and visible content |
| sameAs and entity signals | 10% | -5 per missing major platform link |
| Priority | Criteria | Action |
|---|---|---|
| P0 Critical | Required field missing, blocks rich result | Fix immediately |
| P1 High | Recommended field missing, reduces eligibility | Fix this week |
| P2 Medium | Content mismatch, deprecated property | Fix this month |
| P3 Low | Missing sameAs link, optional enhancement | Add when convenient |
| Artifact | Format | Description |
|---|---|---|
| Schema Audit Report | Scored table | Per-page schema inventory, completeness score, priority fixes |
| JSON-LD Implementation | Copy-paste code blocks | Complete schema for each page type, populated with placeholder values marked clearly |
| Error Fix Log | Before/after JSON-LD | Each fix explained with root cause and prevention |
| AI Search Gap Analysis | Recommendation table | Missing entity markup, sameAs gaps, content-type mismatches |
| CMS Implementation Guide | Step-by-step instructions | Platform-specific deployment instructions |
| Rich Result Eligibility Matrix | Page type x schema x eligibility | Which pages qualify for which rich result types |
| Problem | Likely Cause | Fix |
|---|---|---|
| Schema passes validation but no rich results appear | Missing required fields for rich result eligibility, or Google has not recrawled | Verify against Google Rich Results Test (not just schema.org validator); request reindexing via GSC |
| FAQPage schema not generating FAQ dropdowns | FAQ rich results were removed from Google Search in May 2026 (HowTo in Sept 2023) | Expected behavior — nothing to fix; keep the markup valid or remove it, and stop tracking it as a rich-result KPI |
| Product schema shows "missing field" warnings in GSC | Required fields (price, availability, review) absent or malformed | Add all required Product + Offer fields; use ISO 4217 for currency, schema.org/InStock for availability |
| GTM-injected schema not being indexed | Client-side rendering — Google may not execute GTM JavaScript for schema | Move schema from GTM to server-side <head> injection; GTM schema is unreliable for indexing |
| dateModified older than datePublished | Data entry error or CMS auto-populating incorrectly | Ensure dateModified >= datePublished; audit CMS date field logic |
| Multiple conflicting Organization blocks | Different plugins or templates injecting separate Organization schema | Consolidate into a single Organization block on the homepage; remove duplicates |
| Schema validated but Google shows "content mismatch" | Schema claims content not actually visible to users on the page | Only add schema for content physically present on the page — never fake or hidden content |
In scope:
Out of scope:
Known limitations:
# Validate JSON-LD schema from a file or URL
python scripts/schema_validator.py --file schema.json --json
# Audit a page for schema coverage and completeness
python scripts/schema_validator.py --html page.html --verbose
# Generate JSON-LD templates for common page types
python scripts/schema_generator.py --type Article --title "My Post" --author "Jane" --json© borghei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in marketing/schema-markup of borghei/Claude-Skills.
Open the folder on GitHubat commit 4a698e8
Schema Markup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Schema Markup this skillborghei/Claude-Skills | 881 | — | ~5.8k | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | Automated safety check: Notes | MIT | |
| Portaljs Add Dcatdatopian/portaljs | 2.4k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Schema Markupfreekmurze/dotfiles | 1k | 15 repos | ~1.2k | Automated safety check: Pass | None | |
| SEO Optimizerailabs-393/ai-labs-claude-skills | 454 | 1 repos | ~3.2k | Automated safety check: Pass | MIT |
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
datopian/portaljs
Make a PortalJS portal harvestable by national/EU/US open-data portals — emit standards-compliant DCAT catalog feeds (DCAT 2/3, DCAT-AP, DCAT-US, national profiles) in JSON-LD, Turtle, and RDF/XML…
freekmurze/dotfiles
When the user wants to add, fix, or optimize schema markup and structured data on their site.
ailabs-393/ai-labs-claude-skills
This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices.
liangdabiao/GEO-Content-Optimizer-Skill
完整的 GEO(生成式引擎优化)服务流水线:给一个产品官网 URL 和介绍材料, 做站点诊断与 AI 答案采样、生成带验收标准的执行工单、产出可直接部署的资产 (llms.txt / JSON-LD / 定义块 / FAQ / 内容大纲与初稿)、自动验收工单是否闭环、 并打包成可直接发给客户的交付物。可按周期复跑,做长期 GEO 运营与月报。
borghei/Claude-Skills
Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.
borghei/Claude-Skills
Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.
borghei/Claude-Skills
Idea to AI-generated prototype to customer validation to engineering handoff.
borghei/Claude-Skills
Analytics engineering across data modeling, dbt, transformation, and semantic layers.
borghei/Claude-Skills
Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.
borghei/Claude-Skills
OKR brainstorming and validation using the Radical Focus framework — outcome objectives, measurable key results, counter-metrics.
Categories
Structured data implementation, validation, and optimization. Schema Markup is an agent skill from borghei/Claude-Skills. Structured data implementation, validation, and optimization.
Schema Markup fits situations like: tasks that involve Schema markup.
Run `npx skills add borghei/Claude-Skills --skill schema-markup -a claude-code`. Or copy the skill folder (marketing/schema-markup in borghei/Claude-Skills) into .claude/skills/schema-markup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borghei/Claude-Skills --skill schema-markup -a codex`. Or copy the skill folder (marketing/schema-markup in borghei/Claude-Skills) into .agents/skills/schema-markup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borghei/Claude-Skills --skill schema-markup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/schema-markup, .gemini/skills/schema-markup, .github/skills/schema-markup and .opencode/skills/schema-markup in your project.
Going by SKILL.md and its folder, Schema Markup needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md names 8 domains. In commands or code: schema.org, linkedin.com, twitter.com, wikidata.org, en.wikipedia.org, crunchbase.com and github.com; the agent is likely to contact these when it follows the instructions. As links in the text: developers.google.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Schema Markup is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.8k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Schema Markup: SEO Geo (ReScienceLab/opc-skills, 1.8k stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars), Portaljs Add Dcat (datopian/portaljs, 2.4k stars) and Schema Markup (freekmurze/dotfiles, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 881 GitHub stars. The repository holds 349 skills in this directory. The repository was last updated on October 7, 2026.
Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.