Agent skill

Javascript Reference

by BlueAndi in BlueAndi/Pixelix

A skill your agent uses when writing, reviewing, or debugging JavaScript — reasoning about type coercion, equality, this, closures, scope/hoisting, prototypes, async/promises, iterators, modules, or…

MITAuto-check passedDevelopment

Install Javascript Reference

skills CLI
$ npx skills add BlueAndi/Pixelix --skill javascript-reference -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install BlueAndi/Pixelix javascript-reference --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/BlueAndi/Pixelix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/javascript-reference .claude/skills/javascript-reference && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
javascript-reference
GitHub stars
443
Token cost
~2.4k tokens
SKILL.md length
872 words
Files
5
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing, reviewing, or debugging JavaScript — reasoning about type coercion, equality, this, closures, scope/hoisting, prototypes, async/promises, iterators, modules, or…

  • Debugging JavaScript — reasoning about type coercion
  • SKILL.md covers Overview, When to Use, The Mental Model (read this… and Quick Reference, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • The standard built-in objects

What it does

Javascript Reference is an agent skill from BlueAndi/Pixelix. Use when writing, reviewing, or debugging JavaScript — reasoning about type coercion, equality, this, closures, scope/hoisting, prototypes, async/promises, iterators, modules, or the standard built-in objects, and when checking behavior against the ECMA-262 (ECMAScript 2025) language standard. Covers the language itself; host/runtime APIs (DOM, Node, browser) are out of scope.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `async-and-iteration.md`, `builtins.md` and `language-core.md`).

It sits in Development, covering Embedded systems. It works with JavaScript and ESP32. The repository describes itself as: Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT. The licence is MIT.

