Markitdown
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Interact with YouTube — search videos, get video details, browse channels, read comments, view trending, browse playlists, like/unlike videos, subscribe/unsubscribe to channels.
$ npx skills add sigcli/sigcli --skill youtube -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sigcli/sigcli youtube --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/sigcli/sigcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/youtube .claude/skills/youtube && 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 "youtube" agent skill from https://github.com/sigcli/sigcli/tree/main/skills/youtube into .claude/skills/youtube/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube", 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/sigcli/sigcli/tree/main/skills/youtubeType 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 sigcli/sigcli --skill youtube -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sigcli/sigcli youtube --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sigcli/sigcli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/youtube .agents/skills/youtube && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "youtube" agent skill from https://github.com/sigcli/sigcli/tree/main/skills/youtube into .agents/skills/youtube/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube", 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 sigcli/sigcli --skill youtube -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sigcli/sigcli youtube --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sigcli/sigcli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/youtube .cursor/skills/youtube && 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 "youtube" agent skill from https://github.com/sigcli/sigcli/tree/main/skills/youtube into .cursor/skills/youtube/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube", 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/sigcli/sigcli.git --path skills/youtube--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 sigcli/sigcli --skill youtube -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sigcli/sigcli youtube --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sigcli/sigcli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/youtube .gemini/skills/youtube && 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 "youtube" agent skill from https://github.com/sigcli/sigcli/tree/main/skills/youtube into .gemini/skills/youtube/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube", 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 sigcli/sigcli youtubeInstalls 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 sigcli/sigcli --skill youtube -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sigcli/sigcli.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/youtube .github/skills/youtube && 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 "youtube" agent skill from https://github.com/sigcli/sigcli/tree/main/skills/youtube into .github/skills/youtube/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube", 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 sigcli/sigcli --skill youtube -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sigcli/sigcli youtube --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sigcli/sigcli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/youtube .opencode/skills/youtube && 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 "youtube" agent skill from https://github.com/sigcli/sigcli/tree/main/skills/youtube into .opencode/skills/youtube/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube", 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.
youtubeInteract with YouTube — search videos, get video details, browse channels, read comments, view trending, browse playlists, like/unlike videos, subscribe/unsubscribe to channels.
Youtube is an agent skill from sigcli/sigcli. Interact with YouTube — search videos, get video details, browse channels, read comments, view trending, browse playlists, like/unlike videos, subscribe/unsubscribe to channels. Use this skill whenever the user mentions YouTube, wants to search for videos, get video info, read comments, browse a channel, check trending videos, view a playlist, or interact with YouTube content. Also trigger when the user pastes a YouTube URL (e.g. youtube.com/watch?v=..., youtu.be/...) or mentions a YouTube channel.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 21 other files, including scripts and reference files (for example `references/provider-config.yaml`, `scripts/youtube_channel.py` and `scripts/youtube_client.py`).
It works with YouTube. The repository describes itself as: The authentication CLI & Proxy for AI agents. Give agents access, not your credentials. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9ba8b35. 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 9 files in scripts/ (Python, from the files we listed), which the agent can run.
From 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:
youtube.comyoutu.beFrom 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.
Youtube loads about 2.2k tokens when it runs, and up to ~2.3k if it reads all its reference files. Until then it costs about 128 tokens; SKILL.md has 708 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 sigcli/sigcli at commit 9ba8b35, republished under its MIT licence (© sigcli). 708 words, ~2,211 tokens.
.claude/skills/youtube/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.Search videos, get video details, browse channels, read comments, view trending, browse playlists, and interact with YouTube.
<SKILL_DIR> is the directory containing this SKILL.md file. Determine it ONCE at the start and reuse it.
You MUST complete this setup before running any script. Do NOT skip this step.
sig status youtube 2>&1Check the JSON output fields configured and valid:
configured: false → run Provider Setup below. Do NOT proceed without completing it.valid: false (but configured: true) → run sig login youtube, then re-check.valid: true → detect proxy (see below), then execute the user's request.<SKILL_DIR>/references/provider-config.yaml~/.sig/config.yaml under providers:networkProxy: <url> under the provider in config.yamlsig login youtube (with --network-proxy <url> if proxy was specified)sig status youtube again — must show valid: true before proceedinggrep -A15 "^\s*youtube:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'If this outputs a URL, prefix ALL python3 commands with HTTPS_PROXY=<url> HTTP_PROXY=<url>.
If using socks5, convert to socks5h for python (e.g. socks5://... → socks5h://...).
If empty, no proxy needed.
All scripts require setup to be completed first (see above).
Read operations — use sig run to inject cookie (enables authenticated features):
sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_video.py --cookie "$SIG_YOUTUBE_COOKIE" --video dQw4w9WgXcQ'Write operations — require sig run (cookie is mandatory):
sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_like.py --cookie "$SIG_YOUTUBE_COOKIE" --video dQw4w9WgXcQ'Env var: SIG_YOUTUBE_COOKIE
On auth error (401/403): run sig login youtube automatically (no user prompt), then retry.
All scripts are in this skill's scripts/ directory. Run via Bash tool.
| Script | Purpose | Auth |
|---|---|---|
youtube_video.py | Video details | None |
youtube_search.py | Search videos | None |
youtube_channel.py | Channel info and videos | None |
youtube_comments.py | Video comments | None |
youtube_trending.py | Trending videos | None |
youtube_playlist.py | Playlist info and videos | None |
| Script | Purpose | Auth |
|---|---|---|
youtube_like.py | Like/unlike a video | Required |
youtube_subscribe.py | Subscribe/unsubscribe | Required |
--video URL YouTube video URL or video ID (required)--query TEXT Search query (required)
--limit N Max results (default: 20)--channel ID Channel ID (UCxxxx), handle (@name), or URL (required)
--limit N Max recent videos (default: 10)--video URL YouTube video URL or video ID (required)
--limit N Max comments (default: 20)--limit N Max videos (default: 20)--playlist ID Playlist URL or ID (PLxxxxxx) (required)
--limit N Max videos (default: 50)--cookie COOKIE YouTube session cookie (required)
--video URL YouTube video URL or video ID (required)
--action ACTION Action: like, unlike (default: like)--cookie COOKIE YouTube session cookie (required)
--channel ID Channel ID (UCxxxx), handle (@name), or URL (required)
--action ACTION Action: subscribe, unsubscribe (default: subscribe)youtube_like.py and youtube_subscribe.py are reversible — use --action unlike to remove a like, --action unsubscribe to unsubscribe.
Video IDs — youtube_video.py and youtube_comments.py accept: bare ID (dQw4w9WgXcQ), full URL (https://www.youtube.com/watch?v=dQw4w9WgXcQ), short link (https://youtu.be/dQw4w9WgXcQ), or shorts/embed/live URLs.
Channel IDs — Accept UCxxxx channel IDs, @handle format, or full channel URLs. Handles are resolved to channel IDs automatically.
Playlist IDs — Accept PLxxxxxx playlist IDs or full playlist URLs. The list= parameter is extracted from URLs.
InnerTube API — All operations use YouTube's InnerTube API (/youtubei/v1/), which is the same internal API the YouTube website uses. Read operations require no auth; write operations require SAPISIDHASH authentication derived from session cookies.
SAPISIDHASH Auth — Write operations compute SAPISIDHASH {timestamp}_{SHA1(timestamp + " " + SAPISID + " " + origin)} from the SAPISID cookie for the Authorization header.
| Error | Cause | Fix |
|---|---|---|
| HTTP_403 | Forbidden or rate limited | Wait and retry |
| HTTP_404 | Video/channel not found | Check the ID is correct |
| AUTH_REQUIRED | No cookie for write op | Auto-run sig login (no user prompt needed), retry |
| AUTH_EXPIRED | Session cookie expired | Auto-run sig login (no user prompt needed), retry |
| INVALID_CHANNEL | Cannot resolve channel ID | Use UCxxxx format instead of handle |
sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_video.py --cookie "$SIG_YOUTUBE_COOKIE" --video dQw4w9WgXcQ'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_video.py --cookie "$SIG_YOUTUBE_COOKIE" --video "https://www.youtube.com/watch?v=dQw4w9WgXcQ"'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_search.py --cookie "$SIG_YOUTUBE_COOKIE" --query "python tutorial" --limit 10'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_channel.py --cookie "$SIG_YOUTUBE_COOKIE" --channel @RickAstleyYT --limit 5'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_channel.py --cookie "$SIG_YOUTUBE_COOKIE" --channel UCuAXFkgsw1L7xaCfnd5JJOw'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_comments.py --cookie "$SIG_YOUTUBE_COOKIE" --video dQw4w9WgXcQ --limit 30'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_trending.py --cookie "$SIG_YOUTUBE_COOKIE" --limit 10'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_playlist.py --cookie "$SIG_YOUTUBE_COOKIE" --playlist PLxxxxxxxx --limit 20'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_playlist.py --cookie "$SIG_YOUTUBE_COOKIE" --playlist "https://www.youtube.com/playlist?list=PLxxxxxxxx"'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_like.py --cookie "$SIG_YOUTUBE_COOKIE" --video dQw4w9WgXcQ'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_like.py --cookie "$SIG_YOUTUBE_COOKIE" --video dQw4w9WgXcQ --action unlike'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_subscribe.py --cookie "$SIG_YOUTUBE_COOKIE" --channel @RickAstleyYT'sig run youtube -- bash -c 'python3 <SKILL_DIR>/scripts/youtube_subscribe.py --cookie "$SIG_YOUTUBE_COOKIE" --channel UCuAXFkgsw1L7xaCfnd5JJOw --action unsubscribe'© sigcli, 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 18 other files (scripts, references) in skills/youtube of sigcli/sigcli.
Open the folder on GitHubat commit 9ba8b35
Youtube 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 |
|---|---|---|---|---|---|---|
| Youtube this skillsigcli/sigcli | 293 | — | ~2.2k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Banner Design Systemnextlevelbuilder/ui-ux-pro-max-skill | 134k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Agent ReachPanniantong/Agent-Reach | 93k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill | 2.5k | 2 repos | ~3.2k | Automated safety check: Pass | None | |
| Google SEO APIsAgriciDaniel/claude-seo | 18k | 1 repos | ~4.2k | Automated safety check: Pass | MIT |
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
nextlevelbuilder/ui-ux-pro-max-skill
Walks through designing a banner for social media, ads, a website hero or print, from gathering requirements to building 2 or 3 art-direction options in HTML and CSS.
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
sdyckjq-lab/llm-wiki-skill
Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.
AgriciDaniel/claude-seo
Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.
ComposioHQ/awesome-claude-skills
Downloads a single YouTube video with chosen quality, format or audio-only MP3 output, using a bundled Python script built on yt-dlp.
sigcli/sigcli
Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos.
sigcli/sigcli
Interact with Hacker News (news.ycombinator.com) — browse top, new, and best stories, read item details and comment threads, look up user profiles, and search posts via Algolia.
sigcli/sigcli
Interact with LinkedIn — view your profile, browse other profiles, read the feed, search jobs/posts/people, get job details, create posts, like/unlike posts, comment, send connection requests, and…
sigcli/sigcli
Interact with Microsoft Teams — send and read messages, search conversations, look up people, check calendar, get meeting transcripts, and manage chats.
sigcli/sigcli
Interact with Outlook email — read inbox, send emails, search messages, reply/forward, manage folders, download attachments.
sigcli/sigcli
Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits.
Works with
Interact with YouTube — search videos, get video details, browse channels, read comments, view trending, browse playlists, like/unlike videos, subscribe/unsubscribe to channels. Youtube is an agent skill from sigcli/sigcli. Interact with YouTube — search videos, get video details, browse channels, read comments, view trending, browse playlists, like/unlike videos, subscribe/unsubscribe to channels.
Youtube fits situations like: the user mentions YouTube; wants to search for videos; browse a channel; check trending videos.
Run `npx skills add sigcli/sigcli --skill youtube -a claude-code`. Or copy the skill folder (skills/youtube in sigcli/sigcli) into .claude/skills/youtube in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sigcli/sigcli --skill youtube -a codex`. Or copy the skill folder (skills/youtube in sigcli/sigcli) into .agents/skills/youtube 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 sigcli/sigcli --skill youtube -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/youtube, .gemini/skills/youtube, .github/skills/youtube and .opencode/skills/youtube in your project.
Going by SKILL.md and its folder, Youtube needs Python for the scripts in its folder. Our summary lists: Python 3.
SKILL.md names 2 domains. In commands or code: youtube.com and youtu.be; the agent is likely to contact these when it follows the instructions. 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.
Youtube is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 134 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Youtube: Markitdown (ImCa0/just-laws, 781 stars), Banner Design System (nextlevelbuilder/ui-ux-pro-max-skill, 134k stars), Agent Reach (Panniantong/Agent-Reach, 93k stars) and Baoyu URL To Markdown (sdyckjq-lab/llm-wiki-skill, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sigcli (a GitHub organization) maintains it in sigcli/sigcli, which has 293 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on September 28, 2026.
Source: sigcli/sigcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.