Domain PrimitivesとAlways-Valid Domain Modelの設計原則に基づき、ドメインモデルの型安全性と不変条件を 保証する設計・実装を支援する。プリミティブ型の濫用を防ぎ、構築時検証・不変性・自己完結性を備えた ドメイン固有の型を設計する。コードレビュー、新規実装、リファクタリング時に使用。 対象言語: Rust, TypeScript, Java。他の言語(Kotlin, Scala, Go, Python等)にも応用可能。 トリガー:「ドメインプリミティブを作りたい」「Always-Validなモデルを設計」「プリミティブ型をラップしたい」 「構築時に検証したい」「無効な状態を型で防ぎたい」「Smart Constructorパターン」等のリクエストで起動。
スキルを探す
39 件(j5ik2o のリポジトリ) ・ 人気順
概要と使いどころ
ソフトウェアにおける非正常状態(Error, Defect, Fault, Failure)の分類と定義を提供する。 JIS規格・JSTQB・Bertrand Meyer等の複数の標準に基づき、各概念の違いを明確化し、 適切なエラー設計・障害対策の判断を支援する。エラー設計、障害分析、コードレビュー、 テスト設計時に用語の混乱を防ぎ、正確な分類に基づく対処戦略の選択に使用。 対象言語: 言語非依存。 トリガー:「ErrorとFaultの違い」「DefectとBugの関係」「障害と故障の区別」 「エラーの分類」「Failureとは何か」「非正常状態の設計」「エラー用語の定義」 「エラーと欠陥の違い」「faultとfailureの違い」 といったエラー分類・用語定義関連リクエストで起動。
エラーハンドリングのベストプラクティスを適用するスキル。回復可能性を基準にしたエラー設計、 Either/Result型の使用、ドメインエラーとシステムエラーの適切な分類を支援する。コードレビュー、 新規実装、リファクタリング時にエラー処理パターンの改善が必要な場合に使用。対象言語: Go, Rust, Scala, Java, TypeScript, JavaScript, Python。トリガー:「エラー処理を改善して」 「Result型を使いたい」「例外設計をレビューして」「回復可能なエラーの設計」といった エラーハンドリング関連リクエストで起動。
ファーストクラスコレクションパターンの設計・実装を支援。コレクションをラップする専用クラスの 設計、ドメインロジックの集約、不変性の確保をガイド。コードレビュー、新規実装、リファクタリング 時にコレクション操作ロジックが散在している場合に使用。 対象言語: Java, Kotlin, Scala, TypeScript, Python, Ruby, Go, Rust。 トリガー:「コレクションをラップしたい」「リストのロジックを集約」「ファーストクラスコレクション」 「コレクション操作が散在」「List<Order>をOrdersクラスに」といったコレクション設計関連リクエストで起動。
字面の同一性ではなく意図(目的)の同一性に基づいてコードの共通化を判断するスキル。 DRY原則の誤適用(字面が同じだが意図が異なるコードの共通化)を検出し、正しい共通化判定を 支援する。コードレビュー、リファクタリング、新規実装時に重複コードの扱いを判断する場合に使用。 対象言語: 言語非依存(Rust, Java, TypeScript, Go, Python, Kotlin, Scala等すべて)。 トリガー:「重複コードを共通化したい」「DRYに従いたい」「似たコードがある」 「この2つの関数をまとめたい」「コードの重複を減らしたい」「共通化すべきか」 「リファクタリングで共通関数にしたい」といった重複コード・共通化関連リクエストで起動。
乱雑なコードベースを、明確なパッケージ/モジュール構造に再設計するための指針。 対象は (1) 乱雑なコードの再整理、(2) 単一巨大モジュールの分割、 (3) パッケージ境界のレビュー、(4) 新規プロジェクトのモジュール階層設計。 トリガー:「パッケージ構造を見直したい」「モジュールの依存関係が複雑」 「ファイル配置を整理したい」「循環依存を解消したい」といった構造改善リクエストで起動。
Apache Pekko + Scala 3によるCQRS/Event Sourcing実装ガイド。 PersistenceEffectorを用いた集約アクター、ドメインモデルとアクターの分離、 状態遷移の型安全な表現、イベント設計、Protocol Buffersシリアライズ、 ZIOベースのユースケース層、リードモデルアップデータの実装パターンを提供する。 対象言語: Scala 3限定。CQRS/Event Sourcingアーキテクチャが前提の場合のみ使用。 トリガー条件: 「Scala」かつ「CQRS」または「Event Sourcing」または「Pekko」が リクエストに含まれる場合のみ起動。Scala以外の言語やCQRS/ES以外のアーキテクチャでは このスキルを使用してはならない。 トリガー:「PekkoでCQRS/ESを実装したい」「Scalaで集約アクターを書きたい」 「PersistenceEffectorの使い方」「Pekkoのイベントソーシング」 「ScalaでCQRSのコマンド側を実装」「Pekkoで状態遷移を管理」 といったPekko + Scala + CQRS/ES実装リクエストで起動。 非トリガー:「CQRSのトレードオフ」「イベントソーシングとは」「JavaでCQRS」 「GoでEvent Sourcing」「CQRSの概念を教えて」など、Scala/Pekko以外や概念的な質問では 起動してはならない。
DDDにおけるリポジトリの設計ルールとアンチパターンを提供する。集約単位の命名規則、 CQS(Command Query Separation)に基づくメソッド設計、入出力の型制約をチェックする。 コードレビュー、新規実装、リファクタリング時にリポジトリ設計の問題を検出する場合に使用。 対象言語: 言語非依存(Java, Kotlin, Scala, TypeScript, Go, Rust, Python等すべて)。 トリガー:「リポジトリの設計をレビュー」「Repository名がおかしい」「findByIdの戻り値」 「リポジトリがDTOを返している」「テーブル名でリポジトリを作ってしまった」 「集約単位のリポジトリ」「リポジトリのアンチパターン」「リポジトリのCQS」 といったリポジトリ設計関連リクエストで起動。
「Tell, Don't Ask」原則に基づくコードレビューと設計支援。オブジェクトの状態を問い合わせて 外部で判断するパターンを、オブジェクトに直接命じるパターンに変換する。カプセル化を強化し、 責任をデータを持つオブジェクトに集約する設計を促進する。コードレビュー、新規実装、 リファクタリング時にgetterの乱用やFeature Envyの改善が必要な場合に使用。 対象言語: Java, Kotlin, Scala, TypeScript, Python, Ruby, Go, Rust。 トリガー:「getterを減らしたい」「カプセル化を改善して」「Feature Envyを直して」 「オブジェクトに責任を持たせたい」「デメテルの法則」といったOOP設計関連リクエストで起動。
プリミティブ型をドメイン固有型でラップすべきか否かの判断を支援する。 Primitive Obsession(プリミティブ型の過剰使用)と Value Object Obsession(過剰なラップ)の 両極端を避け、投資対効果に基づく合理的な判断基準を提供する。 Value Objectの定義が文脈(PofEAA/DDD/一般)で異なることによる用語混乱の防止も含む。 コードレビュー、新規実装、設計議論時にプリミティブ型のラップ判断が必要な場合に使用。 対象言語: 言語非依存(Rust, TypeScript, Java, Kotlin, Scala, Go, Python等すべて)。 トリガー:「この値をラップすべきか」「プリミティブ型のままでいいか」 「Value Objectにすべきか」「型を作りすぎでは」「Primitive Obsession」 「ラップしすぎ」「型が多すぎる」「Stringのままでいいか」 といったプリミティブ型ラップ判断関連リクエストで起動。
Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
日本語の概要は準備中です。原文の説明を表示しています。
スキルディレクトリを `.claude/skills/{name}` から `.agents/skills/{name}` へ移動し、 `.claude/skills/{name}` と `.codex/skills/{name}` の両方からシンボリックリンクを作成するマイグレーションスキル。 スキルの実体を `.agents/skills/` に一元化し、Claude Code と Codex CLI の両方から 参照可能にするディレクトリ構成を実現する。引数としてスキル名が必須。 トリガー:「スキルを .agents に移動」「スキルをマイグレート」「シンボリックリンクを作成」 「migrate skill」「スキルの配置を統一」といったスキル配置変更リクエストで起動。
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
日本語の概要は準備中です。原文の説明を表示しています。
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
日本語の概要は準備中です。原文の説明を表示しています。
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
日本語の概要は準備中です。原文の説明を表示しています。