Yida Ppt Slider

SKILL效率
效率 未标注权限 许可证不明确

宜搭全屏幻灯片页面开发,兼容旧 yida-ppt / PPT / 演示 / 幻灯片触发词,使用 React hooks 管理翻页、URL hash、键盘/演讲笔、全屏和副作用清理。支持浅色简约与 dark-tech 主题。平台 JSX 组件生命周期模式仅用于对应运行时维护。

一句话选型结论

按资料字段整理

Yida Ppt Slider是效率类的 Agent Skill,安装方式:GitHub 仓库,权限级别未标注,许可证不明确,没有现成安装命令,需按说明手动放置 SKILL.md。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式GitHub 仓库 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 openyida
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

GitHub 仓库
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    按安装说明或仓库 README,把 SKILL.md 放到客户端的 skills 目录(一般一个技能一个文件夹)。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方openyida仓库 openyida · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式GitHub 仓库安装包 openyida/openyida
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 2026-08-18
正文体量9.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按说明装一个试试。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有现成安装命令,要按安装说明或仓库 README 手动放置。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Yida Ppt Slider当前 未标注权限 GitHub 仓库 未标注 未标注 无
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

9.1 KB
模型实际读到的说明书原文,来自技能仓库

宜搭 PPT 幻灯片开发指南

核心定位

本技能用于在宜搭内交付全屏演示页:

  • .canvas.jsx / .canvas.tsx + YidaComp 函数组件。
  • useState 管当前页、主题、语言、导航显隐和全屏状态。
  • useEffect 管键盘、hash、触摸、定时器和 cleanup。
  • useMemo 派生当前页与页码数据。
  • 常规图表默认交 yida-rechart;明确 ECharts/复杂 option 时才使用 yida-chart。

已有 .oyd.jsx / .oyb.jsx 或深度依赖平台实例桥时,按平台 JSX 组件运行时维护。

适用场景

用户意图 触发条件 处理方式
在宜搭内创建演示文稿 "PPT"、"yida-ppt"、"幻灯片"、"演示页面"、"产品路演" 使用本技能
需要读取宜搭数据的演示 演示页要接入表单、权限或宜搭页面能力 YidaCodeCanvas 组件 + yida-canvas-data-binding
纯静态演讲稿 不依赖宜搭发布、不读取宜搭数据 优先改用独立 HTML 幻灯片能力
维护已有 renderJsx / didMount PPT 已有平台 JSX 组件页面或强依赖平台实例桥 按平台 JSX 组件运行时维护

致命规则

  1. 源码格式正确:不得把 .oyd.jsx、renderJsx、didMount 写成默认页面实现。
  2. 状态归 hooks:翻页、导航、语言、主题、全屏状态用 React hooks。
  3. 副作用必须清理:键盘、触摸、鼠标、hash、fullscreen、定时器和图表副作用均在 useEffect cleanup。
  4. 事件真实可触发:禁止 onClick={foo()}、小写 onclick;可见按钮必须有 handler 或 disabled。
  5. 图片完整展示:默认 object-fit: contain,不得裁掉关键演示素材。
  6. hash 双向同步:初始页读取 hash;翻页更新 hash;浏览器前进/后退能恢复页码。
  7. 全屏由用户手势触发:监听 fullscreenchange 同步 UI;卸载时移除监听。
  8. 页面级隐藏导航:演示页发布后配置 isRenderNav=false 并验证最终 URL;这不等同于应用导航隐藏。

开发流程

# 1. 只读检测
openyida env --json
openyida login --check-only --json

# 2. 已获授权后创建应用/页面(已有则跳过)
openyida create-app "<应用名>"
openyida create-page <appType> "<页面名>"

# 3. 编写 `.canvas.jsx` 源码
# project/pages/src/<页面名>.canvas.jsx

# 4. 本地快检(以 yida-canvas-custom-page 的 compileCanvasLocal 为准)

# 5. 用户确认内容与主题后发布
openyida publish project/pages/src/<页面名>.canvas.jsx <appType> <formUuid>

# 6. 隐藏宜搭导航并回读验证
openyida update-form-config <appType> <formUuid> false "<页面名>"
openyida get-schema <appType> <formUuid>

openyida check-page / openyida compile 是平台 JSX 组件页面校验,不是使用 YidaCodeCanvas 组件实现页面的默认验证步骤。

技术骨架

import React, { useCallback, useEffect, useMemo, useState } from 'react';

function clampPage(value, total) {
  return Math.max(0, Math.min(total - 1, value));
}

