关于 arabic-presentations
该技能为使用 Presentations 技能制作阿拉伯语或双语 PowerPoint 提供文本处理、规范化和质量检查规则。它强调原生 RTL 属性、PPTX 结构审计及 PowerPoint 视觉检查。
主要功能
- 01规范阿拉伯语段落方向
- 02设置语言与复杂文字字体元数据
- 03清除双向控制符并转换项目符号
- 04运行 PPTX 结构审计
- 05检查布局与 PowerPoint 渲染
适用场景
- 01制作阿拉伯语 PowerPoint 演示文稿
- 02修复既有演示文稿的 RTL 属性
- 03检查阿拉伯语与拉丁文本混排
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sultanalsafran/ agent-skills --skill arabic-presentations安装后在 Claude Code 中输入/arabic-presentations确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/authoring.mdqa.mdscripts/arabic_pptx.py详细介绍
阿拉伯语演示文稿
使用 Presentations:Presentations 创建演示文稿;将此技能作为更严格的阿拉伯语文本与兼容性层。遵循 Presentations 技能中的所有内容、设计、工作区、实现和视觉 QA 规则。若阿拉伯语文本处理或渲染器可靠性有所不同,请遵循此技能。
此公开版本面向 Codex。它需要 Codex 内置的 Presentations 技能和 Python 3。
可靠性约定
将可编辑的 PPTX 视为源文件,并将 PowerPoint 桌面版视为标准查看器。
- 以正常的逻辑 Unicode 顺序存储文本。绝不要反转阿拉伯字符、单词或行。
- 绝不要使用 RLE/PDF、RLI/PDI、LRI/PDI、LRM 或 RLM 等 Unicode 双向控制符包裹阿拉伯语或拉丁语文本片段。
- 为每个阿拉伯语段落设置原生 DrawingML 方向:
<a:pPr rtl="1">。 - 为每个阿拉伯语文本主体设置原生文本主体方向:
<a:bodyPr rtlCol="1">。 - 明确将阿拉伯语正文设为右对齐。保留有意采用的居中或两端对齐。
- 设置阿拉伯语运行的语言元数据,通常为
ar-SA;若指定了字体,则设置复杂文字字体槽。 - 使用 PowerPoint 原生项目符号;不要在段落开头直接输入
•。 - 每个段落只使用一种基本书写方向。将较长的英文内容、URL、引文和代码放在独立的 LTR 文本框中。
- 不要承诺不同计算机上的字体完全一致。使用支持阿拉伯语的字体;相关情况下说明字体替换风险,并在需要固定外观时提供 PDF。
在编写阿拉伯语或双语文本前,请阅读 references/authoring.md。在最终 QA 前或诊断跨应用差异时,请阅读 references/qa.md。
工作流
1. 使用 Presentations 技能创作
使用 Presentations:Presentations 和 @oai/artifact-tool 创建或编辑演示文稿。使用不带双向控制符的纯文本字符串。换行可能会生成多个 PowerPoint 段落;规范化步骤必须逐段修复。
如果阿拉伯语和英语承担不同语义角色,优先使用独立文本框。对于较短的混合短语,请保持预期的逻辑顺序,例如:
بلغ النمو 25% في Q4 2026.
C4ISR يربط القيادة بالاستطلاع.
对于列表,如果引擎提供原生列表 API,请使用该 API。如果引擎只会输出直接输入的项目符号,则可在原始草稿中保留这些符号,并在规范化时转换。
2. 导出原始草稿
导出到临时文件,例如 $TMP_DIR/deck.raw.pptx。将用户指定的最终文件名留给规范化后的文件使用。
3. 规范化 PPTX
运行:
ARABIC_SKILL="${ARABIC_PRESENTATIONS_SKILL_DIR:-$HOME/.agents/skills/arabic-presentations}"
python3 "$ARABIC_SKILL/scripts/arabic_pptx.py" repair \
"$TMP_DIR/deck.raw.pptx" \
"$FINAL_PPTX" \
--lang ar-SA \
--convert-bullets
仅当用户或演示文稿指定了字体时,才添加 --font "<Arabic-capable family>"。此操作会写入复杂文字字体槽,但不会嵌入字体。
对于阿拉伯语优先的演示文稿,添加 --presentation-rtl。对于英语优先或刻意保持中性的双语演示文稿,不要添加此参数;演示文稿的阅读顺序是文稿级选择,与阿拉伯语段落必须设置的 RTL 属性相互独立。
修复命令必须保留原始草稿、移除手动添加的双向控制符、应用原生段落和文本主体方向、添加语言元数据、在可能时根据所选字体填充复杂文字字体槽,并将直接输入的项目符号转换为原生项目符号。
4. 执行结构 QA
每次后续编辑或导出后,都运行严格审计:
python3 "$ARABIC_SKILL/scripts/arabic_pptx.py" audit "$FINAL_PPTX" --strict
对于阿拉伯语优先的演示文稿,在审计命令中添加 --expect-presentation-rtl。
任何错误或严格警告都将阻止交付。重新打开并修复或重新生成演示文稿;不要为未通过的审计结果找理由。
审计可验证包结构和阿拉伯语文本元数据,但无法证明每个应用中的视觉顺序,也无法确认字体是否已安装。
5. 运行视觉和应用程序 QA
使用 Presentations 技能的渲染与检查循环,检查布局、溢出、换行、对比度和重叠。不要将 Codex/LibreOffice 渲染结果作为判断阿拉伯字符或词语顺序的依据;它可能会错误渲染有效的 PPTX 双向文本。
在 Codex Desktop 中调用 Presentations 技能的 Python 容器工具时,请使用 load_workspace_dependencies 返回的捆绑 Python;系统 Python 可能未包含 pdf2image 和其他渲染依赖项。
当 PowerPoint 桌面版可用时,打开最终规范化的 PPTX,检查 references/qa.md 中的混合文本语料,以及每张包含数字、拉丁字母缩写、括号、百分比、URL 或项目符号的幻灯片。在声称“已通过 PowerPoint 验证”之前,必须完成 PowerPoint 视觉 QA。
仅将 Keynote 和 Google Slides 用作次要兼容性检查。如果它们与 PowerPoint 的结果不同,请保留结构正确的 PPTX,并报告具体应用程序中的差异。对于 Google Slides,请预期本地不可用的字体会被替换。
6. 如实报告
分别报告以下各项:
Structural Arabic QA: PASS/FAILLayout QA: PASS/FAILPowerPoint visual QA: PASS/NOT RUNKeynote/Google Slides compatibility: PASS/NOT RUN/DIFFERSFont portability: installed-font dependent或PDF supplied
除非确实打开并检查过这些应用程序,否则不要声称“在所有环境下都完美”或“已通过跨应用验证”。
特殊情况
- **修复现有演示文稿:**保留输入文件,并另行输出一个规范化的 PPTX,除非用户明确授权原位替换。
- **阿拉伯语图表:**优先使用数字/拉丁字母作为图表内部内容,并将阿拉伯语标题和标签作为独立的 RTL 文本框,除非能够进行 PowerPoint 视觉 QA。捆绑的审计工具尚未充分验证原生图表的双向文本。
- **表格:**将单元格段落设为 RTL。仅当表格的语义阅读顺序为阿拉伯语时才镜像列顺序;不要自动镜像装饰性布局。
- **演讲者备注:**也要规范化阿拉伯语备注;修复脚本会扫描 PPTX 包中的所有 DrawingML 段落。
- **PDF:**将 PDF 用于固定内容分发,不要用它替代用户要求的可编辑 PPTX。