0xerwin1/nixos/typescript-conventions

Claude Code and agent skill by 0xerwin1/nixos

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Trigger: writing or reviewing TypeScript or JavaScript — .ts, .tsx, .js, .jsx, .mjs, tsconfig, eslint, Node backends, promises, nullability. Apply the local TS/JS conventions.

Install

npx vskill@latest install 0xerwin1/nixos/typescript-conventions

SKILL.md

  • Do not assume runtime behavior; distinguish clearly between type-level and runtime-level logic.
  • Prefer reading existing project conventions (tsconfig, eslint/prettier, existing patterns) before introducing new ones.
  • Avoid breaking changes to public APIs unless explicitly requested.
TypeScript correctness
  • Prefer type-safe solutions; avoid any and unknown casts unless strictly necessary.
  • Do not use as any or double casts like as unknown as T unless there is no viable alternative; if used, justify why and contain it locally.
  • Prefer narrow types and explicit return types for public functions.
  • If a function accepts or returns Promise, ensure it is actually async-safe with no swallowed errors and no unhandled rejections.
Nullability & narrowing
  • Handle null and undefined explicitly; do not rely on truthiness checks when the value can be 0, "", or false.
  • Prefer type guards and early returns for narrowing.
  • Avoid non-null assertion (!) unless you can prove the invariant; if used, explain the invariant.
Async & Promises
  • Use await for promise chains where readability improves; avoid deeply nested .then().
  • Do not forget to await async calls inside try/catch when error handling matters.
  • Avoid forEach(async () => ...); use for...of or Promise.all depending on concurrency needs.
  • When using Promise.all, consider failure semantics and call out whether fail-fast is acceptable.
Error handling
  • Throw Error objects or subclasses, not strings.
  • Preserve error context by wrapping errors with cause or relevant identifiers.
  • Do not swallow errors silently; if a failure is intentionally ignored, state why.
Modules & imports
  • Use ESM or CJS consistently with the repository; do not mix unless the project already does.
  • Prefer explicit imports; avoid wildcard imports unless necessary.
  • Keep exports stable; avoid reorganizing module boundaries unless requested.
Node.js / backend practices (when applicable)
  • Prefer structured logging patterns already used in the codebase; do not log secrets.
  • Validate external input at boundaries such as HTTP handlers, queues, or DB reads rather than deep in business logic.
  • Prefer parameterized queries or safe query builders; avoid string concatenation for SQL.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/0xerwin1/nixos/typescript-conventions/badge)](https://verified-skill.com/skills/0xerwin1/nixos/typescript-conventions)

Something wrong with this skill or its page? Tell us.