cyxj-ai-weekly-news — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cyxj-ai-weekly-news (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
陈与小金每周 AI 热点视频栏目的固化制作流程。
固定项目位置:
~/项目/试验区/ai-weekly-flash-video后续所有命令默认在此目录下执行。
| 项目 | 当前定值 |
|---|---|
| 视频标题/封面 | 每周 AI 热点汇总 |
| 主 IP | 陈与小金 |
| 时长目标 | 约 3 分钟(180s ± 30s) |
| 画幅 | 1440×1080 编辑,导出升 4K 2880×2160 |
| 帧率 | 30 fps |
| 入选条数 | 8-12 条(第一期 21 条偏密,下期硬切) |
| 主 Composition | AIWeeklyFlash43 |
如果用户在对话里说出别的栏目名("AI 每周资讯"、"每周 AI 快讯"等),指出名字漂移并提醒以"每周 AI 热点汇总"为准,不要静默接受。
CLAUDE.md 的"视觉模板设计禁区"和"流程禁区"。docs/声音克隆与AI周报视频制作流程.md 已废弃,只参考 docs/制作SOP.md。每步标 AI 做 或 用户做。AI 在 用户做 的步骤上只能等、不能代办。
抓本周(周一-周日)AI 圈热点候选 ≥ 20 条,整理成一份候选清单,每条带:
抓取时优先用:grok-search 的 web_search(带 extra_sources=2) + Tavily web_fetch 钉事实。关键事实需要两源交叉验证。详见用户全局 CLAUDE.md 的"证据协议"。
候选清单输出给用户后停,等用户从中选 8-12 条 + 排顺序。
用户会:
<slug>.png 命名后放到 public/screenshots/AI 在这一步只能等。可以提醒用户截图命名要跟 Step 3 NEWS 数组的 image 字段一致(小写连字符)。
按用户给的入选清单 + 截图文件名,覆盖 src/Composition.tsx 第 30 行起的 NEWS 数组。
每条结构(参考 references/news-template.md):
{
day: "05.18",
company: "OpenAI x Dell",
title: "Codex 进入企业混合和本地环境",
line: "Codex 不再只是写代码工具,而是企业内部的自动化执行层。",
source: "OpenAI",
region: "GLOBAL",
image: "openai-dell.png",
subtitleRange: null as [number, number] | null, // Step 7 填
// 可选:video: "01_io.mp4" / tweet: "anthropic-stainless"
}subtitleRange 先全部留 null,等 Step 7 用户拿到 SRT 后再填。
参考 references/voiceover-template.md 的写作规则:
那么第一件事 / 第二件事 / 接下来 / 同天 / 同时 把新闻串起来OK,我是陈与小金。每周 AI 热点,每周一期,我们下周再见写好后保存到 docs/voiceover-script-zh.md,让用户审阅修改。
用户在达芬奇里录制旁白(或导入预录音频)。AI 等待用户确认录制完成。
用户在达芬奇里:
docs/transcripts/voiceover.fixed.srtpublic/audio/voiceover.wav(48000Hz 双声道)详见 references/davinci-srt-export.md。
AI 等用户告知"已导出"再继续。
用户操作:打开 docs/transcripts/voiceover.fixed.srt,数一下每条新闻对应第几句到第几句,回到 src/Composition.tsx 把每条 NEWS 的 subtitleRange 从 null 改成 [start, end](1-indexed)。
不入画的新闻保留 null。
AI 操作:
node scripts/build-schedule.mjs会生成 src/schedule.generated.ts,包含:
AUDIO_DURATION_SECOUTRO_43_START_SECSCHEDULE_43_RAWSUBTITLES_43_RAW⚠️ 第二期切换提示:第一期 Composition.tsx 里这 4 个常量是手工硬编码的。第二期开始前需要把 Composition.tsx 改成 import 这 4 个值。让用户确认后再改 Composition.tsx,不要静默替换。
node scripts/check-assets.mjs核对截图齐不齐、命名对不对、音频/SRT 在不在。失败立刻停下,回到对应步骤补。
核对通过:
npm run dev让用户在浏览器里看 1-2 遍 AIWeeklyFlash43,重点核对:
不要让用户口头确认"应该没问题"——必须真看一遍预览。
用户预览点头后:
npx remotion render AIWeeklyFlash43 out/aiweekly-v$(date +%Y%m%d)-4k.mp4文件名带日期方便归档。渲染 5-10 分钟,输出约 200MB。
渲染完简单核验:
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height,nb_frames,duration \
-of default=noprint_wrappers=1 \
out/aiweekly-v<日期>-4k.mp4期望:width=2880 / height=2160 / duration ≈ 180s ± 30s。
每期渲染完后提醒用户:
CLAUDE.md 的"视觉模板设计禁区"或"流程禁区"docs/制作SOP.md 里更新 SOP不要主动改,提醒就好。改不改用户决定。
~/项目/试验区/ai-weekly-flash-video/docs/制作SOP.md~/项目/试验区/ai-weekly-flash-video/CLAUDE.md~/项目/试验区/ai-weekly-flash-video/docs/每周AI资讯栏目制作记录-2026-05-24.md(5/24 v0 验证版反思)${CLAUDE_PLUGIN_ROOT}/skills/cyxj-ai-weekly-news/
├── SKILL.md
└── references/
├── news-template.md # NEWS 数组结构 + 字段说明
├── voiceover-template.md # 旁白稿写作风格指南
└── davinci-srt-export.md # 达芬奇导字幕导出 SRT 的具体步骤~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.