CF huo15-markdown-export
火一五排版发布技能 / 火一五 markdown 排版 / 火一五 PDF 导出 / 火一五出版 / 火一五发布 / huo15-markdown-export — 【青岛火一五】markdown 一键导出 PDF / Word / HTML / 长图 / 公众号 inline。**12 主题**默认 **apple-tech(苹果科技风,大字 hero + 紧字距 + 黑白蓝 + 大留白,默认主题)**,其他 11 套:typora-newsprint 报纸 / typora-night 暗色 / github / academic / 微信 / 小红书 / huo15-brand 品牌 / anthropic-doc Anthropic 文档 / editorial-magazine 杂志 / manuscript-book 书稿 / tufte-handout Tufte 边注。Node + markdown-it + Puppeteer + qrcode。与 office-doc 互补(它走公文,本 skill 走 md 视觉美学)。v0.4.2:加 apple-tech 默认 + 修 YAML frontmatter 错乱渲染 + 强化触发词。v0.4.1:反 Type 3 字体修复(PDF 浅灰看不清);v0.4.0:抽 _tokens.css + DESIGN.md 团队规范(8 大设计范式 + 反 AI Slop / Type 3 红线)。capability detection 集成 enhance:md-share/md-publish 输出 JSON,AI chain 调 enhance_share_file 拿公网 URL 发企微/钉钉/微信;无 enhance 独立可跑。触发词:火一五排版发布、火一五排版发布技能、火一五排版、火一五出版、火一五发布、火一五markdown、火一五PDF、火一五导出、排版发布、导出PDF、导出Word、md转PDF、md转Word、md2pdf、md2docx、Typora、长图、小红书、朋友圈长图、微信公众号、博客导出、复盘、changelog、版本对比、品牌报告、发到企微、发给客户、分享链接、公网链接、卡片预览、二维码、苹果科技风、Apple 风、科技风、技术博客、产品文档、品牌故事、深度长文、小说、长篇随笔、研究报告、数据分析、教学讲义、Anthropic 文档风、杂志体、书稿体、Tufte 边注。
As a process F 38/100 · Will not run — References files that are not bundled: templates/pdf-print.css
How to improve
- Say in the description WHEN to use the skill ("use when…", example requests): that is the agent's main cue.
- Shorten the description to 1024 characters.
- The SKILL.md body is over 5,000 tokens: move reference detail into references/ and load it when needed.
- The text references files that are not there: add them or drop the references.
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 1
✓ No critical or high findings
Medium and low: 1
-
low Dangerous commands
cmd-privilegescripts/md2pdf-puppet.js:88Privilege escalation / world-writable permissions (detector / deny-list definition; string literal in code, not executed)const browser = await puppeteer.launch({ headless: 'new', args: ['--no-sandbox', '--disable-setuid-sandbox'] });detectorcode literal
Files scanned: 22. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- error
description-longdescription is 1049 chars, limit 1024 - warning
description-no-whendescription does not say WHEN to use the skill (no "use when") - warning
body-longSKILL.md body ≈ 5179 tokens (recommended < 5000); move details to references/ - warning
missing-refreference to a missing file: templates/pdf-print.css - note
frontmatter-keyunknown frontmatter key "displayName" - note
frontmatter-keyunknown frontmatter key "aliases" - note
frontmatter-keyunknown frontmatter key "dependencies"
Process rating: all ten parameters 38/100
- 0Tools and files. 1 referenced file(s) missing: templates/pdf-print.css
- 0Result and completion. Does not say what the result is
- 0Inputs and preconditions. Does not say what the process needs to start
- 20When it triggers. No condition that starts the skill
- 30Running it twice. 20 mutating operations with no state check
- 50Failures and branches. 0 branches, has a failure section
- 70Execution cost. Instruction body is 5179 tokens
- 100Steps. 73 steps
- 100Consistency. Name and required fields are in place
- 100Progress reporting. Reports progress
- low 12 top-level sections: this looks like several domains in one skill
- low The response is described with custom markup (8 tags): a typed call is more reliable
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +5Description has no quoted example phrases that should trigger the skill
- +4Description does not say when NOT to use the skill (false activations)
- +3Description length 1049: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- -2localhost URLs: will not work for another user
- +1No license
- +2Single-language instructions
- +4Structure: 37 headings
- +3Step-by-step instructions: 73 items
- +4Has examples (11 code blocks)
- +3All 12 scripts are documented
Quality base 70; lint remarks subtract, signals add up to 100. Result: 26.