mcpField
A
add-concept

add-concept

github.com/plainlang開発8042 回インストール2 日前に更新
リポジトリ

add-concept について

`.plain` ファイルに概念定義を追加するスキルです。命名、重複、参照順序や循環を確認し、挿入形式とチェック項目を示します。

主な機能

  1. 01概念名の構文を検証
  2. 02インポートを含めて重複を確認
  3. 03参照する概念と定義順を確認
  4. 04循環定義を防止
  5. 05適切なセクションに定義を追加

活用シーン

  1. 01既存の `.plain` ファイルに概念を追加
  2. 02挿入前に定義内の参照を確認
  3. 03概念定義の重複や循環を回避

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/plainlang/plain-forge --skill add-concept

インストール後、Claude Code で/add-conceptを入力して読み込まれたか確認します。

詳細

概念を追加する

最初にルールを読み込んでください。 .plain ファイルを読んだり、編集したり、書き込んだりする前に、load-plain-reference スキルを呼び出し、そのスキルから案内されたルールファイルを読んでください。この会話ですでに load-plain-reference が実行されている場合に限り、この手順を省略できます。

ワークフロー

  1. 対象の .plain ファイルを特定します。 判断できない場合は、ユーザーに尋ねてください。
  2. ファイルを読み、 既存の定義、インポート、概念を把握します。
  3. 以下の構文ルールに照らして、概念名を検証します。
  4. 一意性を確認します — 概念名がファイル内またはインポート先にすでに存在していてはいけません。
  5. 参照先の概念を確認します — 定義内で使用されている :ConceptName: は、同じファイル内でその概念より前に定義されているか、import/requires を通じて定義されている必要があります。概念の参照が循環してはいけません(例:A が B を参照し、B が A を参照する)。
  6. 循環参照がないか確認します — 新しい概念が :B: を参照する場合、:B: が新しい概念を直接または間接的に参照していてはいけません。避けるべき循環定義の例:
    - :Order: is placed by :Customer: and contains :OrderItem: entries.
    - :Customer: is a user who has placed at least one :Order:.
    
    逆参照を削除して修正します:
    - :Customer: is a user of the system.
    - :Order: is placed by :Customer: and contains :OrderItem: entries.
    
  7. 概念を挿入します — 参照している概念の後にある ***definitions*** セクションに挿入します。
  8. ファイルをもう一度読み、 配置と構文が正しいことを確認します。

概念の構文ルール

  • コロンで囲みます::ConceptName:
  • 大文字で始まるキャメルケースにします
  • 使用できる文字:英字、数字、+、-、.、_
  • 仕様全体およびすべてのインポート先で一意でなければなりません
  • requires モジュールからエクスポートされる概念は推移しません — 先祖のエクスポートを参照するには、その先祖を requires に指定します。概念が複数のブランチで共有される場合は、共通のインポートモジュールで定義してください

定義の形式

概念の定義は、***definitions*** 内で概念名から始まる箇条書きです:

***definitions***

- :ConceptName: is a description of what it represents.

属性と制約は、入れ子の箇条書きにします:

***definitions***

- :Task: describes an activity that needs to be done by :User:. :Task: has:
  - Name - a short description (required)
  - Notes - additional details (optional)
  - Due Date - completion deadline (optional)

検証チェックリスト

  • 名前が :CamelCase: の表記になっている
  • 名前が全体で一意である(ファイル内やインポート先のほかの場所で定義されていない)
  • 定義が概念名から始まっている
  • 参照するすべての概念(:OtherConcept:)が上の位置ですでに定義されている
  • 概念間に循環参照がない
  • 説明が明確かつ簡潔で、言語に依存しない
  • concise-specs.md に従って簡潔にする:名前を言い換えず、理由を述べず、平易な一文にする
  • ***definitions*** セクション内に配置されている

コメント