ai_member_xiaobian/skills/feishu-script-writer/SKILL.md
2026-05-16 08:10:01 +08:00

3.6 KiB
Raw Permalink Blame History

name description
feishu-script-writer 将儿童互动英语剧本写入飞书电子表格支持4列标准格式、分段续写和新建Sheet。 **触发场景:** (1) 剧本撰写完成需要输出到飞书表格供编剧审阅 (2) 需要在已有表格中续写新的「起/承/转/合」段落 (3) 用户提到「发到飞书表格」「更新表格」「写到表格里」

飞书剧本表格输出技能

概述

将儿童互动英语剧本以4列纯文本格式写入飞书电子表格。所有台词均为纯文本。

创建表格时自动设置权限为「组织内任何人可通过链接编辑」。 写入数据时自动设置表头样式(粗体+灰底)。

工具

使用 scripts/feishu_sheet_writer.py Python 脚本,通过飞书 Sheets V2/V3 API + Bot 身份操作。


工作流

Step 1创建表格首次使用时

为每个 Unit 创建一个电子表格:

python3 scripts/feishu_sheet_writer.py create --title "U22 剧本" --credential xiaobian

返回 {"token": "***", "url": "...", "title": "..."},记录 token 和 url。

Step 2创建 Sheet每段剧本一个 Sheet

为每个「起/承/转/合」创建独立 Sheet方便编剧按段落审阅

python3 scripts/feishu_sheet_writer.py create-sheet \
  --token *** --title "U22_L1_起" --credential xiaobian

返回 {"sheet_id": "...", "title": "..."},记录 sheet_id。

Step 3写入剧本数据

将剧本数据保存为临时 JSON 文件,然后写入:

python3 scripts/feishu_sheet_writer.py write \
  --token *** --sheet <sheet_id> \
  --data /tmp/script_data.json --credential xiaobian

Step 4追加后续内容

在已有 Sheet 中续写新的桥段:

python3 scripts/feishu_sheet_writer.py append \
  --token *** --sheet <sheet_id> \
  --data /tmp/new_data.json --start-row <next_row> --credential xiaobian

数据格式JSON

所有单元格均为纯文本字符串。

{
  "knowledge_points": ["afternoon", "adventure", "store", "add", "double", "sweet"],
  "rows": [
    ["类型", "剧情描述", "角色名", "编剧台词"],
    ["TL", "【场景】客厅\n【角色】User、Dad", "", ""],
    ["", "Dad窝在扶手椅里。\n【emoji】Dad😌", "", ""],
    ["", "", "Dad", "We have the whole afternoon, dear."],
    ["中互动", "", "User", "Can we read the space adventure?"],
    ["中互动", "【插入图】球筐图片,请用户选出所有的 football", "", ""],
    ["核心互动", "【插入图】大场景图,可拖拽选项:[xxx]、[xxx]、[xxx]", "", ""]
  ]
}

表格结构规范

列序 列名 填写人 说明
1 类型 编剧 TL / 中互动 / 核心互动
2 剧情描述 编剧 场景/动作/音效/emoji标注/【插入图】
3 角色名 编剧 英文角色名User / Dad 等),图片类互动留空
4 编剧台词 编剧 英文台词(纯文本),图片类互动留空

协作模式

  1. 小编写入:剧本完成后写入电子表格,编剧可直接审阅
  2. 编剧编辑:编剧直接在表格中修改台词、调整剧情描述
  3. 小编续写:使用 append 模式追加新内容,不覆盖编剧的修改
  4. 版本追踪:每个 Sheet 独立,起承转合各自演进

注意事项

  • 写入前确认 spreadsheet_token 和 sheet_id 正确
  • append 时确保 start_row 不覆盖已有内容(可用 lark-cli +read 确认当前行数)
  • 首次写入一个 Sheet 使用 write覆盖模式后续使用 append追加模式