Sn Ppt Story logo

Sn Ppt Story

OrganizationPopular
OpenSenseNova
sn-ppt-story

当前 PPT 任务已由 sn-ppt-entry 建好 DECK_DIR(task_pack.json 与 info_pack.json 已写入)后,必须由本 skill 将 query、全部用户材料与已完成 Research 编排为唯一可编辑的 outline.md 时使用。本 skill 是 entry → 出口(standard / dazzle / creative)之间的强制中间环节:不允许执行 Agent 跳过本 skill 直接依据 task_pack / info_pack 即兴编写大纲,不允许出口 skill 代写或改写大纲;前置产物缺失时停止并返回 sn-ppt-entry 补齐,不得自行补做研究。

Overview

PublisherOpenSenseNova
RepositorySenseNova-Skills
Skill namesn-ppt-story
Stars
5.8K
Forks
402
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by OpenSenseNova on GitHub. Read the source before you install it.

Installation

Install the Sn Ppt Story AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-ppt-story
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git /tmp/SenseNova-Skills
mkdir -p .claude/skills
cp -r /tmp/SenseNova-Skills/skills/sn-ppt-story .claude/skills/sn-ppt-story
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Sn Ppt Story in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Sn Ppt Story on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Sn Ppt Story is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

sn-ppt-story

把 query、全部用户材料和已经完成的研究综合成一份清楚、完整、可直接修改的 outline.md。Story 统一管理内容理解和页面叙事,不生成页面,不自行开展外部研究。

输入边界

只接受 Entry 传入的绝对 DECK_DIR。开始前读取:

  • <DECK_DIR>/task_pack.json
  • <DECK_DIR>/info_pack.json
  • info_pack.raw_documents 指向的完整 raw_documents.json(存在时)
  • info_pack.research_report 指向的 Research 主报告(存在时)
  • 用户明确要求读取的其他源文件
  • 当前 <DECK_DIR>/outline.md(修改或继续任务时)

用户材料是事实来源,query 是任务目标,Research 是外部证据补充。三者冲突时明确区分 “用户要求”“材料事实”“外部证据”和“推断”,不得用顺畅文案掩盖冲突。

task_pack.state.research.required == true 时,Story 开始前必须已有 info_pack.research_report 指向的可读报告。缺失时停止并返回 Entry 完成 task_pack.state.research.executor 指定的证据路径;不得先写 outline 再补研究。Standard 默认读取 Entry 写入的定向搜索摘要,Deep 默认读取 sn-deep-research 的完整报告,Story 不把 Standard 自动升级为 Deep。

输出和状态

  • 唯一用户叙事文件:<DECK_DIR>/outline.md
  • 不创建 outline_v2.md、story spec、页面 JSON 或另一份并行大纲。
  • 开始时把 task_pack.state.current_stage 更新为 story,状态更新为 storytelling。
  • 完成时把 story 加入 completed_stages,把 outline 绝对路径写入 state.artifacts.outline,把 task_pack.params.page_count 同步为当前连续页数,状态更新为 story_ready。
  • 修改现有大纲时覆盖同一文件,并清晰标记哪些下游页面需要重新生产;不要清除 Research 和材料解析的完成状态。

工作方法

1. 完整理解

阅读与任务相关的全部内容,而不是只看标题、摘要或开头。材料较长时可以分段读取, 但最终综合必须覆盖:

  • 可以直接使用的事实、数据、案例、定义和结论;
  • Markdown/DOCX 表格及文档内图片所承载的信息;
  • 多份材料的重复、冲突、时效和口径差异;
  • 受众真正需要做出的理解、判断或行动;
  • 仍然缺少证据、只能作为推断或需要弱化表达的内容。

document_digest 是索引和辅助,不替代原文。决定性数字、专有名词、时间、单位和引用 必须回到原材料或 Research 主报告核对。

2. 先确定整套 Story

在排页前明确:

  1. 谁在什么场景下向谁表达;
  2. 演示希望受众理解、相信或决定什么;
  3. 全套唯一的核心观点;
  4. 采用什么论证路径,为什么按这个顺序;
  5. 最后一页应留下什么结论或行动方向。

不要把材料目录机械改成页面目录。内容应形成连续推进,例如“建立背景 -> 暴露关键矛盾 -> 给出判断框架 -> 用证据验证 -> 落到方案或行动”,具体结构由任务决定。

3. 再规划逐页逻辑

每页只承担一个主要任务,并明确:

  • 页面标题;
  • 受众看完必须记住的完整结论;
  • 支撑结论的事实、数据、案例和自然语言来源;
  • 它如何承接上一页并推动下一页;
  • 信息之间的关系和建议的表达方式。

页面表达只描述用户能理解的意图,例如“用统一维度对比三种方案”或“用趋势图说明拐点”。 不要写像素、坐标、HTML 节点、组件 ID、内部页型代码或出口实现细节。

