Not in the top 1,000 by GitHub stars

deeployCO/youtube-seo-skills

Advanced YouTube SEO skill suite for Claude Code — 8 skills + helper scripts for audit, optimization, keywords, thumbnails, and competitor intelligence.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

youtube-seo/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-audit/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-channel/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-competitor/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-keywords/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-optimize/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-thumbnail/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

youtube-seo-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

779b0f130ad1 → 779b0f130ad1

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 779b0f130ad1

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 779b0f130ad18c645730701d7884ef4ed0ec0d73

21GitHub stars
1star in 7 days
8skills in this repository
0commits in 30 days

Heat

1.7
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 7, 202621

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

youtube-seo

When your agent uses it

Advanced YouTube SEO analysis and optimization for channels and videos. Routes to specialized sub-skills for audits, single-video deep dives, metadata optimization, channel branding, keyword research, thumbnails, and competitor intel. Models YouTube's modern recommender (session watch time / Reinforce / persona matching) not just keyword match. Use when user says "YouTube SEO", "optimize my video", "rank my YouTube video", "YouTube channel audit", "YouTube keywords", or provides a YouTube URL.

What it loads into context

Frontmatter

172 tokens

Always available to the agent

SKILL.md

3,669 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Routing Table
  2. Advanced Ranking Model
  3. Data Sources
  4. Niche Benchmarks (APV, CTR, like ratio)
  5. Output Conventions (all sub-skills must follow)
  6. Error Handling

Scripts executed separately

  • ../scripts/analyze_thumbnail.py
  • ../scripts/fetch_channel.py
  • ../scripts/fetch_video.py

Files

  • ../scripts/analyze_thumbnail.pyruns6,129 bytes
  • ../scripts/fetch_channel.pyruns10,211 bytes
  • ../scripts/fetch_video.pyruns8,331 bytes
  • SKILL.mdcore14,452 bytes
  • SKILL.mdcore14,452 bytes
  • SKILL.mdcore14,452 bytes
Read SKILL.md

# YouTube SEO Orchestrator (Advanced)

Master skill for YouTube SEO work. Detect intent, delegate to the right
sub-skill, and provide the shared advanced ranking model that every
sub-skill references. If intent is ambiguous, ask once before proceeding.

## Routing Table

| User intent / input | Sub-skill |
|---------------------|-----------|
| "audit my channel", channel URL alone, "full YouTube check" | `youtube-seo-audit` |
| Single video URL, "analyze this video", "why isn't this ranking" | `youtube-seo-video` |
| "optimize title/description/tags", "rewrite metadata", "improve CTR copy" | `youtube-seo-optimize` |
| "channel branding", "about page", "banner", "playlists", "channel trailer" | `youtube-seo-channel` |
View the complete source on GitHub

Skills included

  • youtube-seo
  • youtube-seo-audit
  • youtube-seo-channel
  • youtube-seo-competitor
  • youtube-seo-keywords
  • youtube-seo-optimize
  • youtube-seo-thumbnail
  • youtube-seo-video

Repository facts

License
MIT
Created
Apr 9, 2026
Last pushed
Apr 9, 2026
Forks
3
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 5 notes
  • youtube-seo/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • youtube-seo/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • youtube-seo-audit/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • youtube-seo-competitor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • youtube-seo-thumbnail/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 164 signals by file

