Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Bwkyd/wps-skills --skill wps-coursewaregit clone --depth 1 https://github.com/Bwkyd/wps-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bwkyd/wps-skills/wps-courseware)<a href="https://agentmods.dev/skills/bwkyd/wps-skills/wps-courseware"><img src="https://agentmods.dev/badge/skills/bwkyd/wps-skills/wps-courseware/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bwkyd/wps-skills/wps-courseware"><img src="https://agentmods.dev/badge/skills/bwkyd/wps-skills/wps-courseware.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00095 | $0.01840 |
| Opus 5 | $0.00048 | $0.00920 |
| Sonnet 5 | $0.00019 | $0.00368 |
| Haiku 4.5 | $0.00010 | $0.00184 |
Grade A, and why
wps-courseware scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 208 lines — stays where its author put it; the contents beside it link to each section on GitHub.
课件制作工具
教学目标 → 知识点拆解 → 结构化课件 → 含互动和练习。
让老师专注教学设计,排版交给工具。
When to Use
- 教师制作教学课件
- 企业培训师做培训PPT
- 需要含练习题/互动环节的课件
- 用户说"帮我做个课件""这节课怎么讲"
When NOT to Use
- 普通工作汇报PPT → 使用
wps-ppt-gen - 只需PPT大纲 → 使用
wps-ppt-outline
课件结构(教学设计五步法)
┌─ 导入(5min)── 情境/问题/故事引入
│
├─ 新授(15-20min)── 知识点讲解+案例
│ ├─ 知识点1 → 概念 → 示例 → 小结
│ ├─ 知识点2 → 概念 → 示例 → 小结
│ └─ 知识点3 → 概念 → 示例 → 小结
│
├─ 练习(10min)── 课堂练习+互动
│ ├─ 基础题(巩固)
│ ├─ 提高题(应用)
│ └─ 拓展题(创新)
│
├─ 总结(5min)── 知识框架回顾
│
└─ 作业(课后)── 布置任务
工作流程
Step 1: 确认课件信息
- 学科/主题:什么课
- 年级/对象:学生or员工
- 课时:一节课/两节课
- 教学目标:学完要掌握什么
- 重难点:哪些需要重点讲
Step 2: 知识点拆解
将主题拆分为3-5个知识点,每个知识点:
- 概念定义(是什么)
- 原理解释(为什么)
- 案例示例(怎么用)
- 易错点(注意什么)
Step 3: 生成课件PPT
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.enum.text import PP_ALIGN
from pptx.dml.color import RGBColor
import os
def create_courseware(info, knowledge_points, output_path=None):
"""生成教学课件"""
prs = Presentation()
prs.slide_width = Inches(13.33)
prs.slide_height = Inches(7.5)
# 配色
PRIMARY = RGBColor(0x1A, 0x73, 0xE8)
DARK = RGBColor(0x20, 0x20, 0x20)
LIGHT_BG = RGBColor(0xF0, 0xF4, 0xF8)
def add_slide(title, content_items, slide_type='content'):
slide = prs.slides.add_slide(prs.slide_layouts[6]) # blank
# 标题
txBox = slide.shapes.add_textbox(
Inches(0.8), Inches(0.4), Inches(11), Inches(1))
tf = txBox.text_frame
p = tf.paragraphs[0]
p.text = title
p.font.size = Pt(32)
p.font.bold = True
p.font.color.rgb = PRIMARY
# 内容
y = Inches(1.8)
for item in content_items:
txBox = slide.shapes.add_textbox(
Inches(1.2), y, Inches(10), Inches(0.6))
tf = txBox.text_frame
p = tf.paragraphs[0]
p.text = item
p.font.size = Pt(20)
p.font.color.rgb = DARK
y += Inches(0.7)
return slide
# 封面
slide = prs.slides.add_slide(prs.slide_layouts[6])
txBox = slide.shapes.add_textbox(
Inches(2), Inches(2.5), Inches(9), Inches(1.5))
tf = txBox.text_frame
p = tf.paragraphs[0]
p.text = info['title']
p.font.size = Pt(40)
p.font.bold = True
p.font.color.rgb = PRIMARY
p.alignment = PP_ALIGN.CENTER
sub = tf.add_paragraph()
sub.text = f"{info.get('subject','')} {info.get('grade','')}"
sub.font.size = Pt(20)
sub.font.color.rgb = DARK
sub.alignment = PP_ALIGN.CENTER
# 教学目标页
add_slide('教学目标', [
f"知识目标:{info.get('knowledge_goal', '掌握核心概念')}",
f"能力目标:{info.get('ability_goal', '能够运用所学解决问题')}",
f"情感目标:{info.get('emotion_goal', '培养学习兴趣')}",
f"重点:{info.get('key_point', '')}",
f"难点:{info.get('difficulty', '')}",
])
# 知识点页
for i, kp in enumerate(knowledge_points, 1):
add_slide(f"{i}. {kp['title']}", kp.get('points', []))
if kp.get('example'):
add_slide(f"案例:{kp['title']}", kp['example'])
# 练习页
add_slide('课堂练习', [
'1. (基础题)...',
'2. (提高题)...',
'3. (拓展题)...',
])
# 总结页
add_slide('课堂小结', [
f"核心知识点:{len(knowledge_points)}个",
] + [f" {i+1}. {kp['title']}" for i, kp in enumerate(knowledge_points)])
if not output_path:
output_path = f"{info['title']}_课件.pptx"
prs.save(output_path)
return os.path.abspath(output_path)
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 208 lines · 95 tokens per session scan A a630c39fc500
wps-courseware is a skill published in the GitHub repository Bwkyd/wps-skills (7 stars, last pushed 4mo ago), licensed MIT. It adds 95 tokens to every session and 1,840 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
note-organizer
Use this skill whenever the user wants to organize course materials, lecture notes, PPT/PDF/DOCX files, textbooks, personal notes, senior-student notes, historical exams, review questions, standards, manuals, or scattered study resources into a structured Markdown note library. Use it even when the user only says…
read-book
When you want to read and extract structured notes from a book — PDF, EPUB, MOBI, markdown, .txt, pasted text, or URL to a public-domain work. Reads in chunks (by chapter when a TOC exists, by 50-page blocks otherwise), extracts per-chapter TL;DR + key concepts + quotes + action items + frameworks, and offers to…
thesis-defense-pptx
Create, polish, and quality-check editable undergraduate or graduate thesis defense PowerPoint decks from a local thesis PDF/LaTeX project and an existing PPTX template. Use when the user asks for a formal defense PPT, thesis presentation, academic答辩PPT, template-matched PPTX, or local PowerPoint deck generation with…
ai-learning-coach
An AI study coach that guides someone through setting a learning goal, understanding material, recalling it, practising, correcting mistakes, reviewing later, and completing a project. It is for learning a subject rather than simply receiving an answer.
book-digest-cn
A Chinese book-summary and reading-notes guide. It focuses on the question a book answers, the author's claims and evidence, and how the ideas can be applied, rather than simply repeating the table of contents.
homework-tutor-cn
A Chinese-language homework coaching guide for parents of primary and secondary school students.