html-style

v2026.09.24

Apply opinionated styling to barebones HTML. Use when user has plain/unstyled HTML and wants to apply consistent visual styling. Triggers: style this HTML, apply styling, make this look good, /html-style, or when user shares HTML that needs CSS. Transforms tables, lists, status indicators, buttons, and layouts into a cohesive design system.

GitHub
Install command
npx skhub add shipshitdev/html-style
Markdown
SKILL.md

html-style

Transform barebones HTML into styled output using a specific design system.

Workflow

  1. Read the user's HTML
  2. Identify elements to style (tables, lists, status text, buttons, sections)
  3. Inject <style> block from assets/base.css
  4. Add appropriate classes to HTML elements
  5. Add interactive JS if needed (copy buttons, drafts, collapsible sections)

Quick Class Reference

ElementClassEffect
Status text.stale .warm .pendingRed/green/orange inline text
Trend.trend-up .trend-downGreen ↑ / Red ↓
Category tag.tag-group .tag-dm .tag-moneyBlue/purple/orange pill
Status pill.status-success .status-error .status-pendingFilled green/red/orange
Filter toggle.filter .filter.activeOutline / filled black
Time filter.pill .pill.activeSmall pill, black when active
Stat box.stat > .stat-value + .stat-label28px number, 12px label
Tabledefault or .table-styledMinimal or colored values
Section header.section-headerDark bar with white text
Collapsible<details> + <summary>Native HTML collapse
Insight.insightItalic, yellow background
Tier.tier-gold .tier-silver .tier-bronzeRow background colors

Element Styling Rules

Tables

  • Default: minimal borders, no hover
  • Add .table-styled for: hover effect, .positive/.negative cell colors, .highlight rows
  • Sortable: add th.sortable with <a href="?sort=col">Col ▼</a>

Status Indicators

  • Text status (.stale/.warm/.pending): Use for inline status in sentences
  • Status pills (.status-*): Use for badge-style indicators, typically with icon (✓ ✗ ◷)
  • Trends (.trend-up/.trend-down): Use for numeric changes, adds arrow automatically

Sections

Use .section-header with emoji prefix for visual breaks:

<div class="section-header">🔴 URGENT</div>
<div class="section-header">🟠 PENDING</div>

Interactive Elements

When HTML has drafts or copy buttons, add this JS:

function saveDraft(el) {
    localStorage.setItem('draft:' + el.dataset.threadId, el.textContent);
}
function copyToClipboard(text, btn) {
    navigator.clipboard.writeText(text).then(() => {
        btn.textContent = 'Copied!';
        setTimeout(() => btn.textContent = 'Copy', 1500);
    });
}

Deep Links

Convert URLs to native app links:

  • Telegram: tg://resolve?domain=username
  • SMS: sms:+14155551234

Theme

  • Default: Light (background: #fff)
  • Dark mode: Add class="dark" to <body> when user requests dark theme or context is trading/real-time

Compatibility with Structure Skills

When styling output from quick-view or table-filters, these class mappings apply:

quick-view classes

Their ClassStyle As
.type-user.status-pending (blue border)
.type-draft.status-pending (orange border)
.type-done.status-success (green border)
.sourceAlready styled (muted, small)
.metaAlready styled (muted header)
.actionsInline button group

table-filters classes

Their ClassStyle As
.filter-barFlex row with gap
.filter-chipsInline chip container
.chipDark pill with .chip-remove
.filter-menuDropdown panel (.filter-menu)
.empty-stateCentered, muted text

The base.css includes styles for these classes automatically.

Resources

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

skills/html-style

Default branch

master

Latest commit

a0f9899

Tree SHA

f05942e