Communitygithub.com

マスター契約生成ツール

1つのテンプレートとJSONスペックから、相手先マスター契約のレビュー用ドラフトを生成します。ロールに応じた条項と、実行済み契約に限定したスケジュールAワークフローを備えています。

マスター契約生成ツール とは?

このスキルは、テンプレートとJSONスペックを組み合わせて、相手先マスター契約のドラフトを生成するためのツールです。主にNDA、紹介料契約、非回避契約、マスターサービス契約などの枠組み契約を、多くの相手先と同条件で締結する場合に有用です。生成されるドラフトは必ず「DRAFT」とラベル付けされ、法的な完全性や契約締結権限を保証するものではありません。 スキルは、`{{PLACEHOLDER}}`形式のマークダウンテンプレートと、相手先ごとのJSONスペックを使用します。スペックには、契約相手の名称、法的名称、住所、署名者情報などが含まれ、ロール(buyer/supplier/mutual)に応じて条項が自動選択されます。また、Schedule A(取引明細)の行を管理するワークフローも提供し、実行済み契約の範囲内で新しい取引を追加する運用をサポートします。 対応プラットフォームはCLIベースで、Node.jsスクリプトによりpandocを使用してMarkdownからDOCXへの変換も行えます。変換時にテンプレートのプレースホルダーを埋め込み、署名ページの幾何学的配置を考慮したOpenXMLコードも含まれています。インポートパスのチェックや不正なファイル名の拒否など、基本的なセキュリティ対策も実装されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/master-agreement-generator

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

マスター契約生成ツール は何をしますか?

1つのマスターテンプレート、相手先ごとに1つの小さなスペック、1つのドラフトビルドステップ。 生成ツールは出力を常にDRAFTとラベル付けします。完成したテンプレートから生成されたドキュメントも同様です。変換の成功は、アーティファクト生成の成功を示すものであり、法的な完全性、契約締結の権限、送信または署名の準備ができていることを意味するものではありません。実行済み契約により、指定された機会を通知によって追加することが許可される場合があります。その権限は、スケジュールAワークフローを使用する前に確立されている必要があります。

使用する場合

  • フレームワーク契約(NDA、紹介料またはソーシング料、非回避、マスターサービス)を、同じ条件といくつかの相手先固有フィールドで、多くの相手先に発行する場合。
  • 取引が時間の経過とともに追加され、そのたびに契約を再作成することがボトルネックになっている場合。
  • ドキュメントが追跡可能なソースから再現可能であり、差分が取れ、手動編集がない必要がある場合。
  • 署名欄が自動化によって配置され、安定したページレイアウトが必要な場合。

仕組み

テンプレート

{{PLACEHOLDER}} フィールドを含む単一のマークダウンテンプレート。相手先固有の値はすべてプレースホルダーであり、それ以外は固定テキストです。スケルトンは references/master-template.example.md にあります。その汎用的な文を、弁護士承認済みの条項に置き換えてください。

リファレンススクリプトが埋めるプレースホルダー:

プレースホルダーソース
{{DATE}}spec.date、デフォルトは本日
{{CP_SHORT}}spec.short
{{CP_LEGAL}}、{{CP_JURIS}}、{{CP_ADDR}}spec フィールド。または、相手先が署名時に記入する場合は空白行
{{ROLE_CLAUSE}}、{{FEE_TITLE}}、{{FEE_CLAUSE}}ロールテーブルから spec.role によって選択
{{SCHEDULE_ROWS}}spec.schedule。または「署名時エントリなし」の行
{{SUPPLEMENT_CLAUSE}}spec.supplement。末尾のセパレータ付きでレンダリング、または空
{{CP_SIGBLOCK}}、{{CP_SIGNER}}、{{CP_TITLE}}、{{CP_EMAIL}}署名ブロックフィールド。不明な場合は空白

スペック

相手先ごとに1つのJSONファイル:

{
  "file": "AcmeSupplier",
  "short": "Acme",
  "role": "supplier",
  "legal": "Acme Compute Ltd",
  "juris": "England and Wales company",
  "addr": "1 Example Street, London",
  "signer": "A. Person",
  "title": "Director",
  "email": "[email protected]",
  "schedule": [["1", "2026-09-01", "Lot A (16 nodes)", "introducer", "12 months", "standard"]],
  "supplement": "the Data Processing Addendum dated 2026-09-01"
}

ドラフトには file、short、role のみが必要です。署名フィールドがない場合は、レビューと完了のために空白行としてレンダリングされます。references/spec.example.json を参照してください。

