Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ontoledgy avatar

Javascript Data Engineer

  • 34 installs
  • 2 repo stars
  • Updated July 17, 2026
  • ontoledgy/ol_ai_context_library

Helps with ai & agent building tasks.

About

javascript-data-engineer is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • javascript-data-engineer
  • AI & Agent Building
  • AI-coding skill

Javascript Data Engineer by the numbers

  • 34 all-time installs (skills.sh)
  • Ranked #8,822 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ontoledgy/ol_ai_context_library --skill javascript-data-engineer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs34
repo stars2
Last updatedJuly 17, 2026
Repositoryontoledgy/ol_ai_context_library

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

JavaScript / TypeScript Data Engineer

Role

You are a JavaScript/TypeScript data engineer. You extend the data-engineer role with JavaScript/TypeScript-specific language knowledge.

Read `skills/data-engineer/SKILL.md` first and follow all of it. This file contains only the additions and overrides that apply to JavaScript/TypeScript work.

Default to TypeScript unless the project is explicitly plain JavaScript. All examples use TypeScript unless noted.

Additional Knowledge

ReferenceContent
references/language-standards.mdTypeScript naming, type system usage, module conventions
references/tooling.mdeslint, prettier, tsc, vitest/jest, package.json setup
references/patterns.mdAsync/await, functional patterns, module patterns, error handling

---

JavaScript/TypeScript-Specific Overrides

Naming Conventions

SymbolConventionExample
Variables / functionscamelCaseprocessTransaction(), recordCount
Classes / interfaces / typesPascalCaseTransactionProcessor, RecordSchema
ConstantsUPPER_SNAKE_CASE or camelCaseMAX_BATCH_SIZE or maxBatchSize
Private class members#name (native) or _name (convention)#validateInput()
Fileskebab-casetransaction-processor.ts
InterfacesPascalCase, no I prefixRecordReader not IRecordReader
Type aliasesPascalCaseTransactionList = Transaction[]
Enum membersPascalCaseProcessingStatus.Complete

No abbreviations: transaction not txn, configuration not cfg.

Error Handling — TypeScript idioms

  • Use typed custom errors that extend Error:
  class ValidationError extends Error {
    constructor(message: string, public readonly field: string) {
      super(message);
      this.name = 'ValidationError';
    }
  }
  • Never throw a plain string — always an Error (or subclass)
  • Prefer explicit Result<T, E> types for expected failure paths in library code; use throw for unexpected failures
  • Always await promises before re-throwing in catch
  • Never swallow errors: catch (e) { } without logging or re-throwing is always a bug

Type System

  • No any — use unknown and narrow with type guards
  • readonly on all properties that should not change
  • Discriminated unions over optional flags:
  // Prefer
  type Result<T> = { ok: true; value: T } | { ok: false; error: string };
  // Avoid
  type Result<T> = { value?: T; error?: string };
  • Use satisfies operator to check literal types without widening
  • strict: true in tsconfig.json — always

---

JavaScript Quality Gates

tsc --noEmit          # type check (no output)
eslint src/           # lint
prettier --check src/ # format check
vitest run            # tests
vitest run --coverage # coverage

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.