Skills
エージェント向けにパッケージ化された専門スキルと手順を 96,770 件掲載。コマンド 1 行でインストールできます。
開発
Golang テスト向け stretchr/testify の包括的なガイドです。assert、require、mock、suite パッケージを詳しく解説します。testify を使ったテストの作成、モックの作成、テストスイートの設定、assert と require の選択時に使用します。testify のアサーション、モックの期待値、引数マッチャー、呼び出しの検証、スイートのライフサイクル、Eventually、JSONEq、カスタムマッチャーなどの高度なパターンを扱います。コードベースが github.com/stretchr/testify をインポートする場合に適用します。
Golang プロジェクト向け GitHub Actions CI/CD パイプラインの設定。テスト、lint、SAST、カバレッジ、脆弱性スキャンのジョブ用 workflow ファイル、Dependabot と Renovate の設定ファイル、GoReleaser リリースパイプライン、Docker のビルドとプッシュ、リポジトリのセキュリティ設定、AI による PR レビューを扱います。Go プロジェクトの CI の設定や改善、`.github/workflows/*.yml` の作成や修正、linter やセキュリティスキャナーのパイプラインジョブへの追加、自動依存関係更新ボットの接続、品質ゲートの追加時に使用します。対象はツールのパイプラインへの接続であり、ツールが行う分析ではありません。セキュリティ検出結果の選択や解釈(→ `samber/cc-skills-golang@golang-security` skill を参照)、依存関係バージョンの選択、アップグレード、監査(→ `samber/cc-skills-golang@golang-dependency-management` skill を参照)には使用しないでください。
samber/lo を使った Golang の関数型プログラミング用ヘルパーです。スライス、マップ、チャネル、文字列、数学、タプル、並行処理向けの型安全なジェネリック関数を 500 個以上提供します(Map、Filter、Reduce、GroupBy、Chunk、Flatten、Find、Uniq など)。中核となるイミュータブルなパッケージ(lo)、並行処理向けの派生版(lo/parallel、別名 lop)、インプレース変更(lo/mutable、別名 lom)、遅延イテレーター(Go 1.23 以降向けの lo/it、別名 loi)、実験的な SIMD(lo/exp/simd)を含みます。samber/lo の使用や導入、コードベースによる github.com/samber/lo のインポート、Go での関数型データ変換の実装時に適用します。ストリーミングパイプラインには使用しません(→ `samber/cc-skills-golang@golang-samber-ro` skill を参照)。
Golang エコシステムのウォッチリストです。公式情報源(go.dev/blog、pkg.go.dev、tour.golang.org、golang-nuts)、ニュースレター(Golang Weekly、Awesome Go Newsletter)、コミュニティ(r/golang、gophers.slack.com、Go Forum、go.dev/wiki)、ブログ(Dave Cheney、Ardan Labs、Rob Pike)、YouTube チャンネル(Gopher Academy、GopherCon EU/UK)、カンファレンス、GitHub、X、Bluesky でフォローする Go コントリビューターを取り上げます。Golang の学習リソースを探す、新しいライブラリやツールを見つける、コミュニティのチャンネルやミートアップを探す、フォローする Go 開発者を選ぶ、Go 言語の変更やリリース情報を追う際に使用します。CLI から特定のモジュールのバージョン、ドキュメント、脆弱性を照会する用途には使用しません(→ `samber/cc-skills-golang@golang-pkg-go-dev` skill を参照)。
Limrun のクラウド Android エミュレーター上で動作するアプリを操作します。APK のインストール、クラッシュレポート付きのアプリ起動と終了、タップ、入力、UI 要素ツリーの読み取り、スクリーンショット、動画撮影、マイク音声の注入、ネットワーク帯域幅の調整、アプリログの読み取り、シェルコマンドの実行、ファイル転送、HTTP 検査と HAR キャプチャを伴うアプリの通信先のマシン経由でのトンネル接続、プライベートトンネル経由でのプライベートネットワークへの接続、すべてのトラフィックのユーザープロキシ経由での送信、カスタム CA 証明書の信頼、CLI のトンネル経由の adb による完全な logcat と対話型ツールの利用に対応します。ビルド後(limrun-gradle または任意のビルダーを使用)、ユーザーがエミュレーター上でアプリを見たり、テストしたり、操作したい場合や、「スクリーンショットを見せて」「タップして」「エミュレーターで実行して」「logcat を確認して」「動画を撮って」「ネットワークトラフィックを調べて」「すべてのトラフィックをプロキシ経由にして」「エミュレーターからローカルサーバーに接続して」と言った場合に使用します。APK または AAB を先にビルドする場合は limrun-gradle を使用します。
samber/slog-**** パッケージを使った Golang の構造化ログ拡張です。複数ハンドラーのパイプライン(slog-multi)、ログサンプリング(slog-sampling)、属性フォーマット(slog-formatter)、HTTP ミドルウェア(slog-fiber、slog-gin、slog-chi、slog-echo)、バックエンドルーティング(slog-datadog、slog-sentry、slog-loki、slog-syslog、slog-logstash、slog-graylog...)を扱います。slog の使用や導入、またはコードベースが github.com/samber/slog-* パッケージをすでにインポートしている場合に適用します。
samber/mo を使った Golang のモナド型です。型安全な nullable 値、エラー処理、パイプラインサブパッケージによる関数合成のための Option、Result、Either、Future、IO、Task、State 型を提供します。samber/mo の使用や導入、コードベースによる `github.com/samber/mo` のインポート、または Golang の安全設計として関数型プログラミングのパターンを検討する際に適用します。このライブラリを使わない nil 安全性やゼロ値設計(→ `samber/cc-skills-golang@golang-safety` skill を参照)、fmt.Errorf、errors.Is、errors.As による標準的なエラーラッピング(→ `samber/cc-skills-golang@golang-error-handling` skill を参照)には使用しません。
samber/hot を使った Golang のインメモリキャッシュです。置換アルゴリズム(LRU、LFU、TinyLFU、W-TinyLFU、S3FIFO、ARC、TwoQueue、SIEVE、FIFO)、TTL、キャッシュローダー、シャーディング、stale-while-revalidate、欠落キーのキャッシュ、Prometheus メトリクスを扱います。samber/hot の使用や導入、コードベースによる github.com/samber/hot のインポート、または中低カーディナリティの同じリソースを高頻度で繰り返し読み込み、レイテンシやバックエンド負荷を下げる必要がある場合に適用します。
samber/ro を使った Golang のリアクティブストリームとイベント駆動プログラミングです。150 以上の型安全なオペレーターを備えた ReactiveX 実装、コールド/ホット Observable、5 種類の Subject(Publish、Behavior、Replay、Async、Unicast)、Pipe による宣言型パイプライン、40 以上のプラグイン(HTTP、cron、fsnotify、JSON、ロギング)、自動バックプレッシャー、エラー伝播、Go context 連携を含みます。samber/ro の使用や導入、コードベースによる github.com/samber/ro のインポート、または Go で非同期イベント駆動パイプライン、リアルタイムデータ処理、ストリーム、リアクティブアーキテクチャを構築する際に適用します。有限スライスの変換には使用しません(→ `samber/cc-skills-golang@golang-samber-lo` skill を参照)。
spf13/cobra を使用した Golang コマンドラインのコマンドツリーライブラリ。cobra.Command、RunE と Run、PersistentPreRunE フックチェーン、Args バリデーター(NoArgs、ExactArgs、MatchAll、カスタム)、永続フラグとローカルフラグ、コマンドグループ、ValidArgsFunction、RegisterFlagCompletionFunc、ShellCompDirective、usage/help テンプレートのカスタマイズ、man ページと Markdown ドキュメントの生成、SetArgs/SetOut/SetErr によるテストを扱います。spf13/cobra の使用または導入時、あるいはコードベースが `github.com/spf13/cobra` をインポートしている場合に適用します。cobra と併用する設定の階層化については `samber/cc-skills-golang@golang-spf13-viper` スキルを参照してください。一般的な CLI アーキテクチャ(プロジェクト構成、終了コード、シグナル処理、I/O パターン)については `samber/cc-skills-golang@golang-cli` を参照してください。
swaggo/swag を使った Golang の OpenAPI/Swagger ドキュメント作成。アノテーションコメント(@Summary、@Param、@Success、@Router、@Security)、swag init によるコード生成、フレームワーク連携(gin、echo、fiber、chi、net/http)、セキュリティ定義(Bearer/JWT、OAuth2、API key)、構造体タグ(swaggertype、enums、example、swaggerignore)に対応します。Go プロジェクトで Swagger/OpenAPI ドキュメントを追加または保守するときや、コードベースが github.com/swaggo/swag、github.com/swaggo/gin-swagger、github.com/swaggo/echo-swagger、github.com/swaggo/http-swagger、github.com/swaggo/files をインポートしている場合に使用します。
google/wire を使用した Golang のコンパイル時依存性注入。wire.NewSet、wire.Build、wire.Bind(インターフェース→具象型)、wire.Struct、wire.Value、wire.InterfaceValue、wire.FieldsOf、クリーンアップ関数、//go:build wireinject インジェクターファイル、生成される wire_gen.go を扱います。google/wire の使用または導入時、コードベースが `github.com/google/wire` をインポートしている場合、または `wire.Build` でコンパイル時にアプリケーショングラフを組み立てる場合に適用します。リフレクションを使った実行時 DI については `samber/cc-skills-golang@golang-uber-dig` スキルを参照してください。
spf13/viper を使用した Golang 設定ライブラリ。階層的な優先順位(フラグ > 環境変数 > ファイル > KV > デフォルト)、BindPFlag/BindPFlags、SetEnvPrefix + SetEnvKeyReplacer + AutomaticEnv、ReadInConfig + ConfigFileNotFoundError、Unmarshal + mapstructure 構造体タグ、サブツリー用の Sub、ホットリロード用の WatchConfig + OnConfigChange、テスト分離用の viper.New()、リモート KV 連携を扱います。spf13/viper の使用または導入時、あるいはコードベースが `github.com/spf13/viper` をインポートしている場合に適用します。viper と併用する CLI コマンド構成については `samber/cc-skills-golang@golang-spf13-cobra` スキルを参照してください。一般的な CLI アーキテクチャについては `samber/cc-skills-golang@golang-cli` を参照してください。
uber-go/fx を使用する Golang アプリケーションフレームワークです。fx.New、fx.Provide、fx.Invoke、fx.Module、fx.Lifecycle フック、fx.Annotate(name/group/As)、fx.Decorate、fx.Supply、fx.Replace、fx.WithLogger、シグナル対応の Run() を扱います。uber-go/fx の使用・導入時、コードベースが `go.uber.org/fx` をインポートしている場合、または fx.New でサービスを接続する場合に適用します。ライフサイクルなしの基本的な DI については、`samber/cc-skills-golang@golang-uber-dig` スキルを参照してください。
uber-go/dig を使用して Golang で依存性注入を実装します。リフレクションベースのコンテナ、Provide/Invoke、dig.In/dig.Out のパラメーターおよび結果オブジェクト、名前付き値、値グループ、オプションの依存関係、スコープ、Decorate を扱います。uber-go/dig の使用・導入時、コードベースが `go.uber.org/dig` をインポートしている場合、または起動時にアプリケーショングラフを接続する場合に適用します。より高水準のライフサイクルとモジュールについては、`samber/cc-skills-golang@golang-uber-fx` スキルを参照してください。
Golang のスキルオーケストレーターです。Golang のコーディング、レビュー、デバッグ、セットアップのタスクで常に有効になります。タスクのコンテキストを読み取り、samber/cc-skills-golang から最適なスキルを読み込みます。複数を同時に読み込む場合もあります。gRPC サービスの作成では golang-grpc + golang-testing + golang-error-handling、panic のデバッグでは golang-troubleshooting + golang-safety、セキュリティ監査では golang-security + golang-lint + golang-safety を読み込みます。また、2 つのスキルが重複しているように見える場合(パフォーマンスとベンチマークとトラブルシューティング、samber/lo と mo と ro、DI クラスター、安全性とセキュリティ)に競合するクラスターを判別し、プロジェクト内でスキルを強制的に起動するよう、プロジェクトの Agent 設定ファイル(CLAUDE.md、AGENTS.md、GEMINI.md、Cursor ルール、Copilot の指示)を設定します(/golang-how-to configure)。
最新の Web 開発のベストプラクティスを検索するツール。必須:すべての HTML/CSS およびクライアントサイド JS のタスクで最初に実行してください。省略しないでください。Web API は急速に進化しており、学習データには古いパターンが含まれています。次の場合は直ちに使用:- UI/レイアウト:モーダル/ダイアログ/ポップオーバー、テーブル、ダークモード、アンカーポジショニング、コンテナクエリ、`:has()` など。- スクロール/モーション:View Transitions、スクロール駆動アニメーション、パララックス/リビールなど。- パフォーマンス:CWV(LCP、INP)、content-visibility、Fetch Priority、画像最適化など。- システム/API:セキュリティ、パスキー、HTML サニタイズ、Web Components、日付/タイムゾーン、組み込み AI、WebAssembly など。- フレームワーク:React、Vue、Angular などでの標準 HTML/CSS/DOM。- 一般的なフロントエンド:フォーム、検証(`:user-valid`)、自動入力、アクセシビリティ、カスタムセレクト、スクロールバーなど。次の場合は使用しない:- バックエンド:SQL、ORM、API ルートなど。- インフラ/スクリプト:CI/CD、Docker、Actions、Python/Go、Git など。- ツール/軽微な作業:Vite、tsconfig、ESLint、テスト、コピー/名前変更、サードパーティのドキュメントなど。
iOS または macOS 向けの SwiftUI コードの作成、レビュー、リファクタリング時に使用します。状態と `@Observable` のデータフロー、ビューの構成、サイズ変更可能なレイアウト、セーフエリア、表示スケール、パフォーマンス、リスト、環境、ローカライズ、アニメーション、Liquid Glass、API 移行を扱います。iPhone Duo、折りたたみデバイス、大型ディスプレイのレイアウト(大型ディスプレイの `NavigationSplitView`、iPhone のタブサイドバー、2 列への再配置、折りたたみデバイスのグリッド、`ArrangementView`、`ReservedRegion`)、ヒンジ効果、縦型バー、`@State` の初期化や合成プロパティの診断、`@ContentBuilder` の曖昧さ、`reorderable` のドラッグ&ドロップ、カスタム `AsyncImage` `URLSession`、List 外のスワイプアクション、項目にバインドされた `alert`/`confirmationDialog`、`ToolbarOverflowMenu`、`AnimatableValues`、Document API(`Document`/`DocumentReader`)、Instruments `.trace` の記録や分析にも使用します。
プロジェクトの品質基準を文書化された契約として定め、エージェントがひそかに基準を引き下げるのを防ぎます。重要な評価軸をユーザーに確認し、具体的な数値がない場合は妥当な既定のしきい値を提示します。すべてを CONSTRAINTS.md に記録し、新たな @ts-ignore や eslint-disable による抑制、テストのスキップや削除、アサーションの除去、未実装のスタブ、しきい値の引き下げなど、基準を弱める変更が diff にないか監視します。品質基準が文書化されていない場合、「制約を設定して」「標準を定義して」と求められた場合、アクセシビリティ、Web パフォーマンス、カバレッジなどの評価軸を強制制約にしたい場合、エージェントがチェックを無効化したりテストを省略したりして合格させようとする場合、カバレッジやパフォーマンスのしきい値を決めたいが数値が分からない場合、またはエージェントが誰も読めないほど大量のコードを書く場合に使用します。
認証、ユーザー/組織/セッション管理、なりすまし、ローカルでの webhook テスト、デプロイ検証、インスタンス設定、環境キー、機能切り替え、および Clerk Backend、Platform、Frontend API の呼び出しに Clerk CLI(`clerk` バイナリ)を使用します。ユーザーが Clerk の管理タスク、「list clerk users」「impersonate a user」「test webhooks locally」「enable orgs」「enable billing」「clerk env pull」「clerk doctor」「clerk deploy」「clerk api」、または任意の Clerk API リクエストに言及した場合に使用します。生の HTTP より CLI を優先してください。認証、キー解決、アプリ/インスタンスの指定、フォーマットを自動で処理します。
@expo/ui パッケージを使用してネイティブ UI を構築します。iOS では本物の SwiftUI、Android では Jetpack Compose を使用します。シート(BottomSheet)、ピッカー、スライダー、トグル、メニュー、グループ化されたフォームセクションには、標準で @expo/ui を使用します。Reanimated、@gorhom/bottom-sheet、RN 組み込みの Picker/Switch は使用せず、@expo/ui を使ってください。@expo/ui にコンポーネントがない場合のみ、RN 組み込みにフォールバックします。注意:@expo/ui List は iOS の設定画面のようなネイティブのグループ行を描画するもので、仮想化リストではありません。大規模なデータセットには FlatList/FlashList を使用してください。共通コンポーネント(Host、Column、Row、Button、Text、List、BottomSheet、FieldGroup、Switch、Slider、Picker、Menu)、RN コミュニティライブラリのドロップイン置き換え、プラットフォーム固有の SwiftUI/Jetpack Compose ツリーを扱います。Expo Router のナビゲーション、Reanimated、データ取得は対象外です。
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