scripts/analyze_thumbnail.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/fetch_channel.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 4
    [Credential-related source omitted]
  • Network accessline 24
    API_BASE = "https://www.googleapis.com/youtube/v3"
  • Network accessline 24
    API_BASE = "https://www.googleapis.com/youtube/v3"
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 55
    [Credential-related source omitted]
  • Network accessline 55
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 56
    try:         with urllib.request.urlopen(url, timeout=20) as r:             items = json.loads(r.read()).get("items", [])
  • Network accessline 56
    try:         with urllib.request.urlopen(url, timeout=20) as r:             items = json.loads(r.read()).get("items", [])
  • Network accessline 57
    with urllib.request.urlopen(url, timeout=20) as r:
  • Network accessline 57
    with urllib.request.urlopen(url, timeout=20) as r:
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Network accessline 67
    parts = "snippet,statistics,topicDetails,brandingSettings,status,contentDetails"     url = f"{API_BASE}/channels?part={parts}&id={channel_id}&key={api_key}"     with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 67
    parts = "snippet,statistics,topicDetails,brandingSettings,status,contentDetails"     url = f"{API_BASE}/channels?part={parts}&id={channel_id}&key={api_key}"     with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 68
    [Credential-related source omitted]
  • Network accessline 68
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Network accessline 69
    with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 69
    with urllib.request.urlopen(url, timeout=30) as r:
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Network accessline 106
    [Credential-related source omitted]
  • Network accessline 106
    [Credential-related source omitted]
  • Network accessline 107
    url += f"&pageToken={token}"         with urllib.request.urlopen(url, timeout=30) as r:             data = json.loads(r.read())
  • Network accessline 107
    url += f"&pageToken={token}"         with urllib.request.urlopen(url, timeout=30) as r:             data = json.loads(r.read())
  • Network accessline 108
    with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 108
    with urllib.request.urlopen(url, timeout=30) as r:
  • Access to secretsline 127
    [Credential-related source omitted]
  • Access to secretsline 127
    [Credential-related source omitted]
  • Network accessline 133
    [Credential-related source omitted]
  • Network accessline 133
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Network accessline 134
    )         with urllib.request.urlopen(url, timeout=30) as r:             data = json.loads(r.read())
  • Network accessline 134
    )         with urllib.request.urlopen(url, timeout=30) as r:             data = json.loads(r.read())
  • Network accessline 135
    with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 135
    with urllib.request.urlopen(url, timeout=30) as r:
  • Access to secretsline 154
    [Credential-related source omitted]
  • Access to secretsline 154
    [Credential-related source omitted]
  • Network accessline 157
    [Credential-related source omitted]
  • Network accessline 157
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Network accessline 158
    )     with urllib.request.urlopen(url, timeout=30) as r:         return [
  • Network accessline 158
    )     with urllib.request.urlopen(url, timeout=30) as r:         return [
  • Network accessline 159
    with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 159
    with urllib.request.urlopen(url, timeout=30) as r:
  • Access to secretsline 223
    [Credential-related source omitted]
  • Access to secretsline 223
    [Credential-related source omitted]
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 228
    [Credential-related source omitted]
  • Access to secretsline 228
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 239
    [Credential-related source omitted]
  • Access to secretsline 239
    [Credential-related source omitted]
  • Access to secretsline 243
    [Credential-related source omitted]
  • Access to secretsline 243
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Access to secretsline 249
    [Credential-related source omitted]
  • Access to secretsline 249
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]

scripts/fetch_video.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Network accessline 43
    parts = "snippet,statistics,contentDetails,topicDetails,status,player,liveStreamingDetails"     url = (         "https://www.googleapis.com/youtube/v3/videos"
  • Network accessline 43
    parts = "snippet,statistics,contentDetails,topicDetails,status,player,liveStreamingDetails"     url = (         "https://www.googleapis.com/youtube/v3/videos"
  • Network accessline 44
    url = (         "https://www.googleapis.com/youtube/v3/videos"         f"?part={parts}&id={video_id}&key={api_key}"
  • Network accessline 44
    url = (         "https://www.googleapis.com/youtube/v3/videos"         f"?part={parts}&id={video_id}&key={api_key}"
  • Network accessline 45
    "https://www.googleapis.com/youtube/v3/videos"
  • Network accessline 45
    "https://www.googleapis.com/youtube/v3/videos"
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 47
    )     try:         with urllib.request.urlopen(url, timeout=30) as resp:
  • Network accessline 47
    )     try:         with urllib.request.urlopen(url, timeout=30) as resp:
  • Network accessline 48
    try:         with urllib.request.urlopen(url, timeout=30) as resp:             data = json.loads(resp.read())
  • Network accessline 48
    try:         with urllib.request.urlopen(url, timeout=30) as resp:             data = json.loads(resp.read())
  • Network accessline 49
    with urllib.request.urlopen(url, timeout=30) as resp:
  • Network accessline 49
    with urllib.request.urlopen(url, timeout=30) as resp:
  • Network accessline 98
    attempts = [         ["yt-dlp", "-j", "--no-warnings", "--skip-download",          f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 98
    attempts = [         ["yt-dlp", "-j", "--no-warnings", "--skip-download",          f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 99
    ["yt-dlp", "-j", "--no-warnings", "--skip-download",          f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",
  • Network accessline 99
    ["yt-dlp", "-j", "--no-warnings", "--skip-download",          f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",
  • Network accessline 100
    f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=android",
  • Network accessline 100
    f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=android",
  • Network accessline 101
    ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=android",          f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 101
    ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=android",          f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 102
    "--extractor-args", "youtube:player_client=android",          f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",
  • Network accessline 102
    "--extractor-args", "youtube:player_client=android",          f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",
  • Network accessline 103
    f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=ios",
  • Network accessline 103
    f"https://www.youtube.com/watch?v={video_id}"],         ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=ios",
  • Network accessline 104
    ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=ios",          f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 104
    ["yt-dlp", "-j", "--no-warnings", "--skip-download",          "--extractor-args", "youtube:player_client=ios",          f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 105
    "--extractor-args", "youtube:player_client=ios",          f"https://www.youtube.com/watch?v={video_id}"],     ]
  • Network accessline 105
    "--extractor-args", "youtube:player_client=ios",          f"https://www.youtube.com/watch?v={video_id}"],     ]
  • Network accessline 106
    f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 106
    f"https://www.youtube.com/watch?v={video_id}"],
  • Network accessline 167
    "-o",             f"/tmp/yt_{video_id}.%(ext)s",             f"https://www.youtube.com/watch?v={video_id}",
  • Network accessline 167
    "-o",             f"/tmp/yt_{video_id}.%(ext)s",             f"https://www.youtube.com/watch?v={video_id}",
  • Network accessline 168
    f"/tmp/yt_{video_id}.%(ext)s",             f"https://www.youtube.com/watch?v={video_id}",         ],
  • Network accessline 168
    f"/tmp/yt_{video_id}.%(ext)s",             f"https://www.youtube.com/watch?v={video_id}",         ],
  • Network accessline 169
    f"https://www.youtube.com/watch?v={video_id}",
  • Network accessline 169
    f"https://www.youtube.com/watch?v={video_id}",
  • Network accessline 187
    def download_thumbnail(video_id: str, out_path: str) -> bool:     for name in ("maxresdefault", "sddefault", "hqdefault"):         url = f"https://i.ytimg.com/vi/{video_id}/{name}.jpg"
  • Network accessline 187
    def download_thumbnail(video_id: str, out_path: str) -> bool:     for name in ("maxresdefault", "sddefault", "hqdefault"):         url = f"https://i.ytimg.com/vi/{video_id}/{name}.jpg"
  • Network accessline 188
    for name in ("maxresdefault", "sddefault", "hqdefault"):         url = f"https://i.ytimg.com/vi/{video_id}/{name}.jpg"         try:
  • Network accessline 188
    for name in ("maxresdefault", "sddefault", "hqdefault"):         url = f"https://i.ytimg.com/vi/{video_id}/{name}.jpg"         try:
  • Network accessline 189
    url = f"https://i.ytimg.com/vi/{video_id}/{name}.jpg"         try:             with urllib.request.urlopen(url, timeout=20) as r:
  • Network accessline 189
    url = f"https://i.ytimg.com/vi/{video_id}/{name}.jpg"         try:             with urllib.request.urlopen(url, timeout=20) as r:
  • Network accessline 190
    try:             with urllib.request.urlopen(url, timeout=20) as r:                 Path(out_path).write_bytes(r.read())
  • Network accessline 190
    try:             with urllib.request.urlopen(url, timeout=20) as r:                 Path(out_path).write_bytes(r.read())
  • Network accessline 191
    with urllib.request.urlopen(url, timeout=20) as r:
  • Network accessline 191
    with urllib.request.urlopen(url, timeout=20) as r:
  • Access to secretsline 207
    [Credential-related source omitted]
  • Access to secretsline 207
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]

