neo-javascript
Use this skill when writing, reviewing, debugging, or modernizing JavaScript across browser, Node.js, and pure JS projects.
Skill by Benknightdark
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/benknightdark-neo-javascript
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/neo-javascript
What's inside
- Skill name
neo-javascript- Description
- Use this skill when writing, reviewing, debugging, or modernizing JavaScript across browser, Node.js, and pure JS projects. Trigger for ES module/CommonJS issues, async patterns, functional array/set/iterator code, DOM/runtime behavior, or version-aware ECMAScript syntax.
- License
- MIT
- Compatibility
- Supports ES6 (ES2015) through ES2025 and Stage 3+ proposals. Adaptive to modern browser environments and pure JS runtimes.
- Metadata
- version: 1.0.0 · category: Core
- Instructions
- 119 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- anti-patterns.md · reference/
- coding-style.md · reference/
- patterns.md · reference/
SKILL.md (first lines)
# Modern JavaScript (ES6+) Expert Skill
## Trigger On
- The user asks to write, debug, refactor, or review JavaScript code.
- The project directory contains `*.js`, `*.mjs`, or JavaScript configuration files (e.g., `eslint.config.js`, `vite.config.js`).
- HTML files (`*.html`) or Razor views (`*.cshtml`) contain inline `<script>` blocks or reference external `.js` files via `<script src="...">`.
- The target runtime is a modern browser (Chrome 80+, Firefox 78+, Safari 14+) or a pure JS environment.
- Code modernization is needed (e.g., converting `var` to `const`/`let`, callbacks to `async`/`await`, legacy scripts to ESM).
## Workflow
1. **Perceive (Environment Awareness):**
- Inspect ESLint / Biome configuration to identify the project's `ecmaVersion` and coding conventions.
- Determine runtime target: browser (check for DOM APIs, bundler config like `vite.config.js`, `webpack.config.js`).
- Detect JavaScript embedded in HTML (`*.html`) or Razor views (`*.cshtml`): identify inline `<script>` blocks and external `<script src="...">` references. For `.cshtml` files, note the interplay with Razor syntax (`@` directives, `@section Scripts`).
- Identify the effective ES version upper limit based on the runtime/transpiler configuration (e.g., Babel targets, TypeScript `target`, browserslist). For inline scripts without a build pipeline, default to the browser's native ES support.
2. **Reason (Planning Phase):**
- Evaluate the modernization level of the current code to determine the refactoring strategy.
- In environments targeting older runtimes (e.g., IE11 via Babel), avoid using features without polyfill support, but prioritize using `const`/`let`, arrow functions, and template literals.
- In modern environments (modern browsers), actively adopt new features to reduce boilerplate code.
- Be aware of browser-specific concerns (DOM manipulation, Web APIs, rendering performance).
3. **Act (Execution Phase):**
- Write high-quality code using modern syntax to improve readability and maintainability.
- Implement immutable data patterns (spread operators, `Object.freeze`, `structuredClone`, immutable array methods).
- Utilize `async`/`await` and `Promise` composition for asynchronous operations.
- Prefer ESM (`import`/`export`) as the standard module system.
4. **Validate (Standard Validation):**
- Validate strict equality (`===`) usage and absence of `var` declarations.
- Check if asynchronous operations correctly handle errors (`try`/`catch` around `await`, `.catch()` on Promises).
- Ensure code avoids common security pitfalls (no `eval()`, no prototype pollution, no `innerHTML` with unsanitized input).
- Verify naming conventions follow community standards (camelCase for variables/functions, PascalCase for classes).
## Feature Roadmap (ES6 - ES2025+)
### ES6 & ES2016-ES2019 (Origin)
- **Arrow Functions:** `(a, b) => a + b` concise function syntax with lexical `this` binding.
- **`let` / `const`:** Block-scoped variable declarations replacing `var`.
- **Template Literals:** `` `Hello, ${name}!` `` for string interpolation and multi-line strings.
- **Destructuring:** `const { id, name } = user;` extract values from objects and arrays.
- **Default / Rest / Spread:** Default parameters, `...rest` parameters, and `...spread` for arrays/objects.
- **Classes:** `class` syntax for prototype-based inheritance with `constructor`, `extends`, and `super`.
- **Promises:** `new Promise((resolve, reject) => ...)` for asynchronous flow control.
- **Modules:** `import` / `export` for modular code organization (ES Modules).
- **Symbol / Map / Set:** New primitive type and collection data structures.
- **String Methods (ES6):** `includes()`, `startsWith()`, `endsWith()` for easier string searching.
- **Array Methods (ES6):** `Array.from()`, `Array.of()`, `find()`, `findIndex()` for enhanced array manipulation.
- **Number/Math Methods (ES6):** `Number.isInteger()`, `Number.isNaN()`, `Math.trunc()`, `Math.sign()`.
- **Generators & Iterators:** `function*` and `for...of` for lazy iteration.
- **`async` / `await` (ES2017):** Syntactic sugar for Promise-based asynchronous code.
- **Object.values / Object.entries (ES2017):** Iterate over object values and key-value pairs.
- **Rest / Spread Properties (ES2018):** `{ ...obj }` for object shallow cloning and rest extraction.
- **`Promise.finally` (ES2018):** Execute cleanup logic regardless of fulfillment or rejection.
- **Async Iteration (ES2018):** `for await...of` for consuming async iterables.
- **`Array.flat` / `flatMap` (ES2019):** Flatten nested arrays and map-then-flatten in one step.
- **`Object.fromEntries` (ES2019):** Convert key-value pairs back into an object.
- **Optional Catch Binding (ES2019):** `catch { }` without requiring the error parameter.
### ES2020 & ES2021 (Foundation)
- **Optional Chaining (`?.`):** Safely access deeply nested properties without manual null checks.
- **Nullish Coalescing (`??`):** Provide defaults only for `null`/`undefined`, unlike `||` which also catches `0`, `""`, `false`.
- **`BigInt`:** Arbitrary-precision integer arithmetic via `123n` literal syntax.
- **`Promise.allSettled()`:** Wait for all promises to complete regardless of rejection.
- **`globalThis`:** Universal reference to the global object across all environments.
- **Dynamic `import()`:** Load modules conditionally or lazily at runtime.
- **Logical Assignment (`&&=`, `||=`, `??=`):** Combine logical operators with assignment for concise state updates.
- **`String.prototype.replaceAll()`:** Replace all occurrences without regex.
- **`Promise.any()`:** Resolve with the first fulfilled promise, reject only if all reject.
- **Numeric Separators:** `1_000_000` for readable large numbers.
### ES2022 & ES2023 (Productivity)
- **Top-level `await`:** Use `await` directly in ESM modules without wrapping in an async function.
- **Error Cause (`{ cause }`):** Chain errors to preserve root cause context.
- **`Array.at()`:** Negative indexing for arrays, e.g., `arr.at(-1)` for the last element.
- **`Object.hasOwn()`:** Safer, prototype-independent property check replacing `hasOwnProperty`.
- **Class Fields:** Public and private (`#field`) instance fields and methods.
- **RegExp Match Indices (`/d` flag):** Get start/end positions of captured groups.
- **Immutable Array Methods:** `toSorted()`, `toReversed()`, `toSpliced()`, `with()` — return new arrays without mutation.
- **`Array.findLast()` / `findLastIndex()`:** Search arrays from the end.
### ES2024 & ES2025+ (Version-Specific Features)
- **`Promise.withResolvers()`:** Destructure `{ promise, resolve, reject }` for cleaner deferred patterns.
- **`Object.groupBy()` / `Map.groupBy()`:** Group array elements by a classifier function.
- **Set Methods:** `union()`, `intersection()`, `difference()`, `symmetricDifference()`, `isSubsetOf()`, `isSupersetOf()`, `isDisjointFrom()`.
- **Iterator Helpers:** `.map()`, `.filter()`, `.take()`, `.drop()`, `.flatMap()`, `.toArray()` on iterators.
- **`RegExp.escape()`:** Safely escape special characters for use in RegExp construction.
- **Import Attributes:** `import data from './data.json' with { type: 'json' }`.
- **Decorators (Stage 3):** Class and method decorators for cross-cutting concerns.
- **`Promise.try()`:** Safely start a promise chain from a synchronous or asynchronous function.
- **Well-formed Unicode Strings:** `String.prototype.isWellFormed()` and `toWellFormed()`.
- **Temporal API (Stage 3):** A modern replacement for the `Date` object, providing robust date/time arithmetic.
- **Explicit Resource Management (Stage 3):** `using` keyword with `Symbol.dispose` for deterministic cleanup.
## Coding Standards
- **Variable Declarations:** Always use `const` by default; use `let` only when reassignment is necessary. Never use `var`.
- **Modules:** Use ESM (`import`/`export`) as the default module system. Use `import()` for dynamic/lazy loading.
- **Immutability:** Prefer non-mutating array methods (`toSorted`, `toReversed`, `with`), spread operators, and `structuredClone` for deep copies.
- **Async Safety:** Always wrap `await` in `try`/`catch` or chain `.catch()`. Never leave Promises unhandled. Use `AbortController` for cancellable operations.
## Deliver
- **Runtime-Optimized Code:** Provide the most appropriate modern syntax code based on the target runtime and ES version.
- **Modernization Insights:** Provide specific refactoring suggestions for upgrading from older JavaScript syntax to new features (e.g., from callbacks to `async`/`await`, from `var` to `const`/`let`).
- **Syntax Explanations:** Clearly explain the design intent and advantages behind the modern JavaScript features used.
## Validate
- Ensure the provided code complies with the syntax specifications of the target ES version and runtime.
- Validate whether the code follows JavaScript best practices for error handling, null safety, and immutability.
- Confirm the code has good readability and modern conventions (e.g., proper use of destructuring, template literals, ESM).
## Documentation
### Official References
- [ECMAScript 2025 Language Specification](https://tc39.es/ecma262/)
- [TC39 Proposals (Stage 3+)](https://github.com/tc39/proposals/blob/main/README.md)
- [MDN Web Docs - JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
### Internal References
- [JavaScript Coding Style and Naming Conventions Guide](reference/coding-style.md)
- [JavaScript Anti-Patterns and Best Practices](reference/anti-patterns.md)
- [Modern JavaScript Patterns Guide](reference/patterns.md)From Benknightdark/neo-skills, MIT.
More from Benknightdark/neo-skills
- 0.589score
neo-harness
Benknightdark
Use this skill when you need to inspect a target project codebase and generate or improve a tailored, comprehensive AGENTS.md file (Harness Workflow…
SkillBFreshness: B★ 7Claude Code +9 - 0.589score
neo-opentelemetry
Benknightdark
Use this skill when explaining OpenTelemetry concepts, choosing telemetry signals, planning or reviewing Collector architectures and declarative…
SkillBFreshness: B★ 7Claude Code +9 - 0.586score
neo-harness-project
Benknightdark
當使用者要求盤點目前專案並建立、重建或補強完整 Harness 工程環境時使用此技能, 包含專案知識地圖、架構文件、持久化計畫、驗證入口、.neo_harness 集中式資產及依證據選用的工程治理資產; 不用於只建立單一 AGENTS.md 或一般功能開發。
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-dotnet-mvc
Benknightdark
Use this skill when building, debugging, refactoring, or reviewing ASP.NET Core MVC apps with Razor views, controllers, ViewModels, validation, Tag Helpers…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-dotnet-ef-core
Benknightdark
Use this skill when the task involves Entity Framework Core models, DbContext, migrations, LINQ queries, change tracking, database providers, performance…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-dotnet-minimal-apis
Benknightdark
Use this skill when building, debugging, refactoring, or reviewing ASP.NET Core Minimal APIs, lightweight endpoints, route groups, endpoint filters, typed…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-dotnet-webapi
Benknightdark
Use this skill when building, debugging, refactoring, or reviewing controller-based ASP.NET Core Web APIs, including ControllerBase, ActionResult<T>, Problem…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-csharp
Benknightdark
Use this skill when writing, reviewing, debugging, or modernizing C# code in .NET projects.
SkillBFreshness: B★ 7Claude Code +9 - 0.578score
generate-skill
Benknightdark
引導使用者建立、更新、審查或最佳化高品質 Agent Skill 定義檔 (SKILL.md),包含官方規格、description 觸發語、references/scripts/assets/evals 結構,以及 5 種核心設計模式。
SkillBFreshness: B★ 7Claude Code +9 - 0.564score
neo-clean-architecture
Benknightdark
Use this skill when the user wants to design, implement, review, or refactor software systems conforming to Clean Architecture principles.
SkillBFreshness: B★ 7Claude Code +9 - 0.564score
neo-iso-27701
Benknightdark
Use this skill when the user needs to establish, review, or improve an ISO/IEC 27701 PIMS, inventory PII processing, analyze controller and processor…
SkillBFreshness: B★ 7Claude Code +9 - 0.564score
neo-iso-27001
Benknightdark
Use this skill when the user needs to establish, review, or improve an ISO/IEC 27001 ISMS, perform information security risk discovery, define scope, create…
SkillBFreshness: B★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- May 31, 2026 (5 months ago)
- Last release
- Sep 6, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- MIT
- Repository
- github.com/Benknightdark/neo-skills
- Website
- neo-blog-iota.vercel.app/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Benknightdark
- 0.589score
neo-harness
Benknightdark
Use this skill when you need to inspect a target project codebase and generate or improve a tailored, comprehensive AGENTS.md file (Harness Workflow…
SkillBFreshness: B★ 7Claude Code +9 - 0.589score
neo-opentelemetry
Benknightdark
Use this skill when explaining OpenTelemetry concepts, choosing telemetry signals, planning or reviewing Collector architectures and declarative…
SkillBFreshness: B★ 7Claude Code +9 - 0.586score
neo-harness-project
Benknightdark
當使用者要求盤點目前專案並建立、重建或補強完整 Harness 工程環境時使用此技能, 包含專案知識地圖、架構文件、持久化計畫、驗證入口、.neo_harness 集中式資產及依證據選用的工程治理資產; 不用於只建立單一 AGENTS.md 或一般功能開發。
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-dotnet-ef-core
Benknightdark
Use this skill when the task involves Entity Framework Core models, DbContext, migrations, LINQ queries, change tracking, database providers, performance…
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-csharp
Benknightdark
Use this skill when writing, reviewing, debugging, or modernizing C# code in .NET projects.
SkillBFreshness: B★ 7Claude Code +9 - 0.584score
neo-dotnet-minimal-apis
Benknightdark
Use this skill when building, debugging, refactoring, or reviewing ASP.NET Core Minimal APIs, lightweight endpoints, route groups, endpoint filters, typed…
SkillBFreshness: B★ 7Claude Code +9
Cite this page
neo-javascript skill. Agent Mart. https://agentmart.dev/skills/benknightdark-neo-javascript (last updated 2026-10-24)