IID.systems
プロフィール事業紹介形式手法AIアライメントエッセイ書籍プログラミング教室GitHubEnglish
English
リファレンス

スキルリファレンス

Formal Agent Contractsプラグイン全15スキルの完全リファレンス。フォワードパイプライン(定義→検証→証明→生成→テスト+インポート/エクスポート)に加え、リバースパイプライン(既存コードから仕様をあぶり出す)も利用可能。

概要

スキル目的バージョン必須
define-contract自然言語 → VDM-SL仕様v2.0.0
verify-spec構文/型チェック + PO生成v2.0.0VDMJ
smt-verifyPO → SMT-LIB → Z3証明v0.2.0Z3
generate-codeVDM-SL → TypeScript/Pythonv0.4.0
generate-testsVDM-SL + 設計文書 → 契約テストv2.1.0Node.js + Vitest/Jest
generate-db-schemaVDM-SLの型・不変条件 → DBスキーマ(DDL)v2.1.0sqlite3 / PostgreSQL(任意)
route-models契約の複雑度 → モジュール別モデル層v1.0.0
integrated-workflow完全パイプラインの統合実行v2.1.0VDMJ(Z3はオプション)
formal-methods-guideVDM-SLリファレンス知識v0.1.0
import-natural-specMarkdown仕様 → VDM-SL(対話的)v1.0.0
export-human-specVDM-SL → 人間が読めるMarkdownv1.0.0

define

define-contract

v2.0.0

自然言語の要件を、ガイド付き対話を通じてVDM-SL形式仕様とPhase 2設計文書(PROTOCOL.md、API-SIGNATURES.md)に変換します。

トリガーフレーズ:

「エージェントの契約を定義して」「エージェント間のインターフェースを形式化して」「〇〇の契約を書いて」「〇〇の仕様が必要」

ワークフロー:

  1. エージェント情報の収集 — 名前、役割、入力、出力、関係性
  2. 型定義の生成 — 自然言語をVDM-SL型に変換
  3. 操作と契約の定義 — 質問を通じてpre/post/invを獲得
  4. VDM-SL仕様の生成 — 全定義を含む完全なモジュール
  5. レビューと反復 — ユーザー確認のため仕様を提示

出力:

.vdmsl 仕様ファイル + 設計文書(PROTOCOL.md、API-SIGNATURES.md)

組み込みテンプレート:

  • 変換エージェント — ステートレスな入出力変換
  • CRUDエージェント — 状態を持つ作成・読取・更新・削除
  • パイプラインエージェント — 逐次的なデータ処理ステージ
  • メディエーターエージェント — 複数サブエージェントの統合
  • バリデーションエージェント — 入力検証とサニタイズ
  • 設計文書テンプレート(v2.0.0) — Phase 2プロトコル・API設計文書
  • ハイブリッド判定エージェント(v2.0.0) — スコアベースの複合判定

verify

verify-spec

v2.0.0

VDM-SLファイルに対してVDMJの構文チェック、型チェック、証明責務(PO)生成を実行し、結果を平易な言語で説明します。設計文書(PROTOCOL.md、API-SIGNATURES.md)の完全性と仕様との一貫性チェックも実行します。

トリガーフレーズ:

「この仕様を検証して」「仕様のエラーをチェックして」「証明責務を生成して」「この.vdmslファイルを型チェックして」

ワークフロー:

  1. VDM-SLファイルの探索 — ワークスペース内の.vdmslファイルを検索
  2. 構文・型チェック — VDMJによるエラー報告
  3. 証明責務の生成 — VDMJ -pフラグで実行
  4. 解釈と説明 — 各POを平易な言語に翻訳
  5. POの分類 — 緊急度別にランク付け(重大/標準/情報)
  6. 次のステップを提案 — SMT検証への進行を提示

出力:

PO一覧(自然言語説明付き、緊急度別分類)

prove

smt-verify

v0.2.0

証明責務をSMT-LIB形式に変換し、Z3ソルバーで証明します。結果は証明済み・反例あり・不明のいずれかで報告されます。

トリガーフレーズ:

「POをZ3で証明して」「SMTでPOを検証して」「反例を探して」「これらの責務は証明可能か?」

ワークフロー:

  1. POの受け付け — verify-specの出力または直接入力から
  2. 型宣言の生成 — VDM-SL型をSMT-LIBソートに変換
  3. 補助定義の生成 — 不変条件、pre/postをdefine-funとして定義
  4. PO式の変換 — VDM-SLの論理式をSMT-LIBに変換
  5. 否定してcheck-sat — assert(not PO)で反射的検証
  6. Z3の実行 — 各.smt2ファイルにソルバーを実行
  7. 結果の解釈 — unsat=証明済み, sat=反例あり, unknown=タイムアウト

出力:

.smt2ファイルとPO別検証レポート

generate

generate-code

v0.4.0

