ソース情報
- リポジトリ
- leroyguillaume/claude
- ソースの最終更新活動
- 2026年8月18日 12:50
- 検出された SKILL.md の言語
- 英語
- スター
- 4
- フォーク
- 2
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/leroyguillaume/claude --skill pre-commit-conventionsコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
| name | pre-commit-conventions |
| description | pre-commit conventions — never use Docker-backed hooks, always run |
No hook may use language: docker or language: docker_image. Docker
hooks pull an image, need a running daemon, break on machines/CI runners
without Docker, are slow on macOS, and mangle file paths through bind mounts.
Always run the tool directly. In order of preference:
python, golang, rust,
node, system, …). Many repos publish both variants under different ids —
pick the non-Docker one.repo: local hook with language: system, calling the binary from
PATH.| Tool | ❌ Docker id | ✅ Use instead |
|---|---|---|
hadolint (hadolint/hadolint) | hadolint-docker | hadolint (language: system) |
shellcheck (koalaman/shellcheck-precommit) | shellcheck — Docker only, whole repo unusable | local system hook, or shellcheck-py/shellcheck-py |
koalaman/shellcheck-precommit exposes only a docker_image hook, so drop
the repo entirely and declare a local one:
- repo: local
hooks:
- id: shellcheck
name: shellcheck
entry: shellcheck
language: system
types:
- shell
shellcheck then comes from the system package manager (brew install shellcheck, pacman -S shellcheck, apt install shellcheck). Document that
prerequisite in the repo README.md and install it in CI before running
pre-commit.
If a runner genuinely cannot have the binary preinstalled, use
shellcheck-py/shellcheck-py (pinned, e.g. rev: v0.11.0.1) — it is a pip
wheel bundling the binary, still no Docker.
Every repo containing YAML gets a yamllint hook, alongside a
.yamllint.yaml at the root. check-yaml only proves a file parses; it says
nothing about how it is written, which leaves yaml-conventions resting on
whoever happens to be reviewing.
- repo: https://github.com/adrienverge/yamllint
rev: v1.38.0
hooks:
- id: yamllint
# Warning-level rules (document-start among them) are printed and then
# ignored without this — the hook passes anyway.
args:
- --strict
# A Helm template is Go templating, not YAML, until it is rendered.
exclude: ^charts/[^/]+/templates/
The hook is language: python upstream, so no Docker and nothing to
preinstall. Start from extends: default and state only the deviations — most
repos already satisfy the default ruleset, and dropping it to enable two rules
throws away indentation, key-duplicates and document-start for nothing:
extends: default
rules:
# yaml-conventions: no `---` opening a file. Add a per-rule `ignore:` for any
# genuinely multi-document file — the separators between documents are
# required syntax and the rule cannot tell them from a stylistic opener.
document-start:
present: false
# yaml-conventions: block style only. `non-empty` still allows `{}` / `[]`.
braces:
forbid: non-empty
brackets:
forbid: non-empty
# Disable rather than tune: a digest-pinned image reference alone is ~150
# characters, and a helm-docs annotation is one line per key by construction.
line-length: disable
Two traps worth knowing:
--strict, yamllint exits 0 on warnings. document-start is a
warning by default, so the finding is printed and the hook goes green.document-start
on a multi-document manifest) needs a per-rule ignore:, not a global one —
a top-level ignore: drops the file from every rule.No hook runs a test suite. Not cargo test, not pytest, not vitest,
not go test, not npm test — whatever the language, whatever the id it is
given. pre-commit is a lint gate: fast, deterministic, file-scoped checks
that a developer can afford on every single commit.
A test suite is none of those things:
--no-verify — and a gate that gets
bypassed protects nothing, including the linters that were fine.pass_filenames: false,
so a one-word README fix pays for the whole suite.So: the test suite belongs in CI, in the quality workflow next to
pre-commit run --all-files (see github-actions-conventions), as its own
job. Not in .pre-commit-config.yaml.
If a repo already has a test hook, remove it and add the CI job in the same change — dropping the hook without wiring the suite into CI is how a suite stops being run at all. Leave a comment in the config saying where the tests went, so the next person does not "helpfully" add the hook back.
Type checking is not a test: tsc --noEmit, mypy and clippy are static
analysis, they stay in pre-commit.
rev to a tag; never master/main.language: system plus either types:/files:
or pass_filenames: false — an unfiltered local hook runs on every file in
the repo..pre-commit-config.yaml: write types: /
args: as a list of - items, never [shell] / [--fix]. See
yaml-conventions.repo: local hooks under a single - repo: local entry.