sansheng-writelisted
Install: claude install-skill sanshengai/sansheng-write
# 中文长文写作系统
运行要求:Python 3.10+、Node.js 18+ 与 baoyu-skills;BGM/各 renderer 的凭证按 `music.md` / `image-routing.md` 配置,只从环境变量读取。
**主入口**:只承载「路由 + 触发边界 + 全局元指令 + 高频铁律」,各阶段细则一律 lazy-load 对应 reference。**下文裸写的 `xxx.md` 一律指 `references/xxx.md`**(`profile/corpus/authors/` 与 `profile/` 下的文件已标全路径)。
> 🔴 **默认 = 全自动一路到草稿箱**:新文章按 autopilot.md;作者已给确认定稿时直接按 release-runtime.md。失败只在当前命令修复,不 skip、不伪造状态。显式配置 `podcast.wechat_embed: true` 时,公众号固定为「导读 → 主题曲卡 → 播客卡 → 正文」,两卡同级、同宽、上下排列;音频必须在草稿前生成。自动链止于微信草稿箱;原创、赞赏与正式发布由作者人工完成。
> ⚡ **朋友圈文案极速例外**:用户只要一条已有文章的朋友圈推文/文案时,不进入文章流水线,不跑 `status` / `finalize` / 归档 / 官网 / 搜索 / 生图,也不等待其他长任务。优先用当前对话已有标题与主旨,信息不足时最多读取该文 `article-meta.yaml` 与开头/结尾,直接返回可复制的三段文案。只有用户明确要保存文件时才运行 `python scripts/pipeline.py --dir <文章目录> moments-copy`;目标耗时是秒级。
> 🗃️ **过程目录与永久归档是两个根**:`SANSHENG_WRITE_DATA_DIR=@workspace/...` 只决定当前工作树里的写作过程目录;`pipeline.py archive` 只登记作品库,不搬文件。全部写作、发布、社媒分发写者退出后,才运行 `pipeline.py --dir <文章目录> physical-archive --delete-source`,把整篇目录交付到绝对路径 `SANSHENG_WRITE_ARCHIVE_DIR`。命令先复制到同盘临时目录、逐文件核对大小与 SHA-256;目标同路径内容不同即中止,复验通过后才删除源目录。`SANSHENG_WRITE_HANDOFF_DIR` 仅是人工上传临时包,禁止拿它当成品归档。
## 🟢 启动前必读(元指令,先于任何阶段)
进任一阶段**第一件事按序读两份共享上下文**,读完不再问已知信息(主题色/账号名/创作者背景),只追问本任务才变的参数(风格/受众/字数):
1. **品牌上下文** `profile/context.md`(品牌身份/人设/风格路由/对话约定);未配置 profile 时回退仓内 `profile.example/context.md`(中性默认,正常路径不是错误);皆无则兜底本文件「品牌身份 fallback」节。
2. **品牌织网(可选)** `profile/brand-net.md`(阵地地图/伏笔池/承诺台账)。存在时大纲阶段**步骤 7.5 织网三问必答**(联动已发文/推自有阵地/埋伏笔),答案落 `article-meta.yaml` 的 `weave:`(细则进 outline.md 步骤 7.5);归档把本篇