Files
digital-me-history/.agents/skills/historical-battle-assets/SKILL.md
T
admin 0593ff7e62
nginx serve /uploads direct (audio speed) / patch-nginx (push) Failing after 1m34s
数字我 Digital Me:全量入库(大文件走 Git LFS)
2026-10-10 16:24:43 +08:00

84 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: historical-battle-assets
description: "为 Digital Me 生成纯素材型历史战役包:史实上下文、中文旁白、分幕图片、人物标签和项目自生成音乐选曲,并在校验后自动创建本地 Git 提交。用户说“某战役生成”“玄武门事变生成”,或要求战役图片配文字与 BGM 素材时使用;不负责前端页面或交互实现,不执行 Git push。"
---
# 历史战役素材生成
交付“食材”,不替用户“炒菜”:产出可直接交给前端、剪辑或策划使用的图片、文字和音乐选择,不写页面组件、样式或交互代码,除非用户另行明确要求。
## 先定史实边界
1. 规范战役名称和时代;遇到俗称、错别字或多个同名事件时,依据史料确定规范名,并在交付中列出用户原称和规范名。
2. 优先读取目标项目已有的事件资料、人物表、史料引文、`gaps` 与 `blacklist`。在 Digital Me 中重点查找 `digital-me-backend/src/mingchangmianData.js`、`digital-me-backend/src/rujuDashi/` 及相关朝代数据。
3. 本地资料不足时,再查权威史料或正式学术来源。事实、合理视觉补全与纯气氛描写必须分开标注;史料空白不得写成确定事实。
4. 战役胜负、生死、时间、地点、身份、器物和服饰不得为戏剧性而改写。演义、影视桥段或后世传说若无可靠依据,放进“禁用元素”,不要画进图片。
## 组成素材包
默认按事件复杂度设计 3–5 幕,而不是强行把所有战役切成同样长度。每幕必须含:
- 时间与地点;
- 这一幕在整场战役中的作用;
- 适合配音的连续旁白;
- 适合画面叠加的短标题与一句短文案;
- 在场人物的“姓名/当时身份/本幕动作或结局”;
- 图片文件名、画面说明、无障碍替代文本和最终生成提示词;
- 史实依据,以及哪些画面细节属于不改变事件走向的视觉补全。
另写一段可从头顺读的主旁白。用户未指定时,以约 60–90 秒为目标,句子短、可口播,用具体动作连接上下文,不写教科书式人物履历堆砌。
完整目录与 `manifest.json` 字段遵循 [交付结构](references/deliverable-schema.md)。
## 生成图片
需要成图时,先加载并遵循 `imagegen` skill,再使用图像生成工具。保持同一战役的建筑时代、服饰、盔甲、人物外观、色调和镜头语言一致。
- 默认横版 16:9,适配网页大画幅与视频分镜。
- 图片本身不烘焙姓名、字幕、书法、Logo 或水印;为后续叠字保留可用负空间。
- 人物关系通过站位、视线、明暗和景深表达;人物姓名与身份写在伴随文案中。
- 暴力场面以动作、兵器和后果暗示为主,不依赖血腥特写。
- 每幕生成不同构图,不能只换同一画面的滤镜。
- 保存原始生成图,并为交付另备体积合理的 WebP;文件名使用稳定的幕次和英文 slug。
## 从项目音乐里选 BGM
只从用户指定项目的自生成音乐或自有曲库选曲,不拿外部商业歌曲凑数。Digital Me 默认先查:
- `digital-me-backend/src/data/music-library.json`;
- `digital-me-backend/src/storyScores.js`;
- `/api/tianxia/yue/library?q=<战役名>` 返回的音频绑定状态。
优先级依次为:同一事件且已有可播放音频、同一人物或时代且已有音频、最贴合叙事曲线的自生成音乐方案。判断维度是情绪弧、节奏、是否压住旁白、时代音色、开头和收尾是否易剪。
如果曲库只有作曲方案而没有实际音频:仍可选出最佳曲目 ID 和版本,但必须写明“待生成/待导出”,不得声称已附 MP3;同时给出 3–5 段 cue sheet。若选中含人声版本作为 BGM 来源,明确要求使用伴奏或去人声 stem。
## 写入与交付
若用户给了项目,默认在项目内创建 `战役素材/<规范战役名>/`;没有目标目录时,在当前工作区创建同名素材包。不要把素材自动接进页面。
### 自动创建本地 Git 提交
素材包写入并通过检查后,只要交付目录位于 Git 工作树内,默认自动创建本地 commit,不再另行询问;这项默认授权只覆盖本次新生成或更新的战役素材包,以及用户明确要求同步更新的本技能文件。
1. 先读取目标仓库的 `AGENTS.md`、Git 发布约束和适用架构文档,并用 `git rev-parse --show-toplevel`、当前分支、远端和 `git status --short --branch` 确认提交位置。
2. Digital Me 的源码目录与历史归档仓库分离时,以用户指定的交付仓库为准。若用户已指定 `SPianPianShaoNian/digital-me-history`,应把最终素材包同步到该远端对应的本地工作树,再在那里提交;不要把源码仓库的其他改动带入归档提交。
3. 工作树存在无关改动时,保留且不触碰它们。只按明确路径暂存本次素材目录和本技能文件,禁止使用 `git add .` 或 `git add -A`。
4. 提交前至少验证:`manifest.json` 可解析、所有清单引用的 PNG/WebP 都存在、图片格式与尺寸可读、`git diff --cached --check` 通过。纯图片/文案素材不触发前后端构建;若同时修改代码,则按仓库门禁运行相应测试。
5. 默认提交信息使用 `feat: add <规范战役名> battle asset bundle`;若只是修订已有素材,则使用 `docs: update <规范战役名> battle asset bundle`。
6. 创建 commit 后报告提交号、暂存范围、验证结果和相对上游的领先状态。
7. 只创建本地提交。禁止执行 `git push`、`git publish`、强推或其他远端写操作;远端上传仍由用户手动完成。
如果交付目录不在 Git 工作树内、找不到用户指定的交付仓库、提交身份缺失,或本次文件与用户未提交改动发生重叠,先完成素材交付并说明未自动提交的具体原因,不得猜测远端、覆盖改动或扩大提交范围。
完成前检查:
- 每张图都能对应一段旁白,而不是装饰图;
- 人名、官职和动作在各文件中一致;
- 主旁白能按幕次顺读;
- 图片提示词不含违背本战史实的元素;
- BGM 有明确选曲理由、状态和剪辑点;
- 所有来源、生成提示词和文件路径可追溯。
交付时列出素材目录、图片数量、旁白时长、选中 BGM 及其是否已有音频。若调用图像生成,附上最终提示词摘要。