syncfusion-dotnet-calculate について
Syncfusion dotnet Calculate の数式解析・評価を行う C# サンプルを生成するスキルです。ライブラリ利用者向けに、参照資料に沿ってコードを作成し、ファイル変更前に同意を求めます。
主な機能
- 01数式解析・評価のサンプル
- 02カスタム関数登録のサンプル
- 03CalcEngine と CalcQuickBase の案内
- 04参照資料に限定したコード生成
- 05ファイル変更前の同意確認
活用シーン
- 01数式計算のサンプル作成
- 02カスタム数式関数の追加
- 03セル参照を使った計算の統合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ document-sdk-skills --skill syncfusion-dotnet-calculateインストール後、Claude Code で/syncfusion-dotnet-calculateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/calcengine.mdcalcquickbase.mdcustomfunction.mdgetting-started.mdicalcdata.mdnamedranges.mdoperators.mdoverview.mdparse-compute.mdperformance.mdxlsio.md詳細
Syncfusion dotnet Calculate
概要
Syncfusion dotnet Calculate を使用して数式を解析し、評価します。式の解析、依存関係の解決、計算値の実行時評価など、インタラクティブな数式計算機能を実現する C# コードを生成します。
クイックスタートの例
例 1
ユーザー:「CalcEngine を使って数式を解析し、計算する方法を教えてください」
**結果:**数式を解析して計算する C# コードを生成します
例 2
ユーザー:「2 つの文字列を比較するカスタム数式を計算コントロールに追加してください」
**結果:**カスタム関数を作成する C# コードを生成します
ユーザーのプロジェクト用に C# コードを生成する(デフォルト)
トリガーとなるキーワード:「code」、「snippet」、「how to write」、「Program.cs」、「show me」、「sample」、「example code」、「generate code for」、「NuGet」、「add to project」、「integrate」、「implementation」、「usage example」、「API example」、「compute formula」、「evaluate expression」、「calculate result」、「parse formula」、「register variable」、「cross-sheet formula」、「use CalcQuickBase」、「use CalcEngine」、「use ICalcData」、「compute with cell references」、「auto calc」、「refresh calculations」、「reset keys」、「format result」、「region settings」、「custom function」、「user-defined formula」、「register function」、「LibraryFunctions」、「ExcelLikeComputations」、「iterative calculation」、「suspend calculations」、「supported formulas」、「list formulas」、「ParseAndCompute」、「parseAndComputeFormula」。
ステップ 1 — ユーザーのリクエストを分析する
- ユーザーのリクエストを読み、機能に関するキーワードを抽出します。
- 関連する reference/*.md ファイルがある場合は、それらのみをコード生成の信頼できる情報源として使用します。
- 該当する reference ファイルがない場合は、references/getting-started.md のサンプルを使用してコードを生成します。
ステップ 2 — 同意と出力先の確認(ファイル操作の前に必ず確認すること)
何かを生成または書き込む前に、ユーザーに次の内容を尋ねます。
I'm ready to generate your Syncfusion Calculate sample.
Where should I place it?
1) Create a new Form file in the skill's "output" folder (recommended for quick tryout)
2) Add or modify an existing file in your project (please provide the full file path; choose append or replace)
3) Say "Just show me the code" to get the snippet here without modifying any files.
ルール
- ユーザーが選択肢を選ぶか、「コードだけを表示してください」と言うまで、処理を進めないでください。
- ユーザーがファイルの変更を拒否した場合:
- C# コードのみをチャットに表示します
- ファイルの作成や変更は行いません
- **オプション 2 のみ:**コードを生成する前に、プロジェクトが
references/getting-started.mdの前提条件(前提条件とセットアップ要件のセクション)を満たしているか確認します。不足している場合は、ユーザーの同意を得て追加します。
ステップ 3 — コードを生成する(参照情報のみを使用する厳格なルール)
- Calculate の作成には、必ず getting-started.md の「Minimal code」セクションにあるサンプルコードの構造を基本テンプレートとして使用します。
- references/*.md(例:getting-started.md、Xlsio.md)に記載されている API をそのまま使用します。
- API を作り出したり、動作を推測したりしないでください。
- 機能がどの参照ファイルにも記載されていない場合は、利用できないことをユーザーに伝えます。
ステップ 4 — 変更を適用する(同意を得た後のみ)
オプション A — スキルのフォルダーに新しいファイルを作成する
-
スキルのルートに
output/フォルダーを作成します(まだ存在しない場合)。 -
デフォルトのファイル名:
CalculateSample.cs -
ファイルがすでに存在する場合は、次のように尋ねます。 「
CalculateSample.csという名前のファイルがすでに存在します。上書き、追記、または別の名前を使用しますか?」 -
書き込みを行う前に、ユーザーの選択を待ちます。
-
生成した C# コードを書き込みます。
オプション B — ユーザーのプロジェクト内のファイルを変更する
- 次のように尋ねます。 「どのファイルを変更しますか?完全なファイルパスを指定してください(例:D:\Project\program.cs)」
- 明確な確認を待ちます。
- ユーザーがパスを指定せずに「2」(オプション番号)のみを返信した場合は、もう一度尋ねます。
- ファイルパスを推測したり、推定したりしないでください。
- 確認後、依頼された変更を適用します(上書きまたは追記)。
オプション C — コードのみを表示する
- 生成した C# コードをチャットに表示します。
- ファイルの作成や変更は行わないでください。
コードリファレンス
すべてのテンプレートと機能のスニペットは references/*.md にあります。各ファイルには、サンプルの生成時にエージェントが組み合わせる、特定の用途に絞ったスニペットが含まれています。
フロー:まず、必ず references/getting-started.md(前提条件とセットアップ要件のセクション)から始め、該当する機能のスニペットを組み合わせます。機能キーワードが一致しない場合は、基本的なサンプルのみを返します。
| ファイル | 内容 |
|---|---|
| getting-started.md | 前提条件、NuGet パッケージのセットアップ、Program.cs の構成、CalcQuickBase と ICalcData の最小限のコード例、シート間参照、カルチャ設定、クイックリファレンステーブル |
| calcquickbase.md | ParseAndCompute メソッド、角括弧表記を使用した変数の登録、式と組み込み数式の計算、自動再計算を行う AutoCalc、RefreshAllCalculations、ResetKeys メソッド、主要なプロパティとメソッド、インデクサーベースのアクセス |
| icalcdata.md | ICalcData インターフェイスの実装、SetValueRowCol/GetValueRowCol メソッド、WireParentObject メソッド、ValueChanged イベント、完全な実装例、CalcEngine との統合、シート間参照、データグリッドとの統合 |
| calcengine.md | ParseFormula メソッド、ComputeFormula メソッド、ParseAndComputeFormula メソッド、RegisterGridAsSheet と CreateSheetFamilyID を使用したシート間参照、地域/カルチャ設定(ParseDecimalSeparator、ParseArgumentSeparator)、エラー文字列、カテゴリ別のサポート対象組み込み数式 |
| customfunction.md | LibraryFunction デリゲート、カスタム関数の作成、CalcEngine への登録、例(CustomMin、CustomMax、ApplyDiscount、CalculateGrade、CompoundInterest)、RemoveFunction メソッド、ライブラリ関数の管理、エラー処理、ベストプラクティス |
| xlsio.md | XlsIO との統合、ExcelEngine の初期化、シート計算の有効化/無効化(EnableSheetCalculations/DisableSheetCalculations)、実行時の値の設定と計算、一括更新中の計算の一時停止(CalculatingSuspended)、CalculatedValue プロパティ、テーブル数式、完全なワークフロー、エラー処理 |
| overview.md | カテゴリ全体で 400 種類以上の定義済み関数、サポート対象の環境とプラットフォーム、非 UI コンポーネントアーキテクチャ、サポート対象の数式タイプ、関数カテゴリのリファレンス、一般的なユースケース、XlsIO との統合 |
| parse-compute.md | ParseFormula メソッドと RPN 変換、スタックベースの評価を行う ComputeFormula メソッド、ParseAndComputeFormula による統合アプローチ、演算子の優先順位と解析順序、エラー処理とエラー文字列、計算結果の書式設定(小数、パーセンテージ、通貨)、パフォーマンスの最適化 |
| operators.md | 数式演算子とその優先順位、計算でサポートされる演算子 |
| namedranges.md | 複雑な数式を簡潔にする名前付き範囲のサポート |
| performance.md | パフォーマンス最適化の手法とベストプラクティス |
ルール
-
リファレンススニペットのみを使用する
- コードは
references/配下の Markdown ファイルのみから生成します references/*.mdに存在しないプロパティ、イベント、API メソッド、コンポーネント名、パラメーターを創作・推測・含めてはいけません
- コードは
-
許可なくファイルを変更しない
- ユーザーが明示的に選択し、確認した場合を除き、ユーザーのワークスペースにファイルやフォルダーを作成または変更してはいけません
-
未サポート機能の取り扱い
- ユーザーが
references/*.mdに対応するスニペットがない機能を求めた場合は、次の文を返します:That feature is not currently supported by the Syncfusion Calculate Library. - 最も近いサポート対象機能を提案するのは、その機能のスニペットがある場合に限ります
- 未サポートの項目を明示的に列挙し、コードを合成してはいけません
- ユーザーが
-
書き込み前の検証
- 書き込む前に、すべてのコードブロックが
references/*.mdファイルに由来することを再検証します - 検証に失敗した場合は、処理を中止してユーザーに伝えます
- 書き込む前に、すべてのコードブロックが