Skills Plugins MCP Prompt Model 博客 我的中心

wps-exam-paper

试卷排版。按标准格式排版考试试卷,包含密封线、评分栏、题号编排, 支持选择题、填空题、判断题、简答题等题型。 用于帮助教师制作考试试卷。当用户提到试卷、考试、出题时触发。 Exam paper formatter.

DeepseekModel 官方收录技能 质量 良好 · 64 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=bwkyd-wps-skills-skills-wps-exam-paper-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name wps-exam-paper description 试卷排版。按标准格式排版考试试卷,包含密封线、评分栏、题号编排, 支持选择题、填空题、判断题、简答题等题型。 用于帮助教师制作考试试卷。当用户提到试卷、考试、出题时触发。 Exam paper formatter. license MIT user-invocable true argument-hint [学科/年级/考试类型] allowed-tools Read, Grep, Glob, Bash, Write, Edit metadata {"author":"BWKYD","title":"试卷排版","description_zh":"按标准格式排版试卷,包含密封线、评分栏、题号等","tags":["试卷","考试","教育","python-docx","WPS"],"version":"1.0.2","license":"MIT"} 试卷生成器 题目 → 规范排版 → 带密封线和评分栏的标准试卷。 老师出题最头疼的不是题目本身,而是排版。 When to Use 制作期中/期末考试试卷 练习卷/测验卷 需要规范的试卷格式(密封线、评分表) 用户说"帮我做份试卷""出几道题" When NOT to Use 课件制作 → 使用 wps-courseware 普通文档 → 使用 wps-docx-writer 试卷格式标准 ┌──────────────────────────────────────────────┐ │ ┃ 姓 ┃ │ │ ┃ 名 ┃ XX学校 2025-2026学年第二学期 │ │ ┃ : ┃ 【XX学科】期末考试试卷 │ │ ┃ ┃ │ │ ┃ 班 ┃ 考试时间:120分钟 满分:100分 │ │ ┃ 级 ┃ │ │ ┃ : ┃ ┌────┬────┬────┬────┬────┬────┐ │ │ ┃ ┃ │题号│ 一 │ 二 │ 三 │ 四 │总分│ │ │ ┃ 学 ┃ ├────┼────┼────┼────┼────┼────┤ │ │ ┃ 号 ┃ │得分│ │ │ │ │ │ │ │ ┃ : ┃ └────┴────┴────┴────┴────┴────┘ │ │ ┃ ┃ │ │密封线 ┃ 一、选择题(每小题3分,共30分) │ │ ┃ ┃ 1. 题目内容 │ │ ┃ ┃ A. 选项A B. 选项B │ │ ┃ ┃ C. 选项C D. 选项D │ │ ┃ ┃ │ └──────────────────────────────────────────────┘ 支持的题型 [1] 选择题 → A/B/C/D 四选一,可设单选/多选 [2] 填空题 → 下划线留空 [3] 判断题 → 对(√) 错(×) [4] 简答题 → 留答题空间 [5] 计算题 → 留解题步骤空间 [6] 作文/论述 → 留方格纸区域 [7] 连线题 → 左右匹配 [8] 材料分析 → 阅读材料+问题 工作流程 Step 1: 确认试卷信息 学校名称 学科/年级 考试类型 (期中/期末/月考/模拟) 时间和分值 题型和题量 Step 2: 生成试卷 from docx import Document from docx.shared import Pt, Cm, Mm, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.enum.table import WD_TABLE_ALIGNMENT from docx.oxml.ns import qn import os def create_exam_paper ( info, sections, output_path= None ): """ info = { 'school': 'XX中学', 'semester': '2025-2026学年第二学期', 'subject': '数学', 'exam_type': '期末考试', 'duration': 120, 'total_score': 100, } sections = [ {'type': '选择题', 'score_each': 3, 'total': 30, 'questions': [...]}, {'type': '填空题', 'score_each': 3, 'total': 15, 'questions': [...]}, ] """ doc = Document() section = doc.sections[ 0 ] section.page_width = Mm( 210 ) section.page_height = Mm( 297 ) section.top_margin = Mm( 25 ) section.bottom_margin = Mm( 20 ) section.left_margin = Mm( 30 ) # 留密封线空间 section.right_margin = Mm( 20 ) def set_font ( run, name= '宋体' , size= 12 , bold= False ): run.font.size = Pt(size) run.font.name = name run._element.rPr.rFonts. set (qn( 'w:eastAsia' ), name) run.bold = bold # 标题 p = doc.add_paragraph() p.alignment = WD_ALIGN_PARAGRAPH.CENTER run = p.add_run(info[ 'school' ]) set_font(run, '黑体' , 10 ) p = doc.add_paragraph() p.alignment = WD_ALIGN_PARAGRAPH.CENTER run = p.add_run( f" {info[ 'semester' ]} " ) set_font(run, '宋体' , 10 ) p = doc.add_paragraph() p.alignment = WD_ALIGN_PARAGRAPH.CENTER run = p.add_run( f"【 {info[ 'subject' ]} 】 {info[ 'exam_type' ]} 试卷" ) set_font(run, '黑体' , 16 , True ) p = doc.add_paragraph() p.alignment = WD_ALIGN_PARAGRAPH.CENTER run = p.add_run( f"考试时间: {info[ 'duration' ]} 分钟 满分: {info[ 'total_score' ]} 分" ) set_font(run, '宋体' , 10 ) # 评分表 num_sections = len (sections) table = doc.add_table(rows= 2 , cols=num_sections + 2 ) table.alignment = WD_TABLE_ALIGNMENT.CENTER headers = [ '题号' ] + [ f' { "一二三四五六七八九十" [i]} ' for i in range (num_sections)] + [ '总分' ] for i, h in enumerate (headers): table.cell( 0 , i).text = h table.cell( 0 , i).paragraphs[ 0 ].alignment = WD_ALIGN_PARAGRAPH.CENTER table.cell( 1 , 0 ).text = '得分' table.cell( 1 , 0 ).paragraphs[ 0 ].alignment = WD_ALIGN_PARAGRAPH.CENTER doc.add_paragraph() # 空行 # 题目区域 section_labels = "一二三四五六七八九十" q_num = 1 for idx, sec in enumerate (sections): # 大题标题 p = doc.add_paragraph() label = section_labels[idx] run = p.add_run( f" {label} 、 {sec[ 'type' ]} (每小题 {sec[ 'score_each' ]} 分," f"共 {sec[ 'total' ]} 分)" ) set_font(run, '黑体' , 12 , True ) # 题目 for q in sec.get( 'questions' , []): p = doc.add_paragraph() run = p.add_run( f" {q_num} . {q.get( 'stem' , '(题目内容)' )} " ) set_font(run, '宋体' , 11 ) p.paragraph_format.line_spacing = Pt( 24 ) if sec[ 'type' ] == '选择题' and 'options' in q: p = doc.add_paragraph() opts = q[ 'options' ] run = p.add_run( f" A. {opts[ 0 ]} B. {opts[ 1 ]} " f"C. {opts[ 2 ]} D. {opts[ 3 ]} " ) set_font(run, '宋体' , 11 ) if sec[ 'type' ] in [ '简答题' , '计算题' , '论述题' ]: for _ in range ( 4 ): doc.add_paragraph() # 答题空间 q_num += 1 if not output_path: output_path = f" {info[ 'subject' ]} {info[ 'exam_type' ]} 试卷.docx" doc.save(output_path) return os.path.abspath(output_path) Step 3: 交付 生成试卷.docx文件 可选:生成答案卷 提醒教师检查题目和分值 示例 # 生成试卷 /wps-exam-paper 帮我做一份初三数学期末试卷,选择题10道填空题5道计算题3道 # 模板 /wps-exam-paper 生成一个空白的语文试卷模板 # 指定题目 /wps-exam-paper 把这些题目排成标准试卷格式
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。