Skills
エージェント向けにパッケージ化された専門スキルと手順を 96,770 件掲載。コマンド 1 行でインストールできます。
テスト・品質
「vibe-coded」アプリケーションで AI コーディングアシスタントが持ち込む一般的なセキュリティ脆弱性について、コードベースを監査します。露出した API キー、アクセス制御の不備(Supabase RLS、Firebase rules)、認証検証の欠如、クライアント側の信頼に関する問題、安全でない決済フローなどを確認します。ユーザーがセキュリティについて質問する、コードレビューを希望する、「vibe coding」に言及する場合、または認証、決済、データベースアクセス、API キー、シークレット、ユーザーデータを扱うコードを作成・レビューする場合は、セキュリティに明示的に触れていなくても使用します。「これは安全?」「コードを確認して」「監査して」「脆弱性をレビューして」「ハッキングされる可能性はある?」などの依頼でも起動します。
Agentforce エージェント向けの構造化テストスイートを作成、実行、分析します。次の場合に起動してください:ユーザーがテスト仕様 YAML (AiEvaluationDefinition) を作成または変更する、sf agent test create、run、run-eval、results コマンドを実行する、テストカバレッジ戦略、指標の選択、カスタム評価について質問する、テスト結果を解釈または失敗を診断する、バッチテスト、回帰スイート、CI/CD テスト統合について質問する。次の場合は起動しないでください:ユーザーが .agent ファイルを作成、変更、プレビュー、デバッグする(developing-agentforce を使用);エージェントをデプロイまたは公開する;Agent Script コードを書く;開発時の反復に sf agent preview を使用する;本番セッショントレースを分析する(observing-agentforce を使用)。
Chrome DevTools MCP ツールを使用した Largest Contentful Paint(LCP)のデバッグと最適化を支援します。ユーザーが LCP のパフォーマンス、ページ読み込みの遅さ、Core Web Vitals の最適化について尋ねる場合や、ページのメインコンテンツが表示されるまで時間がかかる理由を知りたい場合に使用します。「largest contentful paint」「page load speed」「CWV」に言及した場合や、ヒーロー画像またはメインコンテンツの表示速度を改善したい場合にも使用します。
セッショントレースと Data Cloud を使用して、本番環境の Agentforce エージェントの動作を分析します。次の場合に起動します。ユーザーが STDM セッションデータまたは Data Cloud のトレースレコードをクエリする場合、本番環境のエージェントの障害、リグレッション、パフォーマンス問題を調査する場合、セッショントレース、会話ログ、エージェント指標について尋ねる場合、報告された本番環境の問題をプレビューで再現したい場合、findSessions またはトレース分析クエリを実行する場合。次の場合は起動しません。開発中に .agent ファイルを作成、変更、デバッグする場合(developing-agentforce を使用)、テスト仕様を作成または実行する場合(testing-agentforce を使用)、ローカル開発の反復に sf agent preview を使用する場合、エージェントをデプロイまたは公開する場合。
Model Context Protocol(MCP)サーバーを介した SonarQube と SonarCloud の統合パターンを提供します。エージェントのワークフロー内で、品質ゲートの監視、問題の発見とトリアージ、プッシュ前のコード分析、ルールの解説を行えます。品質ゲートの確認、Sonar の問題の検索、コミット前のコードスニペット分析、SonarQube ルールの理解をユーザーが求める場合に使用します。トリガー:「sonarqube」「sonarcloud」「quality gate」「sonar issues」「analyze with sonar」「check sonar」「sonar rule」「pre-push analysis」。
.NET プロジェクトのテストプラットフォーム、フレームワーク、コマンドモード、SDK スタイルか従来型かを特定します。「どのテストプラットフォーム/フレームワーク?」「VSTest と MTP のどちら?」「このプロジェクトはどのランナーを使用?」という質問に限って使用します。ブリッジ設定、UseVSTest のオプトアウト、互換性のない、または競合する VSTest/MTP 設定も対象です。MSTest/xUnit/NUnit/TUnit における global.json、プロジェクト、packages.config、Directory.Build.props、Directory.Packages.props の優先順位を解決します。テストの実行/フィルタリング、コマンド、フラグ、TRX/ダンプ、テストコマンド/フィルターのエラーを求められた場合は使用せず、run-tests を直接使用します。ホットリロードや移行の依頼を最初のスキルとしてここに振り分けないでください。mtp-hot-reload はプラットフォーム検出のため内部でこのスキルを使用する場合があります。
PR 番号だけで承認(approving レビューを提出)して squash マージします。QA ゲートやブロック用ラベルが禁じている場合は拒否します。修正可能なブロッカーは om-auto-fix-pr へ振り分けます(CI 失敗は --ci-only モード、競合やレビュー問題はフルループで処理)。必要に応じて後続の issue も作成します。ユーザーが「approve and merge PR 123」「ship PR 123と言ったとき、またはマージの意図とともに PR 番号を示したときにJwärけです。
既存の MSTest テストまたは MSTest 固有の設定について、修正、書き換え、更新、改善、最新化、修正コードの提示、説明を求められた場合は必ず使用します。修正コードや編集を求める「レビュー」にも使用します。貼り付けられたアサーションが 1 つだけの場合や、テストは通るものの失敗時の出力に問題がある場合も対象です。expected/actual ラベル、汎用の Boolean、コレクション、文字列、数値、null、同一性、例外、明示的キャスト、object[] の検証、TestContext/ライフサイクル、タイムアウト/キャンセル、OS/CI 条件、再試行、クリーンアップ、並列化、MSTest.Sdk のプロジェクト設定、MSTESTxxxx を扱います。インストール済みの MSTest バージョンに従います。新しいテストケースの設計(code-testing を使用)、レポートのみの監査、MSTest 設定の説明ではなくプロジェクトファイルの作成、テストの実行、フレームワークの移行、非 MSTest/非 .NET コードには使用しません。
PR 番号を指定して、開いている PR をマージ可能な状態まで進めます。最新の base をマージし、レビュー自動修正(om-auto-review-pr)、組み込みの CI 安定化、UI 検証(om-auto-qa-pr)を、承認可能で緑になり QA 証拠が揃うまで繰り返します。`--ci-only` モードは PR や通常ブランチの CI を緑にするだけです軽微な問題はフォローアップ issue としてファイル化し、ラベルを正規化、om-approve-merge-pr に引き継ぎます(自らマージすることはありません)。「PR 123 をマージ可能な状態にして」のような依頼に使います。
タスクで BenchmarkDotNet(BDN)を扱う場合(BDN ベンチマークの作成、実行、設定、レビュー)にこのスキルを有効にしてください。.NET コードのマイクロベンチマークが有用で、BenchmarkDotNet が適切なツールと考えられる場合も有効にします。.NET のパフォーマンスに関する質問への回答に測定が必要で、BenchmarkDotNet が必要となる可能性がある場合は、有効化を検討してください。マイクロベンチマークの設計、BDN の設定とプロジェクト構成、BDN マイクロベンチマークの効率的な実行、BDN による並列パフォーマンス比較を扱います。.NET コードのプロファイリングやトレース(dotnet-trace、PerfView)、本番環境のテレメトリー、負荷・ストレステスト(Crank、k6)には使用しないでください
起動前提:依頼または検出された対象で、C#、.NET、`.cs`、`.csproj` のいずれかが明示されている必要があります。そうでなければ、このスキルを呼び出さず待機します。使用するケース:C# 内の System.DateTime.Now/UtcNow、System.IO.File/Directory、System.Environment、HttpClient、Console、Process の使用箇所の特定、テストしにくいフレームワーク依存関係の監査、またはこれらの C# 呼び出しがすでに抽象化されているかの確認。不使用のケース:起動前提を満たさない対象、ラッパーの生成(generate-testability-wrappers を使用)、コードの移行(migrate-static-to-wrapper を使用)、一般的なコードレビュー。
Microsoft Testing Platform プロジェクトで、長時間実行するコンソールホストの編集/再実行ループ向けに MTP ホットリロードを設定または復旧します。「ホットリロードを有効にする」「編集後に dotnet run で再実行する」、未対応の編集や不適切な編集など、明示的な MTP コンソールの依頼に使用します。設定、実行/監視、再起動、フィルター、VSTest で変更を加えない代替策を扱います。単発実行、正確なコマンド、フィルターエラー、TRX/ダンプ、または単なるテスト失敗には run-tests を使用してください。MTP コンソールホストなしで Test Explorer または IDE がテストを再実行する場合は使用しないでください。エディター連携、CI、テストの作成/デバッグは対象外です。
正式かつ研究に基づくテストスメル名と testsmells.org の19種類の学術的分類を用いて、任意の言語の既存テストを監査します。学術的または引用可能なテストスメルレビュー、名前付きのスメルカテゴリ、重大度順の正式なスメル評価を求められた場合に使用します。Assertion Roulette、Conditional Test Logic、Mystery Guest、Eager Test、Sleepy Test、Unknown Test、Sensitive Equality、および .NET、Python、JavaScript/TypeScript、Java、Go、Ruby、Rust、Swift、Kotlin、PowerShell、C++にわたるカタログの残りを網羅します。手早く実用的なテストレビュー(test-anti-patternsを使用)、テストの作成や実行、フレームワークの移行、カバレッジ、アサーション多様性の指標には使用しないでください。
対象がIFileSystemやTimeProviderなどの注入済みインターフェイスまたは組み込み抽象をすでに使用している場合は、依頼に「ラッパーを生成」とあっても使用しないでください。新しいラッパーは不要です。C#ソースが環境依存または静的依存を呼び出し、注入可能な接点がない場合に限り使用します。TimeProvider、IHttpClientFactory、System.IO.Abstractionsの初回導入、最小限のEnvironment/Console/Processラッパー、IProcessRunner、DI登録、静的APIを維持する環境依存の接点が該当します。静的依存の検出(detect-static-dependencies)、既存または登録済み抽象への移行(migrate-static-to-wrapper)、1つの阻害された動作と決定論的テスト(testability-obstacle)、一般的なインターフェイス設計は対象外です。
dotnet/skills リポジトリで、スキル・カスタムエージェント・再配布可能な gh-aw ワークフローパッケージ向けの eval.yaml 評価仕様をスキャフォールドします。スキルやワークフローパッケージのテスト作成、評価刺激の執筆、グレーダーとルーブリックの定義、統計的検出力に応じた評価規模の決定、テストフィクスチャファイルの設定に最適です。Vally の eval.yaml スキーマ、フィクスチャの整理、過学習の回避を扱います。既存評価の実行やデバッグには使わず(improve-skill-quality を使用)、スキルの執筆にも使いません(create-skill を使用)。
ユーザーが k6 で公開 Web サイトのエンドツーエンドの性能テスト、負荷テスト、ストレステストを行いたい場合に使用します。プロトコルとブラウザーを組み合わせたテストスイート、SLO に基づくしきい値、負荷生成器のモニターサイドカー、およびユーザーが所有するバックエンド向けの Grafana 調査プレイブックを生成します。「perf test my site」「performance test my site」「load test this URL」「stress test my web app」「I want to load test [URL]」「set up k6 against my website」「write a k6 suite for [site]」「see if my site handles N concurrent users」「how does my site perform under traffic」などで起動します。ユーザーが k6、負荷テスト、ストレステスト、性能テストに言及するか、トラフィック下での Web サイトの検証を希望する場合は、明示的に「test」と言っていない場合や、このスキルが生成する具体的な成果物を求めていない場合でも使用してください。このスキルは複数のワークフローにまたがる完全な複数テストスイート向けです。単一のブラウザーテスト(機能テスト、または単一のジャーニーで Web Vitals を測定するブラウザー負荷テスト)には k6-browser-test を使用してください。
既存の C# の静的呼び出しを、名前付きラッパーまたは組み込み抽象へ移行・置換・テスト可能にする際に必ず使用してください。対象は DateTime.UtcNow/Now や DateTimeOffset.UtcNow から TimeProvider/IClock への移行、File.* から IFileSystem や ITextFileStore などの既存ストアへの移行、Environment.* から IEnvironmentReader などの既存リーダーへの移行です。スコープ指定されたファイル/プロジェクト、コンストラクタ注入、一時ファイルやプロセス環境に依存するテストのフェイクへの置換、「すでに登録済み」の抽象、呼び出し元やシグネチャを変更してはならない静的クラスを扱います。DateTimeKind と呼び出し回数を保持します。静的な依存の検出(detect-static-dependencies)、新しいラッパーの選択/設計(generate-testability-wrappers)、シームを選定していない振る舞いテスト(testability-obstacle)、テストフレームワークの移行には使用しないでください。
.NET のテストプロジェクトを xUnit.net v2 から xunit.v3 へ移行し、v3 での互換性問題を修正します。パッケージ/CPM の変換、OutputType=Exe、VSTest または MTP runner の維持(現在 YTest.MTP.XUnit2 を使用中のプロジェクトを含む)、非互換の TFM、async void テスト、string-to-Type 属性、カスタムの Fact/Theory/BeforeAfterTest 属性、Xunit.SkippableFact、xunit.abstractions/拡張性の統合、Xunit.Combinatorial/StaFact との互換性に使用します。フレームワークの変換や runner のみの移行には使用しないでください。xUnit v3 の MTP フィルター構文については migrate-vstest-to-mtp も併せて使用します。
既存のテストを標準的な特性で分類し、その分布を報告します。用途:すべてのテストへのカテゴリ属性付与、各テストの分類/タグ付け/ラベル付け、正常系とエラー系の比較、テスト構成の監査、テスト種別ごとのカバレッジの説明、またはタグ付け後のプロジェクトビルド確認。名前が誤解を招く場合はテスト本体を確認してください。標準属性を適用し、それ以外は報告のみにとどめます。test-anti-patterns、coverage-analysis、crap-score、test-gap-analysis、code-testing、または移行スキルが担当する依頼には使用しないでください。
.NET のテストや CI が VSTest から Microsoft.Testing.Platform (MTP) に切り替わる場合や、MTP 移行の挙動が異なる場合は、回答・計画・編集の前にこのスキルを使用してください。トリガーには「VSTest からの切り替え」、MSTest/NUnit/xUnit の MTP 有効化、Directory.Build.props でテストプロジェクトにのみ OutputType=Exe を設定すること、EnableMSTestRunner、EnableNUnitRunner、UseMicrosoftTestingPlatformRunner、YTest.MTP.XUnit2、.NET 10 の global.json の test.runner と TestingPlatformDotnetTestSupport、VSTest の filter・logger・coverage・blame・dump 引数の変換、VSTest@3 の置換、終了コード 8 やテスト 0 件など^^^^^^^^ ^^^が含まれます。xUnit v2 から v3 へのアップグレード中に xUnit v3 の MTP フィルターを扱う場合にも使用してください。フレームワークの変換、TFM、UWP、WinUI には使用しないでください。
MSTest v1/v2 プロジェクトを v3 にアップグレードまたは修復する場合、回答や編集の前にこのスキルを使用します。該当例:QualityTools アセンブリ参照、MSTest.TestFramework/TestAdapter 1.x~2.x、「MSTest v3 へのアップグレード」、v1 と v2 の移行経路の比較、MSTest と MSTest.Sdk の選択、v3 パッケージ更新後の CS0411/CS1503、DataRow の型不一致、MSTEST0014、「Test data doesn't match method parameters」、.testsettings/LegacySettings から .runsettings への移行、タイムアウトの変更、net5.0 や v3 で削除されたその他の TFM。パッケージが 3.x でも、移行元のエラーやレガシー設定が残っていれば使用してください。VSTest/MTP を維持します。問題のない v3 プロジェクト、v3 から v4 への移行、フレームワーク変換、ランナーのみの移行には使用しないでください。
MSTest 3.x から 4.x へのアップグレードや、アップグレード後の失敗について回答、計画、編集する前にこのスキルを使用します。トリガーには、「MSTest v4 の破壊的変更」、CS0507/CS0103/CS1061/CS1615、ExecuteAsync、CallerInfo、DisplayName、カスタム TestMethodAttribute、ClassCleanupBehavior、ContainsKey、ThrowsExactly または ExpectedException、IsInstanceOfType の out パラメーター、TestTimeout.Infinite、ManagedType、net6/net7 との互換性、TestCase.Id の履歴、ClassInitialize 内の TestName、TreatDiscoveryWarningsAsErrors、クリーンビルド後の検出エラー、MSTest.Sdk/MTP または vstest.console の検出変更が含まれます。v1/v2 から v3 への移行残件、フレームワーク変換、ランナーのみの移行、一般的な .NET アップグレードには使用しないでください。
公開前にカスタム dotnet new テンプレートの正確さを検証します。フィールドの欠落、パラメータの不具合、shortName の競合、制約の問題、テンプレートが暗黙的に失敗 Estimationする原因となる作成ミスScoped detectaします。使用場面: 公開•テスト前に template.json ファイルの誤りを確認する、インストール後にテンプレートが表示されない原因を診断する、テンプレートのパラメータ定義における型の不一致やデフォルト値の欠落をレビューする、dotnet CLI コマンドと shortName が競合していないか調べる、post-action と constraint の設定を検証する。使用しない場面: 既存テンプレートの検索•使用(template-discovery を使用)、テンプレートからのプロジェクト作成(template-instantiation を使用)、既存プロジェクトからのテンプレート作成(template-authoring を使用)。
Midscene CLI を使ったビジョン駆動型 iOS デバイス自動化です。スクリーンショットのみで動作し、DOM やアクセシビリティラベルは不要です。テクノロジースタックを問わず、画面上のすべての可視要素を操作できます。WebDriverAgent 経由で自然言語コマンドを使って iOS デバイスを操作します。トリガー:ios、iphone、ipad、ios app、tap on iphone、swipe、mobile app ios、ios device、ios testing、iphone automation、ipad automation、ios screen、ios navigate、test ios app、verify on iphone、QA on ipad、check the app on ios、test on ios device、see if the app works on iphone、end-to-end test on ios、visual verification on ios。Midscene.js 提供(https://midscenejs.com)
Feathers の『Working Effectively with Legacy Code』を用いて、テストされていないコードベースを安全に変更・テストします。ユーザーが「legacy code」「no tests」「untested codebase」「how do I test this」「seams」「characterization tests」「golden master」「sprout method」「afraid to change this code」「monster method」「dependency breaking」「inherited a messy codebase」に言及した場合に使用します。テストのないコードを安全に変更する場合、コンストラクター、静的メンバー、シングルトンが妨げとなるクラスをテスト可能にする場合、複雑に絡み合ったモジュールに機能を追加する場合、古いコードベースのテストカバレッジを段階的に計画する場合にも起動します。レガシーコード変更アルゴリズム、シーム、特性テスト、sprout/wrap、依存関係を切り離す手法を扱います。すでにテストのあるコードのリファクタリングについては refactoring-patterns を、日常的なコード品質については clean-code を参照してください。
重要: Rust の安全でないコードレビューと FFI に使用します。トリガー: unsafe、raw pointer、FFI、extern、transmute、*mut、*const、union、#[repr(C)]、libc、std::ffi、MaybeUninit、NonNull、SAFETY comment、soundness、undefined behavior、UB、safe wrapper、memory layout、bindgen、cbindgen、CString、CStr、安全抽象、裸指针、外部函数接口、内存布局、不安全代码、FFI 绑定、未定义行为
terraform-plugin-testing と Plugin Framework を使用した Terraform provider の受け入れテストパターン。テスト構造、TestCase/TestStep フィールド、カスタム statecheck.StateCheck 実装を使った ConfigStateChecks、プランチェック、ステップ間のアサーションに使う CompareValue、設定ヘルパー、ImportStateKind によるインポートテスト、スイーパー、シナリオパターン(基本、更新、消失、検証、回帰)、echoprovider パッケージによるエフェメラルリソースのテストを扱います。provider の受け入れテストの作成、レビュー、デバッグに使用します。statecheck、plancheck、TestCheckFunc、CheckDestroy、ExpectError、インポート状態の検証、エフェメラルリソース、テストファイルの構成に関する質問にも対応します。
静的なソースとテストのペアリングでは必須:対応するテストのないソースファイル/モジュールを検出または一覧化し、リポジトリ構成からテスト配置を提案する。小さなパッケージでも呼び出すこと。手動の glob 検索で代替してはいけない。C#/.NET は Roslyn、Python、TS/JS、Go、Java、Rust、Ruby、Kotlin、Swift、PowerShell、C++ は tree-sitter を使う。用途不可:実際の行/branch/Cobertura カバレッジデータ、カバレッジに基づくテスト優先順位、CRAP リスク、既存テストの評価。
選定された個別テストについて、準備状況、A~Fの品質評価、改善点を判定します。必ず使用するケース:テストの評価、指定されたテストのみのレビュー、提示されたメソッド、本文、ファイル範囲、範囲を限定したPR差分(既存テストを含む)のテストごとの準備状況または品質評価。Pass/Failed/Uncertain/Not applicableを返します。範囲が未解決または空の場合、評価を省略します。テストごとの証拠を読み取り専用でまとめます。複数言語に対応します。テストスイート監査(test-engineer/test-anti-patterns)、具体的な修正や機能検出の証明(test-value-evidence)、テストの作成・修正、カバレッジには使用しないでください。
python-pptx のエクスポートを元の HTML スライドデッキと照合して監査し、レイアウトや内容のずれ(フッターのはみ出し、コンテンツの切り抜き、斜体/強調の欠落、スタイルの消失、間隔のリズムのずれ)を特定して、フッターレール + カーソルフローの厳密なレイアウト規律に従って再エクスポートします。HTML スライドデッキから生成した .pptx について、比較、監査、検証、修正をユーザーが求めた場合は必ず使用します。「ppt と html の比較」「忠実度監査」「pptx の修正」「ppt が切れている」「フッターの重なり」「pptx で斜体がない」「デッキを再エクスポート」「pptx-html-fidelity-audit」などの表現や、python-pptx → HTML の往復変換の検証・修復が必要な場合が含まれます。ユーザーが deck.html と deck.pptx を並べて表示し、視覚的な差異を調査している場合も使用します。
コードベース、アーキテクチャ、PR、技術計画を対象に、ユーザーやビジネスへの価値提供ではなく、開発者の自尊心、履歴書、知的満足のために作られたコードやシステムである「虚栄のエンジニアリング」をレビューします。「このコードをレビューして」「過剰設計では?」「コードレビュー」「アーキテクチャレビュー」「複雑さの監査」「虚栄チェック」「これは必要?」「簡素化して」「技術的負債のレビュー」など、コードやアーキテクチャが実際の要件に見合っているかを評価する依頼で起動します。ユーザーがコードベースを共有してフィードバックを求めた場合、フレームワークやライブラリの選択について話し合う場合、PRをレビューする場合、リファクタリングや再構築を検討する場合にも起動します。共有されたコードに不要な抽象化、時期尚早な最適化、履歴書映えを狙った技術選定のパターンを見つけたら、虚栄レビューを求められていなくても起動を促します。
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
