From contract-generator
Generates draft consignment contracts from a Google Sheets ledger by filling .docx templates, creating Google Docs with yellow placeholders, sending Slack notifications, and updating the ledger status.
How this skill is triggered — by the user, by Claude, or both
Slash command
/contract-generator:run-contract-generateThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
管理台帳(Google Sheets)の「作成指示◯ かつ 未作成」行ごとに、契約タイプ(個人/法人)に応じた Drive 上の `.docx` ひな形を差込・条項分岐し、**AI記入箇所を黄色化した Google Docs 版(下書き・要確認)** を個人/法人フォルダへ保存→**Slackに通知**→台帳を `draft` 化(ファイル名/契約書URL/Slack TS/日時)。承認後の提出用PDFは `run-contract-finalize` が担う(責務分離)。実体は共有エンジン `../../lib/engine.py --phase draft`。法務承認済の条文は改変しない。概念は `references/concept.md`、差込仕様は `references/injection-mapping.md`、設定は plugin直下 `README.md`。
prompts/R1-select-and-fill.mdreferences/README-setup.mdreferences/concept.mdreferences/google-config.sample.jsonreferences/injection-mapping.mdreferences/legal-knowledge-index.mdreferences/party_a-readme.mdreferences/resource-map.yamlreferences/settings-hardening.jsonreferences/template-change-runbook.mdreferences/template-mapping.jsonscripts/draft.py管理台帳(Google Sheets)の「作成指示◯ かつ 未作成」行ごとに、契約タイプ(個人/法人)に応じた Drive 上の .docx ひな形を差込・条項分岐し、AI記入箇所を黄色化した Google Docs 版(下書き・要確認) を個人/法人フォルダへ保存→Slackに通知→台帳を draft 化(ファイル名/契約書URL/Slack TS/日時)。承認後の提出用PDFは run-contract-finalize が担う(責務分離)。実体は共有エンジン ../../lib/engine.py --phase draft。法務承認済の条文は改変しない。概念は references/concept.md、差込仕様は references/injection-mapping.md、設定は plugin直下 README.md。
下書き生成(Docs黄色版)+法人別紙1-3生成+Slack通知+台帳draft化まで。承認検知・PDF確定・共有は run-contract-finalize、ひな形変更追従は run-template-sync に分離。7専門家による法的レビュー/Notion連携/Markdown副系は対象外。後方互換: --phase 未指定で従来の1パス(Docs+PDF即時)も可。
.docx の条文本文は変更しない。黄色プレースホルダ(●/XXXX/第6条記の空欄)のみ差込む。lib/config_auth.load_party_a() から取得(台帳/Drive/直書きより lib/config_auth が優先)。台帳に甲列を作らない。具体値は config_auth に集約。個人/法人 2シート。列構成・ひな形・出力フォルダを分ける(法人①は成果物/検収を別紙委譲・署名欄に代表者)。gdrive-service-account.<keychain-prefix> / contract-generate/service-account-json)。環境依存IDは google-config.json(gitignore)。乙住所/代表者/口座は機微情報、台帳・出力フォルダの共有を最小化。completed 行は既定スキップ。references/README-setup.md(GCP有効化・SA作成・Keychain登録コマンド・フォルダ共有・config記入)。固定手順は書かない。毎周「ゴール・目的/背景・チェックリスト」を読み、その時点で最適な手順を AI が生成・実行する。詳細は run-build-skill
references/goal-seek-paradigm.md。重い周回は SubAgent に fork し親へは要約のみ返す。
管理台帳の作成指示◯行が、個人/法人それぞれのひな形から**黄色維持 Google Docs 版(下書き・要確認)**として該当フォルダに生成され、Slack通知のうえ台帳へ ファイル名・契約書URL・Slack_メッセージTS・ステータス=draft・日時が書き戻された状態。黄色除去 PDF 化・ステータス=completed 書戻しは run-contract-finalize の責務(本スキルの draft 停止条件には含めない)。後方互換の1パス(legacy)モード(--phase 未指定で Docs+PDF即時・completed)を明示利用した場合のみ PDF/completed まで一括する。
1人事業の契約書作成負荷を機構に肩代わりさせ本業(AIコンサル)へ時間を再配分する。法務承認済 .docx ひな形と都度変わりうる台帳を単一の照合エンジンで結び、二重管理とレイアウト崩れを排除する。
google-config.json と Keychain 鍵を読み込み Service Account で認証できる(python3 $CLAUDE_PLUGIN_ROOT/lib/config_auth.py --check。セットアップ全体は python3 $CLAUDE_PLUGIN_ROOT/lib/setup_doctor.py で横断診断)個人/法人 2シートが存在し各スキーマのヘッダを持つ(無ければ整備・既存サンプル行は保持)_PHASE_STATUS_FILTER。後方互換の legacy 1パスのみ ステータス≠completed).docx を名前パターンで取得できる{No}_{乙名}_業務委託契約書_{YYYYMMDD} で生成される●/XXXX)が残っていないdraft/作成・更新日時 を書き戻せる(draft の停止条件はここまで)completed を書き戻せる ※既定の draft 経路では run-contract-finalize の責務であり本チェックは対象外[ ] を特定 → 2. 手順を都度生成(固定化禁止)→ 3. 実行 → 4. チェックリスト再評価し [x] 更新 → 全 [x] まで反復。規定周回(3)で未達なら open_issues に差し戻す。量産案件(複数行)を多周回す場合の周回状態とドリフト圧縮の配線。周回末に eval-log/run-contract-generate-intermediate.jsonl へ {iteration, original_goal, current_goal_snapshot, delta_from_original, merged_directive_for_next, drift_signal} を1行追記する。original_goal は全周回で不変(SHA-256 を eval-log/run-contract-generate-progress.json の original_goal_hash に固定し毎周回照合)。次周回の手順生成は直前の merged_directive_for_next と original_goal を必須入力として読む(AI 単独再導出禁止)。重い周回は Skill(run-goal-seek) に fork 委譲する。
python3 "$CLAUDE_PLUGIN_ROOT/lib/check_intermediate.py" run-contract-generate
# → eval-log/run-contract-generate-intermediate.jsonl の original_goal_hash 不変・required_keys 充足を検査
# 不整合は exit 2 で次周回を停止
各周回末に lib/feedback_loop.py の record_positive() / record_negative() を呼び、シグナルを eval-log/run-contract-generate-feedback.jsonl に追記。次周回開始時に derive_next_directive("run-contract-generate", round) を参照し、戻り値を merged_directive_for_next の先頭に prepend する(過去周回の負シグナルを次手順に必ず反映)。
正負シグナルの定義(positive/negative の各シグナルと検出元)は、責務単位 7 層プロンプト
prompts/R1-select-and-fill.md§4.4「正負フィードバックループ」を**正本(SSOT)**とする。本スキルは重複定義せず同表を参照する。
反映タイミング: 周回末 record_* → 次周回開始時 derive_next_directive → merged_directive に prepend。
口座番号=7桁半角数字 / 口座種類∈{普通,当座}契約開始日<契約終了日 かつ両者 YYYY/MM/DD金額=半角整数(差込時 100,000円 へ整形)●/XXXX)残存なし$CLAUDE_PLUGIN_ROOT/lib/validate.py(差込前)+ $CLAUDE_PLUGIN_ROOT/lib/docx_fill.py 末尾の残存チェック(差込後)read_file_content 系ではハイライト属性を取得できない。差込アンカーは $CLAUDE_PLUGIN_ROOT/lib/docx_fill.py が run.font.highlight_color==WD_COLOR_INDEX.YELLOW を機械抽出して特定する。export(application/pdf) で生成する(LibreOffice 不要)。--dry-run で台帳書込・Drive保存を抑止して検証可能。契約タイプ(個人/法人) / ひな形DocID(個人②/法人①) / 台帳シート名 / 出力フォルダID を google-config.json と台帳から注入。具体値は本文に直書きせず config と台帳に置く。
references/README-setup.md — スキル内部参照用の技術要約(CI/pre-commit配線・template-mapping二重定義注意)。セットアップ手順の正本は plugin直下 README.md(Task 0-14)lib/setup_doctor.py — セットアップ総合診断(cwd/Python/gcloud/env/Keychain/config/Drive/Sheets/Slack を横断点検し未完了 Task を名指し)references/concept.md — 概念設計(参考スキル継承/転換・概念図)references/injection-mapping.md — 個人/法人の台帳列⇄ひな形プレースホルダ差込マッピングreferences/legal-knowledge-index.md — 法令ナレッジ(参考スキル references/00-11)索引references/google-config.sample.json — google-config.json のひな形prompts/R1-select-and-fill.md — 行選択・差込・欠損補完の責務単位7層プロンプト(SSOT正本)。../../agents/contract-draft-agent.md は本プロンプトを参照する薄い実行アダプタ(本文を持たない)。lib/ ディレクトリ全体を参照。各ファイルは PEP723 風メタブロックで purpose を記載。engine.py(--phase draft 委譲先) / docx_fill.py(黄色 run 差込) / scan_template.py(差込アンカー抽出) / validate.py(差込前検証) / config_auth.py(SSOT 甲情報)scripts/draft.py — 薄い shim(lib/engine.py --phase draft への委譲のみ)本Skillは外部書込(Drive/Sheets, effect=external-mutation)を伴うため二段防御を実装済み:
hooks/hook-guard-secret.py(PreToolUse/Bash, plugin.json 配線済)が SA 鍵の平文出力経路(廃止済 --print-unsafe 含む再導入防御)・誤削除(delete-generic-password)をブロック。keychain_get_secret.py は CLAUDE_HOOK_INVOKED=1 必須化で直接呼び出しを exit 2 で拒否。references/settings-hardening.json の permissions.deny を .claude/settings.json にマージすると鍵流出系コマンドを拒否。google-config.json の許可ID(台帳/個人・法人フォルダ)に限定(config_auth.load_config が必須キー検証)、鍵は Keychain のみ・平文保存禁止、--dry-run で副作用抑止、ensure_schema は非破壊追記。npx claudepluginhub p/daishiman-contract-generator-plugins-contract-generator業務委託契約書をSlack承認後にPDF発行・確定したいとき、承認(✅/OK)をポーリング検知してPDF生成・共有したいときに使う。
Drafts and fills professional services agreement templates (consulting contracts, SOWs) from Common Paper and Bonterms standard forms into signable DOCX files.
审查与起草中文合同,输出可执行风险清单、起草骨架、修改建议及DOCX批注修订版。适用于合同审查、起草场景,支持飞书等IM交付文件。