Communitygithub.com

luci-efe/skills

機能、リファクタリング、デザインが未定義または競合するアプローチがある場合に使用します。データ構造、セキュリティ境界、公開インターフェース、または複数ファイルに影響する作業のコードを書く前に使用します。軽微な修正には使用しません。

skills とは?

このスキルは、設計上の決定が不十分または競合する場合に、コードを書く前に構造化された意思決定プロセスを提供します。 まず、コード自体から事実を抽出し、質問する前にそれらを確認します。次に「ラダー」に従い、既存のコード、標準ライブラリ、依存関係の再利用を優先し、最小限の新しいコードのみを提案します。 その後、スコープ、データ不変条件、障害モード、セキュリティ、検証の5つの軸で設計を評価し、未解決の項目についてのみ人間に質問します(最大3問)。すべてが解決すれば、決定を `.ramos/decisions/` に記録し、コーディングを開始します。 このスキルは、Claude CodeやCodexなどのAIエージェントと人間のコラボレーションにおいて、設計上の曖昧さを減らし、合意を文書化し、不要なコード作成を防ぐために設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/luci-efe/skills/tree/HEAD/skills/crucible

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

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

ドキュメント

/crucible

まず読み、最後に質問してください。人間はコードが答えられないことだけに答えます。

ステップ1: 読む(まだ質問しない)

コードが既に決定している事実を path:line 形式で書き出してください。後続の質問はすべて、これらの事実が答えられなかったものでなければなりません。

ステップ2: ラダー(新しいものを提案する前)

要求された変更の各部分について、最初の「はい」で止まります。

  1. スキップまたは削除できますか? 要件が既に満たされているか、不要ですか? → その旨を述べる。
  2. リポジトリに既に存在しますか? 既存のヘルパー、コンポーネント、またはパターン → 再利用する(path:line を引用)。
  3. 標準ライブラリまたは既存の依存関係にありますか? → それを使う。
  4. その場合のみ: 推測的なオプションや抽象化なしに、最小限の新しいコード。

ステップ3: 五つの軸

各軸について、確定(コードまたは要求を引用)または未解決とマークします。

  1. スコープ: 含まれるもの、および明示的に含まれないもの。
  2. データと状態の不変条件: 常に真でなければならないこと。マイグレーションは?
  3. 障害モード: 不正な入力、タイムアウト、部分的な障害、リトライで何が起こるか。
  4. セキュリティと信頼の境界: 誰が、どのデータでこれを呼び出せ、検証はどこにあるか。
  5. 検証の証明: 完了したことを証明するチェック(/proof に渡す)。

ステップ4: 未解決のものだけを質問する

  • 軸が未解決で、その答えが設計を変更しますか? → 質問する。バッチあたり最大3問。各質問には推奨する回答とそのトレードオフを含め、人間が「はい」と言えるようにします。
  • 未解決だが影響が小さいですか? → 決定し、assumed として記録します。
  • すべて確定していますか? → 何も質問しない。ステップ5に進みます。
  • 真のアーキテクチャ上の分岐があり、他のモデルの見解を聞く価値がありますか? → この記録を成果物として /council に送信します。

ステップ5: 記録

.ramos/decisions/<topic>.md を書きます。

# <topic> (<date>)
## 事実(コードから)        - … (path:line)
## ラダーの結果           - Xの再利用 / Yの標準ライブラリ / Zの新規 (理由)
## 軸                     | 軸 | 確定/想定/回答済み | 決定 | ソース |
## スコープ外             - …
## 証明                    - /proof が実行する正確なコマンド

完了条件

すべての軸が確定、想定、または回答済みであり、記録が存在し、証明コマンドが指定されていること。未回答の設計変更質問がある場合 → 停止し、人間に blocked を報告する。コーディングを開始しないでください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル