wps-certificate — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited wps-certificate (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
名单 + 模板 → 批量生成证书。年终评优、培训结业必备。
wps-docx-writerwps-contract[1] 荣誉证书 → 先进个人/优秀员工/竞赛获奖
[2] 结业证书 → 培训/课程结业
[3] 聘 书 → 聘任职务/顾问
[4] 感谢信 → 感谢合作/捐赠/志愿服务
[5] 表扬信 → 表扬个人/团队荣誉证书:
[姓名] 同志:
在 [时间段] [活动/考核] 中表现突出,成绩优异,
被评为"[荣誉称号]",特发此证,以资鼓励。
[单位名称]
[日期]
结业证书:
兹证明 [姓名] 于 [时间] 参加本单位组织的
"[培训名称]" 培训,完成全部课程学习,
考核合格,准予结业。
[单位名称]
[日期]
聘书:
[姓名] 先生/女士:
经研究决定,聘任您为 [职务/职称],
聘期自 [起始日期] 至 [终止日期]。
[单位名称](盖章)
[日期]from docx import Document
from docx.shared import Pt, Cm, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from openpyxl import load_workbook
import os
def create_certificate(cert_type, unit_name, recipients, content, date_str,
output_dir=None):
"""批量生成证书"""
output_dir = output_dir or '证书输出'
os.makedirs(output_dir, exist_ok=True)
files = []
templates = {
'荣誉证书': '在{activity}中表现突出,成绩优异,被评为"{title}",'
'特发此证,以资鼓励。',
'结业证书': '于{period}参加本单位组织的"{training}"培训,'
'完成全部课程学习,考核合格,准予结业。',
'聘书': '经研究决定,聘任您为{position},聘期自{start}至{end}。',
}
for person in recipients:
name = person if isinstance(person, str) else person.get('name', '')
doc = Document()
# 页面设置(横向A4)
section = doc.sections[0]
section.page_width = Cm(29.7)
section.page_height = Cm(21)
section.top_margin = Cm(3)
section.bottom_margin = Cm(2)
section.left_margin = Cm(4)
section.right_margin = Cm(4)
def set_font(run, font_name='楷体', size=16, bold=False, color=None):
run.font.size = Pt(size)
run.font.name = font_name
run._element.rPr.rFonts.set(qn('w:eastAsia'), font_name)
run.bold = bold
if color:
run.font.color.rgb = RGBColor(*color)
# 标题
for _ in range(2):
doc.add_paragraph()
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run(cert_type)
set_font(run, '华文行楷', 36, True, (180, 30, 30))
doc.add_paragraph()
# 称呼
p = doc.add_paragraph()
p.paragraph_format.first_line_indent = Pt(32)
p.paragraph_format.line_spacing = Pt(36)
run = p.add_run(f'{name} 同志:')
set_font(run, '楷体', 18)
# 正文
body_text = templates.get(cert_type, content)
if isinstance(person, dict):
body_text = body_text.format(**person)
p = doc.add_paragraph()
p.paragraph_format.first_line_indent = Pt(36)
p.paragraph_format.line_spacing = Pt(36)
run = p.add_run(f' {body_text}')
set_font(run, '楷体', 16)
# 落款
for _ in range(3):
doc.add_paragraph()
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.RIGHT
run = p.add_run(unit_name)
set_font(run, '楷体', 16)
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.RIGHT
run = p.add_run(date_str)
set_font(run, '楷体', 14)
path = os.path.join(output_dir, f'{cert_type}_{name}.docx')
doc.save(path)
files.append(path)
return files# 批量生成
/wps-certificate 荣誉证书 用employees.xlsx里的名单生成年度优秀员工证书
# 单张
/wps-certificate 聘书 聘任张三为技术顾问
# 结业证书
/wps-certificate 结业证书 给参加Python培训的20个人生成结业证~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.