function readHashPage(total) {
  const raw = Number(window.location.hash.replace(/^#/, ''));
  return Number.isFinite(raw) && raw >= 1 ? clampPage(raw - 1, total) : 0;
}

function YidaComp() {
  const total = SLIDES.length;
  const [current, setCurrent] = useState(() => readHashPage(total));
  const [navVisible, setNavVisible] = useState(false);
  const [isFullscreen, setIsFullscreen] = useState(Boolean(document.fullscreenElement));

  const goTo = useCallback((next) => {
    setCurrent((previous) => clampPage(
      typeof next === 'function' ? next(previous) : next,
      total,
    ));
  }, [total]);

  useEffect(() => {
    const handleKeyDown = (event) => {
      if (['ArrowRight', 'ArrowDown', 'PageDown', ' '].includes(event.key)) {
        event.preventDefault();
        goTo((page) => page + 1);
      } else if (['ArrowLeft', 'ArrowUp', 'PageUp'].includes(event.key)) {
        event.preventDefault();
        goTo((page) => page - 1);
      } else if (event.key === 'Home') {
        goTo(0);
      } else if (event.key === 'End') {
        goTo(total - 1);
      }
    };
    window.addEventListener('keydown', handleKeyDown);
    return () => window.removeEventListener('keydown', handleKeyDown);
  }, [goTo, total]);

  useEffect(() => {
    const handleHashChange = () => setCurrent(readHashPage(total));
    window.addEventListener('hashchange', handleHashChange);
    return () => window.removeEventListener('hashchange', handleHashChange);
  }, [total]);

  useEffect(() => {
    const hash = '#' + String(current + 1);
    if (window.location.hash !== hash) history.replaceState(null, '', hash);
  }, [current]);

  useEffect(() => {
    const handleFullscreen = () => setIsFullscreen(Boolean(document.fullscreenElement));
    document.addEventListener('fullscreenchange', handleFullscreen);
    return () => document.removeEventListener('fullscreenchange', handleFullscreen);
  }, []);

  const slide = useMemo(() => SLIDES[current], [current]);
  return (
    <PresentationShell
      slide={slide}
      current={current}
      total={total}
      navVisible={navVisible}
      isFullscreen={isFullscreen}
      onNavigate={goTo}
      onNavVisibleChange={setNavVisible}
    />
  );
}

export default YidaComp;

触摸手势、鼠标底部热区、数字键缓冲和自动播放也分别放进 useEffect,每个 effect 独立 cleanup;不要把所有事件塞进一个难以维护的大 effect。

幻灯片数据与类型

SLIDES 放在组件外作为静态数据,或通过 props/数据桥加载;不要把全部文案硬编码在 JSX 分支中。

类型 用途
cover 封面
toc 目录
chapter 章节过渡
key-points 要点列表
image-text 图文混排
scene-image 场景展示
two-images 双图对比
chart 业务图表,默认 yida-rechart
ending 结束页

主题

theme 风格 适合场景
default 浅色简约、内容优先 技术分享、产品路演、培训
dark-tech 深色、粒子/网格、电影级转场 科技发布、沉浸演示

粒子背景用 <canvas> 时,在 React ref + useEffect 中初始化 requestAnimationFrame,cleanup 必须 cancelAnimationFrame、移除 resize 监听并释放引用。不要用固定 setTimeout 等 DOM。

响应式与交互

  • 响应式优先 CSS media query / matchMedia hook,不使用一次性 this.utils.isMobile()。
  • 页面根节点固定覆盖视口:position: fixed; inset: 0; overflow: hidden。
  • 键盘支持方向键、PageDown/PageUp、Home/End;演讲笔通常映射到这些键。
  • 数字键跳页用独立 hook 管缓冲与定时器,并在 cleanup 清除。
  • 底部导航默认隐藏,鼠标靠近底部或触摸时显示;移动端触控目标不少于 44px。
  • 图片使用 max-width/max-height: 100% + object-fit: contain。
  • prefers-reduced-motion 时关闭粒子、自动播放和大幅转场。

图表边界

  • 常规折线、柱、面积、饼/环、组合图:use_skill("yida-rechart", "在 Canvas 幻灯片中实现业务图表")。
  • 只有用户明确要求 ECharts、复杂 ECharts option、bar chart race 或旧 native ECharts 演示时,调用 yida-chart。
  • references/echarts-race-example.md 是明确 ECharts 的专项/legacy 参考,不是默认幻灯片骨架。

平台 JSX 组件维护注意事项

维护平台 JSX 组件页面或必须使用页面实例桥时:

  • 状态可用 _customState + forceUpdate。
  • 生命周期使用 didMount / didUnmount。
  • 移动端可用 this.utils.isMobile()。
  • 源码使用 .oyd.jsx,校验走 openyida check-page / openyida compile。

references/examples.md 和 references/dark-tech-theme.md 中标记为平台 JSX 组件/native 的代码只用于对应运行时维护;同等能力优先用 hooks 表达。

验收

  • Canvas 本地编译通过,发布后回读到非空 runtimeCode。
  • 方向键、PageUp/PageDown、hash 前进后退、全屏按钮、触摸翻页实际可用。
  • 离开页面后不再响应事件、轮询或动画。
  • 图片无关键裁切,手机竖屏可读,reduced-motion 有降级。
  • 平台导航隐藏,分享 URL 定位页码有效。
  • 使用 ECharts 时已明确记录命中的例外条件;否则图表默认 yida-rechart。

参考文档

文档 用途
核心示例 hooks 示例优先;旧 native 完整示例明确标记 legacy
dark-tech 主题 粒子/转场原则;旧 renderJsx 框架只作 legacy
ECharts race 示例 仅明确 ECharts/bar chart race 或维护旧实现时阅读
yida-canvas-data-binding 演示页真实数据桥

常见问题

5 问
答案由本站依据条目字段整理
Yida Ppt Slider怎么安装?

没有现成安装命令:按安装说明或仓库 README,把 SKILL.md 放进客户端的 skills 目录(一般一个技能一个文件夹)。

Yida Ppt Slider支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Yida Ppt Slider权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Yida Ppt Slider收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Yida Ppt Slider用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。