Auteur
agiwhitelist/auteur
Design and build complete web experiences from scratch — award-level product and marketing pages, cinematic scroll-directed sites where the page is directed like a film, and multi-screen products…
Create cinematic scroll-driven landing pages with Lenis smooth scrolling, GSAP ScrollTrigger, scroll-linked progression, staggered text reveals, sticky card stacks, parallax backgrounds…
$ npx skills add nirholas/three.ws --skill cinematic-scroll-storytelling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nirholas/three.ws cinematic-scroll-storytelling --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/nirholas/three.ws.git skills-src && mkdir -p .claude/skills && cp -r skills-src/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling .claude/skills/cinematic-scroll-storytelling && 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 "cinematic-scroll-storytelling" agent skill from https://github.com/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling into .claude/skills/cinematic-scroll-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cinematic-scroll-storytelling", 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/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytellingType 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 nirholas/three.ws --skill cinematic-scroll-storytelling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nirholas/three.ws cinematic-scroll-storytelling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .agents/skills && cp -r skills-src/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling .agents/skills/cinematic-scroll-storytelling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cinematic-scroll-storytelling" agent skill from https://github.com/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling into .agents/skills/cinematic-scroll-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cinematic-scroll-storytelling", 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 nirholas/three.ws --skill cinematic-scroll-storytelling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nirholas/three.ws cinematic-scroll-storytelling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling .cursor/skills/cinematic-scroll-storytelling && 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 "cinematic-scroll-storytelling" agent skill from https://github.com/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling into .cursor/skills/cinematic-scroll-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cinematic-scroll-storytelling", 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/nirholas/three.ws.git --path third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling--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 nirholas/three.ws --skill cinematic-scroll-storytelling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nirholas/three.ws cinematic-scroll-storytelling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling .gemini/skills/cinematic-scroll-storytelling && 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 "cinematic-scroll-storytelling" agent skill from https://github.com/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling into .gemini/skills/cinematic-scroll-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cinematic-scroll-storytelling", 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 nirholas/three.ws cinematic-scroll-storytellingInstalls 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 nirholas/three.ws --skill cinematic-scroll-storytelling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .github/skills && cp -r skills-src/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling .github/skills/cinematic-scroll-storytelling && 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 "cinematic-scroll-storytelling" agent skill from https://github.com/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling into .github/skills/cinematic-scroll-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cinematic-scroll-storytelling", 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 nirholas/three.ws --skill cinematic-scroll-storytelling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nirholas/three.ws cinematic-scroll-storytelling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling .opencode/skills/cinematic-scroll-storytelling && 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 "cinematic-scroll-storytelling" agent skill from https://github.com/nirholas/three.ws/tree/main/third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling into .opencode/skills/cinematic-scroll-storytelling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cinematic-scroll-storytelling", 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.
cinematic-scroll-storytellingCreate cinematic scroll-driven landing pages with Lenis smooth scrolling, GSAP ScrollTrigger, scroll-linked progression, staggered text reveals, sticky card stacks, parallax backgrounds…
Cinematic Scroll Storytelling is an agent skill from nirholas/three.ws. Create cinematic scroll-driven landing pages with Lenis smooth scrolling, GSAP ScrollTrigger, scroll-linked progression, staggered text reveals, sticky card stacks, parallax backgrounds, scroll-scrubbed transitions, footer reveals, and immersive preloaders. Use when analyzing or building premium editorial scroll experiences, sticky project stacks, kinetic typography, or section-by-section storytelling.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `REFERENCES.md` and `demo/PROMPT.md`).
It sits in Frontend & Design, covering Storytelling, Landing pages and Web animation and motion. It works with GSAP. The repository describes itself as: Open-source platform for 3D AI agents. Turn text or a photo into a rigged, animated GLB avatar, give it an LLM brain, memory and a wallet, and embed it anywhere with one web… The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 66624fb. 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:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, 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.
Cinematic Scroll Storytelling loads about 3k tokens when it runs. Until then it costs about 109 tokens; SKILL.md has 579 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 nirholas/three.ws at commit 66624fb, republished under its Apache-2.0 licence (© nirholas). 579 words, ~2,996 tokens.
.claude/skills/cinematic-scroll-storytelling/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.scrub.scrub: true or scrub: 1.Avoid:
npm i gsap lenisimport Lenis from "lenis";
import "lenis/dist/lenis.css";
import { gsap } from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
gsap.registerPlugin(ScrollTrigger);
const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
if (!reduceMotion) {
const lenis = new Lenis({
lerp: 0.08,
smoothWheel: true,
wheelMultiplier: 0.9,
});
lenis.on("scroll", ScrollTrigger.update);
gsap.ticker.add((time) => {
lenis.raf(time * 1000);
});
gsap.ticker.lagSmoothing(0);
}
window.addEventListener("load", () => ScrollTrigger.refresh());power3.out or power4.out.ease: "none" with scrub: 0.8 to 1.4.0.8s to 1.1s.0.9s to 1.2s.0.035s to 0.07s.0.08s to 0.14s.0.06s to 0.1s.y: 24 to 48.4px to 10px, then 0px.1 down to 0.92.<div class="preloader" data-preloader>
<div class="preloader__bar" data-preloader-bar></div>
</div>
<main>
<section class="hero" data-parallax-section>
<img data-parallax-layer data-speed="-0.18" src="/hero.jpg" alt="">
<h1 data-split-reveal>Design that unfolds with cinematic restraint.</h1>
</section>
<section data-story-section>
<p data-split-reveal="words">Every block arrives with quiet intent.</p>
</section>
<section class="project-stack" data-sticky-stack>
<article data-stack-card>Project One</article>
<article data-stack-card>Project Two</article>
<article data-stack-card>Project Three</article>
</section>
<footer data-footer-parallax>...</footer>
</main>Use a preloader to set the cinematic tone, then hand off into the hero reveal.
function initPreloader() {
const loader = document.querySelector("[data-preloader]");
const bar = document.querySelector("[data-preloader-bar]");
if (!loader) return Promise.resolve();
if (reduceMotion) {
loader.remove();
return Promise.resolve();
}
return new Promise((resolve) => {
const tl = gsap.timeline({
defaults: { ease: "power3.out" },
onComplete: () => {
loader.remove();
resolve();
},
});
tl.fromTo(bar, { scaleX: 0, transformOrigin: "left" }, { scaleX: 1, duration: 1.1 })
.to(loader, { yPercent: -100, duration: 0.9, ease: "power4.inOut" }, "+=0.15");
});
}Use masked overflow containers. Avoid splitting text that contains links or meaningful inline markup.
function splitWords(element) {
if (element.dataset.splitReady === "true") return;
const text = element.textContent || "";
const parts = text.split(/(\s+)/);
element.textContent = "";
element.setAttribute("aria-label", text.trim());
parts.forEach((part) => {
if (!part.trim()) {
element.appendChild(document.createTextNode(part));
return;
}
const mask = document.createElement("span");
const word = document.createElement("span");
mask.className = "split-word-mask";
word.className = "split-word";
word.textContent = part;
mask.setAttribute("aria-hidden", "true");
mask.appendChild(word);
element.appendChild(mask);
});
element.dataset.splitReady = "true";
}
function initSplitReveals() {
if (reduceMotion) {
gsap.set("[data-split-reveal]", { autoAlpha: 1 });
return;
}
gsap.utils.toArray("[data-split-reveal]").forEach((element) => {
splitWords(element);
const words = element.querySelectorAll(".split-word");
gsap.fromTo(
words,
{ yPercent: 110, autoAlpha: 0, filter: "blur(8px)" },
{
yPercent: 0,
autoAlpha: 1,
filter: "blur(0px)",
duration: 0.95,
ease: "power4.out",
stagger: 0.05,
scrollTrigger: {
trigger: element,
start: "top 82%",
once: true,
},
}
);
});
}.split-word-mask {
display: inline-block;
overflow: hidden;
vertical-align: top;
}
.split-word {
display: inline-block;
will-change: transform, opacity, filter;
}Use these for normal sections. They should play once and feel composed, not twitchy.
function initSectionReveals() {
if (reduceMotion) {
gsap.set("[data-story-section], [data-reveal-item]", { autoAlpha: 1, clearProps: "all" });
return;
}
gsap.utils.toArray("[data-story-section]").forEach((section) => {
const items = section.querySelectorAll("[data-reveal-item]");
const targets = items.length ? items : section.children;
gsap.fromTo(
targets,
{ y: 36, autoAlpha: 0, filter: "blur(8px)" },
{
y: 0,
autoAlpha: 1,
filter: "blur(0px)",
duration: 1,
ease: "power4.out",
stagger: 0.08,
scrollTrigger: {
trigger: section,
start: "top 82%",
once: true,
},
}
);
});
}Use scrubbed timelines for cinematic progression. Keep scrubbed animation linear and let the scroll position do the timing.
function initProgressionScenes() {
if (reduceMotion) return;
gsap.utils.toArray("[data-progress-scene]").forEach((scene) => {
const media = scene.querySelector("[data-progress-media]");
const copy = scene.querySelectorAll("[data-progress-copy]");
gsap.timeline({
scrollTrigger: {
trigger: scene,
start: "top top",
end: "+=140%",
scrub: 1.1,
pin: true,
anticipatePin: 1,
},
})
.fromTo(media, { scale: 1.08 }, { scale: 1, ease: "none" })
.fromTo(copy, { autoAlpha: 0, y: 40 }, { autoAlpha: 1, y: 0, stagger: 0.15, ease: "none" }, 0.15);
});
}Use position: sticky for layout, and ScrollTrigger for layered scale/depth. Earlier cards should recede as later cards arrive.
[data-sticky-stack] {
position: relative;
}
[data-stack-card] {
position: sticky;
top: 12vh;
transform-origin: center top;
will-change: transform, opacity;
}function initStickyCardStack() {
if (reduceMotion) return;
gsap.utils.toArray("[data-sticky-stack]").forEach((stack) => {
const cards = gsap.utils.toArray(stack.querySelectorAll("[data-stack-card]"));
cards.forEach((card, index) => {
const nextCard = cards[index + 1];
if (!nextCard) return;
gsap.to(card, {
scale: 0.92 + index * 0.015,
autoAlpha: 0.72,
y: -24,
ease: "none",
scrollTrigger: {
trigger: nextCard,
start: "top 78%",
end: "top 24%",
scrub: true,
invalidateOnRefresh: true,
},
});
});
});
}Use parallax for hero images, background layers, and footer reveals. Keep distance small.
function initParallax() {
if (reduceMotion) return;
gsap.utils.toArray("[data-parallax-layer]").forEach((layer) => {
const speed = Number(layer.dataset.speed || -0.16);
const section = layer.closest("[data-parallax-section]") || layer;
gsap.to(layer, {
y: () => window.innerHeight * speed,
ease: "none",
scrollTrigger: {
trigger: section,
start: "top bottom",
end: "bottom top",
scrub: 1,
invalidateOnRefresh: true,
},
});
});
}Footer parallax reveal:
function initFooterReveal() {
if (reduceMotion) return;
const footer = document.querySelector("[data-footer-parallax]");
if (!footer) return;
gsap.fromTo(
footer,
{ yPercent: -12, autoAlpha: 0.85 },
{
yPercent: 0,
autoAlpha: 1,
ease: "none",
scrollTrigger: {
trigger: footer,
start: "top bottom",
end: "top 45%",
scrub: 1,
},
}
);
}Create a cinematic scroll-driven landing page with smooth Lenis scrolling, GSAP ScrollTrigger animations, staggered text reveals, sticky card stack progression, parallax backgrounds, scroll-scrubbed transitions, section-by-section storytelling, and an immersive preloader animation. Use layered depth, scaling transitions, progressive opacity changes, and smooth viewport-triggered motion for a premium editorial experience.scrub intentionally.ScrollTrigger.refresh() runs after images/fonts/layout shifts.© nirholas, Apache-2.0. 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 4 other files in third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling of nirholas/three.ws.
Open the folder on GitHubat commit 66624fb
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in nirholas/three.ws, which our catalogue first saw on October 7, 2026.
Cinematic Scroll Storytelling 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 |
|---|---|---|---|---|---|---|
| Cinematic Scroll Storytelling this skillnirholas/three.ws | 229 | 1 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Auteuragiwhitelist/auteur | 1k | — | ~5k | Automated safety check: Pass | MIT | |
| Scroll Experiencedavila7/claude-code-templates | 33k | 3 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Scroll ExperiencebenjaminasterA/antigravity-awesome-skills | 377 | 1 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Gsapboraoztunc/skills | 398 | 5 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Motion DesignLottieFiles/motion-design-skill | 2.1k | — | ~3.1k | Automated safety check: Pass | MIT |
agiwhitelist/auteur
Design and build complete web experiences from scratch — award-level product and marketing pages, cinematic scroll-directed sites where the page is directed like a film, and multi-screen products…
davila7/claude-code-templates
Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences.
benjaminasterA/antigravity-awesome-skills
Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences.
boraoztunc/skills
GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.
LottieFiles/motion-design-skill
Applies motion design principles to create emotionally-driven, technically sound animations and transitions.
pixel-point/animate-text
Curated text animation catalog with exact JSON specs for headings, labels, counters, and text swaps.
nirholas/three.ws
Add the Shaders WebGPU mouse effect used for the Tidal Commons hero: a white twinkling halftone cursor trail driven by ChromaFlow, masked through a DotGrid, finished with chromatic ripples and film…
nirholas/three.ws
Package a finished local project into an intentional GitHub repository, create a strong README and visual preview, push it safely, configure a public GitHub Pages URL when the project is compatible…
nirholas/three.ws
Audit a website or digital experience against its supplied source references for originality and plagiarism risk.
nirholas/three.ws
Turn a completed daily UI inspiration capture into exactly five original landing-page builds, one per separate Codex task, using Sites.
nirholas/three.ws
Write, rewrite, review, or continuously refine X/Twitter posts in Meng To's current voice using his deduplicated authored-post corpus, personal and product context, shared resources, and Content…
nirholas/three.ws
Create polished 60 fps 4:3 4K browser screen-recording style videos from Codex in-app browser captures, with browser-only crop, natural macOS cursor styling, deliberate click choreography…
Works with
Categories
Create cinematic scroll-driven landing pages with Lenis smooth scrolling, GSAP ScrollTrigger, scroll-linked progression, staggered text reveals, sticky card stacks, parallax backgrounds…. ws. Create cinematic scroll-driven landing pages with Lenis smooth scrolling, GSAP ScrollTrigger, scroll-linked progression, staggered text reveals, sticky card stacks, parallax backgrounds, scroll-scrubbed transitions, footer reveals, and immersive preloaders.
Cinematic Scroll Storytelling fits situations like: building premium editorial scroll experiences; sticky project stacks; kinetic typography; section-by-section storytelling.
Run `npx skills add nirholas/three.ws --skill cinematic-scroll-storytelling -a claude-code`. Or copy the skill folder (third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling in nirholas/three.ws) into .claude/skills/cinematic-scroll-storytelling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nirholas/three.ws --skill cinematic-scroll-storytelling -a codex`. Or copy the skill folder (third_party/designcode-agent-skills/agent-skills/web-design/cinematic-scroll-storytelling in nirholas/three.ws) into .agents/skills/cinematic-scroll-storytelling 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 nirholas/three.ws --skill cinematic-scroll-storytelling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cinematic-scroll-storytelling, .gemini/skills/cinematic-scroll-storytelling, .github/skills/cinematic-scroll-storytelling and .opencode/skills/cinematic-scroll-storytelling in your project.
Going by SKILL.md and its folder, Cinematic Scroll Storytelling needs the command-line tools its instructions call (npm). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm, 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. Review the folder before installing.
Cinematic Scroll Storytelling is published under the Apache-2.0 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 Cinematic Scroll Storytelling: Auteur (agiwhitelist/auteur, 1k stars), Scroll Experience (davila7/claude-code-templates, 33k stars), Scroll Experience (benjaminasterA/antigravity-awesome-skills, 377 stars) and Gsap (boraoztunc/skills, 398 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nirholas (a GitHub user) maintains it in nirholas/three.ws, which has 229 GitHub stars. The repository holds 92 skills in this directory. The repository was last updated on October 10, 2026.
Source: nirholas/three.ws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.