4. 做三轮 Story 自审

这不是模型评测,也不产生测试文件。写入前在当前上下文中连续复读三次:

  1. 证据审查:决定性结论是否有材料或 Research 支持,事实/推断/待确认是否清楚。
  2. 逻辑审查:是否存在结论先于依据、页面重复、因果跳跃、前后矛盾或最后没有落点。
  3. 演示审查:每页是否只有一个主要任务,页数是否合理,标题和结论是否让用户一眼 看懂,整体思路是否能独立概括全套。

发现问题直接改 outline.md 草稿,不生成审查报告。

outline.md 格式

只用普通 Markdown 和少量标题层级:

markdown
# 演示标题

## 整体思路

说明受众、场景、目标、核心观点、叙事路径及最终落点。

## 第 1 页:页面标题

### 这一页要说明什么

一句完整、明确、可验证的结论。

### 内容与依据

- 需要呈现的事实、数据、论点或案例。
- 来源用自然语言说明,例如“来自 planning_plan.md 的 Presentation Skill 部分”。
- 只能推断或仍缺证据时明确写“推断”或“待补充”。

### 前后关系

说明本页如何承接上一页并推动下一页;封面可说明它如何设定问题。

### 页面表达

说明信息关系、视觉重点和建议表达方式。

## 第 2 页:页面标题
...

硬约束:

  • ## 第 N 页 的顺序就是最终页序,编号连续。
  • 开头必须有“整体思路”,单独阅读它就能明白全局逻辑。
  • 每页必须有“这一页要说明什么”,不能只写宽泛主题。
  • 用户指定页数时遵守;材料明显无法支撑时先说明,不用空页凑数。
  • 不自动添加用户未要求且叙事不需要的目录、过渡、行动或结束页。
  • 不把设计丰富度误写成 Story 复杂度;Story 对所有出口相同。

新建与修改

新建

  1. 读取全部输入和 Research。
  2. 确定整体 Story。
  3. 完成逐页编排。
  4. 做三轮自审。
  5. 写入唯一 outline.md 并更新 task_pack.json。
  6. 返回路径、页数和一行叙事摘要。

修改

磁盘上的 outline.md 是唯一基线:

  • 先完整读取,再修改;
  • 局部要求只改相关页面及保持逻辑连续所必需的相邻内容;
  • 用户调换页序后保留该顺序,只修正承接关系;
  • 用户删除页面或观点后,不用同义措辞补回;
  • 用户明确写下的标题、结论和原文尽量原样保留;
  • 新事实需要 Research 时返回 Entry,Research 完成后再改;
  • 新证据与用户修改冲突时保留磁盘版本,报告冲突并等待决定,不擅自覆盖。

与出口的契约

所有出口必须在开始和恢复时重新读取当前 outline.md。它决定:

  • 整体目标、受众、核心观点和叙事路径;
  • 最终页数、页序和页面标题;
  • 每页角色、核心结论、必须出现的事实与内容关系。

出口可以补逐字文案、视觉系统、素材、版式、动画和实现细节,但不能重新研究、另写内容 大纲、恢复用户删除的内容或改变核心结论。出口发现事实不足时应停止相关页面,返回 Entry/Story 说明缺口。

不得做

  • 不调用外部模型客户端或第二套 API。
  • 不直接搜索网页;外部证据由 Entry 在 Story 之前完成:Standard 使用定向普通搜索, Deep 使用 sn-deep-research。
  • 不生成 HTML、图片、渲染图或 PPTX。
  • 不创建细碎跨 Skill spec。
  • 不把未经支持的数字写成事实。
  • 不把 Story 变成某个出口的视觉模板选择器。

Frequently asked questions

What does the Sn Ppt Story AI skill do?

当前 PPT 任务已由 sn-ppt-entry 建好 DECK_DIR(task_pack.json 与 info_pack.json 已写入)后,必须由本 skill 将 query、全部用户材料与已完成 Research 编排为唯一可编辑的 outline.md 时使用。本 skill 是 entry → 出口(standard / dazzle / creative)之间的强制中间环节:不允许执行 Agent 跳过本 skill 直接依据 task_pack / info_pack 即兴编写大纲,不允许出口 skill 代写或改写大纲;前置产物缺失时停止并返回 sn-ppt-entry 补齐,不得自行补做研究。

Why use Sn Ppt Story on TypingMind?

Because you install it once and use it with any model. Sn Ppt Story is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Sn Ppt Story in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-ppt-story. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Sn Ppt Story?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Sn Ppt Story?

As many as you like. As long as a model supports skills, you can use Sn Ppt Story with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Sn Ppt Story AI skill free?

Yes. It is published on GitHub by OpenSenseNova under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