M

setup-pre-commit

作成者 mattpocock

setup-pre-commit は、lint-staged、Prettier、必要に応じた typecheck/test 実行を組み合わせて、Husky の pre-commit フックを追加するのに役立ちます。既存の設定をできるだけ保ったまま、現在のパッケージマネージャーに合ったスクリプトを整えつつ、素早く再現性のある pre-commit の安全網を作りたいときに使うガイドです。

スター66k
お気に入り0
コメント0
追加日2026年5月8日
カテゴリーCI Troubleshooting
インストールコマンド
npx skills add mattpocock/skills --skill setup-pre-commit
編集スコア

このスキルは 78/100 で、ディレクトリ利用者向けの掲載候補として十分有力です。Husky の pre-commit フック、lint-staged、Prettier、型チェック、テストまで含む実用的で実行可能なワークフローを備えています。一方で、検証方法や境界ケースの扱いにはまだ導入上の注意点があります。

78/100
強み
  • トリガーが明確で実用的です。Husky の pre-commit フック追加、lint-staged の設定、コミット時の整形・型チェック・テスト実行を対象にしています。
  • 運用手順が具体的で順序立てられています。パッケージマネージャーの判定、依存関係のインストール、Husky の初期化、フックファイル作成、Prettier の設定まで含まれています。
  • 説明文と本文に、エージェントが迷いにくいだけのワークフロー詳細があります。正確なコマンドやファイル内容が示されており、一般的なプロンプトより実行しやすい構成です。
注意点
  • インストールコマンドや補助スクリプト/リソースは含まれていないため、ユーザーは SKILL.md の手順だけに頼る必要があります。
  • リポジトリには test シグナルが付き、スクリプトが存在しない場合は typecheck/test の行を省略するよう案内されているため、ワークフローは完全なワンストップというより条件付きです。
概要

setup-pre-commit skill の概要

setup-pre-commit skill は、実用的な Git hook ワークフローを追加するための skill です。Husky による pre-commit チェック、Prettier を使った lint-staged の整形、そして必要に応じた typecheck/test の実行を、コミット前にまとめて入れられます。すでに Node ベースのツールチェーンがある repo に、手作業で hook を組む代わりの、素早く再現性の高い設定を入れたい場合に向いています。

setup-pre-commit skill の用途

setup-pre-commit skill は、コミット時の安全網を作り、整形ルールを統一し、目立つ壊れを早い段階で見つけたいときに使います。実際の役割は「Husky を単独でインストールすること」ではなく、repo を作り直さずにローカルコミットを安全にすることです。

強く向いているケース

この skill は、repo ですでに Prettier、typechecktest スクリプトを使っている、または使える状態で、npm、pnpm、Yarn、Bun のどれでも通る素直な運用ルールが欲しい場合に適しています。既存プロジェクトに、方針の議論をあまり増やさず素早く適用したいときにも有用です。

制約があるケース

この skill は、プロジェクトが Node ベースではない場合、pre-commit ではなく commit-msg や pre-push のロジックが欲しい場合、あるいは単純な hook 以上に複雑なオーケストレーションが必要な場合には、あまり向いていません。また、hook に追加する前にどのスクリプトが実在するかを確認する前提で使う必要があります。

setup-pre-commit skill の使い方

インストールして、適切なファイルを開く

npx skills add mattpocock/skills --skill setup-pre-commit でインストールします。次に SKILL.md を最初に読みます。ここに実際のワークフローと判断ポイントが書かれているからです。ディレクトリ表示で 1 ファイルしか見えなくてもセットアップ自体は進められますが、それでも package manager と script の手がかりを探すために repository tree は確認しておくべきです。

repo コンテキストを正しく渡す

より良い結果にするには、どの lockfile があるか、package.json にすでに typechecktest があるか、Prettier が既に設定済みかを skill に伝えます。たとえば、"Set up setup-pre-commit in this repo using pnpm; keep existing Prettier config; add only the scripts that already exist." のような依頼は有効です。これは、package manager と hook の中身について推測させないぶん、「pre-commit hooks を追加して」という曖昧な依頼よりずっと良い指示になります。

