Core HTML5 elements, document structure, and foundational markup patterns
Creates and validates HTML5 document structure, text elements, grouping containers, and embedded content. Use when users need to build web page skeletons, add semantic markup, or verify HTML correctness.
/plugin marketplace add pluginagentmarketplace/custom-plugin-html/plugin install custom-plugin-html@pluginagentmarketplace-htmlThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/config.yamlreferences/GUIDE.mdscripts/helper.pyCore HTML5 elements and document structure patterns for production web development.
Provide atomic, single-responsibility operations for:
<!DOCTYPE>, <html>, <head>, <body>)<p>, <h1>-<h6>, <blockquote>)<div>, <main>, <section>)<img>, <iframe>, <video>)<meta>, <link>, <title>)interface HtmlBasicsInput {
operation: 'create' | 'validate' | 'convert' | 'explain';
element_type: ElementCategory;
content?: string;
attributes?: Record<string, string>;
options?: {
doctype?: 'html5' | 'xhtml';
lang?: string; // Default: 'en'
charset?: string; // Default: 'UTF-8'
};
}
type ElementCategory =
| 'document' // html, head, body, doctype
| 'text' // p, h1-h6, span, strong, em
| 'grouping' // div, main, section, article
| 'embedded' // img, video, audio, iframe
| 'interactive' // a, button, details
| 'metadata'; // meta, link, title, base
interface HtmlBasicsOutput {
success: boolean;
markup: string;
validation: {
valid: boolean;
errors: string[];
warnings: string[];
};
metadata?: {
element_count: number;
nesting_depth: number;
has_required_attrs: boolean;
};
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page Title</title>
</head>
<body>
<!-- Content here -->
</body>
</html>
Required Elements Checklist:
<!DOCTYPE html> declaration<html lang="..."> with language attribute<meta charset="UTF-8"><meta name="viewport"> for responsive design<title> element (60 chars max for SEO)| Element | Purpose | Example |
|---|---|---|
<h1>-<h6> | Headings (one h1 per page) | <h1>Main Title</h1> |
<p> | Paragraph text | <p>Content...</p> |
<strong> | Strong importance | <strong>Important</strong> |
<em> | Stress emphasis | <em>emphasized</em> |
<mark> | Highlighted text | <mark>highlighted</mark> |
<blockquote> | Extended quotation | <blockquote cite="..."> |
<code> | Code snippet | <code>console.log()</code> |
<pre> | Preformatted text | <pre> formatted </pre> |
| Element | Purpose | When to Use |
|---|---|---|
<div> | Generic container | No semantic meaning needed |
<main> | Primary content | Once per page, unique content |
<section> | Thematic grouping | With heading, related content |
<article> | Self-contained | Blog post, news article |
<aside> | Tangential content | Sidebars, callouts |
<!-- Image with required attributes -->
<img src="photo.jpg" alt="Description" width="800" height="600" loading="lazy">
<!-- Responsive image -->
<picture>
<source media="(min-width: 800px)" srcset="large.jpg">
<source media="(min-width: 400px)" srcset="medium.jpg">
<img src="small.jpg" alt="Description">
</picture>
<!-- Video with fallback -->
<video controls width="640" height="360">
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<p>Your browser doesn't support video.</p>
</video>
| Error Code | Description | Auto-Fix |
|---|---|---|
HB001 | Missing DOCTYPE | Add <!DOCTYPE html> |
HB002 | Missing lang attribute | Add lang="en" |
HB003 | Missing charset | Add <meta charset="UTF-8"> |
HB004 | Missing alt on img | Prompt for alt text |
HB005 | Empty heading | Flag for content |
HB006 | Invalid nesting | Restructure elements |
Error Detected ā Log Issue ā Attempt Auto-Fix ā Validate ā Report
ā
[If unfixable]
ā
Return error with suggestion
Debug Checklist:
ā” DOCTYPE present and first line?
ā” HTML tag has lang attribute?
ā” Head contains charset meta?
ā” All tags properly closed?
ā” No duplicate IDs?
ā” Valid nesting structure?
Debug Checklist:
ā” File path correct (relative/absolute)?
ā” File exists at location?
ā” Correct file extension?
ā” Server MIME types configured?
ā” Alt attribute present?
Debug Checklist:
ā” Heading hierarchy correct?
ā” Landmarks present (main, nav)?
ā” Images have alt text?
ā” Links have descriptive text?
ā” Language attribute set?
| Metric | Target | Tool |
|---|---|---|
| Valid HTML | 0 errors | W3C Validator |
| Nesting depth | ā¤6 levels | html-validate |
| Required attrs | 100% | Custom linter |
| Semantic ratio | >70% | Manual audit |
# Create document structure
skill: html-basics
operation: create
element_type: document
options:
lang: "en"
charset: "UTF-8"
# Validate existing markup
skill: html-basics
operation: validate
content: "<div><p>Test</div></p>" # Will catch nesting error
# Convert to JSX
skill: html-basics
operation: convert
element_type: text
content: "<p class='intro'>Hello</p>"
output_format: jsx # Returns: <p className="intro">Hello</p>