スキル haskell-pro
Λ

haskell-pro

安全

エキスパートガイドで Haskell 上級プログラミングをマスター

Haskell の複雑な型システムや純粋関数型設計に悩んでいますか?このスキルは、型レベルプログラミング、並行性パターン、強力な静的保証を持つ高信頼性ソフトウェアの構築に関するエキスパートガイドを提供します。

対応: Claude Codex Code(CC)
🥉 75 ブロンズ
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「haskell-pro」を使用しています。 コンパイル時に無効な状態を防止する、送金処理の型安全な API を設計してください。

期待される結果:

Amount と Currency をラップする newtypes を使用し、ファントムタイプで転送状態(Pending、Completed、Failed)を追跡します。有効な遷移のみを許可する状態機械を GADTs で実装します。口座の不変条件を型にエンコードしてオーバードラフトを防止します。無効な転送を表せないようにする型シグネチャを提供します。

「haskell-pro」を使用しています。 Haskell で共有キャッシュへの並行アクセスを処理するにはどうすればよいですか?

期待される結果:

TVar と共に STM(Software Transactional Memory)を使用して、キャッシュ更新をアトミックに実行します。競合の自動解決のために、キャッシュ操作を retry ブロックでラップします。並行読み書き操作のために async と組み合わせます。bracket または finally を使用して例外安全なクリーンアップを実装します。例のパターン:atomically $ do cached <- readTVar cacheVar; case cached of Just val -> return val; Nothing -> do newValue <- computeValue; writeTVar cacheVar (Just newValue); return newValue

「haskell-pro」を使用しています。 関数型設計の改善点について Haskell コードをレビューしてください。

期待される結果:

純粋なビジネスロジックを明示的なシグネチャを持つ独立した関数に分離します。トランスフォーマースタック(設定用の ReaderT、エラー用の ExceptT)を使用してデータベースとネットワーク IO を分離します。Maybe または Either を使用して、部分関数を全体関数の代替に置き換えます。newtypes を導入して、型レベルで UserID と Username を区別します。大規模なモジュールを単一責任のフォーカスされたモジュールに分割します。

セキュリティ監査

安全
v1 • 2/25/2026

Static analysis detected 7 potential issues (1 external_commands, 6 weak cryptographic patterns). All findings are false positives: the 'external_commands' detection was Markdown backticks for file paths, not shell execution. The 'weak cryptographic' detections appear to be scanner errors as no cryptographic code exists in the skill. The skill contains only documentation and instructions for Haskell programming assistance with no executable code, network operations, or security risks.

1
スキャンされたファイル
59
解析された行数
1
検出結果
1
総監査数
低リスクの問題 (1)
False Positive: Markdown File Reference
Line 27 contains backticks used for Markdown formatting of a file path ('resources/implementation-playbook.md'), not shell command execution. The static analyzer incorrectly identified this as an external command execution pattern.
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
50
コミュニティ
100
セキュリティ
100
仕様準拠

作れるもの

型レベルプログラミング

ビジネスロジックを型システムにエンコードする高度な型レベル抽象化を設計し、コンパイル時にエラーを検出

並行システム設計

STM、async、軽量スレッドを使用して、適切な例外安全性を持つ並行・並列アプリケーションを構築

コードベースアーキテクチャレビュー

既存の Haskell コードベースを関数型設計パターン、型安全性、アーキテクチャの改善点について評価

これらのプロンプトを試す

型安全なドメインモデル
[domain] システムの型安全なドメインモデルを設計してください。newtypes、ファントムタイプ、または GADTs を使用して、型レベルで不変条件をエンコードし、無効な状態を防止します。
純粋関数へのリファクタ
この Haskell コードをレビューし、純粋なロジックと副作用のあるコードを分離するようにリファクタしてください。IO を分離できる箇所を特定し、関数シグネチャのアーキテクチャを提案します。
並行設計パターン
Haskell の STM と async を使用して、並行 [system] を設計します。共有状態を安全に処理し、例外安全なリソースクリーンアップを実装する方法を示します。
パフォーマンス最適化
この Haskell コードをパフォーマンスのボトルネックについて分析します。厳密性解析、融合最適化、またはより良いデータ構造の選択の機会を特定します。

ベストプラクティス

  • Haskell の課題(型レベル設計、並行性、アーキテクチャ、パフォーマンスチューニングなど)を明確にすることから始めます
  • よりターゲットを絞ったガイドを得るために、関連するコードスニペット、エラーメッセージ、コンパイラ警告を提供します
  • アーキテクチャや互換性のアドバイス_requested_時には、GHC バージョンと主要な依存関係を明記します

回避

  • Haskell 以外のプログラミング支援を依頼する - 代わりに一般コーディングスキルを使用
  • プロジェクトコンテキスト外の任意のシステムコマンドやファイル操作の実行を依頼
  • プロジェクト要件や制約を提供せずに完全なアプリケーション実装を期待

よくある質問

このスキルは Haskell コードを書いてコンパイルしてくれますか?
いいえ、このスキルは Haskell プログラミングのためのエキスパートガイド、パターン、例を提供します。型システム、アーキテクチャ、ソリューションの設計を支援しますが、コードの実装とコンパイルは GHC またはビルドシステムを使用して自分で行う必要があります。
Haskell の基礎を学ぶためにこのスキルを使うべきですか?
このスキルは型レベルプログラミングや並行性などの高度な Haskell トピックに焦点を当てています。Haskell の基礎については、まず初心者向けのリソースを検討し、高度なパターンとアーキテクチャの準備ができたらこのスキルを使用してください。
最良のガイドを得るためにどのような情報を提供すべきですか?
特定の課題、関連するコードスニペット、GHC バージョン、制約を共有してください。アーキテクチャの質問については、システム要件を説明してください。パフォーマンスの問題については、プロファイラ出力または特定したボトルネックを提供してください。
このスキルはレガシー Haskell コードベースの支援もできますか?
はい、リファクタまたは改善したいコードを提供してください。このスキルは、変更の理由を説明しながら、より良い型安全性、純粋関数の抽出、アーキテクチャの改善の機会を特定できます。
このスキルは Yesod や Servant のような Web フレームワークをカバーしていますか?
このスキルは、Web 開発に適用される Haskell の型システム、並行性、アーキテクチャの原則をカバーします。型安全な API と副作用のあるコードパターンの設計を支援できますが、フレームワーク固有の質問については、使用するフレームワークのコンテキストを提供してください。
Cabal と Stack の選択をこのスキルに相談できますか?
はい、このスキルはプロジェクト構造、ビルドツール、依存関係の健全性をカバーします。プロジェクト要件、チームコンテキスト、制約を説明すれば、適切なツール選択の根拠と共にガイドします。

開発者の詳細

ファイル構成

📄 SKILL.md