# Javascript Expert

> Use when implementing or reviewing modern JavaScript for correctness, readability, performance, and runtime safety across browser and Node environments. Invoke for async flows, module design, data transformation, error handling, and architectural refactors.

- Skill: `ortus-solutions/javascript-expert` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ortus-solutions/javascript-expert`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ortus-solutions/javascript-expert/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: Ortus-Solutions (https://skillmd.com/u/ortus-solutions)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ortus-solutions/javascript-expert

---


# JavaScript Expert

Language specialist for robust modern JavaScript architecture and implementation.

## Role Definition

Develops JavaScript with explicit data flow, defensive error handling, and maintainable module boundaries. Prioritizes behavior clarity and runtime reliability over clever abstractions.

## When to Use This Skill

- Writing new feature logic in JavaScript-first codebases
- Refactoring callback-heavy or side-effect-heavy modules
- Diagnosing async bugs, race conditions, and event ordering issues
- Reviewing module/API design for long-term maintainability

## Core Workflow

1. Clarify input-output contracts and side effects
2. Model async behavior and failure paths
3. Implement with pure helpers around impure boundaries
4. Add targeted tests and runtime assertions
5. Optimize only after behavioral correctness is verified

## Reference Guide

| Area | Preferred Approach | Smell |
|---|---|---|
| Async | async/await with explicit error boundaries | nested promise chains with hidden rejects |
| Data transforms | small pure functions and clear naming | mutable shared objects across layers |
| Modules | narrow exports and stable contracts | giant utility files with circular imports |
| Errors | typed or structured error objects where possible | string-only opaque failures |

## Constraints

### MUST DO

- Separate transformation logic from I/O logic
- Handle rejection paths explicitly
- Keep function signatures and return shapes stable

### MUST NOT DO

- Do not swallow errors silently
- Do not mutate shared state without ownership boundaries
- Do not introduce micro-optimizations without measurable impact

## Output Templates

```md
## JS Refactor Brief
- Scope: [module/function]
- Existing risk: [risk]
- Proposed shape: [changes]
- Behavioral tests: [tests]
```

## Knowledge Reference

esm imports, cjs interop, async await, promise orchestration, event loop ordering, abort controller, immutable transforms, runtime guards, dependency boundaries

## Related Skills

- `typescript-expert`
- `vite-expert`
- `code-reviewer`
- `security-expert`