file は、AcmeSupplier や Acme Supplier のような空でないポータブルなファイル名である必要があり、ディレクトリコンポーネントを含んではいけません。ビルダーは、パス区切り文字、ドライブ/UNC 構文、制御文字、Windowsで予約されている句読点またはデバイス名、末尾のドットまたはスペースを拒否します。無効な名前は、出力を作成したり pandoc を呼び出したりする前に、サニタイズや名前変更を行うことなく拒否されます。

schedule を省略するか、[] を使用すると、「署名時エントリなし」のプレースホルダーが使用されます。指定されたスケジュールは、それ以外の場合は、6つのセルからなる配列の密な配列である必要があり、順序は次のとおりです: 番号、日付、保護された相手先またはロット、ロール、条件、手数料。各セルは有効なUnicode文字列または有限数である必要があります。意図的な空白には空文字列が許可されます。Null、ブール値、オブジェクト、ネストされたセル配列、欠落したセル、非有限数は、アーティファクトの書き込みや pandoc アクティビティの前に行/セルインデックスとともに拒否されます。ペアになっていないUTF-16サロゲートも、UTF-8出力中に置き換えられるのではなく拒否されます。絵文字などの有効な補助文字は引き続きサポートされます。

セルはプレーンテキストであり、マークダウンや HTML ではありません。ビルダーは構文文字をエンコードして、リテラルのパイプ、バックスラッシュ、バックティック、マークアップが元のフィールドに残るようにします。各 CRLF、単独の CR または LF はスペースになります。改行の前後のテキストは保持されます。その他の空白とリテラルの句読点は、レンダリングされたセルで保持されます。ソーススペックは変更されません。通常の有効なスケジュールは6つの列を保持します。不正な入力が空のスケジュールに静かに置き換えられることはありません。

ロールテーブル

spec.role は3つの文字列を選択します: 基本契約条項、手数料セクションのタイトル、および手数料条項の冒頭部分。

ロール支払い者条項の形状
buyer相手先が、紹介された取引相手との取引について支払う相手先が、私たちを非独占的に、ソーシングおよび紹介のために任命する
supplier相手先が、紹介された取引相手との取引について支払う。私たちがプリンシパルとして購入する場合、スケジュール条件で契約する相手先が、私たちおよび私たちが紹介する購入者にキャパシティを提供する
mutual相手の紹介でクローズした方が支払うどちらの当事者も紹介できる。クローズした当事者が手数料を支払う

未知のロールはビルド時に拒否されます。

ビルド

オペレーターレビュー済みのテンプレートとスペックのみを使用してください。Schedule A 以外の通常のテンプレート置換はマークアップ対応であり、信頼できないドキュメントに対するサニタイザーではありません。Pandoc は参照されたローカルまたはリモートのリソースを読み取ることができます。このジェネレーターは、コンバーターのファイルシステムまたはネットワークアクセスをサンドボックス化しません。それらの参照を確認し、適切に制限された環境で変換を実行してください。フォーカステストは合成コンバーターを使用しており、実際の DOCX レイアウトや分離を保証するものではありません。

node skills/master-agreement-generator/scripts/build-agreement.js \
  skills/master-agreement-generator/references/master-template.example.md \
  specs/AcmeSupplier.json \
  out/

スクリプトはプレースホルダーを埋め、スケジュールテーブルをレンダリングし、必須の DRAFT 通知付きで out/<file> MASTER.md を書き込みます。デフォルト(または --require-docx を使用)では、インストールされた pandoc が必要で、空でない通常の .docx アーティファクトを生成します。Pandoc がない場合、変換に失敗した場合、または出力がない/空の場合は、終了コード1を返します。各 pandoc プローブまたは変換は10秒に制限されています。不明、重複、または競合するフラグは終了コード2を返します。

--markdown-only を明示的に使用すると、マークダウンのみのドラフトが成功します。このモードでは pandoc をプローブまたは呼び出さず、ライブラリから docxSkipped: true を返し、e-sign ワークフロー用の DOCX を提供しません。ライブラリ呼び出し元は { markdownOnly: true } を渡す必要があります。{ pandoc: false } だけでは DOCX 要件に失敗します。結果は常に documentStatus: 'draft' を報告します。既存の生成済み DOCX は、そのマークダウンを再構築するときに削除され、変換に失敗した場合は部分的な DOCX が残らないため、以前のアーティファクトが現在の出力になりすますことはありません。両方の生成ファイルをバージョン管理から除外してください。テンプレートとスペックがソースです。

