技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
— it conflicts with currency in prose. Avoid `$...$` unless you really want a centered display block and trust the source has no stray `
html-report【数据与研究】Nested swiss-knife reference for standalone HTML deliverables. Produce polished, self-contained HTML deliverables (research memos, literature maps, dashboards, audit reports, side-by-side comparisons) that humans open in a browser or receive as Telegram/email attachments. Covers a standalone HTML skeleton, math rendering with MathJax (LaTeX in `<pre>…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
<pre>/<code> will NOT render), artifact hygiene, and a
validation checklist. Read when the human asks for an HTML report,
HTML memo, HTML deliverable, or any standalone .html artifact —
especially anything containing equations.
version: 1.0.0
tags: [html, report, mathjax, deliverable, artifact]
last_changed_at: "2026-10-12T17:13:18Z"
maintenance: "If you find stale or incorrect information here, use the lingtai-issue-report skill to assemble evidence and obtain per-issue human consent before filing an issue. Never include secrets, credentials, tokens, or private paths."You are writing an HTML file a human will open in a browser or receive as an attachment. This skill exists because agents repeatedly ship HTML with unrendered LaTeX inside <pre>/<code> blocks and other recoverable presentation gaps. Follow the checklist below before declaring the file ready.
Reach for HTML — instead of plain text, Markdown, or a PDF — when the human will benefit from:
If the content is short and equation-free, plain text or Markdown is usually enough.
Start from the bundled template — it already wires up typography reset, cards,
callouts, tables, anchor nav, print styles, and MathJax. Copy it, fill in the
<!-- TODO --> markers, drop unused sections, and save under a project-local
path (paper/drafts/<topic>-$(date -u +%Y-%m-%d).html):
cp ~/.lingtai-tui/utilities/swiss-knife/reference/html-report/assets/template.html \
paper/drafts/<your-topic>-$(date -u +%Y-%m-%d).html
Key rules for any HTML you produce, whether from the template or freshly authored:
<style> block in <head>.<meta charset="utf-8"> first. Math copy-paste from LaTeX sources frequently contains non-ASCII.<title> — the human will see it in browser tabs and saved-file names.<section>, <article>, <aside>, <nav>) — they reflow better on mobile and print.@media print { ... } to hide navigation and force readable margins.<pre> and <code> render LaTeX as literal text. They do not render math. This is the most common failure mode for HTML deliverables.
If the artifact contains equations:
Add MathJax in <head> — once, near the top:
<script>
window.MathJax = {
tex: {
inlineMath: [['\\(', '\\)']],
displayMath: [['\\[', '\\]'], ['$', '$']],
processEscapes: true
},
svg: { fontCache: 'global' }
};
</script>
<script defer src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
Write inline math as \( ... \) and display math as \[ ... \]. Avoid $...$ — it conflicts with currency in prose. Avoid $...$ unless you really want a centered display block and trust the source has no stray $.
Do not wrap equations in <pre> or <code>. Put them in <p>, <div>, or directly in <section>. MathJax scans the DOM body for \(...\) and \[...\] and replaces them with rendered SVG.
Escape LaTeX backslashes correctly if you are templating from a programming language — \\( in a Python f-string becomes \( in the output.
Online vs offline tradeoff. CDN MathJax is one line and works everywhere with network. For fully offline artifacts (air-gapped reader, archival), either:
<img> (most robust, no JS needed).Pick the offline path explicitly if the human said "must work offline." Otherwise CDN is the default.
For study notes, agree the source, goal, scope/order and lesson granularity with the human before generating a batch of artifacts. These source boundaries also apply to research memos and literature maps. For citation-bearing claims, read the academic evidence gate before drafting.
These boundaries are not optional. They apply from intake onward.
paper/drafts/<topic>-<YYYY-MM-DD>.html or similar. Never write HTML to /tmp and forget about it — the human cannot find it later.date -u +%Y-%m-%dT%H:%M:%SZ or equivalent), source paths the report draws from, and a one-line caveat ("draft", "automated extract", etc.).<a href="../path/to/file.md">file.md</a> so the human can jump.https://arxiv.org/abs/2401.01234, not bare DOIs or arxiv: schemes.ls -lh paper/drafts/... — and read the head + tail to make sure the write was not truncated.Run through these every time, in order. They are cheap and the failure modes are common.
ls -lh <path> — sanity check the byte count is plausible (a research memo is typically 10–80 KB).grep -l "MathJax" <path> must match. If it does not, math will not render — fix it now.<pre> or <code>. grep -nE '<(pre|code)>.*\\\\[\(\[]' <path> — any hits are bugs.LC_ALL=C grep -nP '[\x00-\x08\x0B\x0C\x0E-\x1F]' <path> should be empty. If you generated HTML from a Python string with raw user input, this can silently break rendering.python3 -c "from html.parser import HTMLParser as H; p=H(); p.feed(open('<path>').read())" — raises on malformed tags.grep -nE 'href="(arxiv:|doi:|//)' <path> — relative or scheme-less hrefs break when the file is downloaded.open <path> (macOS) or xdg-open <path> (Linux). Eyeball the equations and headings.Found a bug or issue? If you encounter any problems with this skill, load the
lingtai-issue-reportskill and follow its instructions to report it.