プロジェクトガイドラインへの準拠をチェックし、バグ、スタイル違反、コード品質問題を検出する。PRレビュー時に使用。
type-design-analysis
型設計の品質と不変性を4軸スコアで分析する。interface, type, class の追加・変更時に使用。
インストール方法を見る含まれるファイル(1)
- SKILL.md2.4 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Type Design Analysis スキル
目的
型設計の品質と不変性を分析し、堅牢な型システムの構築を支援する。
評価軸(各1-10スコア)
1. Encapsulation(カプセル化)
- 10: 完全なカプセル化、内部状態へのアクセス不可
- 7-9: ほぼ完全、一部のgetter/setterあり
- 4-6: 部分的、一部の内部が露出
- 1-3: 不十分、内部が広く公開
チェックポイント: privateフィールド、readonly修飾子、getter/setter
2. Invariant Expression(不変性表現)
- 10: すべての不変性が型で表現
- 7-9: 主要な不変性が型で表現
- 4-6: 一部の不変性のみ
- 1-3: ドキュメントのみに依存
チェックポイント: Union型、Branded型、型ガード
3. Invariant Usefulness(不変性の有用性)
- 10: クリティカルなビジネスルールを保護
- 7-9: 重要なエラーを防止
- 4-6: 一般的なミスを防止
- 1-3: 限定的な保護
4. Invariant Enforcement(不変性の強制)
- 10: 構築時と全変異点で検証
- 7-9: 構築時に検証、変異は制限
- 4-6: 部分的な検証
- 1-3: 検証なし、信頼ベース
アンチパターン(検出して報告)
- 貧血ドメインモデル - データのみで振る舞いがない型
- 変更可能な内部の公開 - 配列やオブジェクトを直接公開
- ドキュメント依存の不変性 - 型ではなくコメントで制約を表現
- 過度に広い責任 - 1つの型に多すぎる責任
- 構築境界での検証不足 - 無効な状態で構築可能
出力形式
# Type Design Analysis Results
## [型名]
- ファイル: path/to/file.ts
| 軸 | スコア | 理由 |
|----|--------|------|
| Encapsulation | X/10 | ... |
| Invariant Expression | X/10 | ... |
| Invariant Usefulness | X/10 | ... |
| Invariant Enforcement | X/10 | ... |
- 総合スコア: X/10
- 検出されたアンチパターン: ...
- 改善提案: ...
## Summary
- 分析した型の数: X
- 平均スコア: X/10
- 検出されたアンチパターン: X
注意事項
- 新規追加または変更された型のみを分析
- 4つの軸すべてでスコアを付与
- 具体的な改善提案を含める
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Enforces project coding standards during code review: naming conventions (PascalCase for classes, camelCase for methods/variables, UPPER_SNAKE_CASE for constants, kebab-case for files), standard file structure, anti-magic-number policy, file size limits (500/800 lines), security patterns, and design patterns. Use when reviewing code, writing new code, or checking adherence to project conventions.
日本語の概要は準備中です。原文の説明を表示しています。
機能を保持したまま不要な複雑性を排除し、コードの簡潔性と可読性を向上させる。30行超の関数や3段以上のネスト検出時に使用。
コードコメントの正確性、完全性、長期的な保守性を分析する。JSDoc、コメント、README等のドキュメントが変更された場合に使用。
サイレント失敗を検出し、堅牢なエラーハンドリングを確保する。PRレビューでのエラーハンドリング検査時に使用。
Enforces error handling standards: silent error prohibition, custom error class hierarchy (AppError base with category never-fallback / transient / permanent, cause preservation, ValidationError / UnauthorizedError / UpstreamError etc. — canonical definitions in PATTERNS.md), external-boundary normalization (normalizeExternalError), Result pattern (Result.ok/Result.fail), proper try-catch with error type checking, structured error logging with a single Logger contract, fallback prohibition categories (isNeverFallback), and HTTP status code mapping. Use when implementing error handling, reviewing catch blocks, or designing error responses.
日本語の概要は準備中です。原文の説明を表示しています。