VDM-SL仕様からTypeScriptまたはPythonの実装スキャフォールドを生成します。事前条件・事後条件・不変条件のランタイム契約チェック付き。

トリガーフレーズ:

「この仕様からコードを生成して」「TypeScriptに変換して」「Pythonコードを生成して」「実装を作って」

ワークフロー:

  1. VDM-SLファイルの読み込み — 仕様をパース
  2. 対象言語の確認 — TypeScript、Python、または両方
  3. 型の変換 — VDM-SL型を対象言語の型に変換
  4. 型定義の生成 — 不変条件付きのinterface/dataclass
  5. 契約コードの生成 — pre/post/invのバリデーション関数
  6. 操作スタブの生成 — 契約ラッパー付きの関数スキャフォールド
  7. ファイル出力 — generated/ディレクトリに保存

出力:

TypeScript (.ts) または Python (.py) ファイル(ランタイム契約付き)

test

generate-tests

v2.1.0

VDM-SL仕様と設計文書(PROTOCOL.md、API-SIGNATURES.md)からJest/Vitest互換の契約テストを自動生成します。型不変式・事前/事後条件・状態遷移・境界値をカバー。

トリガーフレーズ:

「仕様からテストを生成して」「契約テストを作って」「テストを自動生成して」「境界値テストを生成して」

ワークフロー:

  1. VDM-SL仕様と設計文書の読み込み — 不変式、契約、プロトコル規則をカタログ化
  2. 型不変式テストの生成
  3. 事前/事後条件テストの生成
  4. 設計文書からプロトコルテストを生成: メッセージ型・ペイロード整合性と状態遷移(PROTOCOL.md)、APIシグネチャ(API-SIGNATURES.md)
  5. 境界値テストの生成
  6. テストファイルの出力 — Jest/Vitest互換

出力:

Jest/Vitest契約テストファイル

schema

generate-db-schema

v2.1.0

VDM-SLの型・不変条件から、番号付きの写像規則(R1〜R18)でDBスキーマ(DDL)を導出します。自由作文ではなく規則の適用。忠実に写せない箇所は DEVIATIONS(retrenchment表、例:nat→BIGINT、遷移規則)に記録し、各不変条件の担保箇所を TRACEABILITY 対照表に写します。

トリガーフレーズ:

「仕様からDBスキーマを生成して」「テーブル設計をして」「不変条件をDB制約に変換して」「データモデルを設計して」

ワークフロー:

  1. 仕様の解析 — 永続化対象を特定:record型、quote型、state定義、不変条件、atomic操作
  2. 対象DBMS(PostgreSQL/MySQL/SQLite)と命名規約の確認
  3. 写像規則 R1〜R18 の適用:record→テーブル、map state→キー付きテーブル、quote型→ENUM/CHECK、不変条件→CHECK/UNIQUE/FK/トリガー、atomic→トランザクション境界
  4. DEVIATIONS.md(retrenchment表)の生成 — 各乖離に具体的な補償手段(トリガー / アプリ層契約チェック / 契約テスト)を割り当て
  5. TRACEABILITY.md の生成 — 全不変条件・操作契約を担保箇所に対応付け。担保箇所なしは許容しない
  6. DDLの検証(SQLite/psql/Dockerでの実行確認)と網羅性チェック

出力:

schema.sql(DDL)+ DEVIATIONS.md + TRACEABILITY.md

routing

route-models

v1.0.0

VDM-SL契約の客観的な複雑度シグナル(陰仕様・不変条件・限量子・再帰・モジュール間依存・PO件数)からモジュールごとにスコアを算出し、最適なモデル層(light / standard / heavy)を割り振る。機械可読な model-routing.json と根拠つきの MODEL-ROUTING.md を生成し、generate-code / generate-tests がモジュール単位のサブエージェント実行で参照する。検証に2回失敗したモジュールは自動で1層エスカレーションし、品質は検証ゲートが保証する。

トリガーフレーズ:

「モデルを割り振って」「モジュールごとに軽量モデルを使いたい」「トークン消費を抑えたい」"route models per module"

ワークフロー:

  1. 仕様を読み込み、module 単位に分割
  2. モジュールごとに複雑度シグナルを収集(verify-spec の PO レポートがあれば併用)
  3. スコアリング規則で層を割り当て(型定義のみ→light、陰仕様あり→light 禁止のファストパス付き)
  4. 提案テーブルをユーザーに提示し、行単位の上書きを受け付け
  5. model-routing.json(仕様の隣)と MODEL-ROUTING.md を出力

出力:

model-routing.json(層→モデル対応つき・機械可読) + MODEL-ROUTING.md(根拠・削減見込み)

workflow

integrated-workflow

v2.1.0

完全なパイプライン(定義→検証→証明→生成→テスト)を単一のガイド付きセッションで実行します。エラー回復とセッションレポート付き。

トリガーフレーズ:

「完全ワークフローを実行して」「エンドツーエンドで開発して」「エージェントを定義してコード生成まで」「〇〇の完全パイプライン」

