[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-3cd484b1-fae8-401e-893a-b41e52b579bb":3,"$fQCCFeFqkcWDRAQOsP42sCweaoGZFQgNryS7U8geR54w":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"3cd484b1-fae8-401e-893a-b41e52b579bb","seo-schema",">","cat_writing_article","mod_writing","sickn33,writing","---\nname: seo-schema\ndescription: >\n  Detect, validate, and generate Schema.org structured data. JSON-LD format\n  preferred. Use when user says \"schema\", \"structured data\", \"rich results\",\n  \"JSON-LD\", or \"markup\".\nrisk: unknown\nsource: \"https:\u002F\u002Fgithub.com\u002FAgriciDaniel\u002Fclaude-seo\"\ndate_added: \"2026-03-21\"\nuser-invokable: true\nargument-hint: \"[url]\"\nallowed-tools:\n  - Read\n  - Grep\n  - Glob\n  - Bash\n  - WebFetch\n  - Write\n---\n\n# Schema Markup Analysis & Generation\n\n## When to Use\n- Use when detecting, validating, or generating Schema.org structured data.\n- Use when the user asks about JSON-LD, rich results, or markup opportunities.\n- Use when schema validation is the main task, rather than a broader SEO audit.\n\n## Detection\n\n1. Scan page source for JSON-LD `\u003Cscript type=\"application\u002Fld+json\">`\n2. Check for Microdata (`itemscope`, `itemprop`)\n3. Check for RDFa (`typeof`, `property`)\n4. Always recommend JSON-LD as primary format (Google's stated preference)\n\n## Validation\n\n- Check required properties per schema type\n- Validate against Google's supported rich result types\n- Test for common errors:\n  - Missing @context\n  - Invalid @type\n  - Wrong data types\n  - Placeholder text\n  - Relative URLs (should be absolute)\n  - Invalid date formats\n- Flag deprecated types (see below)\n\n## Schema Type Status (as of Feb 2026)\n\nRead `references\u002Fschema-types.md` for the full list. Key rules:\n\n### ACTIVE (recommend freely):\nOrganization, LocalBusiness, SoftwareApplication, WebApplication, Product (with Certification markup as of April 2025), ProductGroup, Offer, Service, Article, BlogPosting, NewsArticle, Review, AggregateRating, BreadcrumbList, WebSite, WebPage, Person, ProfilePage, ContactPage, VideoObject, ImageObject, Event, JobPosting, Course, DiscussionForumPosting\n\n### VIDEO & SPECIALIZED (recommend freely):\nBroadcastEvent, Clip, SeekToAction, SoftwareSourceCode\n\nSee `schema\u002Ftemplates.json` for ready-to-use JSON-LD templates for these types.\n\n> **JSON-LD and JavaScript rendering:** Per Google's December 2025 JS SEO guidance, structured data injected via JavaScript may face delayed processing. For time-sensitive markup (especially Product, Offer), include JSON-LD in the initial server-rendered HTML.\n\n### RESTRICTED (only for specific sites):\n- **FAQ**: ONLY for government and healthcare authority sites (restricted Aug 2023)\n\n### DEPRECATED (never recommend):\n- **HowTo**: Rich results removed September 2023\n- **SpecialAnnouncement**: Deprecated July 31, 2025\n- **CourseInfo, EstimatedSalary, LearningVideo**: Retired June 2025\n- **ClaimReview**: Retired from rich results June 2025\n- **VehicleListing**: Retired from rich results June 2025\n- **Practice Problem**: Retired from rich results late 2025\n- **Dataset**: Retired from rich results late 2025\n- **Book Actions**: Deprecated then reversed, still functional as of Feb 2026 (historical note)\n\n## Generation\n\nWhen generating schema for a page:\n1. Identify page type from content analysis\n2. Select appropriate schema type(s)\n3. Generate valid JSON-LD with all required + recommended properties\n4. Include only truthful, verifiable data. Use placeholders clearly marked for user to fill\n5. Validate output before presenting\n\n## Common Schema Templates\n\n### Organization\n```json\n{\n  \"@context\": \"https:\u002F\u002Fschema.org\",\n  \"@type\": \"Organization\",\n  \"name\": \"[Company Name]\",\n  \"url\": \"[Website URL]\",\n  \"logo\": \"[Logo URL]\",\n  \"contactPoint\": {\n    \"@type\": \"ContactPoint\",\n    \"telephone\": \"[Phone]\",\n    \"contactType\": \"customer service\"\n  },\n  \"sameAs\": [\n    \"[Facebook URL]\",\n    \"[LinkedIn URL]\",\n    \"[Twitter URL]\"\n  ]\n}\n```\n\n### LocalBusiness\n```json\n{\n  \"@context\": \"https:\u002F\u002Fschema.org\",\n  \"@type\": \"LocalBusiness\",\n  \"name\": \"[Business Name]\",\n  \"address\": {\n    \"@type\": \"PostalAddress\",\n    \"streetAddress\": \"[Street]\",\n    \"addressLocality\": \"[City]\",\n    \"addressRegion\": \"[State]\",\n    \"postalCode\": \"[ZIP]\",\n    \"addressCountry\": \"US\"\n  },\n  \"telephone\": \"[Phone]\",\n  \"openingHours\": \"Mo-Fr 09:00-17:00\",\n  \"geo\": {\n    \"@type\": \"GeoCoordinates\",\n    \"latitude\": \"[Lat]\",\n    \"longitude\": \"[Long]\"\n  }\n}\n```\n\n### Article\u002FBlogPosting\n```json\n{\n  \"@context\": \"https:\u002F\u002Fschema.org\",\n  \"@type\": \"Article\",\n  \"headline\": \"[Title]\",\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"[Author Name]\"\n  },\n  \"datePublished\": \"[YYYY-MM-DD]\",\n  \"dateModified\": \"[YYYY-MM-DD]\",\n  \"image\": \"[Image URL]\",\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"[Publisher]\",\n    \"logo\": {\n      \"@type\": \"ImageObject\",\n      \"url\": \"[Logo URL]\"\n    }\n  }\n}\n```\n\n## Output\n\n- `SCHEMA-REPORT.md`: detection and validation results\n- `generated-schema.json`: ready-to-use JSON-LD snippets\n\n### Validation Results\n| Schema | Type | Status | Issues |\n|--------|------|--------|--------|\n| ... | ... | ✅\u002F⚠️\u002F❌ | ... |\n\n### Recommendations\n- Missing schema opportunities\n- Validation fixes needed\n- Generated code for implementation\n\n## Error Handling\n\n| Scenario | Action |\n|----------|--------|\n| URL unreachable | Report connection error with status code. Suggest verifying URL and checking if the page requires authentication. |\n| No schema markup found | Report that no JSON-LD, Microdata, or RDFa was detected. Recommend appropriate schema types based on page content analysis. |\n| Invalid JSON-LD syntax | Parse and report specific syntax errors (missing brackets, trailing commas, unquoted keys). Provide corrected JSON-LD output. |\n| Deprecated schema type detected | Flag the deprecated type with its retirement date. Recommend the current replacement type or advise removal if no replacement exists. |\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,216,1689,"2026-05-16 13:39:52",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"写作研究","writing","mdi-pencil-outline","从学术写作到创意文案，让 AI 成为你的专属写作助手",1,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"文章写作","article","mdi-file-document-edit-outline","博客、新闻稿、自媒体文章等",61,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"304c0e5e-e15e-497b-bf2e-5464845b593f","1.0.0","seo-schema.zip",2788,"uploads\u002Fskills\u002F3cd484b1-fae8-401e-893a-b41e52b579bb\u002Fseo-schema.zip","fbcd934e1d06cedb36a633e72965a9fc1df7548c5c45f695af35be6354407e4d","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":5916}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]