lint-dotnet
.NETプロジェクトの構成ルール違反がないか、MSBuildやCPMに関する問題を自動でチェックし、プロジェクトの品質と一貫性を保つように支援するSkill。
📜 元の英語説明(参考)
Run .NET architecture linter to check for MSBuild/CPM violations
🇯🇵 日本人クリエイター向け解説
.NETプロジェクトの構成ルール違反がないか、MSBuildやCPMに関する問題を自動でチェックし、プロジェクトの品質と一貫性を保つように支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o lint-dotnet.zip https://jpskill.com/download/17172.zip && unzip -o lint-dotnet.zip && rm lint-dotnet.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17172.zip -OutFile "$d\lint-dotnet.zip"; Expand-Archive "$d\lint-dotnet.zip" -DestinationPath $d -Force; ri "$d\lint-dotnet.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
lint-dotnet.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
lint-dotnetフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
/lint-dotnet
オンデマンドで .NET アーキテクチャリンターを実行し、違反がないか確認します。
実行
bash "${CLAUDE_PLUGIN_ROOT}/scripts/lint-dotnet.sh" .
出力形式
RULE_X|file
line_number: violation details
ルール
| ルール | 検知対象 | 修正方法 |
|---|---|---|
| RULE_A | Directory.Packages.props 内のハードコードされた Version="1.2.3" |
$(VariableName) を使用し、Version.props で定義します |
| RULE_B | 許可されていないファイル外部で Version.props がインポートされている | インポートを削除します。DPP または eng/DBP のみが許可されています。 |
| RULE_C | Version.props がシンボリックリンクではない (コンシューマーリポジトリ内) | シンボリックリンクを再作成し、決してファイルをコピーしないでください |
| RULE_G | .csproj 内の <PackageReference Version="..."> |
Version 属性を削除し、CPM を使用します |
許可されている Version.props インポートオーナー
| ファイル | 目的 |
|---|---|
Directory.Packages.props |
CPM が有効なプロジェクト |
eng/Directory.Build.props |
CPM が無効なプロジェクト |
src/Sdk/*/Sdk.props |
SDK エントリーポイント (MSBuild がこれらを自動インポートします) |
src/common/*.props |
共有 SDK インフラストラクチャ |
Version.props をインポートする他のすべてのファイル = 違反。
クリーンな出力
CLEAN|All rules passed
違反は見つかりませんでした。続行しても安全です。
変数命名規則
不明なパッケージの場合、変数名を生成します。
Some.Package.Name->SomePackageNameVersion- ドットとダッシュを削除し、"Version" を追加します
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
/lint-dotnet
Run the .NET architecture linter on demand to check for violations.
Execution
bash "${CLAUDE_PLUGIN_ROOT}/scripts/lint-dotnet.sh" .
Output Format
RULE_X|file
line_number: violation details
Rules
| Rule | Catches | Fix |
|---|---|---|
| RULE_A | Hardcoded Version="1.2.3" in Directory.Packages.props |
Use $(VariableName) and define in Version.props |
| RULE_B | Version.props imported outside allowed files | Remove import. Only DPP or eng/DBP allowed. |
| RULE_C | Version.props not a symlink (in consumer repos) | Recreate symlink, never copy the file |
| RULE_G | <PackageReference Version="..."> in .csproj |
Remove Version attr, use CPM |
Allowed Version.props Import Owners
| File | Purpose |
|---|---|
Directory.Packages.props |
CPM-enabled projects |
eng/Directory.Build.props |
CPM-disabled projects |
src/Sdk/*/Sdk.props |
SDK entry points (MSBuild auto-imports these) |
src/common/*.props |
Shared SDK infrastructure |
All other files importing Version.props = violation.
Clean Output
CLEAN|All rules passed
No violations found. Safe to proceed.
Variable Naming Convention
For unknown packages, generate variable name:
Some.Package.Name->SomePackageNameVersion- Remove dots and dashes, append "Version"