just-html
Skill19 starsChanged 20 days agoMITView on GitHub
Build self-contained, drop-in HTML components (hero, pricing, features, testimonials, footer, etc.) that work inside any existing page without conflicts. Outputs a single code block with scoped CSS, semantic HTML, and minimal JS.
In this repository120 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- adaptSkill
- animateSkill
- auditSkill
- ckm:banner-designSkill
- bolderSkill
- cinematic-editorial-graphicsSkill
- colorizeSkill
- critiqueSkill
- delightSkill
- ckm:designSkill
- ckm:design-systemSkill
- desktop-app-showcaseSkill
- distillSkill
- extractSkill
- featured-image-creatorSkill
- frontend-designSkill
- hand-drawn-explainersSkill
- hardenSkill
- modern-frontend-designSkill
- monoline-iconsSkill
- normalizeSkill
- onboardSkill
- polishSkill
- quieterSkill
- saas-product-graphicsSkill
- svg-graphicsSkill
- teach-impeccableSkill
- ui-design-brainSkill
- ui-skillsSkill
- ckm:ui-stylingSkill
- ui-ux-pro-maxSkill
- elementor-to-generateblocksSkill
- figma-to-generateblocksSkill
- html-to-generateblocksSkill
- react-pdfSkill
- ab-test-setupSkill
- ad-creativeSkill
- ckm:brandSkill
- churn-preventionSkill
- clarifySkill
- cold-emailSkill
- competitor-alternativesSkill
- content-strategySkill
- copy-editingSkill
- copywritingSkill
- email-sequenceSkill
- form-croSkill
- free-tool-strategySkill
- launch-strategySkill
- marketing-ideasSkill
- marketing-psychologySkill
- mkbhd-voiceSkill
- omm-styleSkill
- onboarding-croSkill
- page-croSkill
- paid-adsSkill
- paywall-upgrade-croSkill
- popup-croSkill
- pricing-strategySkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 14 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
When the component must not interfere with existing page styles or scripts
- Distinctive: line 20
Before writing any code, ask the user these questions (skip any already answered):
- Distinctive: line 36
No font imports or declarations (the host page handles fonts)
- Distinctive: line 37
No CSS resets beyond the component scope
- Very specific: line 44
Use color-mix() for derived colors (soft backgrounds, hovers, light borders) instead of hardcoded hex values
- Distinctive: line 46
Never use bare element selectors (h1, p, a, span).
- Very specific: line 47
All keyframe names must be prefixed to avoid collisions (e.g., ghFadeUp not fadeUp)
- Very specific: line 50
Use <a> tags for CTAs and navigation links, not <button> with onclick
- Distinctive: line 51
Use semantic HTML (section, nav, header) where appropriate
- Distinctive: line 53
No external image URLs unless the user provides them.
- Distinctive: line 57
No global variables or functions
- Very specific: line 58
Use document.querySelector scoped to component classes
- Distinctive: line 59
Keep it minimal: counters, text cycling, scroll triggers.
- Distinctive: line 69
No Google Fonts or font-face declarations
- Very specific: line 70
No normalize.css or reset.css
- Distinctive: line 71
No external JS libraries
- Distinctive: line 72
No localStorage or sessionStorage
- Distinctive: line 73
No fetch calls or API requests
- Distinctive: line 74
No comments explaining what CSS properties do (only section separators are fine)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Self-Contained HTML Component Builder
Build drop-in HTML sections that work inside any existing page without conflicts. One code block. No dependencies. No collisions.
When to Use This Skill
- Building a standalone section (hero, pricing, features, testimonials, CTA, footer, etc.)
- Creating HTML for paste into WordPress Custom HTML blocks, Bricks code elements, GenerateBlocks containers, or raw PHP templates
- When the component must not interfere with existing page styles or scripts
Step 1: Gather Requirements
Before writing any code, ask the user these questions (skip any already answered):
- What component? — e.g., hero, pricing table, feature grid, testimonial carousel, FAQ accordion, footer
- Namespace prefix — 2-4 letter prefix for all classes and CSS variables (e.g.,
gh,gl,ai). Default: first two letters of brand/project name - Brand tokens — Ask for CSS variables or hex values for: primary color, secondary color, text color, background color, border color, shadow. If not provided, use sensible defaults and note them
- Content — Headings, body text, CTAs, card content, pricing tiers, testimonial quotes, etc. Ask for specifics based on the component type
- Design reference — Any URL, screenshot, or description of the desired look. If none, build a clean modern default
- Special behavior — Toggles, counters, text cycling, scroll animations, tabs? Default: static with hover states only
Once requirements are clear, proceed to build.
Build Rules
Structure
- Output a single code block containing:
<style>,<section>, and<script>(if needed) in that order - No
<!DOCTYPE>,<html>,<head>,<body>, or<meta>tags - No font imports or declarations (the host page handles fonts)
- No CSS resets beyond the component scope
- The
<section>must have a unique class name:[prefix]-[component](e.g.,brand-hero,brand-pricing)
CSS Scoping
- Define ALL design tokens as CSS custom properties on the section's root class, not on
:root - Prefix every custom property with a short namespace:
--[xx]-(e.g.,--gh-primary,--gh-text) - Prefix every class name with the same short namespace:
[xx]-(e.g.,gh-inner,gh-title) - Use
color-mix()for derived colors (soft backgrounds, hovers, light borders) instead of hardcoded hex values - Scope the universal box-sizing reset to the component:
.component *, .component *::before, .component *::after { box-sizing: border-box; } - Never use bare element selectors (h1, p, a, span). Always use prefixed classes
- All keyframe names must be prefixed to avoid collisions (e.g.,
ghFadeUpnotfadeUp)
HTML
- Use
<a>tags for CTAs and navigation links, not<button>with onclick - Use semantic HTML (section, nav, header) where appropriate
- Inline SVG for icons (no icon font dependencies)
- No external image URLs unless the user provides them. Use CSS, SVG, or Unicode for visual elements
JavaScript
- Wrap everything in an IIFE:
(function(){ ... })(); - No global variables or functions
- Use
document.querySelectorscoped to component classes - Keep it minimal: counters, text cycling, scroll triggers. No frameworks
- Omit the
<script>block entirely if the component is purely static
Responsive
- Include breakpoints at 1100px, 768px, and 480px
- Progressively hide less important elements on smaller screens (don't just shrink everything)
- Stack layouts vertically on tablet and below
- Buttons go full-width on mobile
What NOT to Include
- No Google Fonts or font-face declarations
- No normalize.css or reset.css
- No external JS libraries
- No localStorage or sessionStorage
- No fetch calls or API requests
- No comments explaining what CSS properties do (only section separators are fine)
Override Pattern
Because tokens are CSS custom properties on the section class, the user can override from their theme stylesheet without touching the component:
.brand-hero {
--gh-primary: #2563EB;
}Output Format
Return the complete component as a single fenced code block (```html). No file splitting. No build steps. Copy-paste ready.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

