Agent skill · software engineering · wshobson
modern-javascript-patterns
Master ES6+ features including async/await, destructuring, spread operators, arrow functions, promises, modules, iterators, generators, and functional programming patterns for writing clean, efficient JavaScript code. Use when refactoring legacy code, implementing modern patterns, or optimizing JavaScript applications.
Why this skill is useful
Codifies best practices for modern JavaScript patterns that the AI could infer but now doesn't have to guess.
What it needs
About 1k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.
What this skill does
Modern JavaScript Patterns Comprehensive guide for mastering modern JavaScript (ES6+) features, functional programming patterns, and best practices for writing clean, maintainable, and performant code. When to Use This Skill Refactoring legacy JavaScript to modern syntax Implementing functional programming patterns Optimizing JavaScript performance Writing maintainable and readable code Working with asynchronous operations Building modern web applications Migrating from callbacks to Promises/async-await Implementing data transformation pipelines Detailed patterns and worked examples Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient. Best Practices 1. Use const by default: Only use let when reassignment is needed 2. Prefer arrow functions: Especially for callbacks 3. Use template literals: Instead of string concatenation 4. Destructure objects and arrays: For cleaner code 5. Use async/await: Instead of Promise chains 6. Avoid mutating data: Use spread operator and array methods 7. Use optional chaining: Prevent "Cannot read property of undefined" 8. Use nullish coalescing: For default values 9. Prefer array methods: Over traditional loops 10. Use modules: For better code organization 11. Write pure functions: Easier to test and reason about 12. Use meaningful variable names: Self-documenting code 13. Keep functions small: Single responsibility principle 14. Handle errors properly: Use try/catch with async/await 15. Use strict mode: 'use strict' for better error catching For common pitfalls (this binding, promise anti-patterns, memory leaks), see references/advanced-patterns.md.
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills wshobson/modern-javascript-patterns