██████╗ ██████╗ ███████╗███████╗ █████╗ ██╗
██╔══██╗██╔═══██╗██╔════╝██╔════╝██╔══██╗██║
██████╔╝██║ ██║█████╗ █████╗ ███████║██║
██╔══██╗██║ ██║██╔══╝ ██╔══╝ ██╔══██║██║
██║ ██║╚██████╔╝███████╗███████╗██║ ██║██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝
A Claude Code master skill that turns a real business into a social-ready animation, plus the caption that ships with it.
One interview, one finished post. You describe a business, the skill asks eleven questions one at a time, and it produces a rendered animation at the right aspect ratio for the network you chose, with the caption written to match.
It does not reimplement animation or rendering. It owns the brief and the sequencing and delegates every craft decision to the skill that owns it: HyperFrames for composition and motion, Higgsfield for generated imagery, and the motion doctrine skills for seams and choreography.
It is built for client work, which is why its strictest rules are about honesty rather than aesthetics. It never invents a phone number, never fabricates opening hours, and always renders contact details as real text instead of generated pixels.
Every run produces all four, inside videos/<business-slug>/:
| Artifact | What it is |
|---|---|
BRIEF.md | The confirmed interview answers. Written once, never re-asked. |
renders/*.mp4 | The animation at the chosen aspect, correct duration, last frame held. |
CAPTION.md | Post copy, CTA, and hashtags in the video language, per network. |
DELIVERY.md | What to post where, and what the client still owes. |
A run that ends with only an MP4 is incomplete. The caption is half the deliverable.
- Claude Code
- Node.js 18 or newer
- The HyperFrames CLI, pulled on demand with
npx hyperframes - Optional: a Higgsfield account and CLI, needed only for AI-generated imagery. The default engine uses the client's own photos and needs no account.
For every project (recommended):
git clone https://github.com/roeea2/hyperframes_skill.git ~/.claude/skills/business-promoFor one project only:
git clone https://github.com/roeea2/hyperframes_skill.git .claude/skills/business-promoThe directory must be named business-promo so Claude Code discovers it. Start a new session, then confirm it loaded:
/business-promo
Update:
cd~/.claude/skills/business-promo && git pullInvoke it directly, or just describe what you need:
/business-promo
make a promo video for my client's barbershop
I need an Instagram Reel for a pizzeria, in Hebrew
Then answer eleven questions, one per message. Nothing is batched into a wall of questions, and any question your opening message already answered is skipped.
Want it to decide for you? Say "just build it" or "surprise me". Steps 1 to 6 are still asked, because those are facts only you have. Steps 7 to 11 become stated decisions with a one-line reason each.
| # | Step | Asks for |
|---|---|---|
| 1 | Business | Name and what it actually sells |
| 2 | Goal | The one thing the video must make a viewer do |
| 3 | Platform | The network, which derives 1:1, 9:16, or 16:9 |
| 4 | Language | English, Hebrew, Hebrew with a Latin brand name, or two cuts |
| 5 | Details | Which of hours, phone, address, web to show, then the exact strings |
| 6 | Assets | Logo, photos, brand colors, website the client already has |
| 7 | Model | Which generation engine, with plain-language trade-offs |
| 8 | Look | Look and feel preset |
| 9 | Shapes | Shape language |
| 10 | Sound and length | Voiceover, music only, or silent, plus duration |
| 11 | Run shape | Storyboard review first? Collaborative or automated? |
Before building, it runs an integration check: it looks for a consequence the combined answers create that no single answer showed, and raises it with a proposed fix. For example, "Bold Street sets headlines in uppercase, and Hebrew has no uppercase, so I will get the same punch from weight and size instead."
Four engines, explained in outcomes rather than model names. In engines A, B, and C the text layer is always real HyperFrames text, so the phone number is sharp no matter what.
| Engine | Best for | Cost and speed |
|---|---|---|
| A. Designed motion, the client's photos | Any business with real photos. Default. | Free, fastest |
| B. Designed motion, generated backgrounds | No photos, or an abstract service | Cheap, fast |
| C. Generated video b-roll | Premium pieces with a real budget | Costs credits, slowest |
| D. AI presenter or UGC-style ad | When the offer needs a person to sell it | Costs credits, slow |
For a local business, engine A usually beats a glossier generated one. Viewers are deciding whether to walk into that room.
Eight presets, each with a palette, a motion character, and a Hebrew-capable font. The skill offers you the four that fit your business category rather than all eight.
Clean Modern · Bold Street · Warm Artisan · Night Neon · Premium Editorial · Fresh Organic · Tech Grid · Playful Pop
If the client has brand colors, theirs override the preset palette and the preset keeps doing the typography and motion work.
Hebrew is treated as a gate, not a translation. When the video language is Hebrew or any RTL language, the skill loads the RTL typography rules before writing a single line of HTML, ships the Hebrew font subset, and sets direction per element. It also blocks the two failures that pass every automated check and only show up in the finished render:
dir="rtl"on<html>, which renders black frames- uppercase and positive letter-spacing on Hebrew, which quietly breaks the letterforms
- One question per message. No wall of questions.
- Never invent a business fact. Hours, phone, address, and claims come from you only. Missing means omitted and logged, never a plausible placeholder.
- Contact details are real text, never generated pixels. Image models garble digits and destroy Hebrew glyphs.
- No unverifiable claims. "Best in the city" only if you can stand behind it.
- Hebrew loads the RTL gate before authoring.
- Vertical fills the frame. 9:16 uses the full height, never a square layout centered in a tall frame.
- Motion doctrine first. The film is one continuous camera move, not a stack of slides.
- Render is user-gated. It always asks before rendering.
Rule 2 is enforced in code, not just in prose. See below.
The brief validator runs automatically before any build, and you can run it yourself:
node scripts/check-brief.mjs videos/my-client/BRIEF.md
node scripts/check-brief.mjs videos/my-client/BRIEF.md --jsonIt exits non-zero on a missing required field, a canvas that does not match the aspect, Hebrew copy with the RTL flag off, a generation engine with no model id, and any on-screen detail that looks like a placeholder such as 555-0000 or example.com.
ERROR detail "Phone" looks like a placeholder: "03-555-0000" - never ship an invented fact to a client's feed
SKILL.md the interview and orchestration spine
references/
interview.md the eleven steps, verbatim, English and Hebrew
models.md the four engines and the model catalog
looks.md eight presets, palettes, fonts, shape vocabulary
formats.md aspect, safe zones, per-network caption specs
build.md the five-beat skeleton, assets, quality gates
assets/
BRIEF.template.md the brief written after the interview
CAPTION.template.md the caption deliverable
scripts/
check-brief.mjs brief validator, no dependencies
MIT. See LICENSE.
ריאיון אחד, פוסט מוכן אחד. אתה מתאר עסק, הסקיל שואל אחת עשרה שאלות אחת אחרי השנייה, ומייצר אנימציה מרונדרת ביחס הגובה-רוחב הנכון לרשת שבחרת, עם הקאפשן שמתאים לה.
הסקיל לא מממש מחדש אנימציה או רינדור. הוא הבעלים של הבריף ושל סדר הפעולות, ומעביר כל החלטה מקצועית לסקיל שאחראי עליה: HyperFrames לקומפוזיציה ותנועה, Higgsfield לתמונות שנוצרות ב-AI, וסקילי דוקטרינת התנועה לתפרים ולכוריאוגרפיה.
הוא נבנה לעבודה מול לקוחות, ולכן הכללים המחמירים ביותר שלו הם על אמינות ולא על אסתטיקה. הוא אף פעם לא ממציא מספר טלפון, לא בודה שעות פתיחה, ותמיד מרנדר פרטי קשר כטקסט אמיתי ולא כפיקסלים שנוצרו במודל.
כל הרצה מייצרת את ארבעת אלה, בתוך videos/<business-slug>/:
| קובץ | מה זה |
|---|---|
BRIEF.md | תשובות הריאיון המאושרות. נכתב פעם אחת, לא נשאל שוב. |
renders/*.mp4 | האנימציה ביחס שנבחר, באורך הנכון, עם החזקה של הפריים האחרון. |
CAPTION.md | טקסט הפוסט, קריאה לפעולה והאשטגים בשפת הסרטון, לפי הרשת. |
DELIVERY.md | מה לפרסם ואיפה, ומה הלקוח עדיין חייב לספק. |
הרצה שנגמרת רק ב-MP4 היא הרצה לא גמורה. הקאפשן הוא חצי מהתוצר.
- Claude Code
- Node.js גרסה 18 ומעלה
- ה-CLI של HyperFrames, נמשך לפי הצורך עם
npx hyperframes - אופציונלי: חשבון ו-CLI של Higgsfield, נדרש רק לתמונות שנוצרות ב-AI. מנוע ברירת המחדל עובד עם התמונות של הלקוח ולא דורש חשבון.
לכל הפרויקטים (מומלץ):
git clone https://github.com/roeea2/hyperframes_skill.git ~/.claude/skills/business-promoלפרויקט אחד בלבד:
git clone https://github.com/roeea2/hyperframes_skill.git .claude/skills/business-promoשם התיקייה חייב להיות business-promo כדי ש-Claude Code יזהה את הסקיל. פתח סשן חדש, ואז ודא שהוא נטען:
/business-promo
עדכון:
cd~/.claude/skills/business-promo && git pullאפשר להפעיל ישירות, או פשוט לתאר מה צריך:
/business-promo
תעשה סרטון פרסומת למספרה של הלקוח שלי
אני צריך ריל לאינסטגרם לפיצריה, בעברית
ואז עונים על אחת עשרה שאלות, שאלה אחת בכל הודעה. שום דבר לא נדחס לקיר של שאלות, וכל שאלה שההודעה הראשונה שלך כבר ענתה עליה מדולגת.
רוצה שיחליט בשבילך? תגיד "פשוט תבנה" או "תפתיע אותי". שלבים 1 עד 6 עדיין ישאלו, כי אלה עובדות שרק לך יש. שלבים 7 עד 11 הופכים להחלטות מוצהרות עם שורת נימוק לכל אחת.
| # | שלב | מה נשאל |
|---|---|---|
| 1 | העסק | השם ומה הוא באמת מוכר |
| 2 | מטרה | הדבר האחד שהסרטון צריך לגרום לצופה לעשות |
| 3 | פלטפורמה | הרשת, שממנה נגזר 1:1, 9:16 או 16:9 |
| 4 | שפה | אנגלית, עברית, עברית עם שם מותג לטיני, או שתי גרסאות |
| 5 | פרטים | אילו פרטים להציג, ואז המחרוזות המדויקות |
| 6 | חומרים | לוגו, תמונות, צבעי מותג ואתר שכבר יש ללקוח |
| 7 | מודל | באיזה מנוע ייצור, עם היתרונות והחסרונות בשפה פשוטה |
| 8 | מראה | פריסט של מראה ותחושה |
| 9 | צורות | שפה צורנית |
| 10 | סאונד ואורך | קריינות, מוזיקה בלבד או שקט, ומשך |
| 11 | אופן העבודה | מעבר על סטוריבורד קודם? שיתופי או אוטומטי? |
לפני הבנייה מורצת בדיקת הצלבה: הסקיל מחפש תוצאה שנוצרת משילוב התשובות ושאף תשובה בודדת לא חשפה, ומעלה אותה עם הצעת פתרון. למשל, "הפריסט Bold Street מגדיר כותרות באותיות גדולות, ובעברית אין אותיות גדולות, אז אשיג את אותה עוצמה ממשקל וגודל במקום."
ארבעה מנועים, מוסברים לפי התוצאה ולא לפי שמות מודלים. במנועים A, B ו-C שכבת הטקסט היא תמיד טקסט אמיתי של HyperFrames, כך שמספר הטלפון חד בכל מקרה.
| מנוע | הכי מתאים ל | עלות ומהירות |
|---|---|---|
| A. אנימציה מעוצבת עם התמונות של הלקוח | כל עסק עם תמונות אמיתיות. ברירת מחדל. | חינם, הכי מהיר |
| B. אנימציה מעוצבת עם רקעים שנוצרים ב-AI | אין תמונות, או שירות מופשט | זול, מהיר |
| C. קטעי וידאו שנוצרים ב-AI | עבודות פרימיום עם תקציב אמיתי | עולה קרדיטים, הכי איטי |
| D. פרזנטור AI או פרסומת בסגנון UGC | כשצריך אדם שימכור את ההצעה | עולה קרדיטים, איטי |
לעסק מקומי, מנוע A בדרך כלל מנצח גרסה מבריקה יותר שנוצרה ב-AI. הצופים מחליטים אם להיכנס לחדר הזה.
שמונה פריסטים, לכל אחד פלטה, אופי תנועה ופונט שתומך בעברית. הסקיל מציע לך את הארבעה שמתאימים לקטגוריית העסק, ולא את כל השמונה.
Clean Modern · Bold Street · Warm Artisan · Night Neon · Premium Editorial · Fresh Organic · Tech Grid · Playful Pop
אם ללקוח יש צבעי מותג, הם דורסים את פלטת הפריסט, והפריסט ממשיך לעשות את העבודה של הטיפוגרפיה והתנועה.
עברית מטופלת כשער, לא כתרגום. כשהשפה של הסרטון היא עברית או כל שפה ימין-לשמאל, הסקיל טוען את כללי הטיפוגרפיה ל-RTL לפני כתיבת שורת HTML אחת, מוריד את תת-הקבוצה העברית של הפונט, ומגדיר כיווניות ברמת האלמנט. הוא גם חוסם את שני הכשלים שעוברים כל בדיקה אוטומטית ומתגלים רק ברינדור הסופי:
dir="rtl"על תגית<html>, שמייצר פריימים שחורים- אותיות גדולות וריווח אותיות חיובי על עברית, ששוברים בשקט את צורת האותיות
- שאלה אחת בכל הודעה. בלי קיר של שאלות.
- אף פעם לא להמציא עובדה על העסק. שעות, טלפון, כתובת וטענות מגיעים ממך בלבד. חסר פירושו מושמט ומתועד, לא ממלא מקום סביר.
- פרטי קשר הם טקסט אמיתי, לא פיקסלים שנוצרו. מודלים משבשים ספרות והורסים אותיות עבריות.
- בלי טענות שאי אפשר לאמת. "הכי טוב בעיר" רק אם אתה יכול לעמוד מאחורי זה.
- עברית מפעילה את שער ה-RTL לפני הכתיבה.
- וידאו אנכי ממלא את הפריים. 9:16 משתמש בכל הגובה, לא בפריסה ריבועית ממורכזת בתוך פריים גבוה.
- דוקטרינת התנועה קודם. הסרט הוא תנועת מצלמה אחת רציפה, לא ערימת שקפים.
- הרינדור בשליטת המשתמש. תמיד שואל לפני שהוא מרנדר.
כלל 2 נאכף בקוד, לא רק בטקסט. ראה למטה.
בודק הבריף רץ אוטומטית לפני כל בנייה, ואפשר להריץ אותו גם ידנית:
node scripts/check-brief.mjs videos/my-client/BRIEF.md
node scripts/check-brief.mjs videos/my-client/BRIEF.md --jsonהוא מחזיר קוד יציאה שונה מאפס על שדה חובה חסר, קנבס שלא מתאים ליחס, טקסט בעברית עם דגל RTL כבוי, מנוע ייצור בלי מזהה מודל, וכל פרט מסך שנראה כמו ממלא מקום כמו 555-0000 או example.com.
SKILL.md עמוד השדרה של הריאיון והתזמור
references/
interview.md אחת עשרה השאלות, מילה במילה, אנגלית ועברית
models.md ארבעת המנועים וקטלוג המודלים
looks.md שמונה פריסטים, פלטות, פונטים ושפה צורנית
formats.md יחסים, אזורים בטוחים ומפרטי קאפשן לכל רשת
build.md שלד חמשת הפעימות, חומרים ושערי איכות
assets/
BRIEF.template.md הבריף שנכתב אחרי הריאיון
CAPTION.template.md תוצר הקאפשן
scripts/
check-brief.mjs בודק הבריף, בלי תלויות
MIT. ראה LICENSE.
Built with Claude Code · Powered by HyperFrames