From contract-generator
Syncs contract template changes by detecting drift in .docx placeholders (MISSING/UNMAPPED) and marking completed rows for regeneration. Invoke when a template has been updated.
How this skill is triggered — by the user, by Claude, or both
Slash command
/contract-generator:run-template-syncThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
ユーザーが「ひな形が変わった/テンプレートが更新された」と**明示した時のみ**発火する独立スキル。自社のひな形フォルダに置き換えられた `.docx` を `scan_template` で診断し、黄色run/プレースホルダの差分(MISSING=差込位置消失/UNMAPPED=新規プレースホルダ)を検知。`--apply` で `template-mapping.json`・台帳列の更新を促し、`completed` 行に**再生成フラグ**を立てて `未作成` へ差し戻す→次回 `run-contract-generate(--phase draft)` で作り直される。実体は `scripts/sync.py`(共有 `../../lib/scan_template.py` を使用)。
ユーザーが「ひな形が変わった/テンプレートが更新された」と明示した時のみ発火する独立スキル。自社のひな形フォルダに置き換えられた .docx を scan_template で診断し、黄色run/プレースホルダの差分(MISSING=差込位置消失/UNMAPPED=新規プレースホルダ)を検知。--apply で template-mapping.json・台帳列の更新を促し、completed 行に再生成フラグを立てて 未作成 へ差し戻す→次回 run-contract-generate(--phase draft) で作り直される。実体は scripts/sync.py(共有 ../../lib/scan_template.py を使用)。
ひな形差分検知と再生成フラグ付与(completed→未作成)まで。下書き生成は run-contract-generate、PDF確定は run-contract-finalize。作成意図(「契約書を作って」)では発火しない(誤発火防止のため独立スキル化)。
template-mapping.json)のみ更新対象。--apply 前は診断のみ(dry的)。再生成フラグ付与は明示 --apply で。固定手順は書かない。毎周「ゴール・目的/背景・チェックリスト」を読み最適手順を都度生成。詳細は run-build-skill
references/goal-seek-paradigm.md。
変更されたひな形と template-mapping.json の差分が解消(整合)し、影響する completed 行が再生成対象(未作成+再生成フラグ)に差し戻され、作り直しの準備が整っている状態。
ひな形は法務課により随時更新される。変更を「黙って壊れる」のでなく「検知して知らせ、作り直す」運用にする。作成意図と異質な発動条件のため独立スキルに分離し、自然言語「ひな形が変わった」で発火させ誤爆を防ぐ。
scan_template(個人/法人)で差分(MISSING/UNMAPPED)を診断できるtemplate-mapping.json に反映できるledger.HEADERS/ensure_schema)--apply で completed 行に再生成フラグを立て 未作成 へ差し戻せるscan_template が exit 0(整合)になる[ ] を特定 → 2. 手順を都度生成 → 3. 実行 → 4. 再評価し [x] 更新 → 全 [x] まで反復。規定周回で未達なら open_issues へ。ひな形差分解消を多周回す場合の周回状態とドリフト圧縮の配線。周回末に eval-log/run-template-sync-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-template-sync-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-template-sync
# → eval-log/run-template-sync-intermediate.jsonl の original_goal_hash 不変・required_keys 充足を検査
# 不整合は exit 2 で次周回を停止
各周回末に lib/feedback_loop.py の record_positive() / record_negative() を呼び、シグナルを eval-log/run-template-sync-feedback.jsonl に追記。次周回開始時に derive_next_directive("run-template-sync", round) を参照し、戻り値を merged_directive_for_next の先頭に prepend する。
正負シグナル定義表は prompts/R1-diagnose-and-resync.md の Layer 4.4 を正本(SSOT)とする(本 SKILL.md には再掲しない)。反映タイミング: 周回末 record_* → 次周回開始時 derive_next_directive → merged_directive に prepend。
scan_template --type {individual,corporate} が exit 0(整合)/5(drift)--apply 後、対象 completed 行が 未作成+再生成フラグ◯ になっている--dry-run で台帳書込を抑止可能scripts/sync.py(集約診断 + --apply 時の台帳差し戻し entrypoint) / $CLAUDE_PLUGIN_ROOT/lib/scan_template.py(個別ひな形の drift 判定)read_file_content(MCP)ではハイライト属性が取れない。黄色run確認は scan_template(標準ライブラリ docx_lib)で行う。template-mapping.json の anchor/conditionals の手修正が必要(run-contract-generate/references/template-change-runbook.md)。ひな形フォルダID/spreadsheet_id は google-config.json から注入。差込アンカーは run-contract-generate/references/template-mapping.json を正本参照。
run-contract-generate/references/template-change-runbook.md — ひな形変更時の手順run-contract-generate/references/template-mapping.json — 差込アンカー正本prompts/R1-diagnose-and-resync.md — ひな形差分診断・マッピング/台帳追従・再生成フラグ付与の責務単位7層プロンプト(SSOT正本)。../../agents/template-sync-agent.md は本プロンプトを参照する薄い実行アダプタ(本文を持たない)。lib/ ディレクトリ全体を参照。各ファイルは PEP723 風メタブロックで purpose を記載。scan_template.py(差分診断) / ledger.py(再生成フラグ付与・台帳列追加) / docx_lib.py(黄色 run 抽出)scripts/sync.py — エントリ(lib/scan_template.py を集約診断し、--apply 時は ledger へ completed 行の再生成フラグ書込。scan_template の等価 shim ではなく drift 時も exit 0)python3 scripts/sync.py --type all # 診断のみ(差分検知)
python3 scripts/sync.py --type all --apply # 差分解消後: 再生成フラグを立て未作成へ差し戻し
または自然言語で「契約書のひな形が変わりました」と伝える。
台帳への書込(effect=external-mutation)。SA鍵はKeychainのみ(hooks/hook-guard-secret.py が保護)。条文・法務承認済書式は改変しない。
npx claudepluginhub p/daishiman-contract-generator-plugins-contract-generatorGenerates 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.
Fills .docx templates for contracts and forms with structured data using docxtpl library and Jinja2 {{variables}}. Extracts schema via Python scripts, gathers data, handles missing fields by asking user, generates output .docx.
Makes bespoke edits to DOCX agreements using Safe Docx MCP tools for formatting-preserving, tracked-changes edits. Activates when user requests clause changes or custom modifications.