Token导航 LogoToken导航

Agent Skill · 研究检索

tl-schema-org(tl 架构组织)

tl-schema-org 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

tl-schema-org 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 73,152。

总安装 163周安装 7GitHub Stars 公开资料未说明下载 57核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tl-schema-org(tl 架构组织)
来源仓库:https://github.com/toddlevy/tl-agent-skills
仓库路径:skills/tl-schema-org
安装命令:
npx skills add https://github.com/toddlevy/tl-agent-skills --skill tl-schema-org
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/toddlevy/tl-agent-skills --skill tl-schema-org

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

tl-schema-org 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。适用于研究检索类任务,可结合来源仓库和原始 README 核验具体用法。

通过 npx skills add 命令从 GitHub 安装,支持主流 AI 宿主环境。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/tl-schema-org

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/toddlevy/tl-agent-skills --skill tl-schema-org;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

tl-schema-org 怎么安装?

在终端执行 npx skills add https://github.com/toddlevy/tl-agent-skills --skill tl-schema-org。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

tl-schema-org 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

tl-schema-org 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

tl-schema-org 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

tl-schema-org 用的人多吗?

公开数据是累计安装 163 次,近一周安装 7 次,下载 57 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

tl-schema-org 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
tl-schema-org

tl 架构组织 · 本页

163—需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Schema.org

Work fluently with the entire Schema.org vocabulary -- types, properties, enumerations, and their relationships -- across every surface where structured data matters: web pages, databases, APIs, and data interchange.

When to Use

  • "Add structured data to a page"
  • "Map Schema.org types to a database"
  • "Design an API using Schema.org vocabulary"
  • "Extend Schema.org with custom properties"
  • "Which Schema.org type should I use for X?"
  • "Validate structured data markup"
  • Working with JSON-LD, RDFa, or any semantic/linked-data integration
  • Building data models grounded in a shared vocabulary

Outcomes

  • Artifact: JSON-LD markup, database schemas, API type definitions, or extension specifications aligned to Schema.org
  • Decision: Type selection, extension strategy, rendering approach, or validation plan

1. Schema.org Fundamentals

Schema.org is a collaborative vocabulary of 800+ types and 1500+ properties maintained by Google, Microsoft, Yahoo, and Yandex. It is not a rigid ontology -- it follows Postel's Law: be liberal in what you accept, conservative in what you produce.

Data Model

  • Types form a hierarchy rooted at Thing. A type can have multiple parent types (multiple inheritance).
  • Properties have one or more domain types (where they can appear) and one or more range types (what values they accept).
  • Enumerations are types whose instances are a fixed set of members (e.g., ItemAvailability has InStock, OutOfStock, etc.).
  • Conformance is pragmatic: search engines accept text strings where a type is expected, and properties can appear on types outside their declared domain.

Hierarchy at a Glance

Everything descends from Thing. The major branches:

BranchKey TypesTypical Use
ActionAchieveAction, TradeAction, SearchActionUser interactions, deep linking
CreativeWorkArticle, Book, MusicComposition, SoftwareApplicationContent, media, publications
EventMusicEvent, SportsEvent, FestivalHappenings with dates and locations
IntangibleOffer, Order, Rating, StructuredValueCommerce, measurements, abstract concepts
MedicalEntityMedicalCondition, Drug, MedicalProcedureHealth and medical content
OrganizationCorporation, LocalBusiness, SportsTeamEntities with structure and identity
Person--People with roles and relationships
PlaceMusicVenue, Restaurant, City, CountryPhysical and administrative locations
ProductProductModel, ProductGroup, VehicleTangible goods and variants
BioChemEntityGene, Protein, MolecularEntityLife sciences

For the complete hierarchy, see data/tree.jsonld. For type/property lookup, query data/schemaorg-current-https-types.csv and data/schemaorg-current-https-properties.csv.

See: references/taxonomy-guide.md

Domain Clusters

Common verticals and their Schema.org type constellations:

VerticalPrimary TypesSupporting Types
E-commerceProduct, Offer, AggregateOfferBrand, Organization, QuantitativeValue, SizeSpecification
EventsEvent, MusicEvent, FestivalPlace, PostalAddress, GeoCoordinates, Offer, Person
PublishingArticle, BlogPosting, NewsArticlePerson, Organization, ImageObject, WebPage
JobsJobPostingOrganization, Place, MonetaryAmount
Local BusinessLocalBusiness, RestaurantPostalAddress, GeoCoordinates, OpeningHoursSpecification
EducationCourse, LearningResourceOrganization, Person, Offer
RecipesRecipeNutritionInformation, HowToStep, ImageObject
CollectiblesProduct, ProductModel, ProductGroupOffer, Brand, QuantitativeValue, PropertyValue
MusicMusicGroup, MusicEvent, MusicCompositionPerson, Place, Offer, MusicAlbum

