← ClaudeAtlas

verify-bootstraplisted

repo に機械ゲート(format / lint / type check / security / dependency audit / test)を立てる、または既存のゲートが古びていないか棚卸しする。Use when starting a new project, when a repo has no automated quality gate, when the user says 「lint を入れて」「この repo にゲートを立てて」「型チェックを入れたい」「静的解析を整備して」「ツールが古い」「verify を棚卸しして」, "set up linting", "add a quality gate", "bootstrap the toolchain", or invokes /verify-bootstrap. ツール表を持たない設計なので、未知のスタックでも同じ手順で使える。NOT for — 既に立っているゲートを 1 回実行するだけ(それは repo の verify entrypoint を直接実行)、ハーネス自身の設定監査(→ config-gc)、コードの意味的レビュー(→ implementation-chain の Review 群)。
shimo4228/claude-harness · ★ 3 · AI & Automation · score 82
Install: claude install-skill shimo4228/claude-harness
# verify-bootstrap — repo に機械ゲートを立てる 人間がコードを読む速度は、AI が書く速度に追いつかない。だから構造的な正しさの判定は **機械に移す**。この skill は repo ごとに、 その時点で最良の検査ツールを立てる。 ## この skill が持たないもの(設計上の中核) **ツール名の一覧を持たない。言語の検出テーブルも持たない。** ツールは陳腐化する (flake8 + black + isort → ruff は 2 年で起きた)。固定表を持てば表が腐り、 腐った表が repo に配られる。 持つのは **調べ方と契約**だけ: - repo の実態を列挙する手順(静的な言語リストを参照しない) - category ごとに何を search-first に問うか - 生成物 `.claude/verify.sh` の契約(global hook がこれだけを知る) - strictness と陳腐化検知の規律 結果として、この skill が書かれた時点で存在しなかった言語・ツールでも同じ手順で回る。 ## モード | モード | 起動条件 | やること | |---|---|---| | **bootstrap** | `.claude/verify.sh` が無い | Step 1–6 を通す | | **audit** | 既にある(`--audit` / 「棚卸し」) | Step 1 を再実行し、`.claude/verify.md` の選定を search-first で引き直して差分を提案 | ## Step 1 — repo の実態を列挙する(検出、静的表なし) 推測しない。**実測する**。 ```bash # 追跡ファイルの拡張子分布(上位)— 生成物・依存ディレクトリは除く git ls-files | sed -n 's/.*\.\([A-Za-z0-9_]*\)$/\1/p' | sort | uniq -c | sort -rn | head -20 # ビルド/依存マニフェストの実在 git ls-files | grep -iE '(^|/)(pyproject\.toml|package\.json|Cargo\.toml|go\.mod|Gemfile|pom\.xml|build\.gradle.*|[^/]*\.xcodeproj/.*|Package\.swift|mix\.exs|composer\.json|Makefile|justfile)$' # 既存のゲート痕跡(重複導入の防止) git ls-files | grep -iE '(pre-commit-config|lefthook|\.github/workflows/|trunk\.yaml|\.golangci|\.eslintrc|ruff\.toml)' ``` 上のマニフェスト grep は**発見の補助であって権威ではない**。1 本目の拡張子分布が正本で、 grep に載っていない生態系が出てきたらそれを Step 2 にそのまま渡す(表を編集して この skill に足さない — 表を持たないことがこの skill の設計)。 散文・設定・スキーマも対象に含める。コードだけがゲートの対象ではない (Markdown の日本語 prose、YAML、CI 定義、シェルスクリプトはいずれも機械検査できる)。 ## Step 2 — category