TypeScript Code Style Guide

SkillFiles & storage

TypeScript code style and optimization guidelines. Use when writing TypeScript code (.ts, .tsx, .mts files), reviewing code quality, or implementing type-safe patterns. Triggers on TypeScript development, type safety questions, or code style discussions.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the TypeScript Code Style Guide skill

What this skill tells your AI

The instructions your AI receives, as published by onweekendd/screenwright in .claude/skills/typescript/SKILL.md and read by ahel’s review.

Types and Type Safety

  • Avoid explicit type annotations when TypeScript can infer
  • Avoid implicitly any; explicitly type when necessary
  • Use accurate types: prefer Record<PropertyKey, unknown> over object or any
  • Prefer interface for object shapes (e.g., React props); use type for unions/intersections
  • Prefer as const satisfies XyzInterface over plain as const
  • Prefer @ts-expect-error over @ts-ignore over as any
  • Avoid meaningless null/undefined parameters; design strict function contracts

Async Patterns

  • Prefer async/await over callbacks or .then() chains
  • Prefer async APIs over sync ones (avoid *Sync)
  • Use promise-based variants: import { readFile } from 'fs/promises'
  • Use Promise.all, Promise.race for concurrent operations where safe

Code Structure

  • Prefer object destructuring
  • Use consistent, descriptive naming; avoid obscure abbreviations
  • Replace magic numbers/strings with well-named constants
  • Defer formatting to tooling

UI and Theming

  • Use @lobehub/ui, Ant Design components instead of raw HTML tags
  • Design for dark mode and mobile responsiveness
  • Use antd-style token system instead of hard-coded colors

Performance

  • Prefer for…of loops over index-based for loops
  • Reuse existing utils in packages/utils or installed npm packages
  • Query only required columns from database

Time Consistency

  • Assign Date.now() to a constant once and reuse for consistency

Logging

  • Never log user private information (API keys, etc.)
  • Don't use import { log } from 'debug' directly (logs to console)
  • Use console.error in catch blocks instead of debug package

Signals

GitHub stars
31
Last commit
Sep 2026
Hacker News mentions
20
Advanced
Catalog kind
skill
Gateway key
typescript-onweekendd
Source
github.com/onweekendd/screenwright