2. JSON-LD Rendering

JSON-LD is the recommended format for structured data on web pages. It separates structured data from HTML, making it easier to maintain and less coupled to markup changes.

Core Patterns

Single entity:

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Summer Jazz Festival",
  "startDate": "2026-07-15T19:00:00-05:00",
  "location": {
    "@type": "MusicVenue",
    "name": "Riverside Amphitheater",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "100 River Road",
      "addressLocality": "Austin",
      "addressRegion": "TX",
      "postalCode": "78701",
      "addressCountry": "US"
    }
  }
}

Multi-entity with @graph and @id cross-references:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#org",
      "name": "Riverside Concerts",
      "url": "https://example.com"
    },
    {
      "@type": "WebSite",
      "@id": "https://example.com/#site",
      "name": "Riverside Concerts",
      "url": "https://example.com",
      "publisher": { "@id": "https://example.com/#org" }
    },
    {
      "@type": "Event",
      "name": "Summer Jazz Festival",
      "organizer": { "@id": "https://example.com/#org" }
    }
  ]
}

Multi-type entities (an item that is simultaneously two types):

{
  "@context": "https://schema.org",
  "@type": ["Book", "Product"],
  "name": "The Complete Jazz Standards",
  "isbn": "978-0-123456-78-9",
  "offers": { "@type": "Offer", "price": "29.95", "priceCurrency": "USD" }
}

Enumeration Values

Always use full Schema.org URIs for enumeration values:

"availability": "https://schema.org/InStock",
"eventStatus": "https://schema.org/EventScheduled",
"itemCondition": "https://schema.org/NewCondition",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode"

Placement and Rendering

  • Place JSON-LD in <head> or before </body> inside <script type="application/ld+json">
  • For SSR: build the structured data object in your route handler or getMetaTags-style function, then inject it into the HTML template as a single script tag
  • For SPAs: inject dynamically via useEffect or equivalent lifecycle hook
  • One <script type="application/ld+json"> tag per page is cleanest; use @graph to combine multiple entities

See: references/json-ld-patterns.md


3. Extension Patterns

Schema.org is intentionally incomplete. Real-world domains always have properties that the vocabulary doesn't cover. The question is how to handle them.

Decision Framework

Before extending, work through this hierarchy:

  1. Use an existing property. Check the CSV data files -- Schema.org has 1500+ properties. The one you need may already exist under a different name.
  2. Use additionalProperty with PropertyValue. For domain-specific attributes that don't justify a custom field (purity, mintage, face value, finish): "additionalProperty": [{"@type": "PropertyValue", "name": "Purity", "value": ".9999"}, {"@type": "PropertyValue", "name": "Mintage", "value": 50000}]
  3. Use x- prefixed extensions for properties that consumers of your data need but Schema.org doesn't define. These are public, part of your API contract.
  4. Use _x- prefixed extensions for internal/admin-only fields that should never reach external consumers.

Two-Tier Extension Convention

PrefixVisibilityPurposeExample
x-PublicConsumer-facing domain extensionsx-abstract, x-slug, x-headliner
_x-InternalAdmin, debug, pipeline metadata_x-displayOrder, _x-lastChecked, _x-sellerId

Field Ordering

Schema.org-grounded JSON responses should order fields predictably:

PriorityCategoryExample
0@context"https://schema.org"
1@type"Product"
2Standard Schema.org propertiesname, description, offers
3x- public extensionsx-slug, x-abstract
4_x- internal extensions_x-displayOrder
5Other hidden fields_internal, _hidden

Stripping Internal Fields

For public API responses, recursively remove _x- prefixed fields. This keeps your internal metadata (display order, pipeline timestamps, seller IDs) out of consumer-facing payloads while preserving them for admin/debug endpoints.

External Vocabularies

When Schema.org genuinely lacks coverage for your domain, consider established external vocabularies (e.g., gs1.org/voc for supply chain, musicontology.com for music) before inventing your own. These can coexist with Schema.org in a JSON-LD context.

Pending Terms

