飞书文档创建主编排技能 - 将 Markdown 文件转换为飞书文档,编排多个子技能协作完成,使用文件传递数据以节省 Token。
42:T1518,
# 创建文档
python scripts/orchestrator.py input.md "文档标题"
# 使用默认标题(文件名)
python scripts/orchestrator.py input.md
请帮我将 docs/example.md 转换为飞书文档
这个技能编排 5 个子技能协作完成文档创建:
调用 feishu-md-parser 子技能
workflow/step1_parse/blocks.json调用 feishu-doc-creator-with-permission 子技能
workflow/step2_create_with_permission/doc_with_permission.json调用 feishu-block-adder 子技能
step1_parse/blocks.json + step2_create_with_permission/doc_with_permission.jsonworkflow/step3_add_blocks/add_result.json调用 feishu-doc-verifier 子技能
step2_create_with_permission/doc_with_permission.jsonworkflow/step4_verify/verify_result.json调用 feishu-logger 子技能
CREATED_DOCS.md + created_docs.jsoninput.md
↓
[feishu-md-parser]
↓ workflow/step1_parse/blocks.json
[feishu-doc-creator-with-permission] ⭐ 创建+权限原子操作
↓ workflow/step2_create_with_permission/doc_with_permission.json
├─→ [feishu-block-adder] → workflow/step3_add_blocks/add_result.json
└─→ [feishu-doc-verifier] → workflow/step4_verify/verify_result.json
[feishu-logger]
↓
CREATED_DOCS.md + created_docs.json
子技能之间只传递文件路径,不传递实际内容,节省 Token。
每一步的结果都保存到 workflow/ 目录,可追溯、可断点续传。
主技能用自然语言描述流程,子技能各自独立可测试。
每个子技能只做一件事:
feishu-md-parser:只解析 Markdownfeishu-doc-creator-with-permission:创建文档并分配权限(原子操作)⭐feishu-block-adder:只添加块feishu-doc-verifier:只验证文档feishu-logger:只记录日志workflow/
├── step1_parse/
│ ├── blocks.json # 解析后的块数据
│ └── metadata.json # 解析元数据
├── step2_create_with_permission/
│ └── doc_with_permission.json # 文档信息+权限状态 ⭐
├── step3_add_blocks/
│ └── add_result.json # 块添加结果
└── step4_verify/
└── verify_result.json # 验证结果
成功完成后,你会得到:
需要配置 .claude/feishu-config.env:
FEISHU_APP_ID = "cli_xxx"
FEISHU_APP_SECRET = "xxxxxxxx"
FEISHU_API_DOMAIN = "https://open.feishu.cn"
FEISHU_AUTO_COLLABORATOR_ID = "ou_xxx"
请帮我将 .claude/skills/feishu-doc-creator/test_doc.md 转换为飞书文档
请将 docs/report.md 转为飞书文档,标题设为"周报-2026-01-22"
如果某一步失败,可以手动修改中间结果后继续:
# 第2步创建+权限失败,手动重新执行
python .claude/skills/feishu-doc-creator-with-permission/scripts/doc_creator_with_permission.py "文档标题" workflow/step2_create_with_permission
A: 查看 workflow/stepX_*/ 目录下的 JSON 文件,可以手动修复后继续下一步。
A: 直接调用对应的子技能脚本,传入正确的文件路径。
A: 文件传递方式比内容传递节省约 60-80% 的 Token。
如果创建的 callout(高亮块)没有颜色和边框:
原因:Callout 块的颜色字段必须直接放在 callout 对象下,不能嵌套在 style 中。
验证方法:检查 API 返回的 callout 对象是否包含颜色字段:
# 如果只有 emoji_id 而没有 background_color,说明格式错误
returned_callout = result["data"]["children"][0].get("callout", {})
解决方案:已在 feishu-md-parser 和 feishu-block-adder 中修复。
详细排查:见 TROUBLESHOOTING.md(问题 1)
测试脚本:test_callout_only.py - 单独测试 callout 格式