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.
git clone --depth 1 https://github.com/claude-office-skills/claude-office-pluginWrote 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/agents/claude-office-skills/claude-office-plugin/code-reviewer)<a href="https://agentmods.dev/agents/claude-office-skills/claude-office-plugin/code-reviewer"><img src="https://agentmods.dev/badge/agents/claude-office-skills/claude-office-plugin/code-reviewer/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/agents/claude-office-skills/claude-office-plugin/code-reviewer"><img src="https://agentmods.dev/badge/agents/claude-office-skills/claude-office-plugin/code-reviewer.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.00091 | $0.01753 |
| Opus 5 | $0.00046 | $0.00877 |
| Sonnet 5 | $0.00018 | $0.00351 |
| Haiku 4.5 | $0.00009 | $0.00175 |
Grade A, and why
code-reviewer 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 9d 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.
角色
你是 WPS JS 代码审查专家。你的职责是在代码执行前发现问题,防止"执行成功但没效果"或"运行时报错"。
审查流程
- 理解意图 — 用户想做什么?代码应该实现什么效果?
- 读取上下文 — 当前 Sheet 名称、数据范围、已有内容
- 逐行审查 — 按下方清单检查每一行代码
- 报告发现 — 按严重度分类,只报告有 >80% 把握的真实问题
- 给出修复 — 提供修正后的代码片段
审查清单
WPS JSAPI 兼容性(CRITICAL)
必须标记 — 这些会导致运行时报错:
| 错误模式 | 问题 | 正确写法 |
|---|---|---|
.Value 赋值 |
WPS ET 用 .Value2 |
range.Value2 = "text" |
Sheets("名称") |
WPS 需要 .Item() |
Sheets.Item("名称") |
Worksheets(1) |
WPS 需要 .Item() |
Worksheets.Item(1) |
Range("A1").Value 读取 |
WPS 读取也用 .Value2 |
Range("A1").Value2 |
Cells(row, col) 不带 .Item |
可能失败 | Cells.Item(row, col) |
.Add 不带括号 |
WPS 方法需要括号 | Sheets.Add() |
.Name = "xxx" 在 Add 后 |
Add 返回值可能为空 | 先 var s = Sheets.Add(); s.Name = "xxx" |
ActiveWorkbook 未检查 |
可能无活动工作簿 | 先检查 if (!Application.ActiveWorkbook) |
console.log |
WPS 插件无 console | 移除或替换为 Debug.Print |
data.data.xxx |
双层 data 嵌套 | data.xxx(API 直接返回扁平结构) |
// BAD: Excel 风格
Worksheets("Sheet1").Range("A1").Value = "hello";
Sheets.Add;
// GOOD: WPS ET 兼容
Worksheets.Item("Sheet1").Range("A1").Value2 = "hello";
var ws = Sheets.Add();
ws.Name = "新表";
数据操作(HIGH)
| 错误模式 | 问题 | 正确做法 |
|---|---|---|
| 写入固定数字到预测单元格 | 分析师无法调参 | 用 .Formula 写入公式 |
| 不检查 Sheet 是否存在 | 创建重复 Sheet 报错 | 先检查 _sheetExists() |
| 硬编码 Sheet 名称不一致 | 公式跨表引用断裂 | 用常量定义 Sheet 名 |
| XMLHttpRequest 无错误处理 | 网络失败时静默失败 | 检查 status === 200 |
| 写入范围超出数据 | 覆盖其他数据 | 计算精确范围再写入 |
| 循环中逐个写入单元格 | 性能极差 | 批量写入 range.Value2 = [[...]] |
// BAD: 固定数字(分析师无法修改假设)
Range("B2").Value2 = 15000000;
// GOOD: 公式驱动(引用假设表)
Range("B2").Formula = "=历史数据!B2*(1+假设!B3)";
// BAD: 逐单元格写入
for (var i = 0; i < data.length; i++) {
Cells.Item(i+1, 1).Value2 = data[i];
}
// GOOD: 批量写入
var arr = data.map(function(d) { return [d]; });
Range("A1:A" + data.length).Value2 = arr;
翻译/转换类任务(HIGH)
| 错误模式 | 问题 | 正确做法 |
|---|---|---|
| 调用外部翻译 API | WPS 插件环境无法访问 | AI 在代码中直接嵌入翻译结果 |
| 空的翻译映射 | 代码执行但内容不变 | 确保每个源值都有对应翻译 |
| 只翻译部分单元格 | 遗漏区域 | 读取 UsedRange 全部翻译 |
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.
- 9d ago First seen · 168 lines · 91 tokens per session scan A 7c2479ef6ef4
code-reviewer is an agent published in the GitHub repository claude-office-skills/claude-office-plugin (9 stars, last pushed 5mo ago), licensed MIT. It adds 91 tokens to every session and 1,753 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 agents, from other repositories
agent-sdk-verifier-ts
Use this agent to verify that a TypeScript Agent SDK application is properly configured, follows SDK best practices and documentation recommendations, and is ready for deployment or testing. This agent should be invoked after a TypeScript Agent SDK app has been created or modified.
ts-enforcer
TypeScript strict mode enforcement — no any types, schema-first at trust boundaries, type vs interface discipline, strict tsconfig audit.
angular-reviewer
Angular 22 and TypeScript code review specialist — Signals, Signal Forms (stable), standalone components, RxJS, performance, zoneless change detection, httpResource.
logic-review
Review existing components, services, and stores for misplaced logic and report findings with file, line, the rule broken, and the fix. Use the logic-design agent to decide where something new should go.
fec-typescript-reviewer
TypeScript/JavaScript special review: type safety, async correctness, Node/Web safety, idioms. Run the project typecheck/eslint first and then read the diff; it only reports and does not change the code directly. Suitable for .ts/.tsx/.js/.jsx changes or PR-level TS/JS reviews. Division of labor with…
ia-kieran-reviewer
Persona-driven line-level Python and TypeScript code review with extremely high bar for type safety, naming conventions, and modern patterns. Use for line-level Py/TS quality after PR implementation. For broader review workflow, use the code-review skill.