Schema.org uses a "pending" label for experimental terms. These are safe to use but may be renamed, restructured, or dropped. Pin to a specific Schema.org version if stability matters.

See: references/extension-patterns.md


4. Database Modeling

Schema.org is a vocabulary, not a database schema. Use it as design inspiration and naming convention, not as a direct table mapping. Relational databases need primary keys, foreign keys, and normalized structures that Schema.org's RDF-based model doesn't address.

Type-to-Table Mapping

Map Schema.org types to tables, but optimize for your query patterns:

Schema.org TypeTableKey Columns
Productproductsid, name, slug, sku, description, material, production_date
ProductModelbase_productsid, name, slug, description (canonical product definition)
Offeroffersid, product_id, price, currency_code, availability, condition_slug
Organizationsellers, issuersid, name, slug, url, country_code
Place / MusicVenuevenuesid, name, address_id, latitude, longitude, capacity
Event / MusicEventeventsid, name, start_date, end_date, venue_id, status
Person / MusicGroupartistsid, name, slug, type (person or group)

Product Variant Architecture

Use ProductModel as the canonical/base product and Product as the sellable variant. Link them with isVariantOf:

  • base_products table: canonical definition (name, description, material, weight)
  • products table: sellable variants with base_product_id FK, year, finish, specific weight
  • JSON-LD output uses "isVariantOf": {"@type": "ProductModel", "@id": "..."}

Enum Mapping Tables

Store domain-specific values in the database and map them to Schema.org enumeration URIs at serialization time:

-- Availability values mapped to Schema.org ItemAvailability
-- DB stores: 'instock', 'preorder', 'backorder', 'soldout', etc.
-- Serializer maps to: 'https://schema.org/InStock', 'https://schema.org/PreOrder', etc.

Normalize input values before lookup (lowercase, strip hyphens/underscores/spaces) to handle variant spellings from different data sources.

DB-Driven Property Routing

For measurements and dimensions, let the database define which Schema.org property each measurement maps to. A measurement_types table with a schema_org_property column (width, height, depth, or null for generic hasMeasurement) keeps this mapping data-driven rather than hardcoded.

Unit Codes

Use UN/CEFACT codes for QuantitativeValue.unitCode:

UnitCodeunitText
Troy ounceAPZoz t
GramGRMg
KilogramKGMkg
MillimeterMMTmm
CentimeterCMTcm
InchINHin

Identifier Strategy

ColumnPurposeSchema.org Mapping
idInternal primary key (UUID)--
slugURL-friendly identifieridentifier, sku
external_idsIDs from other systemssameAs, identifier with PropertyValue
urlCanonical web URLurl

See: references/database-modeling.md


5. API Interoperability

Schema.org provides a shared vocabulary that makes APIs interoperable without requiring full JSON-LD compliance. The spectrum runs from "Schema.org-inspired property names" to "full JSON-LD responses."

OpenAPI Type Hierarchy

Mirror Schema.org's inheritance in OpenAPI using allOf:

Thing:
  type: object
  properties:
    name: { type: string }
    identifier: { type: string }
    url: { type: string }
    image: { type: string }
    sameAs: { type: array, items: { type: string } }
    datePublished: { type: string, format: date-time }
    dateModified: { type: string, format: date-time }

Event:
  allOf:
    - $ref: '#/components/schemas/Thing'
    - type: object
      properties:
        startDate: { type: string, format: date-time }
        endDate: { type: string, format: date-time }
        eventStatus: { type: string }
        location: { $ref: '#/components/schemas/Place' }
        offers: { type: array, items: { $ref: '#/components/schemas/Offer' } }
        performer: { type: array, items: { $ref: '#/components/schemas/Person' } }

Response Format Spectrum

Approach@context@typeWhen to Use
Full JSON-LDYesYesPublic APIs consumed by search engines, AI systems, or linked-data clients
Schema.org-inspiredNoYesInternal/partner APIs that benefit from shared vocabulary without RDF overhead
Property names onlyNoNoAPIs that use Schema.org naming conventions for interoperability

Cross-System Identifier Mapping

When your entities exist in multiple systems, use structured external identifiers:

"x-externalIdentifiers": [
  { "source": "ticketmaster", "identifier": "K8vZ9175st0" },
  { "source": "musicbrainz", "identifier": "f59c5520-5f46-4d2c-b2c4-822eabf53419" }
]

