semantic-generationlisted
Install: claude install-skill inakaegg/agent-kit
# Semantic Generation
対象が曖昧なまま語を先に置き、その語を土台に推論することを防ぐ。
対応表を先に独立提出し、本文をその写しとして作る。
着想元: <https://x.com/u1/status/2078414824917156228> の投稿。本Skillはその考え方を自前の運用��順へ落としたもの。
## 作業開始前
[語より先に指示対象を固定する規律](references/referent-before-label.md)を必ず読み、
対象文書に該当するか判定する。判断できない場合は該当扱いにする。
次のいずれかに該当する作業へ適用する。
1. 設計資料、要求からの設計、調査報告、原因切り分け案、対策案を書く。
2. 公開仕様、状態名、条件名、事象名、値や記録の型名、メソッド名、boolean名を決める。
3. ユーザーが与えた推論順序を短い作業ラベルへ要約する。
## 対応表を本文より先に保存する
本文を1文字も書く前に、対応表を独立ファイルとして保存する。
- 作業ディレクトリの `referent-table-<slug>.md` へ保存する。
- 成果物が `output/` 配下なら同じディレクトリへ保存する。
- 保存後に `shasum -a 256 <path>` でsha256を記録する。
- 完成文書の先頭へ表を置くだけで済ませない。
次の列順を変更しない。
| 出典 | 目的 | 具体対象 | 役割 | 前後関係 | 候補語 | 初出定義 |
|---|---|---|---|---|---|---|
- 候補語を右端に置き、具体対象と役割が埋まるまで候補語欄を空欄にする。
- 役割を `開始条件 / 状態 / 事象 / 値 / 記録 / 目的 / 手段` から選ぶ。
- 同一語が複数の役割を指す場合は行を分ける。
- 前後関係にはユーザーが与えた推論順序を原文の語で書き、役割と混ぜない。
- 表を通常1〜6行に制限する。超える場合は意味が変わる境界で分割する。
- 候補語列を隠しても、具体対象列だけで意味が通ることを確認する。
## 候補語を決める
- ユーザーの用語と確立した用語を優先する。
- 新語を導入する場合は、初出定義欄へ「Xとは〜を指す」と書く。
- 定義できない語を導入せず、具体対象の記述を本文でそのまま使う。
## 本文を作る
- 対応表に載った語だけを本文の中心語彙にする。
- 日本語文、設計要素、コード識別子で同じ対応を保つ。
- 開始条件、事象、状態など役割が異なるものへ別の名前を付ける。
- 骨組み、見出し、結論に、目的・対象・判断を省いた抽象的な作業ラベルを使わない。
- 使おうとする句の指示対象を表へ書けない場合は、その句を捨てて具体文で書く。
## 手順を外した場合
- 対応表を出さずに本文を書き始めた場合は、本文を破棄する。
- 後付けで表を追記せず、対応表を独立提出してから本文を再生成する。
- 対応表の役割や指示対象を取り違えた場合は、該当行を直してから本文を再生成する。
- Skillを読み込めない環境では、最低6列
(`出典 / 目的 / 具体対象 / 役割 / 前後関係 / 候補語`) の対応表を先に保存する。
検証用の試験入力や期待回答をこのSkillへ記載しない。試験は独立したfixtureで管理する。
誤用語リストではなく、その文書自身が宣言した対応表と照合する。