By oreguchi
VB.NET/.NET 向け Claude Code スキル集。Windows Forms、プロジェクト構成、モダン VB コーディング標準、並行処理パターン、依存性注入パターン、OpenTelemetry 計装を 6 つのスキルで提供。skill-conversion プラグイン経由で managedcode-dotnet-skills および dotnet-skills (C#) から VB.NET + 日本語に変換。
VB.NET コードベースで OpenTelemetry の計装を実装するための指針を提供する。トレース(Activities/Spans)、メトリクス、命名規則、エラー処理、性能、API 設計のベストプラクティスをカバーする。WinForms 環境特有の補足(UI スレッド境界、Generic Host 統合、長期稼働時ライフサイクル)も別ファイルで提供する。
VB.NETで堅牢・高品質なコードを記述するための標準。Class/Structure ベースの値オブジェクト(record 非対応のため手書き Equals/GetHashCode)、Option Strict On、Async/Await、関数型スタイルの LINQ、Memory(Of T)/ArrayPool(Of T) による低アロケーションパターン、ベストプラクティスな API 設計パターンを中心に解説する。なお Span(Of T)/ReadOnlySpan(Of T) は BC30668 のため VB.NET では使用不可(ローカル変数・シグネチャともに不可)。
VB.NETにおける並行処理抽象の選択指針。I/OバウンドにはAsync/Await、プロデューサー/コンシューマーにはChannel(Of T)、ステートフルなエンティティ管理にはAkka.NETを使う。SyncLockや手動同期は極力避ける。
IServiceCollection拡張メソッドを使用してDI登録を整理する。関連するサービスをコンポーザブルなAdd*メソッドにグループ化し、Program.vbをクリーンに保つとともに、テストで設定を再利用可能にする。VB.NET構文では<Extension>属性とModuleを使用して拡張メソッドを定義する。
クリーンなプロジェクト境界、再現性のある SDK 設定、ライブラリ・アプリ・テスト・CI・ローカル開発向けの保守しやすいベースラインを持つ VB.NET ソリューションを新規作成または再編成する。
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
VB.NET / WinForms で Claude Code を使うときに「最初から知っていてほしいこと」を 6 つのスキルに整理したプラグイン集。
C# の OSS スキルを VB.NET + 日本語に変換しているため、AI が C# のコードや解説で答えてしまう問題を抑え、最初から VB.NET で答えてくれるようになります。
Claude Code(Anthropic の CLI コーディングエージェント)は、デフォルトで .NET を聞かれると C# 中心の回答を返しがちです。VB.NET WinForms 開発者が日常的にぶつかる:
var x = ...」「record」「Span<T>」「using var」など、VB.NET にそのまま持ち込めない C# 固有構文Async Sub 制約、Activity.Current の Control.Invoke 越境挙動)Meter シングルトン化、SQL Server 自動計装)これらに AI が最初から VB.NET 文脈で答える ためのコンテキストを 6 つのスキルとして提供します。
Claude Code 起動後、以下を順に実行:
/plugin marketplace add oreguchi/vb-winforms-skills
/plugin install vb-winforms-skills@vb-winforms-skills-marketplace
/reload-plugins
Claude Code に普通に話しかけるだけで、対応するスキルが自動起動します:
> VB.NET WinForms で OpenTelemetry の計装を入れたい。
ActivitySource と Counter で所要時間と件数をメトリクス化したい。
● Skill(opentelemetry-net-instrumentation-vb-ja)
Loaded skill...
(VB.NET 構文の完全なサンプルコードと、SDK セットアップ、
UI スレッド境界、長期稼働ライフサイクルの解説が返ってくる)
Skill(...) のツール呼び出しが見えれば、スキルが正しく発火しています。
invocable: true のスキルは自然言語プロンプトで自動起動し、invocable: false のスキルは AI が必要に応じて内部参照します(明示呼出しも可)。
| スキル | 起動 | こんなときに |
|---|---|---|
vb-winforms | 自動 | 「Windows Forms アプリを作って」「.NET Framework から .NET 8 に移行したい」「データバインディングのパターンは?」 |
vb-project-setup | 自動 | 「VB.NET ソリューション構成のベストプラクティスは?」「.vbproj / Directory.Build.props / CPM の設定は?」 |
opentelemetry-net-instrumentation-vb-ja | 自動 | 「OpenTelemetry の計装を入れたい」「ActivitySource の使い方は?」「Generic Host で SDK セットアップしたい」 |
vb-coding-standards | 内部参照 | コード生成・レビュー時に AI が参照(値オブジェクト、API 設計、Memory(Of T) / ArrayPool(Of T) 等) |
vb-concurrency-patterns | 内部参照 | 並行処理の実装時に AI が参照(Async/Await / Channel(Of T) / Akka.NET の選択指針) |
vb-di-patterns | 内部参照 | DI 登録の実装時に AI が参照(IServiceCollection 拡張メソッド、Module + <Extension>) |
OpenTelemetry スキルの補足:本体に加え、
references/winforms-supplement.md(WinForms 補足)が同梱。AI が必要時に自動参照します。SDK セットアップ(Generic Host / Sdk 直接版)、UI スレッド越境時のActivity.Current不可視対策、ActivitySource/Meterシングルトン化とリーク防止までカバー。
C# 向けスキルから変換されているため、VB.NET で対応できない / 扱い方が異なる構文があります。各スキル内で「§3b 翻訳ノート(VB.NET に直接対応なし)」として代替パターンを明示しています。
主な落とし穴:
| C# 構文 | VB.NET の代替 |
|---|---|
record / record struct / with 式 | Class / Structure + ReadOnly プロパティ + 手書き Equals/GetHashCode + With* ヘルパー |
init-only setter | ReadOnly Property + コンストラクタ初期化 |
switch 式 / property pattern / list pattern | Select Case / If/ElseIf + TypeOf ... Is ... |
Span<T> / ReadOnlySpan<T> | BC30668 により VB.NET では使用不可。Memory(Of T) / 配列 + offset/length / ArrayPool(Of T) |
await foreach | IAsyncEnumerator(Of T) 手動操作 + 4-block Try/Catch(Finally 内 Await は BC36943 で不可) |
| メソッド内ローカル関数 | VB.NET 未対応(BC30026/30289)。Private Async Function にメソッド抽出 |
file-scoped namespace / top-level statements | Namespace ... End Namespace ブロック / Module Program + Sub Main |
using var x = expr;(インライン宣言) | Using x As T = expr ~ End Using ブロック |
var activity = Activity.Current | Dim activity As Activity = Activity.Current(VB は大小区別なしのため、変数名が型名と衝突する場合は型注釈必須) |
Q. インストールしたのにスキルが auto-fire しない
/reload-plugins を実行してください。それでも fired しない場合は、現在のセッションを閉じて新規セッション(fresh session)で起動:
/exit
→ ターミナルで claude を再実行。
Q. 既に dotnet-skills(C# 公式)プラグインを入れている。衝突しない?
衝突しません。両者は名前空間が異なり、Claude Code の Skill 解決は分離されています。むしろ C# プロジェクトと VB.NET プロジェクトを行き来する人は両方入れる構成が便利です。
Q. invocable: false のスキルはどうやって使う?
vb-coding-standards などは AI が必要時に内部参照します。明示的に呼びたければ Skill(vb-coding-standards) のように Skill ツールを直接呼ぶこともできますが、通常はコード生成・レビュー時に AI が自動で読み込むので意識不要です。
Q. .NET Framework 4.8 のレガシープロジェクトで使える?
スキルの中核内容は適用できます。OpenTelemetry スキルは Stopwatch.GetElapsedTime 等の .NET 7+ API について .NET 6 / Framework 4.8 互換コードを併記しています。vb-winforms も従来の Designer ベース UI に対応しています。
Q. フィードバックや改善要望を送りたい
GitHub Issues にお願いします。日本語 / 英語どちらでも可。
opentelemetry-net-instrumentation-vb-ja は 3/3 PASS、ほか 5 スキルは v2.0.0 / v2.1.0 で同様検証済)dotnet build(VB.NET、.NET 10 SDK)で構文・API 互換性を確認済drift-report として承認可能性が監査済み本プラグインは元の C# スキルから加算方向のみで変換しており、削除や歪曲はありません。各バージョンで承認された追加・補足はリリースノート(RELEASE_NOTES.md)にカテゴリ(A: Fidelity / B: Essential / C: Differentiating)と影響度(minor / moderate / heavy)付きで記録されています。累計 37 件(v2.2.0 時点)すべてが catalog 駆動 + register 監査済みです。
npx claudepluginhub oreguchi/vb-winforms-skills --plugin vb-winforms-skillsUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.