youtube-seo-audit/SKILL.md

youtube-seo-channel/SKILL.md

youtube-seo-competitor/SKILL.md

youtube-seo-keywords/SKILL.md

  • Broad permissionsline 1
    Bash
  • Network accessline 28
    TubeBuddy, Ahrefs, and SocialBlade rate-limit and generate errors —    avoid them):    - YouTube suggest API (`https://suggestqueries.google.com/complete/
  • Network accessline 29
    avoid them):    - YouTube suggest API (`https://suggestqueries.google.com/complete/      search?client=firefox&ds=yt&q={seed}`) — no key, returns JSON,
  • Network accessline 30
    - YouTube suggest API (`https://suggestqueries.google.com/complete/
  • Network accessline 116
    1. **YouTube suggest API** (no key, no rate limits in practice):    `https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q={seed}`
  • Network accessline 117
    `https://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q={seed}`
  • Access to secretsline 120
    [Credential-related source omitted]

youtube-seo-optimize/SKILL.md

  • Broad permissionsline 1
    Bash
  • Network accessline 210
    {   "@context": "https://schema.org",
  • Network accessline 211
    "@context": "https://schema.org",

youtube-seo-thumbnail/SKILL.md

  • Broad permissionsline 1
    Bash
  • Network accessline 25
    1. **Source thumbnail**: download the maxres (`maxresdefault.jpg`) from    `https://i.ytimg.com/vi/{VIDEO_ID}/maxresdefault.jpg`, fall back to
  • Network accessline 26
    `https://i.ytimg.com/vi/{VIDEO_ID}/maxresdefault.jpg`, fall back to    `hqdefault.jpg` if missing 2. **SERP grid**: fetch the top 12 YouTube results for the primary

youtube-seo-video/SKILL.md

youtube-seo/SKILL.md

  • Broad permissionsline 1
    Bash
  • Access to secretsline 189
    [Credential-related source omitted]

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 6 facts
Signal confidence: 164 facts

and 114 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeFrontmatter field argument-hint in youtube-seo-audit/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md youtube-seo/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md youtube-seo/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md youtube-seo/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md youtube-seo/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md youtube-seo/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.