When your agent uses it

  • Debugging JavaScript — reasoning about type coercion
  • The standard built-in objects
  • When checking behavior against the ECMA-262 (ECMAScript 202
  • Language standard

Example prompts

  • “/javascript-reference”

What it can do on your machine

Read from SKILL.md and the folder at commit 10209e7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • tc39.es

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Javascript Reference loads about 2.4k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 872 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~101
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from BlueAndi/Pixelix at commit 10209e7, republished under its MIT licence (© BlueAndi). 872 words, ~2,354 tokens.

Download SKILL.mdSave it as .claude/skills/javascript-reference/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
javascript-reference
description
Use when writing, reviewing, or debugging JavaScript — reasoning about type coercion, equality, `this`, closures, scope/hoisting, prototypes, async/promises, iterators, modules, or the standard built-in objects, and when checking behavior against the ECMA-262 (ECMAScript 2025) language standard. Covers the language itself; host/runtime APIs (DOM, Node, browser) are out of scope.

JavaScript Reference (ECMA-262 / ECMAScript 2025)

Overview

ECMA-262 defines the JavaScript language: its syntax, type system, evaluation semantics, and standard built-in objects. It does not define the DOM, fetch, console, Node's fs, timers, or modules resolution — those are host environments layered on top. This skill is the condensed-but-authoritative reference for the language itself.

Core principle: Most JS bugs come from a handful of semantics that are precise but unintuitive — coercion, == vs ===, this binding, closures over mutable bindings, floating-point, and reference vs value semantics. Reason from the spec's rules, not from what "looks right."

ECMAScript is versioned yearly; ES2025 is the 16th edition. Features here are annotated with the edition that introduced them where it matters. When behavior is contested, the linked spec is the source of truth.

When to Use

  • Deciding why a coercion/comparison/this value is what it is, or predicting output of a tricky snippet.
  • Choosing the right language construct: let/const/var, ==/===, for...of/for...in/forEach, class fields vs prototype, Map vs object.
  • Writing correct async code: promises, async/await, the microtask/task ordering, error propagation, cancellation.
  • Using the standard library correctly (Array/Object/String/Map/Set/Reflect/Proxy/typed arrays/Intl) including ES2025 additions.
  • Reviewing code for subtle correctness bugs (mutation aliasing, NaN checks, integer precision, prototype pollution).

Not for: DOM/BOM, Node/Deno/Bun APIs, fetch/network, bundlers, TypeScript types, or framework patterns. Those are host/tooling concerns, not ECMA-262.

The Mental Model (read this first)

Everything is one of 8 language types. 7 primitives + object:

TypetypeofNotes
Undefined"undefined"sole value undefined
Null"object" ⚠️sole value null; the typeof null bug is spec-mandated
Boolean"boolean"true / false
Number"number"IEEE-754 double; NaN, Infinity, -0 all exist
BigInt"bigint"arbitrary precision, literal 10n; never mixes with Number in arithmetic
String"string"immutable sequence of UTF-16 code units (not code points)
Symbol"symbol"unique immutable identifier
Object"object" / "function"callable objects report "function"

Primitives are immutable and compared by value; objects are compared by reference. Assignment and argument passing copy the reference for objects — mutations are shared (aliasing).

Full details → language-core.md (types, coercion, equality, scope, this, prototypes).

Quick Reference

Falsy values (exactly 8) — everything else is truthy (including "0", "false", [], {}):

false   0   -0   0n   ""   null   undefined   NaN

=== (strict) — no coercion; different types ⇒ not equal. NaN === NaN is false. +0 === -0 is true. == (loose) — coerces; avoid it. Only defensible use: x == null (true for null and undefined). Object.is — like === but Object.is(NaN, NaN) is true and Object.is(+0, -0) is false.

Declarations:

ScopeHoistReassignRedeclareTDZ
varfunctionyes (→undefined)yesyesno
letblockyes (uninit)yesnoyes
constblockyes (uninit)no*noyes

*const binds the binding, not the value — a const object is still mutable.

Number checks: Number.isNaN(x) (not global isNaN), Number.isInteger, Number.isSafeInteger, Number.MAX_SAFE_INTEGER (2⁵³−1). 0.1 + 0.2 !== 0.3.

ES2025 Highlights (16th edition)

FeatureWhat it gives you
Iterator helpersLazy Iterator.prototype.{map,filter,take,drop,flatMap,reduce,toArray,forEach,some,every,find}, Iterator.from() — compose over any iterator without materializing arrays.
Set methodsSet.prototype.{union,intersection,difference,symmetricDifference,isSubsetOf,isSupersetOf,isDisjointFrom}.
Promise.try(fn)Run a possibly-sync-throwing fn and get a promise (sync throws become rejections).
RegExp.escape(str)Escape a string for safe literal use inside a RegExp.
Float16Float16Array, DataView.prototype.{getFloat16,setFloat16}, Math.f16round.
Duplicate named groupsSame (?<name>…) in different regex alternatives.
Import attributes + JSON modulesimport cfg from "./c.json" with { type: "json" }.
RegExp modifiersInline flags: (?i:…) / (?-i:…) scope i/m/s to part of a pattern.

Details and pre-2025 modern features (ES2015→2024) → syntax-and-features.md.

Show full SKILL.md (343 more words)Show less

Reference Files

FileContents
language-core.mdTypes & values, coercion rules (ToPrimitive/ToNumber/ToString), equality algorithms, truthiness, scope/hoisting/TDZ, closures, this binding, prototypes & inheritance, strict mode, class internals.
syntax-and-features.mdModern syntax edition-by-edition (ES2015→ES2025): destructuring, spread/rest, arrow functions, classes & private fields, modules, optional chaining, nullish coalescing, logical assignment, generators, and the full ES2025 additions.
async-and-iteration.mdJob queue (microtask vs macrotask), Promises + combinators, async/await, error propagation, iteration protocols, generators, async iterators, for await…of.
builtins.mdStandard library: Object, Array, String, Number/Math, Map/Set/WeakMap/WeakSet/WeakRef, JSON, RegExp, Symbol, Reflect, Proxy, typed arrays/ArrayBuffer, Intl, Date (and the emerging Temporal).

Common Mistakes

MistakeReality / fix
if (x == null) conflated with all falsy checks== null matches only null/undefined; 0/""/NaN are not null. Use it deliberately.
arr.indexOf(NaN) / === NaNNaN is never equal to anything. Use Number.isNaN, arr.includes(NaN), or Array.prototype.findIndex.
Expecting 0.1 + 0.2 === 0.3Floating point. Compare with an epsilon, or use integers/BigInt/decimal libs.
this "lost" in a callbackthis is set by call site, not definition (except arrow fns, which capture lexically). Use arrow, .bind, or class fields.
var/let in a loop with async callbacksvar shares one binding; let/const create a fresh binding per iteration. Prefer let/const.
Mutating a shared object/array thinking it's copiedObjects pass by reference. Copy explicitly (spread, structuredClone, Array.from). Spread is shallow.
for...in to iterate arraysfor...in enumerates string keys incl. inherited; order not guaranteed for integer-like intent. Use for...of, forEach, or entries().
sort() without a comparator on numbersDefault sort is by UTF-16 string order: [1,2,10].sort() → [1,10,2]. Pass (a,b)=>a-b. (TypedArray sort is numeric by default — the opposite.)
typeof x === "object" to detect objectsnull is also "object". Use x !== null && typeof x === "object", or Array.isArray, etc.
Adding a property to Object.prototypePrototype pollution; breaks for...in/in everywhere. Never.
async function "returns a value"It returns a Promise. Callers must await/.then. Unhandled rejections are silent-ish.
await inside a forEachforEach ignores the returned promise. Use for…of with await, or Promise.all(map(...)).

Spec Navigation

© BlueAndi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files in .claude/skills/javascript-reference of BlueAndi/Pixelix.

  • SKILL.md
  • async-and-iteration.md
  • builtins.md
  • language-core.md
  • syntax-and-features.md

Open the folder on GitHubat commit 10209e7

Compare with similar skills

Javascript Reference next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Javascript Reference compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Javascript Reference this skillBlueAndi/Pixelix443—~2.4kAutomated safety check: PassMIT
RuView Hardware Setupruvnet/RuView97k—~1.8kAutomated safety check: NotesMIT
Esp32 Firmware Engineeralxv2016/folloup-sticky1151 repos~3.8kAutomated safety check: PassGPL-3.0
RuView mmWave Radar Setupruvnet/RuView97k—~907Automated safety check: NotesMIT
Embedded DebugFastLED/FastLED7.5k—~1.4kAutomated safety check: PassMIT
Auto EmbeddedDunCanYounG-1/MICU-auto-embedded253—~1.6kAutomated safety check: PassCC-BY-NC-4.0

Similar skills

  • Brings a RuView CSI sensing node online by building ESP32-S3 or ESP32-C6 firmware, flashing the board, provisioning WiFi and checking the serial output.

    97k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check: notes
  • Esp32 Firmware Engineer

    alxv2016/folloup-sticky

    ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.

    115 GitHub starsUsed in 1 repo~3.8k tokens
    DevelopmentAuto-check passed
  • Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.

    97k GitHub stars~907 tokensUpdated today
    DevelopmentAuto-check: notes
  • Embedded Debug

    FastLED/FastLED

    Firmware crash analysis, stack trace decoder, and register dump interpreter for ESP32/ARM/AVR platforms.

    7.5k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Auto Embedded

    DunCanYounG-1/MICU-auto-embedded

    全平台嵌入式 AI 开发框架(对标 Trellis):把 RIPER-5 五阶段协议 + 四文件记忆 + 分层架构门禁 + Scout/Builder/Verifier 多 Agent + 24 个工具调用技能(build/flash/debug/serial/can/modbus/visa/static/memory/rtos/scons),做成『装进工程、项目级 hook…

    253 GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Esp32 Log Triage

    FastLED/FastLED

    Parse and classify ESP32 serial log output to identify FastLED-related errors, RMT/I2S/SPI driver faults, timing violations, RTOS issues, and crash signatures.

    7.5k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed

More from BlueAndi/Pixelix

  • Openscad Mechanical

    BlueAndi/Pixelix

    Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.

    443 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Openapi Spec

    BlueAndi/Pixelix

    Write and update OpenAPI 3.0 specification files from REST API code.

    443 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • Plantuml Diagrams

    BlueAndi/Pixelix

    Model, create, update, and embed PlantUML diagrams (.wsd files).

    443 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Bootstrap Reference

    BlueAndi/Pixelix

    A skill your agent uses when building or reviewing UI with Bootstrap 5.3 — setting up the CDN/npm, using the grid & breakpoints, utility classes (spacing/color/flex/display), components (navbar…

    443 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Embedded Cpp14 Misra

    BlueAndi/Pixelix

    Write and refactor embedded C/C++14 code with MISRA-oriented rules, defensive programming, Yoda conditions, pathfinder rule, mandatory Doxygen, and clang-format compliance.

    443 GitHub stars~936 tokensUpdated yesterday
    Auto-check passed
  • Html5 Reference

    BlueAndi/Pixelix

    A skill your agent uses when authoring, reviewing, or validating HTML markup — choosing the right element, deciding what may nest inside what, writing forms/inputs, adding accessible semantics, or…

    443 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Javascript Reference

What does Javascript Reference do?

A skill your agent uses when writing, reviewing, or debugging JavaScript — reasoning about type coercion, equality, this, closures, scope/hoisting, prototypes, async/promises, iterators, modules, or…. Javascript Reference is an agent skill from BlueAndi/Pixelix. Use when writing, reviewing, or debugging JavaScript — reasoning about type coercion, equality, this, closures, scope/hoisting, prototypes, async/promises, iterators, modules, or the standard built-in objects, and when checking behavior against the ECMA-262 (ECMAScript 2025) language standard.

When should I use Javascript Reference?

Javascript Reference fits situations like: debugging JavaScript — reasoning about type coercion; the standard built-in objects; when checking behavior against the ECMA-262 (ECMAScript 202; language standard.

How do I install Javascript Reference in Claude Code?

Run `npx skills add BlueAndi/Pixelix --skill javascript-reference -a claude-code`. Or copy the skill folder (.claude/skills/javascript-reference in BlueAndi/Pixelix) into .claude/skills/javascript-reference in your project. Claude Code loads it when a task matches its description.

How do I install Javascript Reference in Codex?

Run `npx skills add BlueAndi/Pixelix --skill javascript-reference -a codex`. Or copy the skill folder (.claude/skills/javascript-reference in BlueAndi/Pixelix) into .agents/skills/javascript-reference in your project. Codex loads it when a task matches its description.

Can I use Javascript Reference in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlueAndi/Pixelix --skill javascript-reference -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/javascript-reference, .gemini/skills/javascript-reference, .github/skills/javascript-reference and .opencode/skills/javascript-reference in your project.

What does Javascript Reference need to run?

SKILL.md names no scripts, command-line tools or credentials: Javascript Reference is instructions for the agent only.

Does Javascript Reference access the network?

SKILL.md names 1 domain. As links in the text: tc39.es. This is read from the text; nothing was executed.

Is Javascript Reference safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Javascript Reference use?

Javascript Reference is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Javascript Reference use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Javascript Reference?

Skills that share tags, products or a category with Javascript Reference: RuView Hardware Setup (ruvnet/RuView, 97k stars), Esp32 Firmware Engineer (alxv2016/folloup-sticky, 115 stars), RuView mmWave Radar Setup (ruvnet/RuView, 97k stars) and Embedded Debug (FastLED/FastLED, 7.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Javascript Reference?

BlueAndi (a GitHub user) maintains it in BlueAndi/Pixelix, which has 443 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.

Source: BlueAndi/Pixelix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.