実行コピーモードはありません。この例には、意図的に未解決の角括弧で囲まれた起草指示が含まれています。{{PLACEHOLDER}} トークンを埋めても、それらの法的条項が完成するわけではありません。実行用ドキュメントを作成する前に、完成した条項、当事者の詳細、権限のある署名者、商業条件、正確なドキュメントバージョンについて、個別にレビューを取得してください。ドラフトとレビュー済みの実行コピーは、別個の記録として保存してください。DOCX 変換が成功しても、アップロード、送信、または署名が許可されるわけではありません。esign-field-placement 承認ワークフローを参照してください。

両方の出力先は、解決された出力ディレクトリの直接の子である必要があります。いずれかの出力先に既存のシンボリックリンク(壊れたリンクを含む)がある場合、DOCX 変換が無効になっている場合でも、いずれかのアーティファクトが書き込まれる前に拒否されます。通常の通常ファイルは再構築できます。制御下にある出力ディレクトリを使用してください。これらのチェックは、同時実行の悪意のあるファイルシステム変更に対する分離を提供しません。返されるアーティファクトパスは絶対パスです。

署名ページの幾何学的配置

テンプレートは、OpenXML の改ページで本文を終了し、互換性のある DOCX レンダラーで署名ブロックが新しいページを要求するようにします:

```{=openxml}
<w:p><w:r><w:br w:type="page"/></w:r></w:p>
```

署名ページの構造(当社ブロック、続いて相手先ブロック。それぞれに By、Name、Title、Email、Date が含まれます)は一貫していますが、ページネーションはテキスト、フォント、レンダラー、またはフォーマットによって変わることがあります。フィールドを配置する前に、実際のレビュー済みドキュメントとそのページ幾何学的配置を検査してください。esign-field-placement スキルを参照してください。

スケジュールA 追加ワークフロー

実行済み契約の実際の権限と通知要件を使用します:

  1. 機会の経済性と交渉戦略を内部の交渉/承認チャネルでレビューします。契約内容を送信する前に、コミットメントの承認を取得します。共有の相手先チャネルは内部チャネルではありません。
  2. 提案されたエントリ、ロール、条件、手数料、発効日が、契約の明示的なスケジュールA通知権限の範囲内であることを確認します。基本条件の変更、またはその権限外の変更には、該当する修正手続きが必要です。通知はそれ自体の例外を作成することはできません。
  3. 実行済み契約によって許可された受信者および通知チャネル向けの、承認済みで相手先固有の日付入り通知を作成します。有用なビジネスコンテンツを含めます: 保護された相手先またはロット、許可されたロール、商業条件、および該当する手数料。内部マージン、交渉戦略、他の当事者の経済性、システムトレース、生のエラー、内部ファイリング通知は除外します。
  4. 送信前に、オペレーターの承認のために正確な通知をファイルします。operator-approval-loop を参照してください。承認または参加権限がない間は、相手先チャネルで沈黙を守ってください。承認は、権限のある送信者が実際に通知を配信したという証拠とは区別されます。
  5. 実行済み契約の実際の要件に基づいて、権限のある配信の証拠、発効日、および異議を記録します。例示的な期間はデフォルトではありません。実行済みドキュメントは不変に保ちます。追跡されたスケジュールレコードを更新し、内部レビュー用にドラフトの統合ビューを再構築し、実行済みバージョンと承認された通知への参照を付けます。この再構築は、署名された契約を置き換えたり、法的効力を証明したりするものではありません。

例

通知文

例示的なドラフトにすぎません。これらの条件と日付は、実行済み契約がそれらを許可し、オペレーターがこの正確な受信者通知を承認した場合にのみ使用してください。

スケジュールA通知、2026-09-02
契約: 2026-08-14付の当社とAcmeとの間のマスター契約
エントリ2: ロットB、8ノード、リージョンEU-West
ロール: introducer
条件: 6ヶ月間、開始は遅くとも2026-10-01まで
手数料: standard
このエントリは本日発効します。ただし、お客様が相手先との事前関係を示す日付入りの書面による証拠をもって、10営業日以内に異議を申し立てる場合を除きます。

スペックへのエントリ追加

"schedule": [
  ["1", "2026-08-20", "Lot A (16 nodes)", "introducer", "12 months", "standard"],
  ["2", "2026-09-02", "Lot B (8 nodes, EU-West)", "introducer", "6 months", "standard"]
]

再構築し、ドラフトマークダウンの差分を確認し、統合ドラフトを、変更されていない実行済みドキュメントおよび通知証拠とともに内部記録に添付します。

相手先が署名時に自社の詳細を記入する場合

ドラフト作成時には、spec から legal、juris、addr、signer、title、email を省略して空白行をレンダリングします。個別にレビューされた実行ワークフローで、どの詳細を相手先が記入できるかを決定し、実際のフィールドを検証する必要があります。ジェネレーターは e-sign エンベロープを作成または承認しません。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

関連スキル