jwynia/agent-skills
Overview
This skill guides AI agents to produce and review high-quality TypeScript code using pragmatic best practices. It focuses on type safety, immutability, structured error handling, and maintainable code organization. Use it to shape code generation, refactoring, and design decisions that reduce runtime errors and improve developer ergonomics.
How this skill works
The skill inspects code and generates suggestions based on core principles: prefer unknown over any, favor readonly types, use explicit return types for public APIs, and adopt Result-style error handling. It provides module and function scaffolds, lint-style recommendations, and scripts for analysis, type generation, and scaffolding. The guidance is practical and applicable to new code, reviews, and JS-to-TS migrations.
When to use it
- Generating new TypeScript modules, services, or utilities.
- Reviewing TypeScript code for type-safety and maintainability issues.
- Refactoring JavaScript into TypeScript with strong typing.
- Designing public APIs, interfaces, or architecture patterns.
- Answering questions about generics, type guards, and advanced types.
Best practices
- Maximize compile-time checks: prefer unknown, avoid any, and declare explicit return types for exports.
- Make data immutable by default: use readonly properties and ReadonlyArray for inputs.
- Use typed error patterns: Result<T, E> unions and typed error classes over unchecked throws.
- Organize one concept per file, explicit named exports, and avoid wildcard barrel exports.
- Prefer interfaces for object shapes and type aliases for unions/intersections; document public types with JSDoc.
Example use cases
- Scaffold a new module with explicit types, constants, pure functions, and documentation.
- Convert a utility library from JavaScript to TypeScript, adding strict types and readonly contracts.
- Run a static analysis to flag usages of any, non-null assertions, and mutable API surfaces.
- Design an API client interface with clear config types, optional chaining, and typed Result returns.
- Refactor error handling to use Result unions and typed ValidationError classes for recoverable failures.
FAQ
Use unknown for input values you must narrow before use; avoid any because it disables type checking and hides errors.
Should I prefer interfaces or type aliases?
Prefer interfaces for object shapes and extension; use type aliases for unions, intersections, and complex mapped types.
How do I handle errors in asynchronous code?
Favor Result-style return types or typed error classes instead of throwing for control flow; use async/await with explicit Promise return types.
10 skills
This skill guides AI in writing and reviewing TypeScript code with emphasis on type safety, immutability, and scalable architecture.
This skill helps you fetch up-to-date information from the web using a built-in search tool to verify facts and research topics.
This skill guides secure Electron + React development with type-safe IPC, proper packaging, and testing patterns for production-ready desktop apps.
This skill helps you generate correct shadcn/Tailwind layouts by applying CSS layout mental models to ensure scrolling, height, and grid correctness.
This skill helps you design production-grade frontend interfaces by analyzing designs, generating tokens, palettes, typography, and framework-ready components.
This skill helps you break down overwhelming tasks into independent, estimable slices using vertical slicing, walking skeletons, and defined done criteria.
This skill analyzes ebooks to extract concepts and entities with full citation traceability, enabling cross-book synthesis and a reusable knowledge base.
This skill helps you generate Godot-ready 2D game assets from AI prompts and packaging into sprites, tilesets, and import configurations.
This skill helps you design and evaluate presentations that maximize audience understanding with evidence-based structure and visuals.
This skill helps you generate high-quality Godot 4.x GDScript code and architectures by applying best-practice patterns for scenes, signals, state machines,