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-schedulegit 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-schedule)<a href="https://agentmods.dev/skills/bwkyd/wps-skills/wps-schedule"><img src="https://agentmods.dev/badge/skills/bwkyd/wps-skills/wps-schedule/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-schedule"><img src="https://agentmods.dev/badge/skills/bwkyd/wps-skills/wps-schedule.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.00087 | $0.01442 |
| Opus 5 | $0.00044 | $0.00721 |
| Sonnet 5 | $0.00017 | $0.00288 |
| Haiku 4.5 | $0.00009 | $0.00144 |
Grade A, and why
wps-schedule 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 — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
日程/时间表生成器
快速生成格式化的课程表、周计划、活动日程。
When to Use
- 制作课程表
- 周/月工作计划表
- 会议/活动日程安排
- 用户说"做个课程表""周计划表"
When NOT to Use
- 排班值班 → 使用
wps-cn-calendar - 项目甘特图 → 使用
wps-gantt
模板类型
[1] 课程表 → 周一~周五 × 时间段
[2] 周计划 → 周一~周日 × 时间
[3] 会议日程 → 时间 × 议程
[4] 活动安排 → 多日活动详细时间表
工作流程
Step 1: 确认日程信息
- 类型(课程表/周计划/会议日程)
- 时间范围和时间段划分
- 内容项
Step 2: 生成时间表
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side
import os
def create_timetable(schedule_type, data, output_path=None):
"""生成时间表"""
wb = Workbook()
ws = wb.active
header_fill = PatternFill('solid', fgColor='2C3E50')
header_font = Font(name='微软雅黑', size=11, bold=True, color='FFFFFF')
body_font = Font(name='微软雅黑', size=10)
thin = Side(style='thin')
border = Border(left=thin, right=thin, top=thin, bottom=thin)
# 分类颜色
colors = {
'语文': 'FADBD8', '数学': 'AED6F1', '英语': 'A9DFBF',
'物理': 'F9E79F', '化学': 'D7BDE2', '体育': 'ABEBC6',
'会议': 'AED6F1', '工作': 'A9DFBF', '学习': 'F9E79F',
}
if schedule_type == '课程表':
ws.title = "课程表"
days = ['时间', '周一', '周二', '周三', '周四', '周五']
time_slots = data.get('time_slots', [
'08:00-08:45', '08:55-09:40', '10:00-10:45', '10:55-11:40',
'14:00-14:45', '14:55-15:40', '16:00-16:45',
])
# 标题
ws.merge_cells(start_row=1, start_column=1,
end_row=1, end_column=len(days))
ws['A1'] = data.get('title', '课程表')
ws['A1'].font = Font(name='微软雅黑', size=18, bold=True)
ws['A1'].alignment = Alignment(horizontal='center')
# 表头
for col, day in enumerate(days, 1):
cell = ws.cell(row=2, column=col, value=day)
cell.font = header_font
cell.fill = header_fill
cell.alignment = Alignment(horizontal='center')
cell.border = border
ws.column_dimensions['A'].width = 15
for col in range(2, len(days) + 1):
ws.column_dimensions[chr(64 + col)].width = 14
# 时间段和课程
courses = data.get('courses', {})
for row, time_slot in enumerate(time_slots, 3):
ws.cell(row=row, column=1, value=time_slot).font = body_font
ws.cell(row=row, column=1).alignment = Alignment(horizontal='center')
ws.cell(row=row, column=1).border = border
ws.row_dimensions[row].height = 35
for col in range(2, len(days) + 1):
cell = ws.cell(row=row, column=col)
key = f'{days[col-1]}_{row-3}'
course = courses.get(key, '')
cell.value = course
cell.font = body_font
cell.alignment = Alignment(horizontal='center',
vertical='center')
cell.border = border
# 颜色
for subject, color in colors.items():
if subject in str(course):
cell.fill = PatternFill('solid', fgColor=color)
break
# 午休分隔
if row == 6:
r = row + 1
ws.merge_cells(start_row=r, start_column=1,
end_row=r, end_column=len(days))
ws.cell(row=r, column=1, value='午 休').font = Font(
name='微软雅黑', size=12, bold=True, color='888888')
ws.cell(row=r, column=1).alignment = Alignment(
horizontal='center')
if not output_path:
output_path = f'{schedule_type}.xlsx'
wb.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 · 168 lines · 87 tokens per session scan A c3badd63bae0
wps-schedule is a skill published in the GitHub repository Bwkyd/wps-skills (7 stars, last pushed 4mo ago), licensed MIT. It adds 87 tokens to every session and 1,442 once invoked, about $0.0004 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
shortfilm-prompt
Generate cinematic AI shortfilm prompts (works with Seedance 2.0, Xiaoyunque, Sora, Kling, Jimeng, Veo) using the 5-stage structure from Mx-Shell's Zombie Scavenger. Trigger when the user wants transformation sequences, multi-shot narrative shorts, weapon-charge/combat segments, emotional family/pet/farewell…
simp
A relationship-advice skill that helps interpret signals, plan respectful approaches, and write sincere messages for someone you like.
chinese-write-checker
A Chinese-language review process for checking an article from an editor's, reader's, writer's, and publishing platform's viewpoints.
packaging-workshop
A final presentation review for finished Chinese content. It works on the title, opening, layout, punctuation, images, and platform format without changing the main body.
editor-revisor
A Chinese-language editing assistant that finds unnecessary words, formulaic openings, forced parallel phrasing, and slogan-like endings. It offers a deletion-focused mode and a fuller rewriting mode for any draft.
voice-dissolver
A writing-analysis skill that identifies the author's real voice before any rewriting. It marks distinctive passages to preserve and can ask questions to clarify the intended feeling, stance, and audience.