brief-compose

brief-compose is a skill for Claude Code, Codex from rojim666/SztuCode. It costs 43 tokens per session (2,488 once invoked), scanned A, original, MIT.

A short-document workflow that writes text under 1,000 Chinese characters, turns it into an HTML file, converts it to a Word document, and opens the final file for preview.

In plain words
What is it for?
Use it for short introductions, notices, memos, and work summaries that need to be delivered as a .docx file.
Why use it?
It removes the manual steps between drafting, document conversion, and checking the result. It also keeps intermediate HTML out of the final delivery.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it for short introductions, notices, memos, and work summaries that need to be delivered as a .docx file.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/rojim666/sztucode/brief-compose
Install

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.

Any agent
npx skills add rojim666/SztuCode --skill brief-compose
Clone the repo
git clone --depth 1 https://github.com/rojim666/SztuCode

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for brief-compose

README.md
[![agentmods](https://agentmods.dev/badge/skills/rojim666/sztucode/brief-compose/github.svg)](https://agentmods.dev/skills/rojim666/sztucode/brief-compose)
Your own site
<a href="https://agentmods.dev/skills/rojim666/sztucode/brief-compose"><img src="https://agentmods.dev/badge/skills/rojim666/sztucode/brief-compose/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.

agentmods 80×15 button for brief-compose

Your own site · 80×15
<a href="https://agentmods.dev/skills/rojim666/sztucode/brief-compose"><img src="https://agentmods.dev/badge/skills/rojim666/sztucode/brief-compose.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,488 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00043 $0.02488
Opus 5.5 $0.00017 $0.00995
Sonnet 5.5 $0.00009 $0.00498
Haiku 4.5 $0.00004 $0.00249

Measured 1mo ago against content hash 5ea36b278833, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

brief-compose 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 1mo 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.

packages/runtime-ts/prompts/Sztubuddy/skills/_builtin-plugins/tencent-docx/skills/brief-compose/SKILL.md · 182 lines

How it starts

The opening of the file, as written. The whole thing — 182 lines — stays where its author put it; the contents beside it link to each section on GitHub.

brief-compose Skill

何时走:无已有文档 + 创作动词(写/起草/撰写/生成/重写)+ 模型判断目标篇幅 <1000 字。

⛔ 工作流锁定:一旦判定任务属于本 skill,无视其他 skill 与子 Agent,严格按本文从头到尾执行;无需再读其他skill。


篇幅判据

创作动词已命中、且非编辑意图时,满足任一即走本工作流:

  • 用户给出 X 字且 X < 1000
  • 「短篇 / 千字以内 / 简版」等表述
  • 体裁为简介 / 通知 / 备忘录 / 工作小结等典型短篇

显式长篇(≥1000 字、万字、研报、论文等)→ 未命中本 skill,回到 tdoc-orchestrator SKILL.md 走常规编排。

原则

  1. 强制流程(速览)(完整命令见文末「强制流程」):
    • ① 撰稿 + 生成 HTML
    • ② 调用 html-to-docx 转换
    • ③ present_files
  2. 中间产物不展示:.html 不得 present_files、不得在回复里贴 HTML 正文;只有最终 .docx 可展示。
  3. 失败如实报错:HTML 无 <body> → 终止并提示;用户明确要求新建空白文档时允许转换;其他创作请求若 body 无可渲染正文,必须重新生成 HTML。禁止静默降级到常规 full_pipeline 编排。
  4. 最终交付:.docx 生成后必须立即 present_files 打开预览,无例外。
  5. 输出路径:工作流开始时调用 resolve_output_docx_path.py,将返回的 output_docx_path 用于 html-to-docx 与 present_files。

输出路径(output_docx_path)

python3 <plugin_root>/scripts/wb/local/resolve_output_docx_path.py \
  --workspace <workspace> \
  [--user-path "<路径>"] [--filename "<主题>.docx"]

不传 --request-id(brief-compose 不走 pipeline 隔离目录)。默认落盘 <workspace>/output/<文件名>.docx。

HTML 生成

按用户创作指令撰写正文,输出完整 HTML 文件(<!DOCTYPE html>、<head> 含 charset、内嵌 <style> 均可,UTF-8、无 BOM)。篇幅控制在用户给出的 X 字以内。

最低要求:必须有 <body> 且含实际正文;用户明确要求新建空白文档时例外。其他创作请求若生成后 body 无可渲染正文,必须重新生成 HTML,禁止转换或交付空 docx。

其余版式(标题层级、段落样式、是否用表格分栏等)由模型自行决定,无固定骨架。

字体与字号建议

字号请用 pt(磅),不要用 px。html-to-docx 按 pt 写入 Word;常见误用 13px 在 Word 里约 9.5pt,正文偏小。

层级 建议字号 建议字体
正文 p / li / td 12pt(默认) 宋体 / SimSun
一级标题 h1 18–22pt 黑体 / SimHei
二级标题 h2 14–16pt 黑体 / SimHei
三级标题 h3 12–14pt 黑体 / SimHei
辅助说明、落款 10–10.5pt 宋体 / SimSun
  • 用户未指定字号时,正文默认 12pt,不要小于 10.5pt。
  • 因转换器块级 CSS 不继承(见下节),font-size / font-family 须写在各 p、h1、h2、li、td 等块级元素上,不要只写在 body 上。

---

## HTML → docx 转换约束(仅引擎硬限制)

以下规则来自 `html-to-docx` 转换器能力边界;**违反会导致 docx 排版错乱或信息丢失**,其余 HTML/CSS 写法不受限。

### 1. 禁止 Grid / 定义列表

- **禁** `display:grid` / `grid-template-*` → 多列对齐改用 `<table>`
- **禁** `<dl>/<dt>/<dd>` → 键值对改用两列 `<table>`

### 2. 块级 CSS 不继承

转换器**不做**块级样式继承。父元素上的 `text-align` / `font-family` / `color` / `font-size` **不会**下发到子 `<p>` / `<h1>` 等;需要生效的样式请写在各块级元素自身上。

### 3. `<hr>` 装饰线

`<hr>` 在 docx 中只能变成**满版下边框**,无法保留居中短线/定宽装饰线;不要用 `<hr>` 做标题区装饰分隔。

### 4. 左边框段落

带 `border-left` 的块,文字开头加 `&nbsp;&nbsp;`(Word 左边框无可靠间距)。

### 5. 多段落底纹块

整块底纹 + 多段落富文本 → 用裸单列 `<table><tr><td>…</td></tr></table>`,不要用多个 `<div>` 拼底纹。

### 6. 分节 / 页眉页脚(仅需要时)

- 需要分页结构:顶层 `<section role="...">`(无 section 则单节)
- 需要页码/页眉:`<style>` 内 `@page` 子集(`counter(page)` / `counter(pages)` / `string-set` + `STYLEREF`)
- **不支持** `@page :first`、`@page { size }` 等扩展语法(忽略 + warning)
- 需要封面时用户须明确要求;配合 `@page cover { … content: none }` + `section[role="cover"] { page: cover; }`

### 7. 可选扩展标签(用了才需遵守其契约)

| 标签 / 属性 | 说明 |
|-------------|------|
| `<div data-component="callout\|divider\|section-marker\|data-card">` | 装饰组件 |
| `<span data-docx-field="..." data-placeholder="...">` | 转 docx 书签;同 HTML 内唯一,匹配 `^[A-Za-z][A-Za-z0-9_-]{0,63}$` |
| `<meta name="docx-page-size" content="A4">` | 声明页面尺寸(默认 A4) |

---

## html-to-docx 转换

```bash
bash <plugin_root>/scripts/wb/local/setup-html-to-docx.sh
export HTML_TO_DOCX_PY="${HTML_TO_DOCX_VENV:-$HOME/.venv-html-to-docx}/bin/python"
cd <plugin_root>/skills/html-to-docx/scripts
"$HTML_TO_DOCX_PY" -m html_to_docx convert \
  "<html绝对路径>" \
  -o "<output_docx_path>" \
  --page-size A4
  • <plugin_root> = 本 plugin 根目录(tencent-docx/)
  • 禁止使用系统 python / python3;依赖在托管 venv 内
  • 成功 stdout:{"success": true, "docx_path": "...", "warnings": []}
  • 失败 stderr:含 error 与可选 markdown_fallback
CLI 参数 默认 说明
--page-size A4 A4 / Letter / A3
--orientation portrait portrait / landscape
--margin-top/bottom/left/right 2.54 / 2.54 / 3.17 / 3.17 cm 页边距

私有化 / 无外网环境、脚本首跑失败 → 见 <plugin_root>/skills/html-to-docx/SKILL.md 镜像配置;否则提示用户手动另存。


强制流程

① 确定 output_docx_path(调用 resolve_output_docx_path.py,§输出路径)并预建父目录
② 撰稿 + 生成 HTML
   · 按用户创作指令撰写正文,自行排版
   · 遵守上文「字体与字号建议」与「HTML → docx 转换约束」
   · 写入与 docx 同目录的 <主题>.html(中间产物)

Read the full file on GitHub · 182 lines

Changes

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.

  1. 1mo ago First seen · 182 lines · 43 tokens per session scan A 5ea36b278833

Subscribe to this mod's changes

brief-compose is a skill published in the GitHub repository rojim666/SztuCode (110 stars, last pushed yesterday), licensed MIT. It adds 43 tokens to every session and 2,488 once invoked, about $0.0002 per session on Opus 5.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-09-12.

Related

Other skills, from other repositories

document-processing

Use when the deliverable is a document's bytes or its literal content — text/tables out of PDFs, AcroForm fill and flatten, page merge/split, PDF/DOCX from templates, OCR of image-only scans. NOT schema-typed fields pulled from text (that is structured-extraction), NOT signature routing (e-signature) or spreadsheet…

ericrisco/rsc-harness · 84 tokens

docx

Read, create, and convert Microsoft Word (.docx) documents — extract text and tables, build reports from markdown/JSON, and export to PDF.

zhixuli0406/DuDuClaw · 34 tokens

pptx-official

Creates, edits, inspects, and renders PowerPoint presentations (.pptx, .potx): pitch decks, executive readouts, board and training material, template fills, slide reordering or duplication, speaker notes, text and chart-data extraction, and deck-to-PDF or slide-to-image rendering. Use when a PowerPoint file is the…

evoelsewhere/evoflux · 128 tokens

docx-official

Creates, edits, inspects, and converts Microsoft Word documents (.docx, .dotx): reports, letters, memos, contracts, proposals, filled templates, tracked-change acceptance, review comments, and text, table, or metadata extraction. Use when a Word file is the deliverable or the source of record, or the user mentions…

evoelsewhere/evoflux · 124 tokens

xlsx-official

Builds, edits, cleans, and inspects spreadsheet files (.xlsx, .xltx, .csv, .tsv) when the file is the deliverable or the record being changed: financial and operating models with live formulas, formula-driven summaries, template fills, cell and row patches, messy-data repair, sheet-to-CSV or PDF export, formula…

evoelsewhere/evoflux · 151 tokens

pdf-official

Extracts text, tables, metadata, and images from PDF files; merges, splits, rotates, crops, watermarks, encrypts, compresses, and repairs them; composes new PDFs such as reports, invoices, and certificates; fills AcroForm fields or overlays values on non-fillable and scanned forms; runs OCR on scanned pages; renders…

evoelsewhere/evoflux · 146 tokens