ワークフロー:

  1. セッション設定 — エージェント名、開始点、対象言語、SMTの有無
  2. Phase 1: 定義 — define-contractでVDM-SL生成
  3. Phase 2: 検証 — verify-specで構文/型/POチェック
  4. Phase 3: 証明(オプション) — smt-verifyでZ3証明
  5. Phase 4: 生成 — generate-codeでTS/Pythonスキャフォールド
  6. Phase 5: テスト — generate-testsで契約テストを生成・実行
  7. セッションレポート — 全フェーズの包括的サマリー

出力:

完全なエージェント: .vdmsl + 生成コード + テスト + セッションレポート

guide

formal-methods-guide

v0.1.0

VDM-SLの構文、型システム、全38種類の証明責務に関するリファレンス知識を提供します。他のスキルの背景知識として機能します。

トリガーフレーズ:

「VDM-SLの構文を説明して」「事前条件とは?」「このPOの意味は?」「型について教えて」

ワークフロー:

  1. 概念の特定 — ユーザーの質問をリファレンス資料に照合
  2. 説明の提供 — VDM-SLの例付きで平易な言語で解説
  3. 文脈へのリンク — ユーザーの現在の仕様と関連付け

出力:

コード例付きの平易な説明

import

import-natural-spec

v1.0.0

Markdown要件文書を読み込み、対話的にVDM-SLに変換します。曖昧性(曖昧な数量詞、欠落したエラーケース、暗黙の制約、境界条件)を検出し、構造化された対話で解消します。

トリガーフレーズ:

「Markdownから仕様をインポートして」「要件をVDM-SLに変換して」「この要件文書を形式化して」「この仕様をVDM-SLにして」

ワークフロー:

  1. MD文書の読み込みとパース — 構造、見出し、リスト、テーブルを識別
  2. 要件の分類 — 各項目を型、制約、操作、ルールに分類
  3. 曖昧性の検出 — 曖昧な数量詞、未定義の用語、欠落したエラーケース、境界条件
  4. 対話的解消 — 優先度順に曖昧性を提示し、対話で解決
  5. VDM-SLの生成 — [REQ-nnn]トレーサビリティ付きタグ付き仕様を生成
  6. ギャップ分析 — 前方/後方/完全性チェック
  7. パイプラインへの接続 — 次のステップとしてverify-specまたはrefine-specを推奨

出力:

要件トレーサビリティ付き .vdmsl 仕様ファイル

export

export-human-spec

v1.0.0

VDM-SLから構造化された自然言語仕様書(Markdown)を生成します。型は「何が存在するか」に、事前条件は「前提条件」に、事後条件は「保証」に変換されます。ドメインエキスパートや非技術者向けに設計されています。

トリガーフレーズ:

「VDM-SLからドキュメントを生成して」「読みやすい仕様書を作って」「ステークホルダーレビュー用に仕様をエクスポートして」「VDM-SLを自然言語に変換して」

ワークフロー:

  1. VDM-SL仕様の読み込み — 型、状態、操作、不変条件をカタログ化
  2. 出力設定の確認 — 対象読者、言語、形式、詳細度
  3. 各構造の翻訳 — 型→定義、pre→前提条件、post→保証
  4. 文書の構造化 — 概要、用語集、データモデル、操作、ビジネスルール
  5. 品質チェック — 完全性、忠実性、可読性、一貫性
  6. 保存と提示 — Markdownとして出力、次のステップを提案

出力:

構造化されたMarkdown仕様書

リバースパイプライン

NEW

既存コードベースから仕様をあぶり出す逆方向のパイプライン。reverse-workflowスキルが統合実行:

既存コード → 仮仕様抽出 → 対話的磨き上げ → コード照合・修正 → (フォワードパイプラインに接続可能)
スキルバージョン目的
extract-specv1.1.0既存コードから仮のVDM-SL仕様を抽出。[PROVISIONAL]タグ付きで、対話の叩き台として提示
refine-specv1.2.0仮仕様を叩き台にユーザーと対話し、真の仕様をあぶり出す。差異を「発見事項(Finding)」として記録
reconcile-codev1.3.0確定仕様と既存コードを項目ごとに照合。差分レポート・コード修正案・テスト自動生成
reverse-workflowv1.4.0抽出→磨き上げ→照合の全パイプラインを統合実行。フォワードパイプラインとの接続も可能

スキルパイプライン

スキルは独立して使用可能ですが、一緒にチェーンするよう設計。integrated-workflowスキルがこのパイプラインを自動化: v2.0.0新機能: Phase 2設計文書(PROTOCOL.md / API-SIGNATURES.md)の生成と、generate-testsによる契約テスト自動生成。

import-natural-specMD → VDM-SLdefine-contract.vdmslverify-specPO群smt-verify証明generate-codeTS / Pythongenerate-tests契約テストexport-human-specVDM-SL → 読みやすいMD