mc-assets 是 bmad-manticore 工作流中负责素材获取的技能,在固定的 assets 阶段使用,也可在用户表示“获取素材”“找图片”“获取 B-roll”时触发。其核心目标是依照已批准的节拍表,为每个节拍行的素材槽位获取对应的静态图或视频片段。
主要能力与产物 最终结果是 assets/ 目录中每个节拍素材槽位恰好有一个选定文件,同时 assets/manifest.json 记录每个文件的来源。素材需要满足:描绘的内容正确、在镜头的允许范围内尽量取自制作手册中的高优先级来源、放大后依然清晰。文中明确指出,错误呈现真实事物的生成结果比没有素材更糟。
路径解析规则
- 裸路径按 {video-path} 解析,即 {projects-path}/<slug>/ 下的当前视频项目;assets/ 始终指该项目文件夹,而非技能文件夹。
- {skill-root} 指技能安装目录,其中的文件始终带有该前缀,例如 {skill-root}/references/generative-editing-rules.md。
- {project-root} 指项目工作目录。
- {skill-name} 指技能目录的基名。
启动时 读取工作室配置:uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key modules.manticore。若为空,表示未运行 mc-setup,需停止并引导创作者前往。路径值按 {project-root} 解析。 随后读取 project.json(stage 为 assets)、beats/beats.md 和格式档案。需要获取的行是素材列中带有 id 的行;没有素材列的 0.x 表没有可获取内容。若档案显示 generated_broll: banned,则停止并报告,因为上游存在问题。 读取 {brand-path}/production-bible.md;若不存在,告知创作者缺失,且说明没有它就无法执行支配所有选择的图像类型策略与来源层级,然后引导至 mc-setup 并停止。 读取 {brand-path}/headshots/;若不存在,告知创作者缺失,且说明没有它就无法制作包含创作者或其他人物在内的素材,然后引导至 mc-setup 并停止。 在进行任何生成式获取或修订之前,加载 {skill-root}/references/generative-editing-rules.md;其关于链式调用、合成、自检、人物和提示词的规则约束所有通道和提供商。
来源优先级 优先使用真实且已验证的图像:制作手册指定位置的创作者自有素材库、屏幕录制、已验证照片。仅对不存在的内容使用生成式。手工制作的文字卡片放在最后。生成的素材绝不描绘需要准确的界面或文字;真实界面来自屏幕录制,带声明性质的文字属于 mc-graphics 的 SVG/图示通道,而非素材获取。任何包含创作者或其他人的素材都必须以 {brand-path}/headshots/ 中已批准的原图作为 --ref 起点。
通道 [assets] 按类型为每种素材命名通道:image-provider、video-provider、escalation-provider。每个值是已注册的 [[tools]] CLI 名称(1.0 的可用默认),或计量 API 通道(xai-api、veo-api,两者在 1.0.x 之前未实现)。若某素材所需通道为空或未命名任何已注册工具,应停止并询问创作者使用哪个已注册工具,若无则引导至 mc-setup 的工具注册。绝不回退到创作者未明确选择的计量通道。
使用方式 通过脚本按工具名称获取,避免会话记忆工具驱动方式。先保存解析后的配置: uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key modules.manticore > <resolved assets/work/.farm-config.json> 然后逐素材按生成式编辑规则编写提示词并运行: uv run {skill-root}/scripts/farm_asset.py --kind image|video --prompt "..." --provider <the [assets] lane value> --config <the saved config JSON> --out-dir <resolved assets/work/> [--seconds 8] [--ref <real photography or the original source only>] 脚本先打印工具说明(驱动该工具的持久记忆),并为每个新文件向 assets/work/manifest.json 追加一条来源记录。仅对真实性不容动摇的主镜头升级到 escalation-provider。视频生成和大批量任务在后台运行并主动汇报进度,不让创作者面对无响应的阶段。当 project.json 带有活动截止时间(在 mc-new 设置)时,按硬性外部关卡排列剩余素材并限制迭代循环;截止时已交付的素材优于截止后的完美素材。
选定与收尾 候选、草稿和重试都留在 assets/work/。创作者选定后,每个节拍槽位恰好复制一个选定文件到 assets/,以素材 id 命名,并将其工作清单行追加到 assets/manifest.json(文件、类型、提示词、提供商、模型、成本、日期)。对上报成本的通道报告总支出;已注册 CLI 工具使用创作者自有订阅,不上报成本。 随后更新 project.json:将 assets 追加到 stages_done,并将 stage 设为其 stages 列表中的下一阶段。
检查清单
- assets/ 中每个节拍素材槽位恰好一个选定文件;所有备选和重试都留在 assets/work/。
- assets/manifest.json 为每个选定文件保留一行,对上报成本的通道汇总支出。
- assets/ 中没有任何内容显示可读界面或错误呈现真实事物,且每个简短引用字符串字符精确。