Pinvou/pinvou-agent is an open-source desktop workspace where an AI agent helps with work, visual design, and software development. People use it to work with files and knowledge, create editable visual artifacts, connect coding agents to projects, and extend the workspace with tools, MCP servers, skills, and workflows; the catalogue skills add capabilities to that environment.
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 Pinvou/pinvou-agent --skill government-writinggit clone --depth 1 https://github.com/Pinvou/pinvou-agentWrote 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/pinvou/pinvou-agent/government-writing)<a href="https://agentmods.dev/skills/pinvou/pinvou-agent/government-writing"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/government-writing/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/pinvou/pinvou-agent/government-writing"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/government-writing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00133 | $0.03589 |
| Opus 5 | $0.00067 | $0.01795 |
| Sonnet 5 | $0.00027 | $0.00718 |
| Haiku 4.5 | $0.00013 | $0.00359 |
Grade A, and why
government-writing 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 3d 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 — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
党政机关公文写作
撰写规范的党政机关公文。当前内置文种:通知、意见;印发型通知的主件若是办法/规定(法规体例),另读 templates/办法.md。
总流程
- 判文种 —— 据用户意图定文种(见分派表),读对应
templates/<文种>.md。 - 采要素 —— 补齐七要素槽位,缺什么一次性问全(别挤牙膏)。
- 填正文 —— 按模板骨架 + 层级序号体系撰写。
- 套话术 —— 主送/承启/结尾/落款/公开方式用固定话术库。
- 自检 —— 过"立账核账"清单逐项打勾。
- 出件 —— 按公文字段契约(见下方)调
mcp_gongwen_make_gongwen渲染合规 .docx → 拿到 path 必须再present_artifact(path, title)上产物卡。- 依赖检查:本技能靠『公文写作』MCP 出件。若
mcp_gongwen_make_gongwen不存在/不可用,别硬拼纯文本冒充成品——提示用户去插件中心·连接器页安装『公文写作』引擎,装好再出件。 make_gongwen出件前自带立账核账:若返回ok:false且blocked_by_validate,说明有 error 级硬伤(正文为空 / 缺主送 / 缺成文日期等),按issues补全字段后重调,绝不跳过、绝不拿空壳去 present。- .docx 是二进制成品:要改内容就改字段重调
make_gongwen,绝不用read_file/edit_file去读写 .docx(读不出文本是正常的)。 - 不要自己拼 markdown 当公文成品——内容你写进字段,套版交给渲染器。
- 正文是纯文本、不是 JSON:
body/attachment_body直接写多行纯文本(一段一行),每个字段都是独立的字符串参数——别再自己拼 JSON、JSON.stringify、或写临时文件验证。 - 路径以返回值为准:
make_gongwen返回里就有path,直接拿它调present_artifact,绝不自己ls/find/read_file满磁盘找 .docx。
- 依赖检查:本技能靠『公文写作』MCP 出件。若
文种分派
| 用户要写 | 文种 | 读模板 | 典型 |
|---|---|---|---|
| 印发办法/规划/方案/措施、批转下级文件 | 通知(印发型) | templates/通知.md,主件办法/规定读 templates/办法.md |
关于印发《XX办法》的通知 |
| 延长有效期/废止/聘任/事项告知 | 通知(事务型) | templates/通知.md |
关于…失效的通知 |
| 提出工作举措/实施安排 | 意见 | templates/意见.md |
关于加强…的实施意见 |
区分关键:
印发《…意见/办法》的通知文种是通知(外壳),不是意见;正文主件才是意见/办法。
起草纪律(不臆造真实信息)
公文是法律文件,起草阶段拿不到的真实信息绝不编造——标注待编/待核,交付时一并提示:
- 发文字号:序号由发文机关登记后赋予,起草无法预知。写成
{简称}〔{年}〕X号(序号留X占位),绝不编一个具体数字冒充真实文号(编出来像真的,最坑用户);交付话术提示"文号待发文机关登记后填入"。 - 成文日期:用户未指定则填拟稿当日,不留
XX占位;提示"以实际签发日为准"。 - 发文机关 / 主送机关:缺则一次问全,不臆造机关名。
- 金额 / 期限 / 法条 / 引用文件:拿不准就标
〔待核:参照…〕,不要编看似精确的数值——编出来比留空更危险,用户会当真。
公文七要素骨架(所有文种通用)
- 发文字号
{机关简称}〔{年}〕{序号}号—— 三类后缀须区分:…办规〔…〕N号= 规范性文件(有有效期、须登记)…办函〔…〕N号= 函式行文…办〔…〕N号= 普通公文 (示例:广州市府办公厅简称"穗府办";按实际机关替换。)
- 标题
{发文机关}关于{事由}的{文种}—— 事由用"关于…",力求一行内、无标点(书名号除外)。 - 主送机关 标准式
各区人民政府,市政府各部门、各直属机构:(按受文范围调整;应急类加"…市应急委成员单位")。 - 正文 缘由 → 承启 → 事项 →(结尾要求)。
- 落款
{发文机关}+ 成文日期(阿拉伯数字2026年5月28日,印章压日期)。 - 公开方式
公开方式:主动公开(规范性文件几乎都主动公开)。 - 印发记录
{发文机关}秘书处 {年月日}印发。
What ships with it
3 files 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.
- 3d ago Changed 836d23db9e0a
- 12d ago First seen · 130 lines · 133 tokens per session scan A b9cf015aba54
government-writing is a skill published in the GitHub repository Pinvou/pinvou-agent (1,880 stars, last pushed today), licensed MIT. It adds 133 tokens to every session and 3,589 once invoked, about $0.0007 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-30.
Other skills, from other repositories
docx
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when…
doc-coauthoring
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers.…
xlsx
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or…
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and…
pptx
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying…
skill-creator
A skill for creating, editing, improving, and testing skills for coding agents.