modules について
既存の Terraform テンプレートに Coder モジュールを追加・更新するスキルです。レジストリの情報を基準に、モジュールの検索からコードの統合、検証、デプロイまで案内します。
主な機能
- 01レジストリでモジュールを検索
- 02テンプレートの前提条件を確認
- 03バージョン固定の Terraform コードを挿入
- 04Terraform の変更を検証
- 05テンプレートのバージョンをプッシュ
活用シーン
- 01Coder ワークスペースに IDE を追加
- 02AI エージェントモジュールを統合
- 03テンプレートにシークレットやクラウドリージョンのモジュールを追加
MCP 対応
`https://registry.coder.com/mcp` のレジストリ MCP サーバーと `search_modules` ツールを使ってモジュールを検索できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ coder/ skills --skill modulesインストール後、Claude Code で/modulesを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
モジュール
既存の Coder テンプレート内で、Coder モジュールを追加または更新します。
モジュールは registry.coder.com で公開されている Terraform のスニペットで、IDE、AI エージェント、シークレット、ログインフロー、クラウドリージョンなどのツールでワークスペースを拡張します。
信頼できる情報源
トピック固有の作業を行う前に、最新の公式ドキュメントを確認してください。
- ドキュメントのインデックスは https://coder.com/docs/llms.txt を参照してください。
- インデックスだけでは不十分な場合に限り、https://coder.com/docs/llms-full.txt を参照してください。
- 各モジュールの正規の Terraform スニペットとバージョンは、
registry.coder.comのページで確認できます。記憶しているバージョンより、ページに記載された情報を優先してください。
このスキルには、統合のワークフロー、ユーザーとのやり取りに関するルール、およびモジュール固有の注意点がいくつか含まれています。
ユーザーとのやり取り
ユーザーが求めているのは、Terraform の解説ではなく、動作するモジュールの統合です。
- ユーザーが複数のテンプレートを持っている場合は、どのテンプレートを編集するか確認してください。
- 書き込みを行う前に、提案するスニペットを示してください。はい/いいえで答えられる質問を一つだけしてください。
- モジュールのバージョンを黙って上げないでください。バージョンを変更する場合は、その旨を伝えてください。
- ユーザーから求められない限り、Coder の概念について説明しないでください。
ワークフロー
1. モジュールを特定する
ユーザーの説明に合うものを検索してください。次の順序で試し、最初に見つかった時点で終了してください。
https://registry.coder.com/mcpのレジストリ MCP サーバーで、search_modulesツールを使います。- https://registry.coder.com/modules のウェブサイトを使います。
coder/registryのローカルクローンに対してfind registry/coder/modules -maxdepth 1 -type dを実行します。
依頼が曖昧な場合は、該当する候補を2つか3つ、各1行の説明とともに挙げ、ユーザーに選んでもらってください。
2. 対象のテンプレートを特定する
Coder モジュールは、ディスク上に Terraform コードとして存在する Coder テンプレート内に配置します。次の項目を確認してください。
main.tfがあるディレクトリ。coder_agentリソース。ほとんどのモジュールにはagent_idが必要です。data "coder_workspace" "me"データソース。ほとんどのモジュールはdata.coder_workspace.me.start_countを条件として使います。
テンプレートのディレクトリが見つからない場合は、作業を中止し、templates スキルの利用を提案してください。
3. モジュールのページを読む
正規のスニペットを取得してください。
registry.coder.comにあるモジュールの README から取得します。- または、
coder/registryのローカルクローンにあるregistry/coder/modules/<name>/README.mdから取得します。
ページに記載されたバージョンを必ず固定してください。latest は使わないでください。記載されていないバージョンを作り出さないでください。
4. モジュールを挿入する
スニペットを main.tf に追加してください。一般的なルールは次のとおりです。
agent_idには、既存のcoder_agentリソースを指定します。テンプレートにあるリソースは通常1つだけです。- ワークスペースの起動中のみ実行するモジュールでは、
count = data.coder_workspace.me.start_countを維持します。 - 周囲のインデントと引用符のスタイルに合わせます。
- 追加の入力値が必要なモジュール(JetBrains IDE の選択、Vault の認証、JFrog インスタンスの URL、MCP の設定など)には、追加の引数が必要です。推測する前に、モジュール README の Examples セクションを読んでください。
5. 検証する
テンプレートのディレクトリ内で、次を実行してください。
terraform init
terraform fmt
terraform validate
terraform fmt によって、ユーザーが変更していないファイルの他の部分まで再フォーマットされることがあります。その場合は、コミットする前にユーザーに確認してください。
6. プッシュする
ユーザーが変更を Coder デプロイで有効にしたい場合は、次を実行してください。
coder templates push "$TEMPLATE_NAME" -d "$TEMPLATE_DIR" --yes
coder templates versions list "$TEMPLATE_NAME"
versions list の出力で、新しいバージョンが登録されたことを確認できます。ユーザーが新しいバージョンを自動的に有効化したい場合は、push に --activate を追加してください。それ以外の場合は、現在有効なバージョンをそのままにします。
よく使われるモジュール
特にリクエストの多いカテゴリから厳選した一覧です。全カタログは https://registry.coder.com/modules を参照してください。
- IDE:
cursor、jetbrains、code-server、vscode-desktop、vscode-web、windsurf、zed、kiro。 - AI エージェント:
claude-code、aider、goose、amazon-q、agentapi。 - 開発環境:
dotfiles、git-clone、git-config、personalize、coder-login。 - シークレット:
hcp-vault-secrets、vault-cli、vault-github、vault-jwt、vault-token。 - アプリ:
filebrowser、jupyterlab、jupyter-notebook、rstudio-server、kasmvnc。 - クラウドリージョン:
aws-region、azure-region、gcp-region、fly-region。
安全対策
coder_agentがないテンプレートにモジュールを追加しないでください。モジュールは機能せず、ワークスペースにインテグレーションが適用されないままになります。- 管理者レベルの設定(Vault バックエンド、JFrog インスタンス、外部認証プロバイダー)が必要なモジュールは、デプロイ環境側で設定されていることを確認せずに追加しないでください。
- ユーザーに適用されるテンプレートのバージョンを伝えずに
coder templates pushを実行しないでください。 - ユーザーに未コミットの変更がある場合は、
main.tfを編集しないでください。先に変更を退避するかコミットするよう提案してください。 - モジュール名やバージョンをでっち上げないでください。registry.coder.com でモジュールが見つからない場合は、その旨を伝えてください。
バンドルリソース
このスキルにはモジュールごとのレシピは含まれていません。registry.coder.com の各モジュールの README と、Coder の上流ドキュメントを参照してください。