wps-attendance
考勤打卡统计。把考勤机导出的打卡数据丢进来,自动统计每个人的 迟到、早退、缺勤、加班时长,生成月度考勤汇总表,异常考勤自动标红。 用于帮助HR处理考勤数据。当用户提到考勤、打卡、迟到、加班统计时触发。 Attendance tracker - generates summary reports from…
公文排版。按国标GB/T 9704格式排版通知、请示、批复、函件等公文, 红头文件格式自动处理。 用于帮助用户排版公文。当用户提到公文、红头文件、通知、请示、批复时触发。 Chinese government document formatter per GB/T 9704.
$ npx -y skills add Bwkyd/wps-skills --skill wps-gongwen --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/wps-gongwenContext preview
The summary Claude sees to decide when to auto-load this skill.
公文排版。按国标GB/T 9704格式排版通知、请示、批复、函件等公文, 红头文件格式自动处理。 用于帮助用户排版公文。当用户提到公文、红头文件、通知、请示、批复时触发。 Chinese government document formatter per GB/T 9704.
name: wps-gongwen
description: |
公文排版。按国标GB/T 9704格式排版通知、请示、批复、函件等公文,
红头文件格式自动处理。
用于帮助用户排版公文。当用户提到公文、红头文件、通知、请示、批复时触发。
Chinese government document formatter per GB/T 9704.
license: MIT
user-invocable: true
argument-hint: '[文种] [主题/内容描述]'
allowed-tools: 'Read, Grep, Glob, Bash, Write, Edit'
metadata:
author: BWKYD
title: 公文排版
description_zh: 按国标GB/T 9704格式排版通知、请示、批复、函件等公文
tags:
- 公文
- GB/T 9704
- 红头文件
- python-docx
- WPS
version: 1.0.2
license: MIT按 **GB/T 9704-2012《党政机关公文格式》** 标准,自动生成规范公文 .docx 文件。
| 文种 | 适用场景 | 行文方向 | |------|---------|---------| | **通知** | 发布规章、转发公文、安排工作 | 下行 | | **通报** | 表彰先进、批评错误、传达情况 | 下行 | | **请示** | 请求上级批准或指示 | 上行 | | **报告** | 向上级汇报工作、反映情况 | 上行 | | **批复** | 答复下级请示 | 下行 | | **函** | 平级或不相隶属单位间商洽 | 平行 | | **纪要** | 记载会议主要情况和议定事项 | — | | **决定** | 对重要事项作出决策和部署 | 下行 | | **意见** | 对重要问题提出见解和处理办法 | 多向 | | **命令(令)** | 公布规章、嘉奖有功人员 | 下行 | | **公告** | 向国内外宣布重要事项 | 下行 | | **通告** | 在一定范围内公布应当遵守事项 | 下行 | | **议案** | 提请审议事项 | 上行 | | **决议** | 经会议讨论通过的重大决策事项 | 下行 | | **公报** | 公开发布重要决定或重大事件 | 下行 |
向用户确认以下公文要素(未提供的合理推断或询问):
**必填要素:**
**可选要素(有则填写):**
根据文种特点撰写内容,遵循以下原则:
**语言规范:**
**结构规范:**
**成文日期:**
使用 python-docx 生成标准格式公文文件。
**先确保依赖已安装:**
pip install python-docx 2>/dev/null || pip3 install python-docx 2>/dev/null
**生成脚本必须严格遵循以下格式标准:**
纸张:A4 (210mm × 297mm) 上边距:37mm(上行文为37mm) 下边距:35mm 左边距:28mm 右边距:26mm 页码:外侧,4号半角阿拉伯数字
份号(如有):顶格,3号阿拉伯数字
密级和保密期限(如有):3号黑体
紧急程度(如有):3号黑体
发文机关标志:红色(小标宋体/黑体),上边缘至版心上边缘 35mm
字号根据机关名称长度调整,推荐使用上22下20区间
发文字号:3号仿宋,居中(联合行文居中)
签发人(上行文):3号仿宋,"签发人:"后标3号楷体人名
分隔线:红色,上距发文字号4mm标题:2号方正小标宋(备选华文中宋),居中,行距固定值28.95pt
可分一行或多行排列,回行时做到词意完整
主送机关:3号仿宋,顶格,回行时顶格
正文:3号仿宋_GB2312,首行缩进2字符
行距:固定值28.95pt
每面排22行,每行排28个字
结构层次序号:
第一层 "一、" 黑体
第二层 "(一)" 楷体
第三层 "1." 仿宋
第四层 "(1)" 仿宋
附件说明:正文下一行,左空2字,3号仿宋
"附件:1. XXXXX"发文机关署名:右空4字,发文机关全称或规范简称 成文日期:右空4字,阿拉伯数字,"XXXX年X月X日" 印章:端正、居中下压发文机关署名和成文日期 分隔线:版记上方,与正文间隔一行 抄送机关(如有):4号仿宋,"抄送:XXXX。" 印发机关和日期:4号仿宋,左标印发机关,右标印发日期
from docx import Document
from docx.shared import Pt, Mm, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.section import WD_ORIENT
from docx.oxml.ns import qn, nsdecls
from docx.oxml import parse_xml
import os
def create_gongwen(
title, # 公文标题
doc_type, # 文种(通知/请示/批复等)
issuing_org, # 发文机关
doc_number, # 发文字号
main_recv, # 主送机关
body_text, # 正文内容(段落列表)
date_str, # 成文日期
cc_orgs=None, # 抄送机关
attachments=None,# 附件列表
urgency=None, # 紧急程度
secret_level=None,# 密级
signer=None, # 签发人(上行文)
output_path=None # 输出路径
):
doc = Document()
# === 页面设置 ===
section = doc.sections[0]
section.page_width = Mm(210)
section.page_height = Mm(297)
section.top_margin = Mm(37)
section.bottom_margin = Mm(35)
section.left_margin = Mm(28)
section.right_margin = Mm(26)
# === 辅助函数 ===
def add_para(text, font_name='仿宋_GB2312', size=16, bold=False,
align=WD_ALIGN_PARAGRAPH.JUSTIFY, space_before=0,
space_after=0, first_indent=None):
p = doc.add_paragraph()
p.alignment = align
p.paragraph_format.space_before = Pt(space_before)
p.paragraph_format.space_after = Pt(space_after)
p.paragraph_format.line_spacing = Pt(28.95)
if first_indent:
p.paragraph_format.first_line_indent = Pt(first_indent)
run = p.add_run(text)
run.font.size = Pt(size)
run.font.name = font_name
run._element.rPr.rFonts.set(qn('w:eastAsia'), font_name)
run.bold = bold
return p, run
# === 版头:发文机关标志(红头) ===
p_org = doc.add_paragraph()
p_org.alignment = WD_ALIGN_PARAGRAPH.CENTER
p_org.paragraph_format.space_before = Pt(60)
p_org.paragraph_format.space_after = Pt(0)
run_org = p_org.add_run(issuing_org)
run_org.font.size = Pt(22)
run_org.font.color.rgb = RGBColor(0xFF, 0x00, 0x00)
run_org.font.name = '方正小标宋简体'
run_org._element.rPr.rFonts.set(qn('w:eastAsia'), '方正小标宋简体')
run_org.bold = True
# "文件" 二字(如需要)
if not issuing_org.endswith('文件'):
run_wj = p_org.add_run('文件')
run_wj.font.size = Pt(22)
run_wj.font.color.rgb = RGBColor(0xFF, 0x00, 0x00)
run_wj.font.name = '方正小标宋简体'
run_wj._element.rPr.rFonts.set(qn('w:eastAsia'), '方正小标宋简体')
run_wj.bold = True
# === 发文字号 ===
if doc_number:
add_para(doc_number, '仿宋_GB2312', 16, False, WD_ALIGN_PARAGRAPH.CENTER)
# === 红色分隔线 ===
p_line = doc.add_paragraph()
p_line.paragraph_format.space_before = Pt(4)
p_line.paragraph_format.space_after = Pt(0)
# 使用底部边框模拟红线
pPr = p_line._element.get_or_add_pPr()
pBdr = parse_xml(
f'<w:pBdr {nsdecls("w")}>'
f' <w:bottom w:val="single" w:sz="12" w:space="1" w:color="FF0000"/>'
f'</w:pBdr>'
)
pPr.append(pBdr)
# === 标题 ===
add_para(title, '方正小标宋简体', 22, False, WD_ALIGN_PARAGRAPH.CENTER,
space_before=10, space_after=10)
# === 主送机关 ===
add_para(main_recv + ':', '仿宋_GB2312', 16, F42 个 WPS Office 办公自动化 Claude Code Skills 集合 一句话指令,让 Claude 帮你自动生成 Word / Excel / PPT / PDF 文档。
Repo: Bwkyd/wps-skills
考勤打卡统计。把考勤机导出的打卡数据丢进来,自动统计每个人的 迟到、早退、缺勤、加班时长,生成月度考勤汇总表,异常考勤自动标红。 用于帮助HR处理考勤数据。当用户提到考勤、打卡、迟到、加班统计时触发。 Attendance tracker - generates summary reports from…
文档批量格式转换。把一个文件夹里的Word全转文本、Excel全导出CSV、 Markdown转Word,支持docx/txt/xlsx/csv/md等格式批量互转,一次搞定。 用于帮助用户批量转换文档格式。当用户提到批量转换、格式转换、导出时触发。 Batch converts documents between…
预算表一键生成。部门年度预算、项目预算、活动经费预算,选个模板填数字就行, 小计合计公式自动写好,还有预算vs实际对比和执行率自动计算。 用于帮助财务和行政制作预算表。当用户提到预算、费用表、经费时触发。 Budget spreadsheet generator with formulas and variance…
证书奖状批量生成。给一份名单,批量生成荣誉证书、结业证书、聘书、感谢信, 每人一份独立文件,年终评优、培训结业、表彰活动必备工具。 用于帮助用户批量生成证书。当用户提到证书、奖状、聘书时触发。 Batch certificate/award generator from a list of recipients.
数据图表一键生成。不知道数据该用什么图表?告诉我你的数据和目的, 自动推荐最佳图表类型并生成,柱状图折线图饼图散点图都支持,还帮你调配色。 用于帮助用户制作数据可视化图表。当用户提到图表、柱状图、折线图、饼图时触发。 Chart generator - recommends best chart type and…
日历排班值班表。生成带法定节假日和调休标注的月度/年度日历表, 还能做三班倒/两班倒排班表和节假日值班安排,颜色区分不同班次一目了然。 用于帮助用户生成日历和排班表。当用户提到日历、排班、值班、节假日时触发。 Chinese calendar with holidays, shift scheduling, and…