Agent Skills by ALSEL
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 0品質スコア 50/100

fluentui-blazor

BlazorアプリでMicrosoft Fluent UI Blazorコンポーネントライブラリ(`Microsoft.FluentUI.AspNetCore.Components` NuGetパッケージ)を使用する際のガイドです。`FluentButton`、`FluentDataGrid`、`FluentDialog`、`FluentToast`、`FluentNavMenu`など「Fluent」プレフィックスを持つコンポーネントの利用やライブラリのセットアップ時、またProviderの未設定・JSインターオペラビリティ・テーマ設定に関するトラブルシューティングが必要な場面で活用してください。

description の原文を見る

> Guide for using the Microsoft Fluent UI Blazor component library (Microsoft.FluentUI.AspNetCore.Components NuGet package) in Blazor applications. Use this when the user is building a Blazor app with Fluent UI components, setting up the library, using FluentUI components like FluentButton, FluentDataGrid, FluentDialog, FluentToast, FluentNavMenu, FluentTextField, FluentSelect, FluentAutocomplete, FluentDesignTheme, or any component prefixed with "Fluent". Also use when troubleshooting missing providers, JS interop issues, or theming.

SKILL.md 本文

Fluent UI Blazor — コンシューマー使用ガイド

このスキルは、Blazor アプリケーションで Microsoft.FluentUI.AspNetCore.Components (バージョン 4) NuGet パッケージを正しく使用する方法を教えます。

重要なルール

1. 手動の <script> または <link> タグは不要

ライブラリは、Blazor の静的 Web アセットと JS イニシャライザーを介してすべての CSS と JS を自動的に読み込みます。コアライブラリ用に <script> または <link> タグを追加するようにユーザーに指示してはいけません。

2. プロバイダーはサービスベースのコンポーネントに必須

これらのプロバイダーコンポーネントは、対応するサービスが機能するためにルートレイアウト (例: MainLayout.razor) に 必ず 追加する必要があります。これらがないと、サービス呼び出しは サイレント失敗 (エラーなし、UI なし) します。

<FluentToastProvider />
<FluentDialogProvider />
<FluentMessageBarProvider />
<FluentTooltipProvider />
<FluentKeyCodeProvider />

3. Program.cs でのサービス登録

builder.Services.AddFluentUIComponents();

// または設定付き:
builder.Services.AddFluentUIComponents(options =>
{
    options.UseTooltipServiceProvider = true;  // デフォルト: true
    options.ServiceLifetime = ServiceLifetime.Scoped; // デフォルト
});

ServiceLifetime のルール:

  • ServiceLifetime.Scoped — Blazor Server / Interactive 用 (デフォルト)
  • ServiceLifetime.Singleton — Blazor WebAssembly スタンドアロン用
  • ServiceLifetime.TransientNotSupportedException をスロー

4. アイコンには別の NuGet パッケージが必要

dotnet add package Microsoft.FluentUI.AspNetCore.Components.Icons

@using エイリアスでの使用:

@using Icons = Microsoft.FluentUI.AspNetCore.Components.Icons

<FluentIcon Value="@(Icons.Regular.Size24.Save)" />
<FluentIcon Value="@(Icons.Filled.Size20.Delete)" Color="@Color.Error" />

パターン: Icons.[Variant].[Size].[Name]

  • バリアント: Regular, Filled
  • サイズ: Size12, Size16, Size20, Size24, Size28, Size32, Size48

カスタム画像: Icon.FromImageUrl("/path/to/image.png")

文字列ベースのアイコン名は使用しないでください — アイコンは強く型付けされたクラスです。

5. リストコンポーネント バインディングモデル

FluentSelect<TOption>FluentCombobox<TOption>FluentListbox<TOption>、および FluentAutocomplete<TOption><InputSelect> のようには動作しません。これらは以下を使用します:

  • Items — データソース (IEnumerable<TOption>)
  • OptionTextFunc<TOption, string?> で表示テキストを抽出
  • OptionValueFunc<TOption, string?> で値の文字列を抽出
  • SelectedOption / SelectedOptionChanged — 単一選択バインディング用
  • SelectedOptions / SelectedOptionsChanged — 複数選択バインディング用
<FluentSelect Items="@countries"
              OptionText="@(c => c.Name)"
              OptionValue="@(c => c.Code)"
              @bind-SelectedOption="@selectedCountry"
              Label="Country" />

このようには使わないでください (間違ったパターン):

@* 間違い — InputSelect パターンを使用しないこと *@
<FluentSelect @bind-Value="@selectedValue">
    <option value="1">One</option>
</FluentSelect>

