Viral Captions And Ctas
vyralcontent/content-skills
Write captions, on-screen text, hashtags, and CTAs for short-form video that earn saves and sends without tripping engagement-bait penalties.
A skill your agent uses when the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16, 4:3 ↔ 3:4, 21:9 ↔ 9:21).
$ npx skills add jianshuo/claude-skills --skill wjs-reframing-video -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jianshuo/claude-skills wjs-reframing-video --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/jianshuo/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/wjs-reframing-video .claude/skills/wjs-reframing-video && 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 "wjs-reframing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-reframing-video into .claude/skills/wjs-reframing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-reframing-video", 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/jianshuo/claude-skills/tree/main/wjs-reframing-videoType 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 jianshuo/claude-skills --skill wjs-reframing-video -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jianshuo/claude-skills wjs-reframing-video --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/wjs-reframing-video .agents/skills/wjs-reframing-video && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wjs-reframing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-reframing-video into .agents/skills/wjs-reframing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-reframing-video", 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 jianshuo/claude-skills --skill wjs-reframing-video -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jianshuo/claude-skills wjs-reframing-video --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/wjs-reframing-video .cursor/skills/wjs-reframing-video && 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 "wjs-reframing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-reframing-video into .cursor/skills/wjs-reframing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-reframing-video", 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/jianshuo/claude-skills.git --path wjs-reframing-video--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 jianshuo/claude-skills --skill wjs-reframing-video -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jianshuo/claude-skills wjs-reframing-video --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/wjs-reframing-video .gemini/skills/wjs-reframing-video && 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 "wjs-reframing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-reframing-video into .gemini/skills/wjs-reframing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-reframing-video", 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 jianshuo/claude-skills wjs-reframing-videoInstalls 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 jianshuo/claude-skills --skill wjs-reframing-video -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/wjs-reframing-video .github/skills/wjs-reframing-video && 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 "wjs-reframing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-reframing-video into .github/skills/wjs-reframing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-reframing-video", 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 jianshuo/claude-skills --skill wjs-reframing-video -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jianshuo/claude-skills wjs-reframing-video --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/wjs-reframing-video .opencode/skills/wjs-reframing-video && 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 "wjs-reframing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-reframing-video into .opencode/skills/wjs-reframing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-reframing-video", 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.
wjs-reframing-videoA skill your agent uses when the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16, 4:3 ↔ 3:4, 21:9 ↔ 9:21).
Wjs Reframing Video is an agent skill from jianshuo/claude-skills. Use when the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16, 4:3 ↔ 3:4, 21:9 ↔ 9:21). The skill crops a narrow band from the source and tracks the active speaker — the person whose mouth is moving — via MediaPipe face landmarks and mouth-aspect-ratio variance, so the talker stays in frame even when other people are visible. Triggers — "横转竖", "竖转横", "做成竖屏发抖音/视频号/小红书", "16:9 to 9:16", "make this vertical for Reels / TikTok / YouTube…
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/crop.py`).
It sits in Media & Creative, covering Video scripts and shorts. It works with TikTok. The repository describes itself as: 13 Claude Code skills for video production (transcribe / translate / dub / multicam / subtitles / reframe) + WeChat publishing. Compatible with Claude Code, OpenAI Codex CLI… The licence is MIT.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b2690f5. 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 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
ffmpegpipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From 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.
Wjs Reframing Video loads about 3k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 1,320 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 jianshuo/claude-skills at commit b2690f5, republished under its MIT licence (© jianshuo). 1,320 words, ~3,018 tokens.
.claude/skills/wjs-reframing-video/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Convert a video's orientation by cropping a narrow band from the source — not by physically rotating it. The crop window follows the active speaker (the face whose mouth is moving), not just the largest or most-confident face. A .crop.json sidecar records the crop plan, the per-segment speaker decisions, and the parameters used. The original input is never modified.
The output aspect is the source aspect with width and height swapped — 16:9 → 9:16, not "letterboxed 16:9 in a 9:16 frame".
| Is | Is not |
|---|---|
| Visual active-speaker detection via MAR (mouth-aspect-ratio) variance | Audio-visual fusion (audio energy + lip motion cross-correlated) |
| Stable face tracking across frames by center-distance matching | Re-identification across long gaps / occlusions |
| Speaker-aligned segments with hysteresis to prevent flicker | Frame-by-frame switching on every flicker |
--face-pick speaker (default) — pick whoever's mouth is moving | --face-pick largest (opt-in legacy) — pick largest face |
Hard cuts between segments, fixed crop within each segment (--motion cut, default) | Smooth panning that drifts during a speaker's turn (opt-in --motion smooth) |
| Audio stream-copy (bit-exact) | Audio reprocessing / re-encoding |
MediaPipe Tasks FaceLandmarker (478-pt mesh) at 5 fps sampled via ffmpeg | Per-frame neural inpainting / out-painting |
One ffmpeg crop + scale pass | Frame-by-frame Python compositor |
Falls back to "largest face" automatically when no one is talking (silence, music-only stretches).
pip install mediapipe opencv-python numpy(MediaPipe lives outside the standard Python distribution; ffmpeg and ffprobe must be on PATH.)
First-run model download: MediaPipe 0.10+ uses the Tasks API, which needs a face_landmarker.task model file (~4 MB). On the first call, crop.py downloads it to ~/.claude/skills/wjs-reframing-video/models/ and caches it for subsequent runs. The script fails offline on first run.
Range limitation: The bundled landmarker is tuned for faces within ~2 m of the camera (selfie / podcast / interview distance). Wide event shots with small faces may not detect — sample a frame first to confirm.
Source aspect = W / H. Target aspect = H / W (inverted). Compute crop window:
| Source orientation | Crop window |
|---|---|
| Horizontal (W > H) → Portrait | W_crop = H × H / W, H_crop = H (narrow vertical band) |
| Portrait (W < H) → Horizontal | W_crop = W, H_crop = W × W / H (narrow horizontal band) |
For 1920×1080 → portrait, W_crop = 608, H_crop = 1080. Final scale to 1080×1920 (upscale ~1.78×).
For 1080×1920 → landscape, W_crop = 1080, H_crop = 608. Final scale to 1920×1080.
Override the final size via --output-size 1080x1920 if you want native crop dimensions instead of upscaling.
--target portrait|landscape to override).--sample-fps (default 5; high enough to catch mouth motion — Nyquist for speech is ~10 Hz, we need at least 4–5 fps).FaceLandmarker (478 landmarks). For each detected face record: center, size proxy, MAR (mouth-aspect-ratio = inner-lip vertical distance / horizontal mouth-corner distance).face_id.--mar-var-window-sec, default 1 s). The face with the highest variance is "speaking". Below --mar-var-threshold, no one is speaking → fall back to largest face.--min-segment-sec (default 1.5 s). Shorter flickers are squashed — prevents the crop from ping-ponging on a one-frame mis-detection.--motion cut, default) that holds each segment's crop position constant and jumps instantly at each segment boundary — the visual feel of a real cut between camera angles. (--motion smooth switches to piecewise-linear pan between segment midpoints; rarely the right call for talking-head content because the camera appears to drift mid-sentence.)crop=W:H:x='expr':y='expr', scale=OUT_W:OUT_H. The crop filter evaluates x and y per frame natively. Audio stream-copied.scripts/crop.py is the implementation. Output side effects:
<input>.crop.json — sidecar with the crop plan<input>_cropped.mp4 — final cropped + scaled video<input>.crop.json){
"_about": "wjs-reframing-video crop plan for cam_a.MOV. Active-speaker detected via MAR variance.",
"_help": {
"source_size": "[width, height] in pixels.",
"target_size": "[width, height] of the final rendered output.",
"crop_window": "[width, height] of the moving crop in source coords.",
"chunks": "Speaker-aligned segments: {t0, t1, cx, cy, speaker_id}.",
"face_pick_mode": "speaker = MAR-variance active-speaker; largest = old behavior.",
"speaker_id": "Stable face track id. null means no face / silence fallback."
},
"schema_version": 2,
"source": "cam_a.MOV",
"source_size": [1920, 1080],
"target": "portrait",
"target_size": [1080, 1920],
"crop_window": [608, 1080],
"face_pick_mode": "speaker",
"sample_fps": 5.0,
"mar_var_window_sec": 1.0,
"mar_var_threshold": 1.5e-4,
"min_segment_sec": 1.5,
"chunks": [
{"t0": 0.0, "t1": 4.2, "cx": 808, "cy": 540, "speaker_id": 0},
{"t0": 4.2, "t1": 11.6, "cx": 1182, "cy": 540, "speaker_id": 1},
{"t0": 11.6, "t1": 14.0, "cx": 808, "cy": 540, "speaker_id": 0}
],
"face_sample_count": 1234,
"track_count": 2
}--sample-fps makes detection slower but tracking more responsive.hevc_videotoolbox on macOS). Often <1× realtime for a 1080p source.face#N: Xs on screen (Y%) summary) and re-run with a different --mar-var-threshold if needed.--face-pick largest.ffmpeg lenscorrection first.608×1080 → 1080×1920 is a 1.78× upscale and visible on sharp text. Render at native crop dims (--output-size 608x1080) and let the platform upscale, if you have overlays you want to keep sharp.--bitrate 12M. WeChat Channels (视频号) caps at 10 Mbps; pass --bitrate 8M for that target.The "may not detect" range limit isn't just a warning — when MediaPipe
detects 0 faces (far/static two-person interview, ~2 m+ from a wide
lens), the crop log reads 0 face observations across N sampled frames
and the script center-crops the frame — which on an interview set
lands the window on the background between the two people (a fireplace,
a plant, a logo), not on anyone. The output looks broken and no
--mar-var-threshold tuning helps, because there are no landmarks at all.
Always read the crop log before trusting the output. If it says
0 face track(s) identified / (no face / fallback): … 100%, abandon
the MediaPipe crop and do a deterministic fixed crop instead. The
camera on these shoots is static and the speakers sit at fixed screen
positions, so a hand-set X offset is rock-solid:
# 1920×1080 → 9:16 ⇒ crop window 608×1080. X = speaker's screen position:
# left speaker → x=0 right speaker → x=1920-608=1312 centred → x=656
# Do crop + (HLG→SDR tone-map) + 30fps + dense keyframes in ONE pass so the
# body clip is final and HyperFrames can seek it (see /wjs-overlaying-video).
ZF=~/Library/Python/3.9/.../imageio_ffmpeg/binaries/ffmpeg-macos-aarch64-v7.1
"$ZF" -i clip.mp4 -vf \
"crop=608:1080:0:0,zscale=t=linear:npl=203,format=gbrpf32le,\
tonemap=tonemap=hable:desat=0,\
zscale=w=1080:h=1920:t=bt709:m=bt709:p=bt709:r=tv,format=yuv420p,fps=30" \
-c:v libx264 -crf 19 -preset medium -g 30 -keyint_min 30 \
-color_primaries bt709 -color_trc bt709 -colorspace bt709 \
-c:a aac -b:a 192k -movflags +faststart clip_vert.mp4Verify by extracting a frame (-ss 20 -frames:v 1) and confirming the
speaker is centred before committing. For clips that genuinely need to
follow both speakers (heavy back-and-forth), hand-label per-speaker
windows from the transcript and concatenate fixed crops; for a clip that
is one person's monologue, a single fixed X is enough. Drop the
tonemap filters if the source is already SDR (bt709) — applying the HLG
recipe to SDR mis-colors it.
© jianshuo, 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 3 other files (scripts) in wjs-reframing-video of jianshuo/claude-skills.
Open the folder on GitHubat commit b2690f5
Wjs Reframing Video 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 |
|---|---|---|---|---|---|---|
| Wjs Reframing Video this skilljianshuo/claude-skills | 131 | — | ~3k | Automated safety check: Pass | MIT | |
| Viral Captions And Ctasvyralcontent/content-skills | 134 | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Shortform Idea Grillericosiu/ai-marketing-skills | 3.6k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Viral Short Form Ideasvyralcontent/content-skills | 134 | 1 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Viral Tiktok Contentvyralcontent/content-skills | 134 | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Viral Youtube Shortsvyralcontent/content-skills | 134 | 1 repos | ~3k | Automated safety check: Pass | MIT |
vyralcontent/content-skills
Write captions, on-screen text, hashtags, and CTAs for short-form video that earn saves and sends without tripping engagement-bait penalties.
ericosiu/ai-marketing-skills
Interview a founder or senior marketer one question at a time, mine current work and owned proof for net-new short-form video ideas, and return a ranked table with one five-second overlay hook…
vyralcontent/content-skills
Generate short-form video ideas at volume and stop the blank-page problem for good.
vyralcontent/content-skills
Write a tiktok script, a tiktok hook, or a fresh tiktok video idea shaped for how the FYP actually ranks content.
vyralcontent/content-skills
Write and diagnose YouTube Shorts that hold attention on the Shorts Feed and route viewers into your long-form.
gug007/lpm
Post a finished vertical lesson from ~/Movies/lpm-lessons/tiktok/<slug/ to YouTube Shorts (LPM channel, through Chrome) and TikTok (@lpm06557, from the user's iPhone through iPhone Mirroring) in…
jianshuo/claude-skills
A skill your agent uses when the user has a long-form video (interview / lecture / podcast / conversation) and a transcript SRT, and wants to extract 3–6 stand-alone topical short clips from it.
jianshuo/claude-skills
Upload one or many videos to YouTube. An agent skill from jianshuo/claude-skills.
jianshuo/claude-skills
A skill your agent uses when migrating a WordPress site to a Hugo static site on GitHub Pages from a WXR export (.xml) plus the wp-content/uploads folder — preserving /archives/<id/ URLs, localizing…
jianshuo/claude-skills
A skill your agent uses when the user has a video + an SRT and wants the subtitles either burned into the pixels (libass, always-visible) or soft-muxed as a togglable track.
jianshuo/claude-skills
A skill your agent uses when the user complains about spam on his X/Twitter posts — 同城面付 / 寻固炮 / 线下上门 / 免费破处 这类引流号在他推文下刷的 emoji 垃圾回复 — and wants them removed.
jianshuo/claude-skills
A skill your agent uses when the user wants a book turned into YouTube chapter videos — 每章用 VoiceDrop 读书的有声书 mp3 做音轨,配 GPT Image 2 画面和中心思想大字,输出 1920×1080 横屏视频发 YouTube。Triggers — "把这本书做成视频"…
Works with
Categories
A skill your agent uses when the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16, 4:3 ↔ 3:4, 21:9 ↔ 9:21). Wjs Reframing Video is an agent skill from jianshuo/claude-skills. Use when the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16, 4:3 ↔ 3:4, 21:9 ↔ 9:21).
Wjs Reframing Video fits situations like: the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16; 做成竖屏发抖音/视频号/小红书; make this vertical for Reels / TikTok / YouTube Shorts; crop to portrait.
Run `npx skills add jianshuo/claude-skills --skill wjs-reframing-video -a claude-code`. Or copy the skill folder (wjs-reframing-video in jianshuo/claude-skills) into .claude/skills/wjs-reframing-video in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jianshuo/claude-skills --skill wjs-reframing-video -a codex`. Or copy the skill folder (wjs-reframing-video in jianshuo/claude-skills) into .agents/skills/wjs-reframing-video 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 jianshuo/claude-skills --skill wjs-reframing-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wjs-reframing-video, .gemini/skills/wjs-reframing-video, .github/skills/wjs-reframing-video and .opencode/skills/wjs-reframing-video in your project.
Going by SKILL.md and its folder, Wjs Reframing Video needs Python for the scripts in its folder and the command-line tools its instructions call (ffmpeg and pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. 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.
Wjs Reframing Video is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Wjs Reframing Video: Viral Captions And Ctas (vyralcontent/content-skills, 134 stars), Shortform Idea Grill (ericosiu/ai-marketing-skills, 3.6k stars), Viral Short Form Ideas (vyralcontent/content-skills, 134 stars) and Viral Tiktok Content (vyralcontent/content-skills, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jianshuo (a GitHub user) maintains it in jianshuo/claude-skills, which has 131 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on August 20, 2026.
Source: jianshuo/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.