Skip to content
Back to skills

Constitution Checker

ASecurity

プロジェクト憲法への準拠を検証します。実装完了時やPR作成時に全Articleをチェックし、違反がないことを確認します。

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
documentationpythongobashdocumentation

Works with

  • mcp

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill constitution-checker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Constitution Checker?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Constitution Checker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-constitution-checker/badge)](https://www.skillsdirectory.com/skills/majiayu000-constitution-checker)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: constitution-checker
description: プロジェクト憲法への準拠を検証します。実装完了時やPR作成時に全Articleをチェックし、違反がないことを確認します。
allowed-tools: Read Glob Grep Bash
---

# Constitution Checker スキル

このスキルは、`.specify/memory/constitution.md` で定義されたプロジェクト憲法への準拠を検証します。

## 起動条件

以下の状況で起動します:

1. **実装完了時**: 機能実装が完了し、コミット前にチェックが必要な場合
2. **PR作成前**: プルリクエストを作成する前の最終チェック
3. **コードレビュー時**: 他者のコードをレビューする際
4. **明示的な依頼**: ユーザーが憲法準拠チェックを依頼した場合

## チェック項目

### 非交渉的原則(例外なし)

#### Article 1: Test-First Imperative

- [ ] テストファイルが実装ファイルより先に作成されているか
- [ ] テストファイルと実装ファイルが1:1で対応しているか
- [ ] テストが失敗状態(Red)から開始されているか

```bash
# テストファイルの存在確認
uv run pytest --collect-only
```

#### Article 5: Code Quality Standards

- [ ] ruff check がエラーなしで通過するか
- [ ] ruff format で差分が発生しないか
- [ ] mypy がエラーなしで通過するか

```bash
# 品質チェックの実行
uv run ruff check .
uv run ruff format --check .
uv run mypy .
```

#### Article 6: Data Accuracy Mandate

- [ ] マジックナンバーが直接埋め込まれていないか
- [ ] ハードコードされた文字列がないか
- [ ] 暗黙的なフォールバック(`= "default"` 等)がないか

```bash
# ハードコード検出(ヒューリスティック)
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` 型の使用が最小限か

```bash
# 型アノテーションなし関数の検出
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. 自動チェック実行

```bash
# 全品質チェック
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
```

## 違反検出時の対応

1. **作業を停止**: 違反が解消されるまで次工程に進まない
2. **違反内容を報告**: 具体的な違反箇所と修正方法を提示
3. **修正を支援**: 必要に応じて修正コードを提案
4. **再チェック**: 修正後に再度チェックを実行

## 注意事項

- 非交渉的原則(Article 1, 5, 6, 7, 9, 11)は例外なく遵守が必要
- 時間制約、緊急性を理由とした例外は認められない
- すべてのチェック項目がPASSするまでコミット・PRは行わない

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.