Yuv Viral Video
hoodini/ai-agents-skills
Edit any selfie or screen-share footage into a viral short-form video in YUV.AI's signature style — Apple-style liquid-glass cards (real CSS backdrop-filter), dark-mode polish, MrBeast-paced cuts…
Build a Vietnamese vertical TikTok explainer in the "MỔ XẺ PAPER AI" (AI paper dissection) format with HyperFrames (HTML/CSS/GSAP → MP4), Noti.vn style.
$ npx skills add notivn/AIEV --skill noti-tiktok-full-text -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install notivn/AIEV noti-tiktok-full-text --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/notivn/AIEV.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/noti-tiktok-full-text .claude/skills/noti-tiktok-full-text && 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 "noti-tiktok-full-text" agent skill from https://github.com/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-text into .claude/skills/noti-tiktok-full-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "noti-tiktok-full-text", 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/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-textType 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 notivn/AIEV --skill noti-tiktok-full-text -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install notivn/AIEV noti-tiktok-full-text --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notivn/AIEV.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/noti-tiktok-full-text .agents/skills/noti-tiktok-full-text && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "noti-tiktok-full-text" agent skill from https://github.com/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-text into .agents/skills/noti-tiktok-full-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "noti-tiktok-full-text", 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 notivn/AIEV --skill noti-tiktok-full-text -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install notivn/AIEV noti-tiktok-full-text --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notivn/AIEV.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/noti-tiktok-full-text .cursor/skills/noti-tiktok-full-text && 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 "noti-tiktok-full-text" agent skill from https://github.com/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-text into .cursor/skills/noti-tiktok-full-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "noti-tiktok-full-text", 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/notivn/AIEV.git --path .claude/skills/noti-tiktok-full-text--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 notivn/AIEV --skill noti-tiktok-full-text -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install notivn/AIEV noti-tiktok-full-text --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notivn/AIEV.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/noti-tiktok-full-text .gemini/skills/noti-tiktok-full-text && 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 "noti-tiktok-full-text" agent skill from https://github.com/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-text into .gemini/skills/noti-tiktok-full-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "noti-tiktok-full-text", 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 notivn/AIEV noti-tiktok-full-textInstalls 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 notivn/AIEV --skill noti-tiktok-full-text -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/notivn/AIEV.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/noti-tiktok-full-text .github/skills/noti-tiktok-full-text && 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 "noti-tiktok-full-text" agent skill from https://github.com/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-text into .github/skills/noti-tiktok-full-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "noti-tiktok-full-text", 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 notivn/AIEV --skill noti-tiktok-full-text -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install notivn/AIEV noti-tiktok-full-text --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notivn/AIEV.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/noti-tiktok-full-text .opencode/skills/noti-tiktok-full-text && 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 "noti-tiktok-full-text" agent skill from https://github.com/notivn/AIEV/tree/main/.claude/skills/noti-tiktok-full-text into .opencode/skills/noti-tiktok-full-text/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "noti-tiktok-full-text", 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.
noti-tiktok-full-textBuild a Vietnamese vertical TikTok explainer in the "MỔ XẺ PAPER AI" (AI paper dissection) format with HyperFrames (HTML/CSS/GSAP → MP4), Noti.vn style.
Noti Tiktok Full Text is an agent skill from notivn/AIEV. Build a Vietnamese vertical TikTok explainer in the "MỔ XẺ PAPER AI" (AI paper dissection) format with HyperFrames (HTML/CSS/GSAP → MP4), Noti.vn style. N text scenes + PDF paper-page scenes, every piece of text a real HTML element (reveal/count-up/red highlight), animated captions, stat callouts, comparison tables, pull-quotes. Picks sound effects itself by content + timestamp from the assets/sound-effects/ library (tag hay-dung) and wires them into the video. The fix for Vietnamese text losing diacritics is…
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Motion graphics, Video production and Web animation and motion. It works with TikTok, HeyGen and GSAP. The repository describes itself as: Automatic AI video editing. Claude directs HyperFrames (HTML + GSAP motion graphics) and Remotion (timeline assembly) to turn raw footage into a finished MP4 - transcript… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e40fe03. 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:
npxffmpegwingetnpmFrom 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:
fonts.googleapis.comFrom 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.
Noti Tiktok Full Text loads about 4.8k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 2,361 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 notivn/AIEV at commit e40fe03, republished under its MIT licence (© notivn). 2,361 words, ~4,794 tokens.
.claude/skills/noti-tiktok-full-text/SKILL.md (or your agent's skills folder).If the edit prompt contains a "STYLE DESIGN (BẮT BUỘC TUÂN THỦ 100%)" section: the palette, fonts and tone in that section COMPLETELY REPLACE every color/font/branding rule in this skill (including "dark fintech blue", the GĐT hex values, the default gradient...). Keep only: animation technique, layout, cutting rhythm, render workflow, the bug fixes. Illustrations generated through /api/illustrations must pass the correct styleId in the prompt. NO Style Design section → use the skill's default branding.
If the edit prompt ALSO contains a "PHONG CÁCH DỰNG" (video style) section: that section WINS over this skill for ALL visual and motion language - materials, transitions, camera moves, effects. This skill then keeps only PROCESS: step order, cutting, captions/keys, draft→final, QC. Do not mix the skill's default visuals into the video style - half-and-half is exactly the failure this rule exists to prevent.
Build a Vietnamese vertical explainer with HyperFrames (HTML/CSS/JS + GSAP → MP4). All text is a real HTML element so it can be animated and stays razor sharp. There are text scenes and PDF paper-page scenes.
⚡ Read this whole file before building. Every ⚠️ section is a bug already hit & already fixed - do NOT repeat it. Project structure: scaffold with
npx hyperframes init, then follow the layout in thevideo-pipelineskill (index.html+compositions/+assets/+renders/+hyperframes.json+meta.json). (video-projects/sapo/is an example project on the author's machine, NOT shipped with the repo -video-projects/is gitignored.)
HyperFrames video editor. Compose HTML/CSS/JS, animate with GSAP, render a vertical MP4. Genre: "MỔ XẺ PAPER AI" - a vertical explainer, Noti.vn style.
<template> + data-composition-src), declaring data-start/data-duration/data-track-index.bottom: ~372px.display=block. Embed via Google Fonts - the HyperFrames renderer fetches + caches it and injects a deterministic @font-face on its own:<link href="https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=block&subset=vietnamese" rel="stylesheet"><meta charset="UTF-8">, <html lang="vi">, font-display: block.font-family: "Be Vietnam Pro","Inter",sans-serif; - do NOT end on a bare sans-serif.Vấn đề: càng siết càng tệ - ƯỢ Ễ Ỹ ặ ậ ề thiết kế ngữ cảnh. If you see boxes or missing marks, fix the font before anything else.Text using background-clip:text; color:transparent (blue gradient headings) CLIPS TALL STACKED DIACRITICS (Ẫ Ể Ấ Ữ Ổ Ợ…) because the marks stick out above the fill box. padding-top: 0.14em IS NOT ENOUGH - it must be 0.5em. Apply it to EVERY gradient text line:
.heading-grad {
background: linear-gradient(100deg,#0061ff,#00c2ff);
-webkit-background-clip: text; background-clip: text; color: transparent;
line-height: 1.0; padding-top: 0.5em; padding-bottom: 0.14em;
}Plain white/solid-color text (no background-clip) does NOT have this bug - only gradient text needs fixing. When verifying: zoom 3× into the glyphs with stacked marks to check.
Captions (and any text placed at the same spot) when the video is spoken continuously with no pauses: the previous line has not finished fading out when the next one fades in → they stack, the text turns to mush. Fix: PRE_ROLL = 0, the previous line goes fully off exactly when the next appears:
const inAts = SEGMENTS.map(s => Math.max(s.words[0].start, 0));
// fadeInAt = inAts[i];
// fadeOutAt = (i<n-1) ? Math.max(segEnd+0.02, inAts[i+1] - FADE_OUT) : segEnd + POST_HOLD;Pull an extra frame right at the BOUNDARY between two caption lines.
<h1>/<p>/<span> - do NOT bake text into images, no PNGs with text already in them.Every sub-comp (data-composition-src) renders in its own context, inheriting NOTHING from the master:
<script src=".../gsap@3.14.2/dist/gsap.min.js">.<link> (inside the <template>).:root CSS vars inside a sub-comp - use literal values (hex/gradient written out).Backgrounds:
#0A0E1A → #0F1629 (radial/linear gradient), 1–2 blue blobs (#0061ff,#00c2ff) at blur 120px drifting slowly in parallax, grain noise at opacity ~0.04, vignette.Color:
#F5F7FA. Secondary/already-read text grey #6E7787.#0061ff → #00c2ff via background-clip:text (remember the 0.5em padding fix).#FF4D2E for bad numbers, hot keywords in captions, arrows.rgba(255,77,46,0.18) with a 6px radius (replacing the yellow highlighter), animated as a left→right sweep over 0.6s with clip-path.rgba(255,255,255,0.06), backdrop-filter: blur(20px), 16–20px radius, edge drawn by box-shadow:
inset 0 1px 0 rgba(255,255,255,0.18), inset 0 0 0 1px rgba(255,255,255,0.05), 0 18px 50px rgba(0,0,0,0.45).Type: headings 800–900 (keywords in blue gradient/white); figures 900, 140–200px (bad numbers in orange-red); captions 700 + a light black text-shadow.
<img> in a <div> and animate the WRAPPER (never animate width/top/left directly on an img/video).clip-path sweep.power3.out.clip-path: inset(0 100% 0 0) → inset(0 0% 0 0).setTimeout/Date.now()/Math.random() - GSAP timeline only (deterministic). Every animation locked to the FPS.Standard layout: the background (ambient-bg) is one sub-comp running continuously end to end on its own track behind everything; each text scene is a transparent layer (no background of its own). Because the background is continuous, the transition only animates the text, no background crossfade needed.
power2.in:// applies to the scene's content wrapper + page counter (EXCEPT the final outro scene - no exit there)
tl.to([sel(".sX-wrap"), sel(".counter")],
{ opacity: 0, y: -16, filter: "blur(10px)", duration: 0.32, ease: "power2.in" }, EXIT_AT);EXIT_AT so that EXIT_AT + 0.32 ≈ data-duration of the scene. Still pad with tl.set({}, {}, DUR) at the end (Law 11).blur(8–12px). Verify: extract a frame mid exit move with an accurate seek, ffmpeg -i in.mp4 -ss <t> -frames:v 1 (put -ss AFTER -i; -ss before -i fast-seeks to a keyframe → you miss the move and wrongly conclude the blur is not running).Add SFX to punctuate the video (figures, reveals, scene changes, punchlines). Take them from the pre-curated library:
assets/sound-effects/ - from inside a project: ../../assets/sound-effects/. The recommended set = the entries tagged hay-dung in assets/sound-effects/library.json. Skip any entry whose file is not on disk - library.json still lists a few files that are not shipped with the repo.
The exact <audio id="sfx-*"> wiring is in "Wiring technique (HyperFrames)" below.
data-start = the exact EVENT beat (the number starting its count-up / the text starting its reveal / the scene cut frame), NOT the vague start of the scene.assets/sound-effects/)| Content context | File |
|---|---|
| good numbers / score / positive reveal / correct tick | ding.mp3, ting.wav |
| money / profit / cost / "tỷ", "doanh thu", "$" | ka-ching.mp3, money.mp3, buy.mp3 |
| text/element popping in, light transition | pop.mp3 |
| snapshot/image/screenshot / a PDF paper scene appearing | camera-snap.wav, camera-flash-1.wav |
| bad numbers / wrong / warning / "tệ", "giảm", "lỗi" | error.mp3 |
| shock reveal / wow / surprise | anime-wow-1.mp3 |
| typing / code / data entry | mechanical-keyboard.mp3, iphone-typing.mp3 |
| UI click / selection / button press | click-button.mp3, mouse-click.mp3 |
| comedic punchline / sarcasm / light fail | dry-fart.mp3, fart-echo.mp3, duck-toy.mp3, jontron-what.mp3 |
| "ăn" / swallowing / merging / consuming | chomp.mp3 |
(.wav and .mp3 both work - the right meaning matters more than the format.)
assets/sfx/ (keeps the project portable - do NOT let src point outside the project folder).<audio> in the root composition, next to the narration <audio>. ⚠️ NO class="clip" on <audio> (Render Contract - it breaks audio):<audio id="sfx-stat1" data-start="12.46" data-duration="2.0" data-track-index="6" data-volume="0.5" src="assets/sfx/ka-ching.mp3"></audio>data-track-index (e.g. 4,5,6,…) - clips on the same track must NOT overlap in time. Narration is on track 0; SFX use tracks 4 and up (so they never collide with the visual scene tracks).data-volume 0.4–0.6 (under the narration at 1.0) so they never bury the voice. Comedic/punch SFX can go 0.55–0.65.data-duration long enough for the SFX to finish ringing (1–3s); too short and it gets cut off. It does not need to match the scene length.winget install Gyan.FFmpeg. The PATH change only applies to NEW shells → when calling npx hyperframes you must prepend the bin to $env:Path inline.npm install at the repo root; npx hyperframes browser ensure.npx hyperframes transcribe needs an external whisper-cpp + an .en English-only model → do NOT use it for Vietnamese.large-v3, language="vi", word_timestamps=True (in Python: sys.stdout.reconfigure(encoding="utf-8")). Prefer device="cuda", compute_type="float16" (on a GTX 1660: twice as fast, and it frees the CPU), with a try/except fallback to device="cpu", compute_type="int8". Extract the audio: ffmpeg -i in.mp4 -vn -ac 1 -ar 16000 audio.wav. Fix Whisper's misheard proper nouns (e.g. Anthopix→Anthropic, Cloudy→Claude).ffmpeg filter_complex trim+concat several stretches into a re-encoded face.mp4; remap the word timestamps (new = orig - accumulated shift); generate captions grouped by punctuation / speech pause (gap > ~0.38s) / max 7 words.
id, data-composition-id, data-start="0", data-width, data-height.class="clip" (EXCEPT <video>/<audio>), plus data-start/data-duration/data-track-index. Clips on the same track must NOT overlap in time (watch out for float rounding - leave a ~0.04s margin).<video> must be muted; audio goes in its own <audio>. Do NOT animate width/height/top/left on a <video>/<img> - wrap it in a div and animate the wrapper (scale transforms are fine).paused timeline on window.__timelines["<data-composition-id>"] (the key must match exactly). Comp duration = tl.duration(). Pad the full slot: tl.set({}, {}, DUR) at the end of every timeline (Law 11 - shorter than data-duration → black frames).assets/sound-effects/ (prefer the hay-dung tag in library.json) → copy into assets/sfx/ → present the SFX table to the user for approval (timecode | event | file | volume).npx hyperframes lint (0 errors; the self-selector/google-fonts/font-face warnings are benign).--quality standard.video-projects/<project>/)$bin="...\ffmpeg-...\bin"; $env:Path="$bin;$env:Path"
npx hyperframes lint
npx hyperframes compositions
npx hyperframes render --quality draft --output renders/draft.mp4
npx hyperframes render --quality standard --output renders/final.mp4
# verify diacritics: ffmpeg -ss <t> -i renders/draft.mp4 -frames:v 1 -vf "crop=700:340:60:260,scale=1400:680:flags=neighbor" out.png → Read out.png
# copy an SFX into the project: cp ../../assets/sound-effects/<file> assets/sfx/
# verify SFX: ffmpeg -ss <t> -i renders/draft.mp4 -t 4 -vn out.wav → listen that the SFX lands on its beat and never buries the narrationrenders/final.mp4 is NOT the finished product. Continue with the video-pipeline skill: automated QC on the draft → assemble final via the render queue (Remotion) → outputs/<id>-v<N>.mp4 → update meta.json (status + output) → thumbnail/publish. Report to the user: a timeline table: scene | duration | component | content + an SFX table: timecode | event | file | volume. Clean up the temporary draft/test files when you are done.
© notivn, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/noti-tiktok-full-text of notivn/AIEV.
Open the folder on GitHubat commit e40fe03
Noti Tiktok Full Text 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 |
|---|---|---|---|---|---|---|
| Noti Tiktok Full Text this skillnotivn/AIEV | 127 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Yuv Viral Videohoodini/ai-agents-skills | 282 | — | ~7.5k | Automated safety check: Notes | None | |
| HyperFrames Animationheygen-com/hyperframes | 60k | 3 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| ShowtimeFavioVazquez/showtime | 220 | — | ~3k | Automated safety check: Pass | MIT | |
| Motion Adfabricioctelles/skills | 106 | — | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| SVG Character Animationcalesthio/OpenMontage | 66k | — | ~421 | Automated safety check: Pass | MIT |
hoodini/ai-agents-skills
Edit any selfie or screen-share footage into a viral short-form video in YUV.AI's signature style — Apple-style liquid-glass cards (real CSS backdrop-filter), dark-mode polish, MrBeast-paced cuts…
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
FavioVazquez/showtime
A skill your agent uses when the user wants a video made, edited or finished: a launch or promo, product demo, explainer, trailer or teaser, tutorial or walkthrough, a screen recording turned into a…
fabricioctelles/skills
Produce a short motion-graphics video ad — a 15s Facebook/Instagram/TikTok spot — as a rendered MP4.
calesthio/OpenMontage
Animate SVG character rigs with GSAP, CSS transforms, Remotion frame control, and HyperFrames-compatible browser previews.
Varnan-Tech/opendirectory
Generates a high-energy sizzle reel or hype video (MP4) from brand assets and key messages.
notivn/AIEV
Pick background music from the assets/music/ library and configure auto-ducking (music dips automatically under speech) via meta.json audio.music for the Remotion assembly layer.
notivn/AIEV
Color grading video in the AI Edit Video system - delog/tonemap HDR-HLG-log footage, apply the color preset the user approved in the UI, and the visual verification workflow.
notivn/AIEV
The standard for writing new skills for the AI Edit Video system - file structure, frontmatter, tone of voice, and how to accumulate production lessons into skills.
notivn/AIEV
Edit a Vietnamese vertical TikTok video (9:16) with HyperFrames following the Noti.vn/GĐT standard - talking-head + kinetic typography + karaoke captions + zoom/punch-in camera + timestamp-synced…
notivn/AIEV
Build a Vietnamese landscape 16:9 YouTube video (1920×1080) with HyperFrames (HTML/CSS/GSAP → MP4), keeping the Noti.vn/GĐT branding inherited from noti-tiktok-vn.
notivn/AIEV
Build and iterate short-form vertical (9:16) videos in Hyperframes - TikTok/Reels/Shorts style.
Categories
Build a Vietnamese vertical TikTok explainer in the "MỔ XẺ PAPER AI" (AI paper dissection) format with HyperFrames (HTML/CSS/GSAP → MP4), Noti.vn style. Noti Tiktok Full Text is an agent skill from notivn/AIEV.vn style.
Noti Tiktok Full Text fits situations like: the user brings a transcript + paper page images + figures and wants a paper dissection/explainer video; tasks that involve Motion graphics; tasks that involve Video production.
Run `npx skills add notivn/AIEV --skill noti-tiktok-full-text -a claude-code`. Or copy the skill folder (.claude/skills/noti-tiktok-full-text in notivn/AIEV) into .claude/skills/noti-tiktok-full-text in your project. Claude Code loads it when a task matches its description.
Run `npx skills add notivn/AIEV --skill noti-tiktok-full-text -a codex`. Or copy the skill folder (.claude/skills/noti-tiktok-full-text in notivn/AIEV) into .agents/skills/noti-tiktok-full-text 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 notivn/AIEV --skill noti-tiktok-full-text -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/noti-tiktok-full-text, .gemini/skills/noti-tiktok-full-text, .github/skills/noti-tiktok-full-text and .opencode/skills/noti-tiktok-full-text in your project.
Going by SKILL.md and its folder, Noti Tiktok Full Text needs the command-line tools its instructions call (npx, ffmpeg, winget and npm). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: fonts.googleapis.com; the agent is likely to contact it 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. Review the folder before installing.
Noti Tiktok Full Text is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.8k tokens (SKILL.md is roughly 19k 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 Noti Tiktok Full Text: Yuv Viral Video (hoodini/ai-agents-skills, 282 stars), HyperFrames Animation (heygen-com/hyperframes, 60k stars), Showtime (FavioVazquez/showtime, 220 stars) and Motion Ad (fabricioctelles/skills, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
notivn (a GitHub organization) maintains it in notivn/AIEV, which has 127 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 9, 2026.
Source: notivn/AIEV on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.