database-design
Database Design
DB の命名は、タスクに名前を付けることではない。永続化する概念を抽象化し、その概念に名前を付けることである。
DB スキーマは、現在の処理・画面・連携・入出力の都合ではなく、ドメイン上の事実、entity、属性、関係、状態を表す。名前が特定用途に結びつきすぎると、用途が増えた時点で名前が嘘になり、局所最適化されたテーブルやカラムが増える。
原則
1. 用途ではなく概念を名付ける
命名前に、現在の処理目的・画面名・連携元・入出力形式をいったん取り除く。残ったものが、DB に保存すべき概念である。
テーブル名・カラム名は「何のために使うか」ではなく、「何であるか」を表す。
2. 分離はモデル構造から判断する
正規化やテーブル分割は、用途があるからではなく、独立した entity、属性、関係、ライフサイクル、制約、cardinality を表す必要があるときに行う。
More from efoo-team/skills
langfuse
Query, debug, and analyze LLM observability data from Langfuse via REST API. Covers traces, observations, sessions, scores, prompts, and datasets. Use when investigating agent behavior, debugging LLM calls, analyzing costs/latency, reviewing prompt versions, or auditing Mastra agent runs.
22formation-designer
oh-my-opencode formation (agent-model configuration) design and creation guide. Use when creating new formations, modifying existing formations, adding new providers/models, or reviewing formation design decisions. Covers multi-axis model classification (Reasoning, Cost, Speed, Instruct, Style, Multimodal), agent-model matching principles, naming conventions, and cost optimization strategy.
22refactor-mindset
構造と意図の整合をとり、変更容易性を高める。局所最適化された設計を将来の変更を見据えた構造へ再構築する。Code Smellの仮説的扱い、AI向け大規模一貫変更を提供。ローカル開発完了後のリファクタリング時に使用。
21module-boundary-design
ソフトウェアの機能境界・責務分離・モジュール分割・抽象化の設計判断を行うためのスキル。設計相談を受けたときの内部思考プロセスとして使用する。「この機能をどう設計すべきか」「責務をどう分けるか」「リファクタリングしたい」「モジュール分割を考えたい」「抽象化が正しいか判断したい」「クラス設計を見直したい」「コードの見通しが悪い」「何をどこに置くべきか」といった設計構造に関する相談全般で必ずこのスキルを参照すること。設計レビュー、アーキテクチャ検討、コード構造の改善提案にも適用される。
21mastra-ai-architecture-rules
Mastra をランタイムとする AI サービスの設計・実装・リファクタリング時に使用する。agent / workflow / tool / workspace / memory / RequestContext / workflow state / 永続ストレージの責務分離を定義し、LLM に任せる範囲と決定的なコードに落とす範囲を判断する。single-agent first、workflow 最小化、state には参照・ID・要約のみを保持する原則、optional capability(workspace・memory・永続ストレージなど)は必要性が確認できた場合のみユーザー承認後に導入する原則を適用する。『Mastra で設計して』『workflow を作って』『agent と code の境界を決めて』『state に何を持つべきか整理して』『memory や workspace が必要か判断して』といった場面で使用する。
17github-pull-request
AIに実装させた変更を抽象度の階層構造で分析し、構造化されたGitHub PR本文として出力する。大規模変更(1万行超)でも、システム構成図→データ構造→API→処理フロー→実装詳細の順で抽象→具体へ整理する。画像エビデンスを含むPR本文の組み立て方も扱う。「PR本文を書いて」「この変更をPRにする」「実装した内容のPRを作りたい」といった場面で使用する。
13