원클릭으로
manage-project
项目管理工具集。使用场景:(1) 分集切分——探测切分点并执行切分,(2) 批量添加角色/场景/道具到 project.json。提供 peek(预览)+ split(执行)的渐进式切分工作流,以及角色/场景/道具批量写入。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
项目管理工具集。使用场景:(1) 分集切分——探测切分点并执行切分,(2) 批量添加角色/场景/道具到 project.json。提供 peek(预览)+ split(执行)的渐进式切分工作流,以及角色/场景/道具批量写入。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
调用项目配置的文本模型生成 JSON 剧本(同时产出每个分镜的 image_prompt 与 video_prompt)。由 create-episode-script subagent 调用。读取 step1 中间文件和 project.json,输出符合 Pydantic schema 的剧本。
无人值守驱动 CodeRabbit、Gemini Code Assist、OpenAI Codex 的 review → 修复 → push → 再 review 循环,直到全部通过或触发收敛退出。主动调用:用户刚 push PR 或跑完 /commit-push-pr;提到 review / coderabbit / gemini / codex / 审查 / AI review / 等 bot 回复;CodeRabbit paused 需 resume;reviewer 有 actionable comments。即使用户只说"PR 怎么样了""review 回了吗"也应触发。
把已生成的视频片段按剧本顺序拼接为单集成片,可选混入 BGM 与场景间转场。当用户说"拼成片"、"合成本集视频"或"加背景音乐"时使用。
为剧本场景生成视频片段。当用户说"生成视频"、"把分镜图变成视频"、想重新生成某个场景的视频、或视频生成中断需要续传时使用。支持整集批量、单场景、断点续传等模式。
为剧本场景生成分镜图。当用户说"生成分镜"、"预览场景画面"、想重新生成某些分镜图、或剧本中有场景缺少分镜图时使用。自动保持角色和画面连续性。
"统一资产生成 skill:接受 `--type=character|scene|prop`,或不传自动扫所有 pending(缺 sheet)资源并按类型分发。当用户说"生成角色图"/"生成场景图"/"生成道具图"、想为新资产创建参考图、或有资产缺少 *_sheet 时使用。"
| name | manage-project |
| description | 项目管理工具集。使用场景:(1) 分集切分——探测切分点并执行切分,(2) 批量添加角色/场景/道具到 project.json。提供 peek(预览)+ split(执行)的渐进式切分工作流,以及角色/场景/道具批量写入。 |
| user-invocable | false |
提供项目文件管理的命令行工具,主要用于分集切分和角色/场景/道具批量写入。
| 脚本 | 功能 | 调用者 |
|---|---|---|
peek_split_point.py | 探测目标字数附近的上下文和自然断点 | 主 agent(阶段 2) |
split_episode.py | 执行分集切分,生成 episode_N.txt + _remaining.txt | 主 agent(阶段 2) |
add_assets.py | 批量添加角色/场景/道具到 project.json | subagent |
mcp__arcreel__get_video_capabilities(SDK tool) | 查当前项目视频模型能力(model 粒度,所有生成模式通用) | subagent(执行任务时自行查询) |
分集切分采用 peek → 用户确认 → split 的渐进式流程,由主 agent 在 manga-workflow 阶段 2 直接执行。
python .claude/skills/manage-project/scripts/peek_split_point.py --source {源文件} --target {目标字数}
参数:
--source:源文件路径(source/novel.txt 或 source/_remaining.txt)--target:目标有效字数--context:上下文窗口大小(默认 200 字符)输出(JSON):
total_chars:总有效字数target_offset:目标字数对应的原文偏移context_before / context_after:切分点前后上下文nearby_breakpoints:附近自然断点列表(按距离排序,最多 10 个)# Dry run(仅预览)
python .claude/skills/manage-project/scripts/split_episode.py --source {源文件} --episode {N} --target {目标字数} --anchor "{锚点文本}" --dry-run
# 实际执行
python .claude/skills/manage-project/scripts/split_episode.py --source {源文件} --episode {N} --target {目标字数} --anchor "{锚点文本}"
参数:
--source:源文件路径--episode:集数编号--target:目标有效字数(与 peek 一致)--anchor:切分点的锚点文本(10-20 字符)--context:搜索窗口大小(默认 500 字符)--dry-run:仅预览,不写文件定位机制:target 字数计算大致偏移 → 在 ±window 范围内搜索 anchor → 使用距离最近的匹配
输出文件:
source/episode_{N}.txt:前半部分source/_remaining.txt:后半部分(下一集的源文件)从项目目录内执行,自动检测项目名称:
⚠️ 必须单行,JSON 使用紧凑格式,不可用 \ 换行:
python .claude/skills/manage-project/scripts/add_assets.py --characters '{"角色名": {"description": "...", "voice_style": "..."}}' --scenes '{"场景名": {"description": "..."}}' --props '{"道具名": {"description": "..."}}'
通过 MCP 工具查询(项目名由 session 绑定,无需传参):
mcp__arcreel__get_video_capabilities({})
返回:JSON 文本,含 provider_id / model / supported_durations[] / max_duration / max_reference_images / source / default_duration / content_mode / generation_mode。
用途:所有 generation_mode(storyboard / grid / reference_video)的预处理 subagent 在执行时自查,用于决定单片段 / shot 时长。决策优先级:若 default_duration 非 null,优先采用为默认值;否则或特殊情况(reference_video 多 shot 组合贴近 max_duration、narration 长句需要更长)按规则从 supported_durations 选值。
错误:项目未找到或模型能力无法解析时返回 is_error: true,文本中包含原因。