
modern-javascript
Implement or debug JavaScript language behavior, including promise completion, async iteration, mutation, and runtime compatibility. Use for ECMAScript semantics or polyfill/transform choices; not unrelated framework or TypeScript type design.
- Installs
- 257
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/ccheney/robust-skills --skill modern-javascript- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads modern-javascript automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Modern JavaScript
Keep specification status, runtime support, and toolchain support separate. The user's explicit instructions take precedence over this skill's guidelines.
Work against the target
Use the relevant JavaScript, required behavior, and declared runtime as input. Inspect engines, browser targets, lockfiles, and build configuration as needed for the feature. Do not invent a baseline or upgrade runtimes merely to use newer syntax.
Prefer a supported standardized feature. A proposal can fit when the user/project chooses it and a maintained transform or polyfill implements the required revision. Bundled edition and support tables are dated snapshots; verify changing status against the sources below.
Preserve semantics
- Keep mutation, property access, iterator consumption, evaluation order, error propagation, and concurrency behavior intact when modernizing.
- Distinguish syntax transforms from runtime polyfills. TypeScript declarations do not supply missing runtime APIs.
- Treat iterator helpers as lazy and single-pass;
Array.fromAsyncconsumes sequentially, whilePromise.allobserves already-started work concurrently. - Do not use
forEach(async ...)when completion must be awaited. Rejection and timeouts do not cancel underlying work by themselves. - Distinguish host APIs such as
fetchandstructuredClonefrom ECMA-262 features, andIntlfrom the separate ECMA-402 standard. - Do not introduce withdrawn Records & Tuples syntax or silently switch between legacy and standard-style decorator semantics.
Deliver the requested code or explanation, noting a required compatibility path when relevant. Verify changed behavior and any fallback that ships; select checks proportional to the change rather than requiring every project check for a syntax answer.
References
Load the semantic or compatibility topic needed, not every edition.
| Task | Reference |
|---|---|
| Runtime targets, Babel, TypeScript, polyfills | COMPATIBILITY.md |
| Async functions and early annual additions | ES2016-ES2017.md |
| Object spread, async iteration, RegExp, flattening | ES2018-ES2019.md |
| Classes, property checks, change-by-copy | ES2022-ES2023.md |
| Grouping, promise resolvers, buffers, Unicode sets | ES2024.md |
| Set/iterator helpers, import attributes, RegExp | ES2025.md |
ES2026 additions such as Array.fromAsync | ES2026.md |
| Temporal, resource management, proposals, withdrawn syntax | UPCOMING.md |
| Promise combinators and error behavior | PROMISES.md |
| Pools, retries, cancellation, async iteration | CONCURRENCY.md |
| Compact syntax lookup | CHEATSHEET.md |
Use frozen ECMA-262 editions for edition membership, TC39 proposals for proposal status, and official runtime/toolchain documentation for availability.
FAQ
What does the modern-javascript skill do?
Implement or debug JavaScript language behavior, including promise completion, async iteration, mutation, and runtime compatibility. Use for ECMAScript semantics or polyfill/transform choices; not unrelated framework or TypeScript type design.
How do I install modern-javascript?
Run npx skills add https://github.com/ccheney/robust-skills --skill modern-javascript in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/modern-javascript/ (personal) or .claude/skills/modern-javascript/ (project).
Which AI agents can use modern-javascript?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is modern-javascript safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains modern-javascript?
It is published by ccheney in ccheney/robust-skills. It has 257 recorded installs.
More from ccheney/robust-skills
clean-ddd-hexagonal
ccheney/robust-skills
Design or review backend domain and dependency boundaries using DDD, Clean Architecture, and ports/adapters. Use for aggregate modeling, bounded contexts, use-case isolation, or architecture refactoring; not routine CRUD changes.
postgres-drizzle
ccheney/robust-skills
Write or review PostgreSQL schemas, queries, migrations, and Drizzle ORM code. Use for Postgres/Drizzle relations, indexing, pooling, or query performance; not for unrelated databases or generic backend work.
mermaid-diagrams
ccheney/robust-skills
Open the skill to read its SKILL.md instructions.
modern-css
ccheney/robust-skills
Open the skill to read its SKILL.md instructions.
slack-block-kit
ccheney/robust-skills
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.