All skills
aktsmm avatar

/single-html-forge

@8bcd12d
by yamapanaktsmm/agent-skills26 stars
4

Generate a single self-contained HTML file — a horizontal slide deck, a vertical-scroll explainer document, or a fixed-canvas summary image — with zero external runtime dependencies, then verify it mechanically. Use when the user asks for HTMLスライド, 単一HTMLスライド, single-file HTML presentation, ブラウザーで開く説明資料, HTML 説明資料, HTMLサマリ画像, or self-contained HTML, or wants to hand someone a deck or explainer that opens anywhere without PowerPoint. Also use to embed images into such a file or to re-check an existing one. Does not output PPTX.

Use this Skill: https://skilld.dev/gh/aktsmm/agent-skills/single-html-forge

This session only. Nothing lands on disk.

referencescomponent-patterns.md

≈1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Component patterns

The blocks the fixed CSS already styles. Nothing here needs new CSS; adding any would fail verification.

Both archetypes

Callout — an aside that should not interrupt the sentence flow.

<div class="shf-callout"><p>text</p></div>
<div class="shf-callout is-warn"><p>caveat</p></div>
<div class="shf-callout is-ok"><p>confirmed</p></div>
<div class="shf-callout is-bad"><p>do not do this</p></div>

Table — wrap it so a wide table scrolls instead of breaking the layout.

<div class="shf-table-wrap">
  <table>
    <thead>
      <tr>
        <th>観点</th>
        <th>A</th>
        <th>B</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>…</td>
        <td>…</td>
        <td>…</td>
      </tr>
    </tbody>
  </table>
</div>

Five rows is about the limit on a slide. A doc can carry more.

Cards

<div class="shf-grid3">
  <div class="shf-card">
    <h3>見出し</h3>
    <p>本文</p>
  </div>
</div>

shf-grid2 and shf-grid3 exist; in a deck use shf-cards, which fits the column count to what is inside.

Figure

<figure>
  <img src="data:image/png;base64,…" alt="説明" data-asset-ref="a1" />
  <figcaption>図 1: 説明</figcaption>
</figure>

Doc only

Two-column step comparison — the before/after that carries most of the argument.

<div class="shf-flow">
  <div class="shf-col is-bad">
    <h3>従来</h3>
    <ol>
      <li>手順</li>
    </ol>
  </div>
  <div class="shf-col is-ok">
    <h3>今回</h3>
    <ol>
      <li>手順</li>
    </ol>
  </div>
</div>

Keep both columns the same length. Uneven ones read as an unfair comparison.

Pillars — three parallel ideas of equal weight.

<div class="shf-pillars">
  <div class="shf-pillar">
    <h3>見出し</h3>
    <p>一文</p>
  </div>
</div>

Concern → fact → why — for the objection a reader is already holding.

<div class="shf-concern">
  <p class="shf-worry">懸念</p>
  <p class="shf-fact">事実</p>
  <p class="shf-why">背景</p>
</div>

Answering the worry before explaining the background is what makes this work. Reversed, the reader stops reading.

Q&A

<div class="shf-qa">
  <p class="shf-q">質問</p>
  <p class="shf-a">回答</p>
</div>

Hero — once, at the top.

<header class="shf-hero">
  <p class="shf-eyebrow">CATEGORY</p>
  <h1>見出し</h1>
  <p class="shf-lead">導入</p>
  <div class="shf-meta"><span class="shf-pill">2026-08</span></div>
</header>

Diagrams

Inline SVG within the subset. Suitable: flows, concept maps, event-order timelines, comparison boxes.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 120" role="img">
  <title>処理の流れ</title>
  <rect
    x="10"
    y="30"
    width="110"
    height="56"
    rx="8"
    fill="#eef5ff"
    stroke="#0067b8"
  />
  <text x="65" y="64" text-anchor="middle" font-size="14">入力</text>
</svg>

Always give a viewBox and a <title>. Without a viewBox the export can render it at zero size, and Tier 2 fails on that.

Bar and line charts with a numeric scale are out of scope in v1. Placing an axis by hand means computing the scale by hand, and a chart that looks plausible while being numerically wrong is worse than a table. Use a table, or wait for the deterministic generator in v2.

Choosing

Content Block
Two options side by side table, or shf-flow if order matters
Three peers shf-pillars or shf-grid3
An objection shf-concern
An aside shf-callout
A process shf-flow, or an SVG if it branches
Numbers a table

When actor boundaries matter, use two complementary views: a flow for order and a table for stage / automation action / human decision / output. Do not force responsibility detail into the arrows.

Source: SKILL.md on GitHub

No alerts22d3 checks · Risk SAFE
  • Gen Agent Trust Hub22d

    This skill provides a secure framework for generating self-contained HTML presentations and documents. It incorporates an extensive security and verification harness, including SHA-256 hash pinning for CSS and JavaScript, a strict HTML tag allowlist, and a custom lexical preflight to prevent parser-confusion attacks. The skill also includes mechanical checks (Tier 2 Playwright verification) to block network egress and ensure artifact integrity before publication.

  • Socket22d

    No alerts

  • Snyk22d

    Risk: LOW · No issues

Signed by skilld at 8bcd12d. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 17 hours ago.

Activeupdated yesterday
argument-hint
作りたい内容と、deck / doc / poster のどれか
user-invocable
true
metadata
{
  "author": "yamapan (https://github.com/aktsmm)"
}

README badge

README badge for aktsmm/agent-skills/single-html-forge