constitution について
constitutionは、プロジェクト共通のアーキテクチャ文書とドメイン用語集を管理するスキルです。文書の作成、更新、表示、チェックを通じて、仕様や実装を記録済みのルールに照らして確認できます。
主な機能
- 01architecture.mdとontology.mdの管理
- 02共通プロジェクト文書の作成と更新
- 03アーキテクチャと用語集に照らしたチェック
- 04両文書の表示と確認
- 05書き込みや上書き前の確認
活用シーン
- 01技術スタックとセキュリティ制約の記録
- 02共通ドメイン用語の管理
- 03プロジェクトルールに沿った仕様の検証
- 04現在のアーキテクチャと用語集の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ giuseppe-trisciuoglio/ developer-kit --skill constitutionインストール後、Claude Code で/constitutionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/architecture.mdconstitution-check-report.mdcontext-rot-prevention.mdontology.mdREADME.md詳細
概要
Constitution スキルは、次の 2 つの共有ドキュメントを通じて、プロジェクトのアーキテクチャ上の DNA を管理します。
| ファイル | 目的 |
|---|---|
docs/specs/architecture.md | 技術スタック、インフラストラクチャ、アーキテクチャのルール、セキュリティ制約、AI ガードレール |
docs/specs/ontology.md | ドメイン用語集(ユビキタス言語)— 用語、定義、境界づけられたコンテキスト |
これらのファイルは docs/specs/ に置かれ、すべての仕様で共有されます。モノリシックな constitution.md とは異なり、これらのファイルは brainstorm(フェーズ 6.8.6)と spec-to-tasks(フェーズ 1.5)によって作成・拡充されます。
手順
$ARGUMENTSまたはユーザーの意図から操作を特定します:create、update、check、show。- create の場合:作成するファイル(architecture.md、ontology.md、または両方)を尋ね、
AskUserQuestionを使って必要な情報を収集し、以下のテンプレートを使ってファイルを作成します。 - update の場合:対象ファイルとセクションを特定し、変更を必要な箇所に限定して適用し、
Last Updatedの日付を更新します。 - check の場合:両方の constitution ファイルと対象ファイルを読み込み、アーキテクチャのルールおよびオントロジー用語に照らして検証し、Constitution チェックレポートを出力します。
- show の場合:両方のファイルを読み込み、読みやすく整形して表示します。
- ファイルを書き込む、または上書きする前に、必ずユーザーに確認します。
例
# Create constitution before first brainstorm
/developer-kit-specs:constitution create
# Validate a spec against architecture and ontology
/developer-kit-specs:constitution check --target=docs/specs/001/2024-01-15--user-auth.md
# Update the security constraints section
/developer-kit-specs:constitution update --file=architecture --section=security
# Show current constitution
/developer-kit-specs:constitution show
使用するタイミング
| シナリオ | 操作 |
|---|---|
| 新規プロジェクト — 最初のブレインストーミングの前にスタックとドメイン言語を定義する | create |
| スタックまたはセキュリティルールが変更された | update |
| 仕様、タスク、またはファイルをアーキテクチャとオントロジーに照らして検証する | check |
| 現在のアーキテクチャとオントロジーを確認する | show |
トリガーフレーズ:
- "Constitution を作成", "プロジェクトアーキテクチャを設定", "オントロジーを定義"
- "Constitution を更新", "アーキテクチャを更新", "オントロジーを更新"
- "Constitution チェック", "Constitution に照らして検証"
- "Constitution を表示", "プロジェクトの原則", "アーキテクチャのガードレール"
操作
create
- 作成するファイルを尋ねます:"Both"(推奨)、"architecture.md only"、"ontology.md only"
- ファイルが存在するか確認し、上書きするかスキップするかを尋ねます
- architecture.md の場合:
AskUserQuestionを使って、ドメイン、インフラストラクチャ、スタック、データ、スタイル、ルールについて情報を収集します - ontology.md の場合:用語を尋ねるか、空のひな形を作成します
- 各ファイルを書き込む前に確認します
テンプレートの検索順:
- 優先:
${CLAUDE_PLUGIN_ROOT}/templates/architecture.md - フォールバック:
skills/constitution/references/architecture.md
update
--file=architecture|ontologyと--section=<name>を解析します- 対象ファイルを読み込み、変更を必要な箇所に限定して適用します
Last Updatedの日付を更新します- ファイルを書き込みます
check
- 両方の constitution ファイルを読み込みます
- 対象ファイルを読み込みます(
--target=<path>) - アーキテクチャのルール、セキュリティ制約、オントロジーに照らして検証します
- Constitution チェックレポートを出力します
show
docs/specs/architecture.mdとdocs/specs/ontology.mdの両方を読み込みます- 読みやすく整形して表示します
コンテキスト劣化の防止
Constitution はファイルベースの保存によって、コンテキスト劣化に対処します。
- セッション開始時に読み込む:
docs/specs/architecture.mdとdocs/specs/ontology.mdの両方 - コンテキスト内にあると決めつけない:実装の前に、必ずファイルから読み込む必要があります
- 作業を検証する:記憶ではなく、constitution と照らし合わせます
詳細なシナリオと復旧手順については、references/context-rot-prevention.md を参照してください。
制約と警告
- ソースコードは変更しません — constitution ファイルの作成・更新のみを行います
- 重大な違反は必ず解決する必要があります — WARNING は参考情報です
- プロジェクトごとに architecture.md と ontology.md を 1 つずつ用意します — すべての仕様で共有します
- 変更のたびに
Last Updatedの日付を更新します - 重要なアーキテクチャ上の決定には ADR を使用します
- コンテキスト劣化のリスク:30 日以上更新されていないファイルは、実態と乖離している可能性があります
ベストプラクティス
- ブレインストーミングの前に作成する:憲章を早期に策定することで、一貫性を保てます。
- ライブラリの検証:外部ライブラリを使用する前に、必ずアーキテクチャの「ライブラリの検証」セクションに記載されていることを確認してください。
- 仕様の失効原則:完了した仕様は
archived/にアーカイブしてください。仕様を古いまま放置しないでください。 - オントロジーの拡充:
brainstorm(フェーズ 6.8.6)とspec-to-tasks(フェーズ 1.5)によって更新されます。 - レポート形式:セキュリティセクション、CWE 準拠状況、アーキテクチャ、ライブラリの検証、オントロジーの順に記載します。
憲章チェックレポートの形式
## Constitution Check Report
Target: <file path>
Date: YYYY-MM-DD
### Security Check (CWE/OWASP Compliance)
| Rule | Level | Status | Location | CWE/OWASP |
|------|-------|--------|----------|-----------|
| No SQL injection | CRITICAL | ✅ OK | - | CWE-89 |
### CWE Compliance Report
| CWE | OWASP | Status | Location |
|-----|-------|--------|----------|
| CWE-89 | A03 | ✅ OK | - |
### Architecture Check
| Rule | Status | Detail |
|------|--------|--------|
| Constructor injection | ✅ OK | - |
### Library Verification Check
| Library | Status | Detail |
|---------|--------|--------|
| bcrypt | ✅ OK | Using hash(password, 12) |
### Ontology Check
| Term | Status | Detail |
|------|--------|--------|
| "User" used consistently | ✅ OK | - |
### Summary
- CRITICAL violations: 0
- WARNING violations: 0
- Compliant rules: N
詳細なセキュリティパターン(CWE/OWASP の対応関係)については、references/security-patterns.md を参照してください。
SDD ワークフローとの統合
[Session Start] → Read Constitution files
↓
[Optional] constitution create ← this skill (pre-brainstorm setup)
↓
brainstorm ← Constitution loaded before brainstorming
↓
spec-to-tasks ← Constitution validates spec
↓
task-implementation ← Constitution guardrails active
↓
task-review ← Constitution check validates
↓
[Session End] → Constitution files updated if needed
次の処理の前に読み込む必要があります:
specs.brainstorm— 要件がアーキテクチャと整合していることを検証しますspecs.spec-to-tasks— 技術スタックとの互換性を確認しますspecs.task-implementation— AI ガードレールを適用しますspecs.task-review— 憲章を確認します
参照ファイル
| ファイル | 目的 |
|---|---|
references/architecture.md | アーキテクチャテンプレート全体 |
references/ontology.md | オントロジーテンプレート全体 |
references/security-patterns.md | CWE/OWASP パターン、検証形式 |
references/context-rot-prevention.md | 詳細なシナリオと復旧プロトコル |
references/constitution-check-report.md | レポートの完全な例 |
テンプレート全体と詳しい参考資料については、references/ ディレクトリを参照してください。
コメント
Markdown 対応