Remotion Render via inference.sh
Hainrixz/editor-pro-max
Renders MP4 videos from React and Remotion TSX code through the inference.sh CLI, with settings for resolution, frame rate, duration and codec.
Generates 2D Remotion-based TSX video files for VidTSX from a shot or scene description, with style presets and rules that keep renders from crashing.
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator vidtsx-2d-generator --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/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/vidtsx-2d-generator .claude/skills/vidtsx-2d-generator && 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 "vidtsx-2d-generator" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generator into .claude/skills/vidtsx-2d-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vidtsx-2d-generator", 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/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generatorType 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 hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator vidtsx-2d-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/vidtsx-2d-generator .agents/skills/vidtsx-2d-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vidtsx-2d-generator" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generator into .agents/skills/vidtsx-2d-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vidtsx-2d-generator", 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 hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator vidtsx-2d-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/vidtsx-2d-generator .cursor/skills/vidtsx-2d-generator && 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 "vidtsx-2d-generator" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generator into .cursor/skills/vidtsx-2d-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vidtsx-2d-generator", 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/hassancs91/claude-faceless-shorts-creator.git --path .claude/skills/vidtsx-2d-generator--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 hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator vidtsx-2d-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/vidtsx-2d-generator .gemini/skills/vidtsx-2d-generator && 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 "vidtsx-2d-generator" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generator into .gemini/skills/vidtsx-2d-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vidtsx-2d-generator", 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 hassancs91/claude-faceless-shorts-creator vidtsx-2d-generatorInstalls 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 hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/vidtsx-2d-generator .github/skills/vidtsx-2d-generator && 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 "vidtsx-2d-generator" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generator into .github/skills/vidtsx-2d-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vidtsx-2d-generator", 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 hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator vidtsx-2d-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/vidtsx-2d-generator .opencode/skills/vidtsx-2d-generator && 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 "vidtsx-2d-generator" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/vidtsx-2d-generator into .opencode/skills/vidtsx-2d-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vidtsx-2d-generator", 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.
vidtsx-2d-generatorGenerates 2D Remotion-based TSX video files for VidTSX from a shot or scene description, with style presets and rules that keep renders from crashing.
From a description of a shot, scene or short video, the agent writes a `.tsx` file that VidTSX renders frame by frame as a Remotion composition. A clear single shot is generated directly, while a complex, multi-shot or ambiguous request first gets a one-line confirmation of the breakdown. Output is a real file, one shot per file by default, containing only component code under the required section comments, and the agent renders a still, plus frames at each cue for reveals and scrolls, before calling it done.
Defaults are horizontal 1920 by 1080, five seconds at 30 fps and the minimalist style; vertical 1080 by 1920 and square 1080 by 1080 are also available. Six style presets, minimalist, memphis, neo-brutalism, glassmorphism, neon and corporate, are detailed in `references/style-presets.md`. Because a single mistake crashes the render, the correctness rules require frame-based animation only, with no useState, useEffect or setTimeout, strictly increasing `interpolate` ranges, `Easing.bezier` instead of wrapper syntax, and care with chroma-js and `@remotion/paths` imports. 3D work with `@remotion/three`, general React work and editing video files are out of scope.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 773054b. 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.
Shell commands in SKILL.md call:
nodeffmpegFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
VidTSX 2D Video Generator loads about 2.8k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 241 tokens; SKILL.md has 940 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); files beside SKILL.md are not scanned.
The full file from hassancs91/claude-faceless-shorts-creator at commit 773054b, republished under its MIT licence (© hassancs91). 940 words, ~2,822 tokens.
.claude/skills/vidtsx-2d-generator/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Generate production-ready 2D TSX video files for VidTSX from a description of a shot or video. The files are Remotion compositions that VidTSX renders frame-by-frame, so correctness matters more than cleverness: a single non-monotonic interpolate range or a stray useState will crash the render.
This skill covers 2D motion graphics. 3D work (@remotion/three / React Three Fiber) is out of scope.
.tsx file directly..tsx file, not inline code. These TSX components always exceed 20 lines, and the user edits these files directly. Default to one shot per file (atomic, easy to edit) unless the user asks for a single combined deliverable.| Format | Width | Height | Use case |
|---|---|---|---|
| horizontal | 1920 | 1080 | YouTube, presentations |
| vertical | 1080 | 1920 | TikTok, Reels, Shorts |
| square | 1080 | 1080 | Instagram feed |
references/style-presets.md)Every generated file follows this skeleton. The labeled section comments are intentional — they keep large files navigable.
import React from 'react';
import {
useCurrentFrame,
useVideoConfig,
interpolate,
Easing,
AbsoluteFill,
Sequence,
} from 'remotion';
// =============================================================================
// COMPOSITION CONFIG
// =============================================================================
export const compositionConfig = {
id: 'ComponentName', // PascalCase only — NO hyphens or underscores
durationInSeconds: 5,
fps: 30,
width: 1920,
height: 1080,
};
// =============================================================================
// STYLE CONSTANTS
// =============================================================================
const COLORS = {
primary: '#6366f1',
secondary: '#8b5cf6',
accent: '#06b6d4',
background: '#0f0f23',
text: '#ffffff',
} as const;
const TYPOGRAPHY = {
fontFamily: 'Inter, system-ui, sans-serif',
} as const;
const EASINGS = {
easeOut: Easing.bezier(0.33, 1, 0.68, 1),
easeIn: Easing.bezier(0.32, 0, 0.67, 0),
easeInOut: Easing.bezier(0.37, 0, 0.63, 1),
overshoot: Easing.bezier(0.34, 1.56, 0.64, 1),
} as const;
// =============================================================================
// PRE-GENERATED DATA (computed once at module level, NOT during render)
// =============================================================================
const seededRandom = (seed: number): number => {
const x = Math.sin(seed * 9999) * 10000;
return x - Math.floor(x);
};
// =============================================================================
// MAIN COMPONENT
// =============================================================================
const ComponentName: React.FC = () => {
const frame = useCurrentFrame();
const { fps, durationInFrames, width, height } = useVideoConfig();
return (
<AbsoluteFill style={{ backgroundColor: COLORS.background }}>
{/* Content */}
</AbsoluteFill>
);
};
export default ComponentName;Swap ComponentName for a PascalCase name describing the shot, set the COLORS block from the chosen style preset, and set width/height/durationInSeconds/fps from the request.
These are not stylistic preferences — they are what makes a render succeed. VidTSX (via Remotion) renders each frame by calling the component at a fixed frame number. There is no event loop, no persistence between frames, and no wall-clock time. Anything that assumes those things will break.
useCurrentFrame() + interpolate().useState, useEffect, setTimeout, setInterval, or CSS animations/transitions. They don't fit the frame-by-frame model and produce broken or non-deterministic output.seededRandom (or an equivalent seeded function) so every render of a given frame is identical. Pre-generate particle/random arrays at module level, never inside the render function — recomputing per frame causes flicker.interpolate's input range has to be strictly monotonically increasing. Duplicate or descending values throw at runtime.
// ✅ Correct
interpolate(frame, [0, 30, 60], [0, 1, 0]);
// ❌ Throws — input range descends
interpolate(frame, [60, 30, 0], [0, 1, 0]);To reverse a mapping, flip the output range, never the input range:
// ✅ Correct — maps 0→100, 1→0
interpolate(value, [0, 1], [100, 0]);
// ❌ Wrong
interpolate(value, [1, 0], [100, 0]);For index-based timing, make sure startFrame < endFrame and always clamp:
const startFrame = index * 30;
const endFrame = startFrame + 30;
interpolate(frame, [startFrame, endFrame], [0, 1], {
extrapolateLeft: 'clamp',
extrapolateRight: 'clamp',
});Always pass extrapolateLeft: 'clamp' and extrapolateRight: 'clamp' unless an unbounded value is genuinely wanted — without them, values shoot past their range before/after the keyframes.
Wrapper forms like Easing.out(Easing.cubic) crash. Define named beziers once (see the EASINGS block in the skeleton) and reference them:
// ❌ Crashes
Easing.out(Easing.cubic);
Easing.in(Easing.quad);
// ✅ Correct
interpolate(frame, [0, 30], [0, 1], {
easing: EASINGS.easeOut,
extrapolateRight: 'clamp',
});// ✅ Correct
import * as chroma from 'chroma-js';
const color = chroma('#00bfff').brighten(0.5).hex();
// ❌ Wrong — "chroma is not a function"
import chroma from 'chroma-js';These helpers do not exist and must never be used:
makeCircle(), makeRect(), makeTriangle(), makeLine(), makePie(), makePolygon(), makeEllipse(), makeStar().
Only these imports are valid:
import { evolvePath, getLength, getPointAtLength, getTangentAtLength } from '@remotion/paths';Write SVG path strings by hand and animate them with evolvePath:
const circlePath = 'M 50 10 A 40 40 0 1 1 49.99 10 Z';
const rectPath = 'M 0 0 L 100 0 L 100 50 L 0 50 Z';
const linePath = 'M 0 0 L 100 100';
const { strokeDasharray, strokeDashoffset } = evolvePath(progress, rectPath);compositionConfig.id is PascalCase only — no hyphens, no underscores (e.g. ProductReveal, not product-reveal or product_reveal).
const centered: React.CSSProperties = {
position: 'absolute',
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)',
};| Element | Size | Weight |
|---|---|---|
| Headlines | 72–120px | 700–900 |
| Subheadlines | 36–48px | 500–700 |
| Body | 28–36px | 400–500 |
Always set margin: 0 on text elements — browser defaults push layouts off-center.
When the user names a style, load its palette and characteristics from references/style-presets.md and drop the COLORS object into the skeleton. The six presets are: minimalist (default), memphis, neo-brutalism, glassmorphism, neon/cyberpunk, and corporate. If no style is named, use minimalist.
A shot is not done until you have looked at it. After writing the .tsx, render at least one still and open it — never hand over a shot you have only reasoned about. Rendering succeeds and the numbers look right, yet text overflows its card, an image is cropped at the wrong crop, an element is off-screen, or two things overlap. Only a screenshot catches these.
node scripts/render-all.mjs --still --scale=1 <ShotId>) and Read the PNG.ffmpeg -ss <t> -i out/<id>.mp4 -frames:v 1 f.jpg), or render stills at several offsets. Verify the state at each cue, not just one frame.objectFit: contain on a matching background for heterogeneous real images), text is not clipped or overflowing, nothing is off the safe area, and each animated element is actually visible when it should be.Fix what the screenshot reveals, then re-render and look again. Treat "I rendered it and it looks correct" — with the frame shown — as the bar for done.
Generate the complete .tsx file and nothing else inside it — no surrounding markdown, no commentary before or after the code in the file itself. A short one-line note in chat when handing over the file is fine.
© hassancs91, 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 1 other file (references) in .claude/skills/vidtsx-2d-generator of hassancs91/claude-faceless-shorts-creator.
Open the folder on GitHubat commit 773054b
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in hassancs91/claude-faceless-shorts-creator, which our catalogue first saw on October 7, 2026.
VidTSX 2D Video Generator 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 |
|---|---|---|---|---|---|---|
| VidTSX 2D Video Generator this skillhassancs91/claude-faceless-shorts-creator | 271 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Remotion Render via inference.shHainrixz/editor-pro-max | 264 | 2 repos | ~2k | Automated safety check: Pass | Custom licence | |
| Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills | 8.5k | 6 repos | ~3.2k | Automated safety check: Notes | Apache-2.0 | |
| Create Remotion GeistMarve10s/Better-Fullstack | 756 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Remotion to HyperFrames Porterheygen-com/hyperframes | 60k | 3 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Anything2explainerVincentwei1021/anything2explainer | 2.4k | — | ~2.7k | Automated safety check: Pass | Custom licence |
Hainrixz/editor-pro-max
Renders MP4 videos from React and Remotion TSX code through the inference.sh CLI, with settings for resolution, frame rate, duration and codec.
google-labs-code/stitch-skills
Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.
Marve10s/Better-Fullstack
Create Remotion videos using the Geist design system aesthetic.
heygen-com/hyperframes
Ports an existing Remotion (React) composition to HyperFrames HTML with GSAP, one way, and grades the result against a tiered set of reference fixtures.
Vincentwei1021/anything2explainer
给一个主题,产出一条黑底 MG 风格(幕底可选星点或点阵波)、有配音字幕章节进度条的科普讲解视频(中文或英文;Remotion 代码动画;时长由用户定,常用 3–5 分钟)。内含可编译模板、图元库、配音/分镜/渲染工具、风格与动效规范、多 agent 分工协议与 QC 判据,以及一条完整样片(《RAG 与知识库》)作为质量标尺。Turn any topic into a narrated…
haidrrrry/claude-remotion-skill
Create and edit professional motion graphics videos with Remotion (React-based video).
hassancs91/claude-faceless-shorts-creator
Produces a vertical generative-video short end to end: a locked recurring character animated by a fal video model, ElevenLabs voice, Remotion captions and a clean loop.
hassancs91/claude-faceless-shorts-creator
Builds a roughly 40-second vertical short end to end from a topic, scripting beats, rendering TSX compositions and layering voice and captions.
hassancs91/claude-faceless-shorts-creator
Builds a vertical collage-style documentary short from script to render: scene dissection into image layers, layer production, TSX assembly on a collage kit, frame checks and voice.
hassancs91/claude-faceless-shorts-creator
Proposes beat-synced sound effects for a rendered short from a reusable library, then mixes an audition preview under the voice once you approve the plan.
Categories
Generates 2D Remotion-based TSX video files for VidTSX from a shot or scene description, with style presets and rules that keep renders from crashing. tsx` file that VidTSX renders frame by frame as a Remotion composition. A clear single shot is generated directly, while a complex, multi-shot or ambiguous request first gets a one-line confirmation of the breakdown.
VidTSX 2D Video Generator fits situations like: generating a title card or animated clip as a VidTSX TSX file; turning a described scene into a Remotion composition in a chosen style; producing vertical, square or horizontal motion graphics for social platforms.
Run `npx skills add hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a claude-code`. Or copy the skill folder (.claude/skills/vidtsx-2d-generator in hassancs91/claude-faceless-shorts-creator) into .claude/skills/vidtsx-2d-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a codex`. Or copy the skill folder (.claude/skills/vidtsx-2d-generator in hassancs91/claude-faceless-shorts-creator) into .agents/skills/vidtsx-2d-generator 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 hassancs91/claude-faceless-shorts-creator --skill vidtsx-2d-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vidtsx-2d-generator, .gemini/skills/vidtsx-2d-generator, .github/skills/vidtsx-2d-generator and .opencode/skills/vidtsx-2d-generator in your project.
Going by SKILL.md and its folder, VidTSX 2D Video Generator needs the command-line tools its instructions call (node and ffmpeg). Our summary lists: A VidTSX project that renders Remotion compositions.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. Review the folder before installing.
VidTSX 2D Video Generator 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.8k tokens (SKILL.md is roughly 11k 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 611 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with VidTSX 2D Video Generator: Remotion Render via inference.sh (Hainrixz/editor-pro-max, 264 stars), Stitch to Remotion Walkthrough Videos (google-labs-code/stitch-skills, 8.5k stars), Create Remotion Geist (Marve10s/Better-Fullstack, 756 stars) and Remotion to HyperFrames Porter (heygen-com/hyperframes, 60k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hassancs91 (a GitHub user) maintains it in hassancs91/claude-faceless-shorts-creator, which has 271 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 18, 2026.
Source: hassancs91/claude-faceless-shorts-creator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.