# 项目级 Agent 规则 · AI-Short-Drama-Studio

> 本文件是项目级注入（每会话自动进入）：只管「本项目特有信息 + 承载指针」，通用义务不复述（单一权威=注入核心）。由工作流「项目承载检查」创建（2026-10-12）。

## 回指（强制字段）
- 完整纪律（判级/红线/必问/开工四步/GATE/检索端口）权威=注入核心与 SKILL.md；按需以 Skill 工具加载「shisan-xinuo-workflow」（注册名），本文件在场但 Skill 未在场 → 先加载再继续。
- 会话末：更新 `memory/agent-log.md`（流水区+状态段）后离开——不更新=交接断链。

## 迷你流程骨架（注入核心缺席时的最小执行序）
- 开工四步：复述 → 承载检查 → 记忆对齐（读 agent-log 状态段一屏）→ 判级（L1 直做 / L2 记录做 / L3 先问）。
- 每轮首产物=复述（新任务全量三行；追加/继续一行）；状态行 `Context: state=… L=… confirm=…`。
- 收尾：GATE 单行 12 字段；agent-log 流水一行+状态段刷新。
- 红线三条：密钥绝不落盘｜重大改动先回滚点｜不假实现（未验证显式标注）。

## 项目纪律（本项目特有）
- **仓库定位**：公开技能仓库——发布物=技能本体（`SKILL.md` / `references/` / `scripts/` / `README.md` / `LICENSE`）；`memory/` 为本地承载（已从版本控制排除），`docs/` 为开发导航。
- **版本与提交**：版本号以 `SKILL.md` front-matter `version` 为准（历史变更记 `SKILL.md` 的「更新记录」节，不再单独维护 CHANGELOG 文件）；提交遵守仓库惯例 `<类型>(<范围>):〈动词开头描述〉`（如 `feat(skill): v1.6.0 …`，类型前缀跟随历史 feat/fix/docs/refactor/chore）；push=对外发布（L3，须用户确认）。
- **验证基线**：改动技能后跑二十一脚本自检 `python scripts/validate_storyboard.py --selftest`（另二十件 check_refs/init_project/make_grid/archive_old_docx/sync_entity/check_double_root/check_seams/fix_table_pagination/style_code_blocks/qa_batch/manifest/trim_clips/concat_clips/gen_script/check_scene_plates/gen_scene_sheet/lint_prompt/studio/short_plan/tts_voice 同法）全过再提交；`make_grid.py` 需 Pillow，`check_seams.py` 需 numpy/Pillow（实景抽帧另需 ffmpeg，无则跳过），`style_code_blocks.py` 需 python-docx。CI（`.github/workflows/selftest.yml`）在 push 时自动跑同样二十一件 + `examples/demo-multi-ep/` 端到端回归（qa_batch/trim_clips/concat_clips 在无 ffmpeg 环境自动跳过实拍部分；tts_voice 的 selftest 不联网，只有实跑合成才需要本地 VoiceStudio）。
- **技能实体同步面**：本工作区=开发源；本机技能实体 `<SKILL_ROOT>/ai-short-drama-studio` 为静态复制（非 git）。发版后同步用 `python scripts/sync_entity.py <实体目录>` 一键完成——自动备份（回滚点落本机备份目录，可用 `--backup-dir` 指定）→ 差异扫描 → 同步 → md5 复核；`--dry-run` 预演。排除项=承载与仓库级资产（AGENTS.md/docs/memory/.github/examples/.git/__pycache__，列表维护在脚本顶部 EXCLUDE 常量），不入实体。已于 2026-10-28 同步至 v2.3.0（v2.2.0 → v2.3.0，技能面 41 件 md5 全等；新增 concat_clips 脚本）。**当前为单根部署**：实体只在 `.agents/skills/ai-short-drama-studio`，`.zcode/skills` 下没有该技能，故 `check_double_root.py` 不适用。历史上曾为双根（硬链同源），若日后恢复双根，注意 sync_entity 对新增文件会在两侧各自复制而断链——同步后跑 `python scripts/check_double_root.py <左根> <右根> --fix` 补齐（只修内容相同非硬链；内容不一致只报告）。
- **v2.0.0 工作室化重构（2026-10-27）**：骨架由「三路线」改为「五工位流水线」，新增 `references/studio-workflow.md` 与 `scripts/studio.py`（init/status/check/board）；视觉规格留档 `docs/design-specs/studio-board.md`。
- **v2.1.0 双形态（2026-10-27）**：新增短视频形态（`studio.py init --form short`）、`scripts/short_plan.py` 口播时长预算机检、`references/short-video-studio.md` 短片工艺；通用机制四条（单镜 1.5s 下限 / 否定配正向清单 / 追问四失效防御 / 发布包装属交付）进铁律，两种形态共用。实体已同步至 v2.0.0，v2.1.0 **待同步**。
- **v2.5.0 工艺词典层（2026-11-01）**：资源包（31 份漫剧提示词资料）深读后补四篇 references——`camera-grammar.md`（运镜三参数：起点景别/终点景别/耗时，模型用值与设计自用值分离，情绪化运镜十式、视角层级、九类特殊场景）、`visual-lexicon.md`（画风三层：线条/上色/色板，十种画风写法、画风词转写对照、光影三件套与六种情绪光、背景六段式）、`character-design.md`（设定卡七段、跨镜五维审查）、`publish-ops.md`（三平台差异、字幕封面参数、情绪调色、发布前六查、发布后三指标与归因顺序）。`lint_prompt.py` 新增运镜三参数缺失告警（selftest 加一项）。**吸收原则**：资源包通篇堆 8K/电影感/超精细，与本项目空词 FAIL 判定正面冲突，故只取其结构与参数、弃其空词；已有更严格规定处（分镜组、镜头连续性、否定三改法、三层工艺分离）只补强不替换。
- 权威源顺序：注入核心 → shisan-xinuo-workflow SKILL.md → 本文件 → `docs/project-info.md`。

## 项目承载（已就绪）
- `memory/agent-log.md`：一档制四区（状态段/教训区/偏好段/流水区；本地留档，不入库）。
- `docs/project-info.md`：六节索引（模块表带关键词锚定列，细则 #275）。
