modern-javascript-patterns
About modern-javascript-patterns
A skill covering modern JavaScript syntax and practices, from functional patterns to asynchronous code. It supports developers maintaining, refactoring, and building web applications.
Key features
- 01Use modern ES6+ syntax
- 02Apply functional programming patterns
- 03Work with Promises and async/await
- 04Organize code with modules
Use cases
- 01Modernize legacy JavaScript
- 02Refactor callbacks to async/await
- 03Build data transformation pipelines
- 04Improve code readability and performance
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ wshobson/ agents --skill modern-javascript-patternsAfter installing, type/modern-javascript-patternsin Claude Code to confirm it loaded.
Bundled filesreferences/advanced-patterns.mdreferences/details.md
Details
From the project READMEModern 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
- Use const by default: Only use let when reassignment is needed
- Prefer arrow functions: Especially for callbacks
- Use template literals: Instead of string concatenation
- Destructure objects and arrays: For cleaner code
- Use async/await: Instead of Promise chains
- Avoid mutating data: Use spread operator and array methods
- Use optional chaining: Prevent "Cannot read property of undefined"
- Use nullish coalescing: For default values
- Prefer array methods: Over traditional loops
- Use modules: For better code organization
- Write pure functions: Easier to test and reason about
- Use meaningful variable names: Self-documenting code
- Keep functions small: Single responsibility principle
- Handle errors properly: Use try/catch with async/await
- Use strict mode:
'use strict'for better error catching
For common pitfalls (this binding, promise anti-patterns, memory leaks), see references/advanced-patterns.md.