Skip to main content

javascript

JavaScript and TypeScript best practices and patterns

インストールへ移動

ソース情報

リポジトリ
NeuralBlitz/Agent-Gateway
ソースの最終更新活動
2026年4月9日 10:58
検出された SKILL.md の言語
英語
スター
1
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
javascript
description
JavaScript and TypeScript best practices and patterns
license
MIT
compatibility
opencode
metadata
{"audience":"developers","category":"programming"}
## What I do - Write modern JavaScript (ES6+) with async/await - Use TypeScript for type safety - Handle promises and async operations properly - Use proper error handling with try/catch - Follow React hooks patterns - Use destructuring and spread operators - Avoid var, use const and let - Use strict equality (===) always ## When to use me When writing JavaScript or TypeScript code, especially React components. ## Async/Await ```typescript async function fetchUserData(userId: string): Promise<UserData> { try { const response = await fetch(`/api/users/${userId}`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response.json(); } catch (error) { console.error('Failed to fetch user:', error); throw error; } } // Parallel execution async function fetchMultiple(ids: string[]): Promise<UserData[]> { return Promise.all(ids.map(id => fetchUserData(id))); } ``` ## React Hooks ```typescript interface UseUserOptions { autoRefresh?: boolean; refreshInterval?: number; } function useUser(userId: string | null, options: UseUserOptions = {}): { user: UserData | null; loading: boolean; error: Error | null; } { const { autoRefresh = true, refreshInterval = 5000 } = options; const [user, setUser] = useState<UserData | null>(null); const [loading, setLoading] = useState(true); const [error, setError] = useState<Error | null>(null); useEffect(() => { if (!userId) return; const fetchUser = async () => { try { setLoading(true); const data = await fetchUserData(userId); setUser(data); setError(null); } catch (err) { setError(err instanceof Error ? err : new Error('Unknown error')); } finally { setLoading(false); } }; fetchUser(); if (autoRefresh) { const interval = setInterval(fetchUser, refreshInterval); return () => clearInterval(interval); } }, [userId, autoRefresh, refreshInterval]); return { user, loading, error }; } ``` ## TypeScript Interfaces ```typescript interface APIResponse<T> { data: T; status: number; message: string; timestamp: string; } interface User { id: string; name: string; email: string; roles: ('admin' | 'user' | 'guest')[]; metadata?: { createdAt: string; lastLogin?: string; }; } ``` ## Best Practices - Use arrow functions for callbacks - Use optional chaining (?.) and nullish coalescing (??) - Use template literals for string interpolation - Avoid any, use unknown for truly unknown types - Use map and filter instead of for loops - Use Set for unique collections - Use for...of for iteration, for...in for object keys - Prefer composition over inheritance
GitHubで見る