jpskill.com
🛠️ 開発・MCP コミュニティ

perigon-backend

Perigon ASP.NET Core + EF Core + Aspire conventions

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o perigon-backend.zip https://jpskill.com/download/17330.zip && unzip -o perigon-backend.zip && rm perigon-backend.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17330.zip -OutFile "$d\perigon-backend.zip"; Expand-Archive "$d\perigon-backend.zip" -DestinationPath $d -Force; ri "$d\perigon-backend.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して perigon-backend.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → perigon-backend フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

どのような時に使うか

  • src/Definitionsrc/Modulessrc/Services、および src/AppHost (エンティティ、DTO、マネージャー、コントローラー、EF、ホスティング) 全般にわたるバックエンド作業。

使い方

  • アーキテクチャ: Definition (エンティティ/EF/Share/ServiceDefaults) -> Modules (マネージャー + DTO) -> Services (コントローラー)。 <Nullable>enable を指定して Code First を使用します。
  • エンティティ: EntityBase (Id, CreatedAt, UpdatedAt, IsDeleted) を継承します。Id はクライアント生成の Guid v7 を使用します。文字列には最大長が必要です。decimal は精度 (10,2 または 18,6) を設定します。enum は [Description] が必要です。DateTimeOffset/DateOnly/TimeOnly を推奨します。
  • データベース: SQL Server (商用) または PostgreSQL を推奨します。ドメイン内で外部キーを使用します。文字列区切りのリストは避けてください (配列/JSON を使用)。マイグレーションは scripts/EFMigrations.ps1 経由で行います。ファイルは Definition/EntityFramework/Migrations に配置します。
  • データアクセス: DbContext は Definition/EntityFramework/AppDbContext に配置します。作成にはデフォルトの TenantDbFactory/UniversalDbFactory を使用します。Select 投影で Queryable を推奨します。デフォルトでは AsNoTracking を使用します。一括操作には EFCore.BulkExtensions を使用します。
  • マネージャー: src/Modules/{Mod}/Managers に配置します。DI のために ManagerBase (エンティティに関連付けられている場合はジェネリック) を継承します。ActionResult を返したり、HttpContext に触れたりしないでください。マネージャー間の参照は避けてください。基本操作 (FindAsync, ExistAsync, ListAsync, PageListAsync, InsertAsync, UpdateAsync, DeleteAsync, BulkInsertAsync, ExecuteInTransactionAsync) を使用します。ビジネスエラーには BusinessException をスローします。サードパーティの呼び出し/ヘルパーは share/services に保持します。
  • DTO: src/Modules/{Mod}/Models/{Entity}Dtos に Detail/Add/Update/Item/Filter の形状で保存します。Mapster 経由でマッピングします。
  • コントローラー: src/Services/*/Controllers に配置します。RestControllerBase を継承します。HTTP 動詞属性とメソッド名 AddAsync/UpdateAsync/DeleteAsync/GetDetailAsync/FilterAsync を使用します。ActionResult<T> を返します。エラーには Problem/NotFound を使用します。ApiResponse ラッパーは避けてください。ビジネスロジックはマネージャーに保持します。認証/許可/検証はここで処理します。
  • Aspire/AppHost: AppHost はインフラ/サービスをオーケストレーションします。Docker/Podman が実行されていることを確認してください。appsettings*.json 経由で構成します。要求されない限り、build/run コマンドは避けてください。変更後、エディターの診断を確認してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

When to use

  • Backend work across src/Definition, src/Modules, src/Services, and src/AppHost (entities, DTOs, managers, controllers, EF, hosting).

Usage

  • Architecture: Definition (entities/EF/Share/ServiceDefaults) -> Modules (Managers + DTOs) -> Services (controllers). Use Code First with <Nullable>enable.
  • Entities: inherit EntityBase (Id, CreatedAt, UpdatedAt, IsDeleted); Id uses Guid v7 client-generated. Strings need max length; decimals set precision (10,2 or 18,6); enums require [Description]; prefer DateTimeOffset/DateOnly/TimeOnly.
  • Database: favor SQL Server (commercial) or PostgreSQL; use foreign keys within a domain; avoid string-delimited lists (use arrays/JSON). Migrations via scripts/EFMigrations.ps1; files under Definition/EntityFramework/Migrations.
  • Data access: DbContexts live in Definition/EntityFramework/AppDbContext; default TenantDbFactory/UniversalDbFactory for creation. Prefer Queryable with Select projections; AsNoTracking by default; use EFCore.BulkExtensions for bulk ops.
  • Managers: place in src/Modules/{Mod}/Managers; inherit ManagerBase (generic when tied to entity) for DI. Do not return ActionResult or touch HttpContext; avoid manager-to-manager refs. Use base ops (FindAsync, ExistAsync, ListAsync, PageListAsync, InsertAsync, UpdateAsync, DeleteAsync, BulkInsertAsync, ExecuteInTransactionAsync). Throw BusinessException for business errors; keep third-party calls/helpers in share/services.
  • DTOs: store under src/Modules/{Mod}/Models/{Entity}Dtos with Detail/Add/Update/Item/Filter shapes; map via Mapster.
  • Controllers: under src/Services/*/Controllers; inherit RestControllerBase. Use HTTP verb attributes and method names AddAsync/UpdateAsync/DeleteAsync/GetDetailAsync/FilterAsync. Return ActionResult<T>; use Problem/NotFound for errors; avoid ApiResponse wrappers; keep business logic in Manager; handle auth/permission/validation here.
  • Aspire/AppHost: AppHost orchestrates infra/services; ensure Docker/Podman running. Configure via appsettings*.json. Avoid build/run commands unless requested; check editor diagnostics after changes.