masked-reveal
MengTo/Skills · Agent Skill
Utilizza quando si rivela il contenuto con movimento mascherato, transizioni ritagliate o ingressi multistrato.
Vai all'installazione ↓Panoramica
| Autore | |
|---|---|
| Repository | MengTo/Skills ↗ |
| Cartella dello skill | masked-reveal |
| Stelle | 7038 |
| Fork | 819 |
| File inclusi | 5 |
| Licenza | MIT |
| Aggiornato | 25 ottobre 2026 |
| Link | Sorgente dello skill ↗ · Repository ↗ |
Verifica Mozgi
Cosa abbiamo trovato nei file dello skill. I dettagli con l’abbonamento.
Installazione
Uno skill è una cartella con un file SKILL.md. Scegli il tuo agente ed esegui i comandi in un terminale (macOS, Linux o Git Bash su Windows) dalla radice del progetto.
Incolla il prompt in Claude, Codex o un altro assistente: controllerà lo skill e lo installerà.
Install the “masked-reveal” skill from mozgi.io (https://mozgi.io/skills/mengto-masked-reveal/) for me. 1. Download the archive: https://mozgi.io/skills/mengto-masked-reveal/download If it fails, take the skill folder from the source: https://github.com/MengTo/Skills/tree/main/agent-skills/web-design/masked-reveal 2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me. 3. Put the “masked-reveal” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.). 4. Make sure <skills folder>/masked-reveal/SKILL.md exists. 5. Briefly tell me what this skill does and offer to try it on my task. If you cannot do a step yourself, tell me what to click or type.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .claude/skills cp -r /tmp/Skills/agent-skills/web-design/masked-reveal .claude/skills/masked-reveal
Riavvia Claude Code: lo skill compare nell'elenco; per richiamarlo a mano usa /masked-reveal. Per tutti i progetti: ~/.claude/skills.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .agents/skills cp -r /tmp/Skills/agent-skills/web-design/masked-reveal .agents/skills/masked-reveal
Codex cerca gli skill in .agents/skills dalla cartella corrente fino alla radice del repo; richiamalo con /skills o $masked-reveal. Per tutti i progetti: ~/.agents/skills.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .cursor/skills cp -r /tmp/Skills/agent-skills/web-design/masked-reveal .cursor/skills/masked-reveal
Cursor carica lo skill all'avvio; richiamalo con “/” nella chat Agent. Cursor legge anche .claude/skills e .agents/skills. Per tutti i progetti: ~/.cursor/skills.
git clone --depth 1 --branch main https://github.com/MengTo/Skills.git /tmp/Skills mkdir -p .gemini/skills cp -r /tmp/Skills/agent-skills/web-design/masked-reveal .gemini/skills/masked-reveal
Gemini CLI propone di attivare lo skill quando il compito corrisponde: tu confermi. Per tutti i progetti: ~/.gemini/skills.
Leggi SKILL.md e i file correlati prima di installare. Clicca un file per l'anteprima.
Contenuto di SKILL.md
Testo originale dell'autore · sola letturaMasked Reveal
Use When
- A headline or short text block needs a premium reveal on scroll.
- Words should rise through an invisible mask with a staggered sequence.
- The project already uses GSAP or needs ScrollTrigger-based motion.
Motion Defaults
- Trigger: start when the text top reaches
82%of the viewport. - Duration:
0.7sto0.9s. - Stagger:
0.025sto0.045sper word. - Offset:
yPercent: 110to0. - Ease:
power3.outorexpo.out. - Replay: reveal once by default.
HTML
<h1 class="masked-reveal" data-masked-reveal>
Design systems that feel alive from the first scroll.
</h1>
CSS Mask
.masked-reveal {
visibility: visible;
}
html.js .masked-reveal[data-masked-reveal] {
visibility: hidden;
}
html.js .masked-reveal.is-split {
visibility: visible;
}
.masked-reveal .word-mask {
display: inline-block;
overflow: hidden;
vertical-align: top;
}
.masked-reveal .word {
display: inline-block;
transform: translateY(110%);
will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
html.js .masked-reveal[data-masked-reveal] {
visibility: visible;
}
.masked-reveal .word {
transform: none;
}
}
GSAP ScrollTrigger
This helper avoids the paid SplitText plugin and keeps spaces intact.
document.documentElement.classList.add("js");
gsap.registerPlugin(ScrollTrigger);
function escapeHTML(value) {
return value
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
function splitMaskedReveal(element) {
if (element.dataset.maskedRevealReady === "true") return;
const text = element.textContent.trim();
element.setAttribute("aria-label", text);
element.innerHTML = text
.split(/(\s+)/)
.map((part) => {
if (!part.trim()) return part;
return `<span class="word-mask" aria-hidden="true"><span class="word">${escapeHTML(part)}</span></span>`;
})
.join("");
element.dataset.maskedRevealReady = "true";
element.classList.add("is-split");
}
function initMaskedReveals(selector = "[data-masked-reveal]") {
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
document.querySelectorAll(selector).forEach((element) => {
splitMaskedReveal(element);
const words = element.querySelectorAll(".word");
gsap.set(element, { autoAlpha: 1 });
gsap.fromTo(
words,
{ yPercent: 110 },
{
yPercent: 0,
duration: 0.8,
ease: "power3.out",
stagger: 0.035,
scrollTrigger: {
trigger: element,
start: "top 82%",
once: true,
},
}
);
});
}
initMaskedReveals();
React Cleanup Pattern
useLayoutEffect(() => {
const ctx = gsap.context(() => {
initMaskedReveals("[data-masked-reveal]");
}, rootRef);
return () => ctx.revert();
}, []);
Taste Rules
- Use on short headlines, labels, and section intros; avoid long paragraphs.
- Keep the vertical offset clean. Do not combine with blur unless the style explicitly calls for it.
- Stagger by word, not letter, for a calmer editorial feel.
- Initialize after fonts are loaded if line wrapping is critical.
- Use
ScrollTrigger.refresh()after late-loading images or layout shifts. - Do not split text that contains links, buttons, or meaningful inline markup.
Quick Checks
- Text is hidden before GSAP initializes, then becomes visible with
autoAlpha: 1. - Screen readers get the original full text through
aria-label. - Spaces between words are preserved.
- Reduced-motion users see static text.
- ScrollTrigger is cleaned up in SPA routes.
Domande frequenti
Che cosa fa lo skill masked-reveal?
Utilizza quando si rivela il contenuto con movimento mascherato, transizioni ritagliate o ingressi multistrato.
Come si installa masked-reveal?
Apri il blocco “Installazione” in questa pagina e scegli il tuo agente — Claude Code, Codex, Cursor o Gemini CLI — per i comandi pronti che copiano la cartella dello skill nel posto giusto. Oppure copia il prompt dalla scheda “Con l'assistente” e lascia che sia l'assistente a controllare e installare lo skill.
Con quali modelli AI funziona masked-reveal?
Gli skill sono semplici istruzioni in Markdown (formato Agent Skills), quindi masked-reveal funziona con qualsiasi agente che legge SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode e altri. Il modello carica le istruzioni solo quando il compito corrisponde alla descrizione dello skill.
masked-reveal è gratuito?
Lo skill è pubblicato apertamente da MengTo con licenza MIT. Lo skill in sé non costa nulla: paghi solo il tuo fornitore AI per i token usati.
È sicuro installare gli skill?
Uno skill è un insieme di istruzioni che il tuo agente seguirà: leggi SKILL.md e i file correlati prima di installarlo. Gli script nella cartella dello skill vengono eseguiti solo se li esegue l'agente: controlla cosa fa e non concedere permessi superflui.
In cosa differisce uno skill da un server MCP o da un plugin?
Un server MCP o un plugin danno al modello nuovi strumenti: codice che viene eseguito e restituisce un risultato. Uno skill fornisce conoscenza e metodo: come affrontare il compito, quali passi seguire e com'è un buon risultato. Non servono server né chiavi API.