ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ClaudeSkills自动化生成PPT:用Skill-Creator打造对标NotebookLM的质感与灵活性

ClaudeSkills自动化生成PPT:用Skill-Creator打造对标NotebookLM的质感与灵活性 1. 为什么要自己搭一套 PPT 自动生成流程NotebookLM 生成 PPT 的体验确实让人惊艳丢一份文档进去几秒钟就能出一套排版干净、配色统一的幻灯片。但用久了你会发现一个问题它是一套封装好的工作流你没法往里面塞自己的设计规范没法指定某几页用数据图表、某几页用大图封面更没法把公司 VI 里的字体和色值固定下来。每次生成都是开盲盒质感在线但风格不可控。我试过把同一份 Markdown 分别喂给 NotebookLM 和自建的 ClaudeSkills 流程前者胜在开箱即用后者胜在每一页都能按我的规则来。如果你经常要做技术分享、产品路演、课程讲义而且对视觉一致性有要求那自己手搓一个 PPT Skill 是值得的。这篇就聚焦用 ClaudeSkills 配合 Skill-Creator在 Claude Code 里搭一条从 Markdown 到 PPTX 的自动化流水线质感对标 NotebookLM灵活度往上再提一档。整套流程的核心思路是让 Claude 负责内容重排和文案精简让生图模型负责把每一页渲染成 16:9 的高清图片最后把这些图片打包成可编辑的 PPTX。你只需要准备一份 Markdown 源文档和一份风格描述文件剩下的交给 Skill 跑。2. 前置准备Skill-Creator 与 TaoToken 接入2.1 安装 Skill-CreatorSkill-Creator 是 Claude 官方提供的一个元技能作用是帮你把模糊的需求梳理成结构化的 Skill 目录包括 SKILL.md、脚本文件和资源文件夹。你可以从官方仓库拿到它放进 Claude Code 的 skills 目录下即可。安装完成后在 Claude Code 里输入/skills能看到 skill-creator 已经注册成功。这一步很关键后面所有关于 Skill 架构的设计都靠它来引导。2.2 配置模型接入Claude Code 本身需要接入模型服务才能跑起来。我这边用的是 TaoToken 的 API 接入方式官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。它的好处是兼容 Anthropic 的接口格式Claude Code 里改一下 base_url 和 key 就能直接用。具体操作是进控制台创建一个 API Key然后把它写进环境变量或者 Claude Code 的配置文件里。如果你还没建过 Key可以走这个入口https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的 base_url 和请求示例。注意Claude Code 的模型接入和生图模型的接入是两套配置不要混在一起。Claude Code 负责逻辑推理和文件生成生图模型负责渲染幻灯片图片。2.3 生图模型的准备PPT 的每一页最终要变成一张图片这里需要一个支持图像生成的模型。我选的是 Gemini 系列的图像模型通过兼容接口调用。你需要单独准备一个生图 API Key后面在 Skill 里配置。如果你希望统一管理模型调用也可以在 TaoToken 的模型对话页面先测试一下模型可用性https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。确认模型能正常返回结果后再写进 Skill 配置。3. 可复制的 Skill 配置骨架3.1 项目目录结构先在本地建一个项目目录比如E:\project\ClaudeProject\MySkillsProject然后在里面启动 Claude Code。整个 Skill 的目录结构建议这样组织MySkillsProject/ ├── .claude/ │ └── skills/ │ └── ppt-generator/ │ ├── SKILL.md │ ├── scripts/ │ │ ├── generate_slides.py │ │ ├── upscale.py │ │ └── pack_pptx.py │ ├── styles/ │ │ └── newStyle.md │ └── output/ ├── input/ │ └── AgentSkills学习指南.md └── settings.jsonSKILL.md是技能的主描述文件scripts放生成、放大、打包三个脚本styles放风格文档output放最终产物。3.2 SKILL.md 骨架在 Claude Code 里让 Skill-Creator 帮你生成初版然后手动调整成下面这个结构--- name: ppt-generator description: 将 Markdown 或 PDF 文档自动转换为 16:9 高清 PPTX支持自定义风格文档和自动配图 --- # PPT Generator Skill ## 触发条件 当用户提供 Markdown/PDF 文件并要求生成 PPT 时激活。 ## 工作流程 1. 读取输入文档提取标题层级和正文要点 2. 调用内容重排逻辑将长段落精简为幻灯片要点 3. 读取 styles 目录下的风格文档确定视觉规范 4. 逐页调用生图模型生成 16:9 高清图片 5. 对生成图片做文字校验发现乱码或错字则重新生成该页 6. 将图片按顺序打包为 PPTX 文件 ## 输入参数 - input_file: 源文档路径 - style: 风格文档名称默认 newStyle - resolution: 2K 或 4K - output_name: 输出文件名 ## 输出 - output/{output_name}.pptx - output/slides/ 下的单页图片3.3 settings.json 片段Claude Code 的配置文件里需要声明模型接入和权限。下面是我用的片段你可以按自己的 Key 替换{ model: claude-sonnet-4-20250514, apiKey: 你的TaoToken密钥, baseUrl: https://taotoken.net/api, permissions: { allow: [ Read, Write, Bash(python:*), Bash(pip:*) ] }, env: { IMAGE_API_KEY: 你的生图模型密钥, IMAGE_API_BASE: 生图服务接口地址 } }提示baseUrl后面不要加多余的斜杠Claude Code 会自动拼接路径。如果遇到 404先检查这里。3.4 风格文档的写法风格文档决定了 PPT 的视觉调性。我用的是一份「深空科技风格」的描述核心是把设计系统拆成颜色、光照、布局、材质、字体几个维度每个维度给出明确的约束。比如颜色部分规定纯黑#000000作为基底3D 元素使用棱镜色散产生的彩虹光谱布局部分要求 60% 以上留白字体层级要有戏剧化对比。这份文档不需要你从零写。最快的办法是找一份你喜欢的 PPT 模板丢给 Claude Code让它提取视觉要素和设计语言然后按同样的结构生成一份新的风格文档。如果你有 Figma 账号也可以从 Figma 社区下载模板让 Claude 学习后输出风格描述。4. 验证请求与成功结果4.1 跑一次完整生成准备一份测试用的 Markdown比如让 Claude 写一篇「AgentSkills 学习指南」放进input目录。然后在 Claude Code 里输入input/AgentSkills学习指南.md 用 ppt-generator 生成这个文章的 PPT风格用 newStyle分辨率 2KClaude 会先读取文档输出一份内容重排方案列出每一页的标题和要点。你确认后它开始逐页调用生图模型。2K 分辨率下每页大约 30 秒一份 10 页的 PPT 大概 5 分钟跑完。4.2 检查生成结果生成完成后output/slides/下会有slide-01.png到slide-10.pngoutput/下有打包好的 PPTX。打开 PPTX 检查三件事第一文字是否清晰可读中文有没有出现笔画粘连或错字。第二每页的留白和排版是否符合风格文档的约束。第三图片分辨率是否达到预期2K 下应该是 2752×1536。如果发现某页文字崩了把那一页的截图发给 Claude让它重新生成该页。通常重跑一次就能解决因为生图模型每次输出都有随机性。4.3 图片放大脚本如果觉得 2K 不够清晰可以用超分脚本把图片拉到 4K。下面这个脚本支持 Pillow 的 LANCZOS 算法和 Real-ESRGAN 两种方式#!/usr/bin/env python3 将幻灯片图片放大到更高分辨率 import argparse import sys from pathlib import Path try: from PIL import Image except ImportError: print(请先安装 Pillow: pip install Pillow) sys.exit(1) def upscale_pillow(image_path, scale, output_path, methodlanczos): resample_methods { lanczos: Image.Resampling.LANCZOS, bicubic: Image.Resampling.BICUBIC, bilinear: Image.Resampling.BILINEAR, } resample resample_methods.get(method.lower(), Image.Resampling.LANCZOS) try: img Image.open(image_path) new_size (int(img.width * scale), int(img.height * scale)) print(f原始尺寸: {img.size[0]}x{img.size[1]}) print(f目标尺寸: {new_size[0]}x{new_size[1]}) img_upscaled img.resize(new_size, resample) output_path Path(output_path) output_path.parent.mkdir(parentsTrue, exist_okTrue) img_upscaled.save(str(output_path), quality95) print(f已保存: {output_path}) return True except Exception as e: print(f错误: {e}) return False def main(): parser argparse.ArgumentParser(description幻灯片图片放大工具) parser.add_argument(--image, requiredTrue, help输入图片路径) parser.add_argument(--output, requiredTrue, help输出图片路径) parser.add_argument(--scale, typefloat, default2, help放大倍数) parser.add_argument(--method, defaultlanczos, help放大算法) args parser.parse_args() success upscale_pillow(args.image, args.scale, args.output, args.method) sys.exit(0 if success else 1) if __name__ __main__: main()用法很简单python upscale.py --image output/slides/slide-01.png --output output/slides-4k/slide-01.png --scale 2跑完之后对比一下放大前后的文字边缘LANCZOS 算法在文字锐度上表现不错如果追求更好的效果可以装 Real-ESRGAN但依赖比较重按需选择。5. 本篇常见错排查5.1 生图接口返回 401 或 403先检查settings.json里的IMAGE_API_KEY有没有写对注意不要有多余的空格或换行。如果 Key 是从控制台复制的确认没有把令牌名称也复制进去。另外检查IMAGE_API_BASE的地址是否完整有些服务需要带上版本号路径。5.2 生成的图片文字乱码这是生图模型最常见的问题尤其是中文。解决办法有两个一是在风格文档的RULES部分强化中文渲染约束明确要求使用无衬线中文字体、每个字符笔画正确、文字与背景对比度足够二是在生成后加一道校验让 Claude 逐页检查文字发现乱码就重新生成该页。如果某页反复乱码可以尝试降低该页的文字密度把长句拆成短句或者把字号要求写得更明确。5.3 PPTX 打包后图片顺序错乱打包脚本按文件名排序所以生成图片时一定要用slide-01、slide-02这种带前导零的命名。如果用了slide-1、slide-2排序会变成slide-1、slide-10、slide-2。在 Skill 的打包逻辑里加一句排序规则就能避免。5.4 Claude Code 找不到 Skill确认.claude/skills/ppt-generator/SKILL.md的路径正确并且SKILL.md开头的 frontmatter 里name字段和目录名一致。如果还是找不到重启一次 Claude Code让它重新扫描 skills 目录。5.5 生成速度太慢2K 分辨率下每页 30 秒是正常水平4K 会翻倍。如果觉得慢可以先把内容重排和风格确认做完再批量触发生图避免边聊边等。另外检查一下网络到生图服务的延迟如果接口本身响应慢换一个时段再试。6. 长期使用与进阶调优如果你打算把这条流程长期用下去建议把 Skill 接入 Coding Plan 做统一管理。这样每次生成 PPT 的调用记录、消耗和产物都能在一个面板里看到方便做成本核算。我这次用 Gemini 生图跑了十来页总共花了将近 4 元走 Coding Plan 的话可以设置预算提醒避免意外超支。接入入口在这里https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。配置好之后Claude Code 里的模型调用和生图调用都可以走同一个 Key省去来回切换的麻烦。另外风格文档是可以积累的。每做一次新风格的 PPT就把对应的风格描述存进styles目录下次直接指定风格名就行。时间长了你会有一套自己的风格库做技术分享用深空科技风做商务汇报用极简商务风做课程讲义用清新教育风切换成本几乎为零。最后说一个实测下来的小技巧生成 PPT 之前先让 Claude 把 Markdown 的标题层级整理一遍确保每个一级标题对应一页二级标题对应要点。这样内容重排的准确率会高很多减少后期手动调整的工作量。
返回列表