← ClaudeAtlas

language-patternslisted

Provides language-specific patterns for TypeScript, Python, and React including idioms, best practices, and common patterns. Use when implementing features in these languages.
sequenzia/agent-alchemy · ★ 38 · AI & Automation · score 83
Install: claude install-skill sequenzia/agent-alchemy
# Language Patterns This skill provides language-specific patterns and best practices. Apply patterns that match the project's language and framework. --- ## TypeScript Patterns ### Type Safety **Use strict types over `any`:** ```typescript // Bad function process(data: any): any { return data.value; } // Good interface DataItem { value: string; count: number; } function process(data: DataItem): string { return data.value; } ``` **Use discriminated unions for variants:** ```typescript type Result<T> = | { success: true; data: T } | { success: false; error: Error }; function handleResult<T>(result: Result<T>) { if (result.success) { // TypeScript knows result.data exists console.log(result.data); } else { // TypeScript knows result.error exists console.error(result.error); } } ``` **Use `unknown` over `any` for external data:** ```typescript async function fetchData(): Promise<unknown> { const response = await fetch('/api/data'); return response.json(); } // Then validate/parse const data = await fetchData(); if (isValidData(data)) { // Now safely typed } ``` ### Null Handling **Use optional chaining and nullish coalescing:** ```typescript // Optional chaining const userName = user?.profile?.name; // Nullish coalescing (only for null/undefined) const displayName = userName ?? 'Anonymous'; // Combine them const city = user?.address?.city ?? 'Unknown'; ``` **Use type guards:** ```typescript function isUser(obj: unknown): ob