AgentSkillsCN

type-design-analysis

采用四维度评分体系,系统分析类型设计的质量与不变性。适用于 interface、type、class 的新增或变更操作时。

SKILL.md
--- frontmatter
name: type-design-analysis
description: 型設計の品質と不変性を4軸スコアで分析する。interface, type, class の追加・変更時に使用。

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. 貧血ドメインモデル - データのみで振る舞いがない型
  2. 変更可能な内部の公開 - 配列やオブジェクトを直接公開
  3. ドキュメント依存の不変性 - 型ではなくコメントで制約を表現
  4. 過度に広い責任 - 1つの型に多すぎる責任
  5. 構築境界での検証不足 - 無効な状態で構築可能

出力形式

markdown
# 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つの軸すべてでスコアを付与
  • 具体的な改善提案を含める