Modern JavaScript Patterns

SkillAI & models

This skill is a reference guide for modern JavaScript patterns. It helps an AI agent write and refactor JavaScript using ES6+ features and functional programming patterns, including async/await, destructuring, spread operators, promises, generators, and modules. The agent draws on it when refactoring legacy code, implementing modern patterns, or optimizing JavaScript.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Have a JavaScript project or code snippet that needs modernizing or review.

Then ask your AI: use the Modern JavaScript Patterns skill

What your AI can do with it

  • Rewrite legacy JavaScript using ES6+ syntax
  • Apply async/await and promise patterns
  • Use destructuring and spread operators
  • Write iterators and generators
  • Follow functional programming patterns
  • Avoid promise anti-patterns and memory leaks

Getting started

  1. Have a JavaScript project or code snippet that needs modernizing or review.
  2. Add the skill to your agent's available skills.
  3. Point the agent at the file or code you want refactored or explained.
  4. Ask for the specific ES6+ feature or pattern you want applied.

What this skill tells your AI

The instructions your AI receives, as published by wshobson/agents in plugins/javascript-typescript/skills/modern-javascript-patterns/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
40k
Forks
4k
Last commit
Sep 2026

Questions

What does this skill cover?
ES6+ features including async/await, destructuring, spread operators, arrow functions, promises, modules, iterators, generators, and functional programming patterns, plus best practices and common pitfalls.
When should the agent use it?
When refactoring legacy code, implementing modern patterns, or optimizing JavaScript.
Does it include examples?
Yes, it includes worked examples in reference files.
Does it help avoid common mistakes?
Yes, it includes guidance for common pitfalls like promise anti-patterns and memory leaks.
Advanced
Item type
skill
Key
modern-javascript-patterns-wshobson
Source
github.com/wshobson/agents