6. FluentAutocomplete の詳細

  • 検索入力テキスト用に ValueText を使用 (Value ではなく — これは廃止予定)
  • OnOptionsSearch は必須のコールバックでオプションをフィルタリング
  • デフォルトは Multiple="true"
<FluentAutocomplete TOption="Person"
                    OnOptionsSearch="@OnSearch"
                    OptionText="@(p => p.FullName)"
                    @bind-SelectedOptions="@selectedPeople"
                    Label="Search people" />

@code {
    private void OnSearch(OptionsSearchEventArgs<Person> args)
    {
        args.Items = allPeople.Where(p =>
            p.FullName.Contains(args.Text, StringComparison.OrdinalIgnoreCase));
    }
}

7. ダイアログサービスパターン

<FluentDialog> タグの可視性を切り替えないでください。 サービスパターンは:

  1. IDialogContentComponent<TData> を実装するコンテンツコンポーネントを作成:
public partial class EditPersonDialog : IDialogContentComponent<Person>
{
    [Parameter] public Person Content { get; set; } = default!;

    [CascadingParameter] public FluentDialog Dialog { get; set; } = default!;

    private async Task SaveAsync()
    {
        await Dialog.CloseAsync(Content);
    }

    private async Task CancelAsync()
    {
        await Dialog.CancelAsync();
    }
}
  1. IDialogService 経由でダイアログを表示:
[Inject] private IDialogService DialogService { get; set; } = default!;

private async Task ShowEditDialog()
{
    var dialog = await DialogService.ShowDialogAsync<EditPersonDialog, Person>(
        person,
        new DialogParameters
        {
            Title = "Edit Person",
            PrimaryAction = "Save",
            SecondaryAction = "Cancel",
            Width = "500px",
            PreventDismissOnOverlayClick = true,
        });

    var result = await dialog.Result;
    if (!result.Cancelled)
    {
        var updatedPerson = result.Data as Person;
    }
}

便利なダイアログの場合:

await DialogService.ShowConfirmationAsync("Are you sure?", "Yes", "No");
await DialogService.ShowSuccessAsync("Done!");
await DialogService.ShowErrorAsync("Something went wrong.");

8. トースト通知

[Inject] private IToastService ToastService { get; set; } = default!;

ToastService.ShowSuccess("Item saved successfully");
ToastService.ShowError("Failed to save");
ToastService.ShowWarning("Check your input");
ToastService.ShowInfo("New update available");

FluentToastProvider のパラメータ: Position (デフォルト TopRight)、Timeout (デフォルト 7000ms)、MaxToastCount (デフォルト 4)。

9. デザイントークンとテーマはレンダリング後にのみ機能

デザイントークンは JS interop に依存しています。OnInitialized では設定しないでくださいOnAfterRenderAsync を使用してください。

<FluentDesignTheme Mode="DesignThemeModes.System"
                   OfficeColor="OfficeColor.Teams"
                   StorageName="mytheme" />

10. FluentEditForm vs EditForm

FluentEditFormFluentWizard ステップ内でのみ必要です (ステップごとの検証用)。通常のフォームの場合は、Fluent フォームコンポーネント付きの標準 EditForm を使用してください:

<EditForm Model="@model" OnValidSubmit="HandleSubmit">
    <DataAnnotationsValidator />
    <FluentTextField @bind-Value="@model.Name" Label="Name" Required />
    <FluentSelect Items="@options"
                  OptionText="@(o => o.Label)"
                  @bind-SelectedOption="@model.Category"
                  Label="Category" />
    <FluentValidationSummary />
    <FluentButton Type="ButtonType.Submit" Appearance="Appearance.Accent">Save</FluentButton>
</EditForm>

Fluent スタイリング用に標準 Blazor 検証コンポーネントの代わりに FluentValidationMessageFluentValidationSummary を使用してください。

リファレンスファイル

特定のトピックについて詳細なガイダンスについては、以下をご覧ください:

  • セットアップと設定
  • レイアウトとナビゲーション
  • データグリッド
  • テーマ

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

汎用デザイン・クリエイティブ⭐ リポ 1,739

nano-banana-2

inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」

by openakita
汎用デザイン・クリエイティブ⭐ リポ 815

octocode-slides

洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。

by bgauryy
汎用デザイン・クリエイティブ⭐ リポ 482

gpt-image2-ppt

OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。

by JuneYaooo
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 299

nano-banana

Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。

by majiayu000
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 299

oiloil-ui-ux-guide

モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。

by majiayu000
Anthropic Claudeデザイン・クリエイティブ⭐ リポ 299

axiom-hig-ref

Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。

by majiayu000
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT