web/web-static/SKILL.md
Build modern static websites using semantic HTML and CSS without external dependencies or build systems
npx skillsauth add adambien/airails web-staticInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build or maintain a static website using $ARGUMENTS. Apply all rules below strictly.
<script> tags, no inline event handlers, no .js files.css files<div>/<span> — use <header>, <nav>, <main>, <article>, <section>, <aside>, <footer>, <figure>, <time>, <address><main> per pagelang attribute on <html>alt on all images (empty alt="" for decorative)aria-label on <nav> when multiple navs exist<label> associated with every form input<a> for navigation, not buttons<br> only for line breaks in content, never for spacing--color-primary, --spacing-unit, etc.)margin-block, padding-inline, inline-size, block-size)min-width breakpointsoklch() colorsclamp() for fluid typographygap over margins for spacing in flex/grid layoutsprefers-reduced-motion: reduce and prefers-color-scheme: dark media queriescontent-visibility: auto for off-screen sections:focus-visible indicators@supports for feature detection when applying Baseline Newly Available features, providing a graceful fallback for older browsersEvery project starts with:
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: system-ui, -apple-system, sans-serif; line-height: 1.5; }
When interactivity is needed, use these approaches — never JavaScript:
<details>/<summary>:target pseudo-class with anchor links:checked + sibling selectors:hover + :focus-within:checked + sibling selectorsappearance: none to customize native controlsloading="lazy" on below-fold images<picture> with WebP sources for responsive imagescontain: layout style paint on repeated componentsproject/
├── index.html
├── css/
│ └── style.css
├── images/
├── fonts/
└── icons/
For small sites, a flat structure (HTML + single style.css + images/) is acceptable.
<br> for spacing<div> when a semantic element existsonclick or any inline event handlerstools
Generic, composable Java 25 code conventions — modern syntax, code style, naming, visibility, structure, methods, streams, exceptions, and documentation rules that apply across all Java contexts (single-file scripts, CLI apps, MicroProfile/Jakarta EE servers, libraries). Technology-neutral within the Java world; meant to be composed with context-specific skills (e.g. `java-cli-script`, `java-cli-app`, `microprofile-server`, `bce`). Use when writing, generating, or reviewing Java code anywhere the composed skill does not already specify style. Triggers on "Java conventions", "Java style", "Java code style", "modern Java", "Java 25", "idiomatic Java", or any request to write or review Java code where context-specific skills do not already cover style.
development
Architecture and coding rules for long-running Java MicroProfile / Jakarta EE server applications — BCE layering, business components (BC), JAX-RS resources, CDI, JSON-P, testing (unit/integration/system), and Maven project structure. Use when creating, generating, scaffolding, writing, or reviewing code, resources, entities, boundaries, or business components in MicroProfile server projects. Not for serverless deployments.
tools
Create and maintain multi-file Java 25 CLI applications packaged as executable JARs with zb (Zero Dependencies Builder). Use when asked to create a Java CLI application, a CLI project with multiple source files, or an executable JAR. Triggers on "Java CLI app", "CLI application", "multi-file Java", "executable JAR", "zb build", or requests for Java programs that need multiple source files or JAR packaging. Not for single-file scripts — use java-cli-script for those.
development
Generate a GitHub Actions pipeline that builds a zb (Zero Dependencies Builder) project and publishes a GitHub Release with the produced JAR. Use whenever the user wants CI/CD, a build pipeline, a release workflow, or GitHub Actions for a zb-based Java project — phrases like "set up GitHub Actions for this zb project", "add a zb release pipeline", "create a build workflow", "automate the zb build/release", or when a project has a .zb config and needs continuous builds/releases. Trigger even if the user doesn't say "zb" explicitly, as long as the project is a zb project (a .zb file is present and there is no Maven/Gradle build).