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.

referencesarchetype-doc.md

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

Archetype: doc

A vertical-scroll explainer with a sticky sidebar and numbered citations. Start from assets/skeletons/doc-skeleton.html.

This is the shape to reach for when the reader will study the material rather than watch it: comparisons, decision write-ups, customer-facing explainers.

Structure

<nav>
  <p class="shf-brand">Title<span>subtitle</span></p>
  <ol>
    <li><a href="#overview" data-shf-navlink="overview">概要</a></li>
  </ol>
</nav>
<main>
  <header class="shf-hero">...</header>
  <section id="overview">...</section>
  <section id="sources">...</section>
</main>

Every nav link's data-shf-navlink must equal the id of the section it points at, and its href is the matching fragment. The runtime observes the sections and marks the active link with aria-current and .is-current. A mismatch is silent — the highlight just never moves — so check the pairs when you add a section.

Section id values are the edit handles. Keep them stable.

Citations

Two halves that must agree.

In the body:

<a class="shf-refmark" href="#ref-1" data-citation-id="c1">1</a>

In the sources section:

<ol class="shf-cites">
  <li id="ref-1">
    <span class="shf-cite-title">Title</span
    ><span class="shf-cite-url">https://example.com/</span>
  </li>
</ol>

The list numbers itself with a CSS counter, so the visible number comes from document order. Keep the refmark text matching that order, or the reader sees [3] jump to the first entry.

:target highlights the entry after a jump, which is what tells the reader they landed in the right place.

Give each citation its own data-citation-id even when two point at the same URL, so a later edit can tell them apart.

Responsive behaviour

Below 850px the sidebar stops being sticky and the nav becomes a two-column list, and the multi-column blocks collapse to one. Nothing is hidden. Check this width if the document will be read on a phone.

Printing

The sidebar is dropped and sections avoid breaking across pages. This is the archetype that prints well; a deck does not.

A PDF として保存 button sits at the bottom of the sidebar and calls the browser's print dialog. It is inside <nav>, so the existing print rule already removes it from the output.

Common mistakes

  • A nav entry whose data-shf-navlink does not match any section id.
  • Citations in the body that have no entry in the list, or entries nobody cites. Both pass Tier 1 today, so read them.
  • Walls of text. The component blocks in component-patterns.md exist so the eye has somewhere to rest.

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