正しい順序でワークフローに従う

この skill は、package manager の検出、dev dependencies のインストール、Husky の初期化、.husky/pre-commit の作成、lint-staged の追加、そして Prettier config の新規作成または再利用、というシンプルな流れで設計されています。実務上の重要な判断は、npm run typechecknpm run test を含めるか、それらのスクリプトが無いなら外すかです。その選択によって、hook が壊れやすいものではなく、使い続けられるものになります。

実用的なプロンプトの型

repo の状態と望む運用方針を、はっきり名前付きで伝えます。たとえば、"Use setup-pre-committo add Husky,lint-staged, and Prettier to this monorepo. The lockfile is pnpm-lock.yaml, typecheckexists,testdoes not, and there is already a.prettierrc." のように書くと、skill はスクリプトを勝手に作ったり config を上書きしたりせず、正しいセットアップを出しやすくなります。

setup-pre-commit skill FAQ

setup-pre-commit skill は新しい repository 専用ですか?

いいえ。むしろ setup-pre-commit skill は、既存 repo に一貫した hook ポリシーを足したいときに価値が出やすいです。手作業でファイルを組み直さずに済むからです。どのスクリプトと config があるかをすでに把握している場合に、特にうまく機能します。

Husky と lint-staged は両方必要ですか?

このワークフローでは、はい、それが前提です。Husky が hook を起動し、lint-staged が整形対象を staged files に絞ることで、コミットを速く保てます。どちらか一方だけが欲しいなら、setup-pre-commit skill よりも汎用的なプロンプトのほうがシンプルな場合があります。

Prettier の設定は上書きされますか?

注意して使えば、上書きされるべきではありません。skill は .prettierrc が存在しない場合のみ作成し、主な判断点は、repo に既存の formatter config があってそれを保持すべきかどうかです。すでにスタイル方針があるなら、それを明示してください。

CI 向けですか、それともローカルコミット専用ですか?

主な価値はローカルの pre-commit enforcement にありますが、同じチェックは CI の期待値と揃うことが多いです。CI が別のコマンドを使っているなら、hook をそのまま無条件でコピーしないでください。実際の pipeline が走らせる script に hook を合わせる必要があります。これが setup-pre-commit for CI Troubleshooting の主な論点です。

setup-pre-commit skill を改善するには

repo の実際の制約を最初に渡す

品質が大きく上がるのは、setup-pre-commit に package manager、スクリプト、既存 config files を具体的に伝えたときです。この文脈が抜けると、コマンド接頭辞がずれたり、不要なスクリプトを作ったり、最初の commit で hook が失敗したりします。

よくある hook 失敗を避ける

最もよくある失敗は、.husky/pre-committypechecktest を追加したのに、そのスクリプトが存在しないケースです。もう一つ頻出なのは、staged files だけでなく全ファイルを毎回整形してしまい、コミットが必要以上に遅くなることです。hook を信頼できるものにしたいなら、スクリプトが無い場合に何をするかまで指定してください。

最初の出力は、対象を明確にして良くする

インストールだけでなく、具体的な成果物を求めます。たとえば、"Add Husky pre-commit hooks that run lint-stagedon staged files, preserve the existing Prettier config, and includetypecheckonly ifpackage.json already defines it." のように指示すると、曖昧な依頼よりも、使いやすい setup-pre-commit guide の結果になりやすいです。

最初の導入後に調整する

初回セットアップのあと、hook がチームの速度感と厳しさに合っているか確認します。重すぎるなら、pre-commit からコストの高いチェックを外して CI に移します。緩すぎるなら、足りない script を追加するか、lint-staged の対象範囲を絞ります。最良の setup-pre-commit install の結果は、チームが実際に使い続けるものです。

評価とレビュー

まだ評価がありません
レビューを投稿
このスキルの評価やコメントを投稿するにはサインインしてください。
G
0/10000
新着レビュー
保存中...