Claude-skill-registry constitution-checker
プロジェクト憲法への準拠を検証します。実装完了時やPR作成時に全Articleをチェックし、違反がないことを確認します。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/constitution-checker" ~/.claude/skills/majiayu000-claude-skill-registry-constitution-checker && rm -rf "$T"
manifest:
skills/data/constitution-checker/SKILL.mdsource content
Constitution Checker スキル
このスキルは、
.specify/memory/constitution.md で定義されたプロジェクト憲法への準拠を検証します。
起動条件
以下の状況で起動します:
- 実装完了時: 機能実装が完了し、コミット前にチェックが必要な場合
- PR作成前: プルリクエストを作成する前の最終チェック
- コードレビュー時: 他者のコードをレビューする際
- 明示的な依頼: ユーザーが憲法準拠チェックを依頼した場合
チェック項目
非交渉的原則(例外なし)
Article 1: Test-First Imperative
- テストファイルが実装ファイルより先に作成されているか
- テストファイルと実装ファイルが1:1で対応しているか
- テストが失敗状態(Red)から開始されているか
# テストファイルの存在確認 uv run pytest --collect-only
Article 5: Code Quality Standards
- ruff check がエラーなしで通過するか
- ruff format で差分が発生しないか
- mypy がエラーなしで通過するか
# 品質チェックの実行 uv run ruff check . uv run ruff format --check . uv run mypy .
Article 6: Data Accuracy Mandate
- マジックナンバーが直接埋め込まれていないか
- ハードコードされた文字列がないか
- 暗黙的なフォールバック(
等)がないか= "default"
# ハードコード検出(ヒューリスティック) grep -rn "= 30\|= 60\|= 100" --include="*.py" src/ grep -rn '= "default"\|= "none"' --include="*.py" src/
Article 7: DRY Principle
- 同一ロジックが複数箇所に存在しないか
- 類似コードが3回以上繰り返されていないか
Article 9: Python Type Safety Mandate
- すべての関数に型アノテーションがあるか
- 戻り値に型アノテーションがあるか
-
型の使用が最小限かAny
# 型アノテーションなし関数の検出 grep -rn "def .*(" --include="*.py" src/ | grep -v ":"
Article 11: SpecKit Naming Convention
- ディレクトリ名が
形式か<3桁番号>-<name> - ブランチ名が同一の命名規則に従っているか
推奨チェック項目
Article 2: Documentation Integrity
- 実装が仕様と一致しているか
- ドキュメントが最新の状態か
Article 3: MCP Protocol Compliance
- MCPツールにスキーマ定義があるか
- 入力がPydanticモデルで検証されているか
- エラーレスポンスが適切な形式か
Article 10: Python Docstring Standards
- 公開関数にdocstringがあるか
- Google-style形式を使用しているか
実行プロセス
1. 自動チェック実行
# 全品質チェック uv run ruff check --fix . && uv run ruff format . && uv run mypy . # テスト実行 uv run pytest
2. 手動チェック項目の確認
自動化できない項目を目視確認:
- コードの重複
- 仕様との整合性
- 適切な抽象化
3. レポート生成
チェック結果を以下の形式で報告:
## Constitution Compliance Report ### 非交渉的原則 - [✓] Article 1: Test-First Imperative - [✓] Article 5: Code Quality Standards - [✓] Article 6: Data Accuracy Mandate - [✓] Article 7: DRY Principle - [✓] Article 9: Python Type Safety Mandate - [✓] Article 11: SpecKit Naming Convention ### 推奨項目 - [✓] Article 2: Documentation Integrity - [✓] Article 3: MCP Protocol Compliance - [✓] Article 10: Python Docstring Standards ### 総合判定: PASS / FAIL
違反検出時の対応
- 作業を停止: 違反が解消されるまで次工程に進まない
- 違反内容を報告: 具体的な違反箇所と修正方法を提示
- 修正を支援: 必要に応じて修正コードを提案
- 再チェック: 修正後に再度チェックを実行
注意事項
- 非交渉的原則(Article 1, 5, 6, 7, 9, 11)は例外なく遵守が必要
- 時間制約、緊急性を理由とした例外は認められない
- すべてのチェック項目がPASSするまでコミット・PRは行わない