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-conventionsSKILL.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
anyandunknowncasts unless strictly necessary. - Do not use
as anyor double casts likeas unknown as Tunless 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
nullandundefinedexplicitly; do not rely on truthiness checks when the value can be0,"", orfalse. - 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
awaitfor promise chains where readability improves; avoid deeply nested.then(). - Do not forget to
awaitasync calls insidetry/catchwhen error handling matters. - Avoid
forEach(async () => ...); usefor...oforPromise.alldepending on concurrency needs. - When using
Promise.all, consider failure semantics and call out whether fail-fast is acceptable.
Error handling
- Throw
Errorobjects or subclasses, not strings. - Preserve error context by wrapping errors with
causeor 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
- SKILL.md in the repositoryCheckingai/skills/typescript-conventions/SKILL.md
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
[](https://verified-skill.com/skills/0xerwin1/nixos/typescript-conventions)