seo-video
SkillMediaUse when optimizing video SEO — VideoObject schema, YouTube metadata, transcripts, live streams.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the seo-video skill
What this skill tells your AI
The instructions your AI receives, as published by fusengine/agents in plugins/seo/skills/seo-video/SKILL.md and read by ahel’s review.
Video SEO
VideoObject Schema (required)
{
"@type": "VideoObject",
"name": "<title>",
"description": "<description>",
"thumbnailUrl": ["<url-16x9>", "<url-4x3>", "<url-1x1>"],
"uploadDate": "2026-05-01T08:00:00+00:00",
"duration": "PT2M30S",
"contentUrl": "<url>",
"embedUrl": "<url>"
}
YouTube Optimization
- Title: 60 chars max, keyword first
- Description: 250 words minimum, timestamps, links
- Tags: 5-10 specific, no keyword stuffing
- Thumbnail: 1280x720, high contrast, faces convert well
- Chapters: required for videos > 5 min
- Closed captions: always (accessibility + indexability)
- End screens + cards: for retention
Transcripts
- Embed full transcript below video (indexable text)
- Use
<details><summary>Transcript</summary>...</details>for collapsible - Timestamp links:
<a href="#t=120">2:00</a>
Chapters / Clip Schema
{
"@type": "Clip",
"name": "Introduction",
"startOffset": 0,
"endOffset": 90,
"url": "https://example.com/video#t=0"
}
SeekToAction (enable seek in rich results)
"potentialAction": {
"@type": "SeekToAction",
"target": "https://example.com/video?t={seek_to_second_number}",
"startOffset-input": "required name=seek_to_second_number"
}
Live Streaming
BroadcastEventschema for LIVE badge- Requires
isLiveBroadcast: true,startDate,endDate
Signals
- GitHub stars
- 25
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
seo-video- Source
- github.com/fusengine/agents