Communitygithub.com

devherex/social-safe-zone

确保所有文字、Logo、字幕、CTA按钮和人物面部都位于Instagram Reels、Stories、Feed、TikTok、YouTube Shorts和LinkedIn的安全区域内,适用于制作视频、Reels、轮播图、缩略图或图形设计。

social-safe-zone 是什么?

社交安全区域技能是一个专为社交媒体内容创建者设计的工具,旨在防止平台UI元素(如按钮、字幕和个人资料栏)遮挡重要内容。它支持多种平台和格式,包括Instagram Reels、Stories、Feed、TikTok、YouTube Shorts和LinkedIn,以及9:16、4:5、1080x1920和1080x1350等常见比例。用户只需指定平台和内容布局,该技能可通过预设的JSON配置文件(zones.json)自动计算安全矩形和避免区域,并提供多种集成方式:对于Remotion/React项目,提供TypeScript模板;对于HTML/CSS,提供CSS类;对于Python/Pillow/ffmpeg,提供脚本库;对于Canva、CapCut或Premiere,提供PNG引导图层。该技能还包含验证工具(check_zones.py)和自动修复功能(autofix.py),在交付前对布局JSON或图像/视频进行检测,确保所有关键元素都位于安全区域内,并可视化的覆盖层或预览展示结果。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add devherex/social-safe-zone

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

社交安全区域

平台应用会用按钮、字幕和个人资料栏遮挡画面的一部分,而个人资料网格则会裁剪两侧。任何重要的内容都可能因此被隐藏。这个技能确保这种情况永远不会发生。

所有数据都保存在 zones.json 中。切勿硬编码。列出预设:python scripts/zones_lib.py list。

工作流程(按顺序执行)

  1. 选择预设。 匹配平台:ig-reel、ig-story、ig-story-strict、ig-feed、tiktok、yt-shorts、linkedin-4x5、linkedin-16x9。如果用户未指定平台,则默认使用 ig-reel。如果需要多个平台,先使用最严格的安全区域设计一个主版本,然后检查其他平台。
  2. 读取安全区域。 python scripts/zones_lib.py show <预设名称> 会打印安全矩形和避免框。
  3. 在安全区域内构建内容。
    • 全出血背景和素材可以填满整个画框。
    • 所有重要内容都必须放在安全矩形内:标题、正文、字幕、Logo、面部、CTA按钮、关键产品图。
    • 切勿将任何内容放置在 avoid 框中(Reels:右下角的按钮列)。
    • 字幕应放在安全区域的较低部分,切勿放在底部边缘。
    • 最小文字大小:在1080宽度下为42px。在所有背景上保持高对比度。
    • Reels和Feed:也要将关键内容保持在网格裁剪范围内,以确保个人资料网格缩略图仍然可读。
  4. 使用正确的辅助工具:
    • Remotion / React:templates/SafeZone.tsx 和 templates/zones.ts
    • HTML / CSS:templates/safezone.css(类名如 sz-ig-reel)
    • Python / Pillow / ffmpeg:scripts/zones_lib.py
    • Canva / CapCut / Premiere:将 assets/guides/<预设名称>.png 作为锁定图层拖入
    • 更多详情:references/integrations.md
  5. 交付前验证。
    • 布局JSON(精确):python scripts/check_zones.py layout.json
    • 图像或视频:python scripts/check_zones.py file --preset <预设名称> --overlay check.png(如果存在tesseract则添加 --ocr)
    • 模拟应用预览:python scripts/preview_mock.py frame.png --preset <预设名称> --out mock.png
  6. 修复并重新检查。 python scripts/autofix.py layout.json 可以移动或缩放元素。对于无法重新布局的已完成素材:python scripts/autofix.py fit in.png --preset <预设名称> --out out.png。
  7. 告知用户 结果,一行内说明:使用的预设、PASS或FAIL,以及移动了哪些内容。如果有助于理解,可展示覆盖层或模拟预览。

布局JSON(用于精确检查和自动修复)

{"preset": "ig-reel", "elements": [
  {"id": "headline", "type": "text", "text": "Hello", "x": 60, "y": 300, "w": 700, "h": 90, "size": 90},
  {"id": "logo", "type": "box", "x": 60, "y": 1500, "w": 220, "h": 110},
  {"id": "bg", "type": "box", "x": 0, "y": 0, "w": 1080, "h": 1920, "important": false}
]}

important: false 标记可以溢出安全区域的背景。

规则

  • 如果用户明确要求将内容放在危险区域内,可以执行,但需说明可能会被遮挡。
  • zones.json 中标记为 estimate 的值是社区测量的,非官方数据。对于客户项目应提及这一点,并建议进行测试发布。
  • 如需添加平台或修改数值,仅编辑 zones.json,然后运行 python scripts/export_zones.py css > templates/safezone.css 和 python scripts/make_guides.py --all。

相关技能