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 Lucas-Fong/html-report-stable-base --skill generate-word-cloudsgit clone --depth 1 https://github.com/Lucas-Fong/html-report-stable-baseWrote 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/lucas-fong/html-report-stable-base/generate-word-clouds)<a href="https://agentmods.dev/skills/lucas-fong/html-report-stable-base/generate-word-clouds"><img src="https://agentmods.dev/badge/skills/lucas-fong/html-report-stable-base/generate-word-clouds/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/lucas-fong/html-report-stable-base/generate-word-clouds"><img src="https://agentmods.dev/badge/skills/lucas-fong/html-report-stable-base/generate-word-clouds.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.00083 | $0.01204 |
| Opus 5 | $0.00042 | $0.00602 |
| Sonnet 5 | $0.00017 | $0.00241 |
| Haiku 4.5 | $0.00008 | $0.00120 |
Grade A, and why
generate-word-clouds 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 12d 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
品牌词云生成
将关键词及权重生成紧凑、可复用的 PNG 词云。默认输出横排文字、透明背景、椭圆形和四周 20px 边距。
工作流
- 读取关键词数据并识别每个列表的名称、关键词列和权重列。Excel 优先运行
scripts/extract_xlsx.py,不要临时编写转换脚本或用重量级工作簿渲染工具读取。 - 最多接受 10 个列表;超过时请用户拆分批次。
- 查询尚未缓存的品牌配色后,一次性确认最终配置:
请确认词云配置:
- 配色:品牌名、候选官方色值及来源 / 用户指定色值
- 关键词数量:Top 50
- 底色:透明
- 形状:椭圆
- 输出列表:列表名称(共 N 个)
若用户已明确其中部分配置,只确认尚未明确的项目并展示最终汇总。每个任务最多请求一次配置确认;用户明确说“按默认”“直接生成”或“无需确认”时可直接执行。
- 配色为品牌名时,先查
references/brand_palettes.json。存在已核验记录时直接复用并展示来源;没有记录时才联网查询品牌官网、官方品牌手册或官方媒体资料,只采用官方来源。将新结果写入缓存,记录来源、提取依据、日期和 3–6 个十六进制色值。若官方色值无法可靠取得,说明情况并请用户提供颜色;不得把第三方取色结果声称为官方配色。 - 按权重降序取 Top N。默认值:
- Top N:50
- 底色:透明
- 形状:椭圆
- 边距:20px
- 文字方向:全部从左到右水平排列
- Excel 输入先运行快速提取器,再运行生成器:
python scripts/extract_xlsx.py input.xlsx config.json --top-n 50 \
--palette-file references/brand_palettes.json
node scripts/generate_word_clouds.mjs config.json output-directory
提取器同时接受 {列表名: [色值...]} 映射或 brand_palettes.json 的缓存格式。作为 html-report 插件内置 skill 使用时,若依赖缺失,先在插件根目录运行 node scripts/bootstrap_html_report_deps.mjs,让 sharp 和 openpyxl 可用。CSV、JSON 或粘贴数据可直接整理成生成器配置。
- 用一个批次检查所有输出,不为每张图重复启动检查流程:
- 文件为 PNG,透明底时必须含 Alpha 通道。
- 所有词均为水平文字。
- 实际内容与画布四边均为 20px;非透明底以背景画布边界为准。
- 输出词数等于
min(Top N, 有效关键词数)。 - 中文无乱码、文字无重叠、主要关键词层级清楚。
- 向用户展示预览、下载链接、实际输出词数和品牌配色来源。
输入整理
脚本配置格式:
{
"margin": 20,
"lists": [
{
"name": "品牌A",
"topN": 50,
"background": "transparent",
"shape": "ellipse",
"palette": ["#7A1F2B", "#C68A1D", "#E1B84B"],
"words": [
{"text": "关键词", "weight": 100}
]
}
]
}
支持的 shape:ellipse、circle、rectangle、diamond。支持的 background:transparent 或 #RRGGBB。同一关键词重复出现时先合并权重;删除空关键词和非正数权重。
排版原则
- 保持全部文字水平,不允许旋转。
- 字号采用对数缩放,避免头部词过度挤压尾部词。
- 优先保证 Top N 全部出现;必要时缩小整体字号后重排。
- 颜色按调色板循环使用,同时避免最大关键词全部使用同一颜色。
- 透明背景只包含词云,不添加标题、来源、边框或装饰。
- 文件名使用安全化后的列表名称加
_TOP{N}_词云.png。
资源
scripts/generate_word_clouds.mjs:确定性批量词云生成器。scripts/extract_xlsx.py:快速识别 Excel 工作表、关键词列和权重列并生成配置。references/confirmation.md:确认话术和品牌配色来源规则。references/brand_palettes.json:已核验的官方素材配色缓存;命中时避免重复联网取色。
What ships with it
5 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.
- 12d ago First seen · 91 lines · 83 tokens per session scan A 1b0ea8b8c142
generate-word-clouds is a skill published in the GitHub repository Lucas-Fong/html-report-stable-base (2 stars, last pushed 16d ago), licensed MIT. It adds 83 tokens to every session and 1,204 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
arkgum-research-to-page
Autonomously orchestrate a source-grounded topic-to-page workflow through Google NotebookLM: create or reuse a notebook, run Deep Research, import and verify sources, produce a cited research report, rank audience/content opportunities, create a page brief, and return a final prompt for Google AI Studio or another…
prompt-to-loop-engineering
Use when a natural-language task must be converted into a role-neutral, statically validated one-shot plan, workflow, or agent-loop specification before any user-task execution begins.
baoyu-youtube-transcript
A tool for downloading the written captions, subtitles, chapter information, speaker labels, and cover image from a YouTube video using its URL or ID.
nature-statistics
Audit, revise, or draft manuscript statistical reporting for Nature / high-impact journal submissions. Use when the user asks to check statistical analysis sections, p values, confidence intervals, sample size, biological versus technical replicates, randomization, blinding, multiple-comparison correction, model…
warp-delegate
Delegate a coding task to the Warp Agent CLI (oz) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Warp - phrasings like "have Warp implement X", "delegate this to the Warp CLI", "run it through Warp", "use oz to…
zcode-delegate
Delegate a coding task to the Z.AI ZCode CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to ZCode — phrasings like "have ZCode do X", "delegate this to ZCode", "run it through ZCode", or "use ZCode to implement/fix/refactor" — or…