Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

javascript-pro

モダンなES2023+の機能、async/awaitパターン、ESMモジュールシステム、Node.js APIを活用して、JavaScriptコードの作成・デバッグ・リファクタリングを行います。バニラJavaScriptアプリの構築、Promiseベースの非同期処理の実装、ブラウザやNode.jsのパフォーマンス最適化、Web WorkerやFetch APIの利用、また`.js`/`.mjs`/`.cjs`ファイルの品質レビューや改善が必要なときに活用してください。

description の原文を見る

Writes, debugs, and refactors JavaScript code using modern ES2023+ features, async/await patterns, ESM module systems, and Node.js APIs. Use when building vanilla JavaScript applications, implementing Promise-based async flows, optimising browser or Node.js performance, working with Web Workers or Fetch API, or reviewing .js/.mjs/.cjs files for correctness and best practices.

SKILL.md 本文

JavaScript Pro

このスキルを使う時

  • バニラ JavaScript アプリケーションの構築
  • async/await パターンと Promise ハンドリングの実装
  • モダンモジュールシステム (ESM/CJS) の操作
  • ブラウザのパフォーマンスとメモリ使用量の最適化
  • Node.js バックエンドサービスの開発
  • Web Workers、Service Workers、またはブラウザ API の実装

コアワークフロー

  1. 要件の分析package.json、モジュールシステム、Node バージョン、ブラウザターゲットを確認;.js/.mjs/.cjs の規約を確認
  2. アーキテクチャの設計 — モジュール、async フロー、エラーハンドリング戦略を計画
  3. 実装 — ES2023+ コードを適切なパターンと最適化で記述
  4. 検証 — リンター実行 (eslint --fix);リンターが失敗した場合、すべての報告された問題を修正して再実行。DevTools または --inspect でメモリリークをチェック;バンドルサイズを検証;リークが見つかった場合は続行前に解決
  5. テスト — Jest で 85%+ カバレッジを達成する包括的なテストを記述;カバレッジが不足する場合は欠落ケースを追加して再実行。未処理の Promise リジェクションがないことを確認

リファレンスガイド

コンテキストに基づいて詳細なガイダンスを読み込む:

トピックリファレンス読み込むタイミング
モダン構文references/modern-syntax.mdES2023+ フィーチャー、オプショナルチェーン、プライベートフィールド
Async パターンreferences/async-patterns.mdPromises、async/await、エラーハンドリング、イベントループ
モジュールreferences/modules.mdESM vs CJS、動的インポート、package.json exports
ブラウザ APIreferences/browser-apis.mdFetch、Web Workers、Storage、IntersectionObserver
Node 基礎references/node-essentials.mdfs/promises、streams、EventEmitter、worker threads

制約

必須事項

  • ES2023+ フィーチャーのみを使用
  • X | null または X | undefined パターンを使用
  • オプショナルチェーン (?.) と nullish coalescing (??) を使用
  • すべての非同期操作に async/await を使用
  • 新規プロジェクトでは ESM (import/export) を使用
  • try/catch を使用した適切なエラーハンドリングを実装
  • 複雑な関数に JSDoc コメントを追加
  • 関数型プログラミングの原則に従う

禁止事項

  • var を使用しない(常に const または let を使用)
  • コールバックベースのパターンを使用しない(Promises を優先)
  • 同じモジュール内で CommonJS と ESM を混在させない
  • メモリリークやパフォーマンスの問題を無視しない
  • async 関数でエラーハンドリングをスキップしない
  • Node.js で同期 I/O を使用しない
  • 関数のパラメータをミューテートしない
  • ブラウザでブロッキング操作を作成しない

主なパターンと例

Async/Await エラーハンドリング

// ✅ 正しい — async エラーは常に明示的に処理
async function fetchUser(id) {
  try {
    const response = await fetch(`/api/users/${id}`);
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return await response.json();
  } catch (err) {
    console.error("fetchUser failed:", err);
    return null;
  }
}

// ❌ 誤り — 未処理のリジェクション、null ガードなし
async function fetchUser(id) {
  const response = await fetch(`/api/users/${id}`);
  return response.json();
}

オプショナルチェーン & Nullish Coalescing

// ✅ 正しい
const city = user?.address?.city ?? "Unknown";

// ❌ 誤り — address が undefined の場合スロー
const city = user.address.city || "Unknown";

ESM モジュール構造

// ✅ 正しい — named exports、ライブラリ用の default-only export ではない
// utils/math.mjs
export const add = (a, b) => a + b;
export const multiply = (a, b) => a * b;

// consumer.mjs
import { add } from "./utils/math.mjs";

// ❌ 誤り — require() と ESM の混在
const { add } = require("./utils/math.mjs");

var を避ける / const を優先

// ✅ 正しい
const MAX_RETRIES = 3;
let attempts = 0;

// ❌ 誤り
var MAX_RETRIES = 3;
var attempts = 0;

出力テンプレート

JavaScript フィーチャーを実装する場合、以下を提供:

  1. クリーンな export を持つモジュールファイル
  2. 包括的なカバレッジを持つテストファイル
  3. パブリック API の JSDoc ドキュメント
  4. 使用されたパターンの簡潔な説明

ドキュメント

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
jeffallan
リポジトリ
jeffallan/claude-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/jeffallan/claude-skills / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: jeffallan · jeffallan/claude-skills · ライセンス: MIT