跳到正文
cccskills
免费在 GitHub 公开

render-logo-equation-card

Render the logo-equation card ad (7s, 9:16) — partner icon + brand icon joined by a plus sign as an equation, a two-line "= outcome" headline, four numbered steps, and a CTA that hard-cuts in at 2s, on a static black card over timelapse b-roll, no voice. render_card.py draws the two card plates with measured geometry and hard guardrails (the user must confirm the integration is real, no partnership/endorsement/ranking words, no comment-bait CTA, no dashes); compose.py lays the card over the b-roll sped up to read as a timelapse, with an optional bed; measure_motion.py gates the b-roll (a real-time shot reads as a photo). Free, local.

中文简介正在准备中。当前显示原文说明。

集成工具Slack

实测评分 未实测

查看安装方法

包含的文件(7)

  • SKILL.md4.6 KB
  • scripts/_fonts.py1.8 KB
  • scripts/compose.py3.6 KB
  • scripts/measure_motion.py3.2 KB
  • scripts/render_card.py11.3 KB
  • skill.meta.json324 B
  • tests/smoke-test.md522 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

render-logo-equation-card

A card-led format: everything the viewer reads is on a static black card in the top third; under it, b-roll moves like a timelapse to stop the scroll. One animated event: the CTA line hard-cuts in at 2.0s. No voice, no captions, no cuts.

Run

python render_card.py card.json --out-dir work/            # card-no-cta.png, card-with-cta.png
python compose.py --broll broll.mp4 --cards work/ --out ad.mp4 --in 3 --speed 4 [--bed bed.mp3]
python measure_motion.py ad.mp4 --cta-at 2.0              # exit 1 = reject

card.json:

{"logos": ["partner-icon.png", "brand-icon.png"],
 "partner": {"name": "Slack", "integration_confirmed": true},
 "headline": ["= your standup, written", "before anyone opens Slack"],
 "steps": ["1. Connect your Slack workspace", "2. ...", "3. ...", "4. ..."],
 "cta": "Try it free at example.com"}

The Slack standup card above is an illustration of the schema, not a default: the headline, the partner and the steps come from the user's brand and choices.

Choices

The recipe asks these before any paid step; this renderer only draws what card.json and the flags say. The demo's value is an example, never a default:

  • headline_angle — what the "= …" headline promises (time saved, a pain removed, a new ability, one workflow in one place). Sets card.json headline + steps. Demo: time saved ("= your standup, written before anyone opens Slack").
  • broll_subject — what the timelapse b-roll shows (the product in use, the team working, a workspace, customers). Picks the --broll clip and window. Demo: the brand's own footage of work happening.
  • music — the optional --bed (built from the music choice, instrumental, no artist names) or none (ship silent). Demo: driving minimal electronic, ~144 BPM.

Guardrails (enforced by render_card.py)

Two logos side by side already imply a link between the companies. The platform names another brand only as plain co-existence ("works with"), never as an endorsement, partnership or ranking. So:

  1. partner.integration_confirmed: true or no card. Only when the user confirms the product really works with the partner (an integration, a plugin, an import).
  2. No relationship words: partner, partnership, official, endorsed, certified, approved by, recommended by, #1, best. Say what the product does with the partner.
  3. The CTA is the brand's own, never names the partner, and is never comment-bait ("comment X and I'll send the link"): nothing replies to comments.
  4. Exactly two logos (square app icons, partner left), two headline lines starting "= ", four steps of 5-8 words, no em or en dashes. The renderer fails on any of these and on copy that does not fit the card at its real size.
  5. Icons are real files the user supplied or confirmed: the partner's own app icon (from their site or press kit), the brand's from its kit. Never draw or generate a logo.

Rules for the b-roll

  1. It is a TIMELAPSE. A locked-off real-time shot measures ~18x less motion than the reference and reads as a still photo. Use --speed (3-8x) on real footage: the brand's own clip of the product in use, a team at work, a workspace. measure_motion.py rejects a mean under 1.5.
  2. Never use footage lifted from another company's ad, and never restyle one.
  3. Text-to-video cannot make this shot: it renders one moment, so screens and people never change over the clip. If there is no real footage, ask the user for some.
  4. Cover the band (--fit cover, the default); width leaves black around a landscape clip.
  5. Flat, high-contrast screens survive; photographic wallpapers and thumbnail grids smear if the clip was ever generated or restyled.

Audio

Optional --bed (e.g. create-music-elevenlabs, instrumental, 8s), normalised to -15 LUFS with a short fade. An organic post can go out silent and take a track in-platform.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Research supported advertising promises from a specific buyer's context, current product facts, customer language and observed ads. Turn them into static, video or copy ideas; match video ideas to actual recipes and save a product-scoped angle bank for write-video-ad-script. Product-led discovery can use verified facts without reviews. Reference persistence and reach are observations, not proof of performance.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

For paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the copy, on-image or on-screen text, pictures and people. Rewrites what can be fixed honestly, adds the disclosures that are needed, and flags anything that needs a human or legal review, with one pass, fixed or flag line per ad and platform. Use alone when you already have the ad text or images and know where they will run; otherwise run the playbook for the job (e.g. make-static-ads, make-content, email-lifecycle).

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

查看 gooseworks-ai 的全部技能

报告此技能的问题