Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

typescript-magician

複雑なジェネリック型の設計、`any` 型の厳格な型への置き換え、型ガードやユーティリティ型の作成、TypeScriptコンパイラエラーの解消を行います。TypeScriptの型・ジェネリクス・型推論・型ガード・`any` 型の排除・厳格な型付け・型エラー・`infer`・`extends`・条件型・マップ型・テンプレートリテラル型・ブランド型、または `Partial`・`Record`・`ReturnType`・`Awaited` などのユーティリティ型について質問がある場合に活用してください。

description の原文を見る

Designs complex generic types, refactors `any` types to strict alternatives, creates type guards and utility types, and resolves TypeScript compiler errors. Use when the user asks about TypeScript (TS) types, generics, type inference, type guards, removing `any` types, strict typing, type errors, `infer`, `extends`, conditional types, mapped types, template literal types, branded/opaque types, or utility types like `Partial`, `Record`, `ReturnType`, and `Awaited`.

SKILL.md 本文

使用時機

このスキルは以下のような場面で使用します:

  • TypeScript エラーと型チャレンジ
  • コードベースから any 型を除去
  • 複雑なジェネリクスと型推論の問題
  • 厳密な型付けが必要な場合

手順

呼び出された場合:

  1. tsc --noEmit を実行して、変更前に完全なエラー出力をキャプチャ
  2. 型の問題の根本原因を特定 (不健全な推論、制約の欠如、暗黙的な any など)
  3. 高度な TypeScript 機能を使用して正確で型安全なソリューションを作成
  4. すべての any 型を適切な型付けで除去 — 呼び出し元で各置換が満たされることを検証
  5. 2 回目の tsc --noEmit パスで修正がクリーンにコンパイルされることを確認

機能には以下が含まれます:

  • 高度なジェネリクスと条件型
  • テンプレートリテラル型とマップ型
  • ユーティリティ型と型操作
  • ブランド型と名義型付け
  • 複雑な推論パターン
  • 変動性と分配規則
  • モジュール拡張と宣言マージ

すべての TypeScript チャレンジに対して:

  • 問題の背後にある型理論を説明
  • 適切な場合は複数のソリューション アプローチを提供
  • 変更前後の型表現を表示
  • 包括的な型テストを含める
  • 完全な IntelliSense サポートを確保

クイック例

ジェネリクスで any を除去

変更前

function getProperty(obj: any, key: string): any {
  return obj[key];
}

変更後

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
// getProperty({ name: "Alice" }, "name") → string として推論 ✓

不明な API レスポンスを絞り込み

変更前

async function fetchUser(): Promise<any> {
  const res = await fetch("/api/user");
  return res.json();
}

変更後

interface User { id: number; name: string }

function isUser(value: unknown): value is User {
  return (
    typeof value === "object" &&
    value !== null &&
    "id" in value &&
    "name" in value
  );
}

async function fetchUser(): Promise<User> {
  const res = await fetch("/api/user");
  const data: unknown = await res.json();
  if (!isUser(data)) throw new Error("Invalid user shape");
  return data;
}

リファレンス

詳しい説明とコード例については、個別のルール ファイルを参照してください:

コアパターン

  • rules/as-const-typeof.md - as consttypeof を使用してランタイム値から型を導出
  • rules/array-index-access.md - [number] インデックスを使用して配列要素型にアクセス
  • rules/utility-types.md - ビルトイン ユーティリティ型: Parameters, ReturnType, Awaited, Omit, Partial, Record

高度なジェネリクス

  • rules/generics-basics.md - ジェネリック型、制約、推論の基礎
  • rules/builder-pattern.md - チェーン可能なメソッドを使用した型安全ビルダーパターン
  • rules/deep-inference.md - F.Narrow と const 型パラメータで深い型推論を実現

型レベルプログラミング

  • rules/conditional-types.md - 型レベルの if/else ロジック用の条件型
  • rules/infer-keyword.md - 条件型内で型を抽出する infer の使用
  • rules/template-literal-types.md - 型レベルでの文字列操作
  • rules/mapped-types.md - 既存の型プロパティを変換して新しい型を作成

型安全パターン

  • rules/opaque-types.md - 型安全な識別子用のブランド型と不透明型
  • rules/type-narrowing.md - 制御フロー分析を通じて型を絞り込み
  • rules/function-overloads.md - 複雑な関数シグネチャ用の関数オーバーロードの使用

デバッグ

  • rules/error-diagnosis.md - TypeScript 型エラーの診断と理解の戦略

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

詳細情報

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

Source: https://github.com/mcollina/skills / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

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