This enables cross-service resolution without coupling to any single provider's ID scheme. Use sameAs for canonical web URLs of the same entity on other platforms.

See: references/api-interoperability.md


6. Rich Results and SEO

Structured data enables rich results in search engines -- FAQ dropdowns, star ratings, product cards, event listings. This is the most visible consumer of Schema.org markup.

Required vs Recommended

Each rich result type has required and recommended properties. Missing a required property suppresses the entire rich result. The more recommended properties you include, the higher quality the result.

TypeRequiredRecommended
Productname, image, offers (with price + availability)brand, aggregateRating, review, sku
Articleheadline, image, datePublished, authordateModified, publisher, description
Eventname, startDate, locationendDate, offers, performer, image, eventStatus
FAQPagemainEntity (Question/Answer array)--
LocalBusinessname, addressgeo, openingHours, telephone, aggregateRating
Recipename, imagecookTime, nutrition, recipeIngredient, recipeInstructions

Validation Workflow

  1. Build: Generate JSON-LD from your data model
  2. Validate syntax: Ensure valid JSON (no trailing commas, proper quoting)
  3. Validate schema: Use https://validator.schema.org/ for Schema.org compliance
  4. Validate rich results: Use Google Rich Results Test for search eligibility
  5. Monitor: Watch Search Console Enhancement reports for ongoing issues

Common Errors

ErrorCauseFix
Missing required fieldRequired property omittedCheck per-type requirements
Invalid URLRelative path or malformedUse fully qualified https:// URLs
Invalid dateNot ISO 8601Use YYYY-MM-DDTHH:MM:SS+00:00
Invalid enum valueBare string instead of URIUse https://schema.org/InStock, not InStock
Content mismatchSchema data doesn't match visible page contentEnsure schema reflects what users see
Invalid priceCurrency symbol or commasUse numeric string only ("149.99")

Quality Rules

  • Schema must accurately represent visible page content
  • Do not mark up content that doesn't exist on the page
  • Keep dynamic values (prices, availability, ratings) current
  • Do not use structured data to deceive or mislead

See: references/rich-results.md


7. Version Tracking and Governance

Schema.org publishes numbered releases every few weeks. The vocabulary grows but rarely removes terms -- deprecated types move to an "attic" rather than being deleted.

Tracking Releases

Run scripts/update-schema-data.sh (or .ps1) to download the latest release files into data/. The script writes a data/VERSION file with the version number and date.

Diffing Changes

Compare CSV files between versions to identify:

  • New types or properties added
  • Properties gaining new domain or range types
  • Terms moving from "pending" to core (or to attic)

Impact Assessment

Change TypeRiskAction
New type addedNoneEvaluate for relevance to your domain
New property on existing typeLowConsider adopting if it replaces an x- extension
Property range expandedLowMay enable richer data modeling
Term moved to atticMediumPlan migration if you use it
Property renamedHighRare, but requires coordinated update

When Your Extension Becomes Official

If Schema.org adds a property that matches one of your x- extensions, migrate: emit both the standard property and the x- extension during a transition period, then drop the extension.

See: references/version-tracking.md


Verification

Structured Data Implementation

  • JSON-LD is valid JSON (syntax check)
  • @context is "https://schema.org"
  • @type uses correct Schema.org type name
  • Enumeration values use full URIs
  • All required properties for target rich results are present
  • Dates use ISO 8601 format
  • URLs are fully qualified
  • Content matches visible page content
  • Validates in Schema.org Validator without errors

Database Model Alignment

  • Table names correspond to Schema.org types
  • Column names use Schema.org property names where applicable
  • Enum mapping tables cover all domain values
  • Polymorphic relationships handled (e.g., performer: Person | Organization)
  • Identifier strategy supports internal IDs, slugs, and external system IDs

API Interoperability

  • Response types mirror Schema.org type hierarchy
  • Property names match Schema.org vocabulary
  • Extension fields use x- prefix convention
  • Internal fields use _x- prefix and are stripped from public responses
  • Field ordering follows convention (@context > @type > standard > x- > _x-)

Extension Governance

  • Existing Schema.org properties checked before creating extensions
  • additionalProperty used for one-off domain attributes
  • x- prefix used for recurring public extensions
  • _x- prefix used for internal-only fields
  • External vocabularies considered for domain-specific gaps

平台分布

Codex

37.35%
按下载量换算21

Claude

28.15%
按下载量换算16

Cursor

19.97%
按下载量换算11

Gemini CLI

10.04%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills