From litejs-build
Use when writing or modifying JavaScript, CSS, or commit messages in LiteJS projects — enforces non-standard conventions like no-semicolons, comma-first declarations, and same-level switch/case
npx claudepluginhub litejs/skills --plugin litejs-styleThis skill uses the workspace's default tool permissions.
Coding conventions for LiteJS projects. These diverge from standard JS/CSS defaults — follow them exactly.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Coding conventions for LiteJS projects. These diverge from standard JS/CSS defaults — follow them exactly.
Do NOT add semicolons at end of lines. Use a semicolon ONLY before [, ( or / at the beginning of a line:
var arr = [1, 2]
;[3, 4].forEach(fn)
;(function() {})()
Uninitialized variables first on one line, then comma-first for initialized:
var foo, bar
, MAX_AGE = 120
, baz = "baz"
, quux = 123
person
.be("confused")
.do("makeup")
switch (sex) {
case "male":
person.wear("bow tie")
break
default:
person.be("confused")
}
function a() {} not var a = function() {}that for outer this — use lowercased constructor name: var person = thisarr.map(fn, scope) not arr.map(fn.bind(scope))| Convention | Use |
|---|---|
lowerCamelCase | methods, variables |
UpperCamelCase | constructors |
CAPITAL_SNAKE_CASE | symbolic constants |
_prefix | private methods/properties |
{, after ; in for loops, around binary operators 1 + 2i++[<namespace>-]<ComponentName>[-descendentName][--modifierName].is- modifiers only combined with a component (.Btn.is-error, never .is-error alone).Icon {
width: 16px;
height: 16px;
-webkit-transition: all 4s ease;
-moz-transition: all 4s ease;
transition: all 4s ease;
}
.Icon--person { background-position: -16px 0 ; }
.Icon--files { background-position: 0 -16px; }
Format: scope: Capitalized summary up to 50 chars
! prefix for breaking changes: ! Rewrite public api| AI default | Correct LiteJS style |
|---|---|
var x = 1; | var x = 1 (no semicolon) |
var x = 1, y = 2 | Comma-first (see above) |
case "a": indented | case "a": same level as switch |
.bind(this) | Pass scope argument |
var that = this | var person = this (constructor name) |
const fn = () => {} | function fn() {} (declaration) |
'single quotes' | "double quotes" |
| Semicolons everywhere | Only before [, (, / at line start |