Skills · Claude Code · Agent Skills

イメージは本番へ行く:最小、非 root、署名付き — 交渉の余地なし。

digest 固定のマルチステージ Dockerfile、非 root、レイヤーにシークレットなし、SBOM、ブロックするスキャン、cosign 署名。コンテナは一切の特権なしで起動する。

v0.2.0Disciplina · Containers/OCIgithub.com/schematizeme/skill-docker

メンテナー Lucas Andrade

schematize-docker · v0.2.0bash
$ schematize install docker
GitHub →スキル (.zip) をダウンロード/docker-help · github.com/schematizeme/schematize-cli

譲れない基準

「速くするため」に無効化しない。完全な一覧はスキルに。

digest で固定したベース

FROM image:tag@sha256 とし、可変タグや latest は使わない。digest の更新は Renovate か Dependabot が、スキャン付きの PR で行う。

数値 UID の非 root

最終ステージで USER 10001:10001 を指定する。USER がなければコンテナは root で動く。

シークレットは ARG・ENV・レイヤーに入れない

ビルド用シークレットは RUN --mount=type=secret のみ、実行時は起動時に渡す。COPY .env と秘密鍵は禁止。

最小のマルチステージイメージ

ツールチェーンはビルドステージに留め、最終イメージにはバイナリかランタイムだけを入れる。.dockerignore で .env と .git を除外する。

出荷時の来歴

push 時に SBOM と provenance を付け、HIGH/CRITICAL でスキャンを失敗させ、digest に対する cosign 署名を admission で検証する。

不変タグと digest によるデプロイ

タグは git の sha、デプロイは digest を参照、デプロイ用レジストリに latest は置かず、ロールバックは前の digest の再デプロイ。

特権のないコンテナ

read_only、cap_drop ALL、no-new-privileges、リソース上限。--privileged、docker.sock のマウント、net=host は使わない。

コマンド

.claude/commands/ にインストール。いつでも /docker-help を実行。

/docker-build例をもとにスタック用の Dockerfile を生成・調整し、ゲートを通ることを示す。
/docker-ccContext compact:コンテキストとチェックリストをアーカイブに書き出し、/compact を実行。
/docker-claude常時オンの Docker 用 CLAUDE.md をルートに作成またはマージ(他スキルのブロックは上書きしない)。
/docker-composedev/hml 用 compose を監査または生成:profiles、healthcheck、閉じたデータベース、.env を git の外へ。
/docker-handoffコンパクトせずにコンテキストの handoff を作成 — セッション終了やタスク切り替え。
/docker-hardenイメージとランタイムを堅牢化:最小ベース、非 root、read-only、cap_drop、上限設定。
/docker-helpすべてのコマンドを一覧表示。
/docker-load規範の全文を強制ロード:Dockerfile、サプライチェーン、ランタイム、compose、言語別。
/docker-reviewDockerfile と compose を基準に照らしてレビュー:2 つのゲート(あれば hadolint も)を実行し、機械が読めない部分を読む。
/docker-scanブロックするスキャン、SBOM、provenance、署名と検証(trivy、grype または scout、cosign)。

AI エージェント向け

人手を介さずにインストール。メタデータは llms.txt。

  • 実行: git clone https://github.com/schematizeme/skill-docker.git && ./skill-docker/install.sh
  • またはダウンロード: https://github.com/schematizeme/skill-docker/releases/latest/download/skill-docker.zip を .claude/skills/ に展開
  • assets/CLAUDE.md をリポジトリのルートにコピー(常時オンのルール)。
  • /docker-help で確認。

インストールしたくない?

完全な規約を読み、そのままプロジェクトにコピーできます。あるいはスキルをインストールすれば、エージェントが自動で適用します。