원클릭으로
dry-check
関数を新規定義・変更したときに使用。同等ロジックを手書きしている重複箇所を検出する。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
関数を新規定義・変更したときに使用。同等ロジックを手書きしている重複箇所を検出する。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | dry-check |
| description | 関数を新規定義・変更したときに使用。同等ロジックを手書きしている重複箇所を検出する。 |
| argument-hint | [関数名と主要操作, 例: 'show_main_and_emit: show() + set_focus() + emit(window-shown)'] |
| allowed-tools | ["Read","Grep","Glob"] |
$ARGUMENTS に関連する DRY 違反を検査する。 $ARGUMENTS が空の場合は、会話の直近の変更内容から対象を推定する。
関数を作ることと、既存コード全体にその関数を適用することは別の作業。関数より前に手書きされた重複コードは、関数が内包する振る舞い(例: emit() 呼び出し)を欠いたまま残りやすい。
$ARGUMENTS から以下を抽出する:
例:
関数: show_main_and_emit
主要操作:
- .show()
- .set_focus()
- emit("window-shown")
$ARGUMENTS に操作が明示されていない場合は、先に関数本体を読む。
コードベース全体で各操作を個別に検索する。 関数自身の内部のマッチは除外する。
以下の条件を満たす呼び出し箇所を候補とする:
各候補について十分なコンテキストを読んで理解する。
候補: <file>:<line> — <説明>
現状: <手動で行っている処理>
欠落: <関数が追加する処理のうち手動版にないもの>
判定: [置換] <関数呼び出し> に置き換える
[維持] 理由: <置換が不適切な理由>
根拠の規律: 全判定に根拠(file:line または grep 結果)を付ける。コードを確認せずに下した判定は [置換]/[維持] とせず [要確認] として報告する。
全候補を判定と根拠付きで列挙する。 違反が見つからなかった場合: 「手書き重複は見つかりませんでした。」(Step 2 で実行した grep パターンを添える)
workspace/plan.md の完成後、実装着手前に使用。計画の影響範囲・不変条件・スコープの漏れを検証する。
GitHub issue から作業を開始するときに使用。実装の前段階(ブランチ作成・調査・計画・計画レビュー)までを行う。
コード変更を伴うタスク(機能追加・バグ修正・リファクタリング)の実装時に使用。実装からコミット作成まで自律的に行う(計画が要る変更は /start-issue へ)。
大きなサイクル完了後や定期メンテナンス時に使用。governance:check(決定的検査)を実行し、機械化できない意味的整合(コマンド直書き grep・npm ラッパー等価・メモリ整合)を検証して報告する(修正はしない)。
開発サイクル完了時(実装・レビュー・追加修正まで済んだ後)に使用。教訓の抽出・残タスクの振り分け・RETROSPECTIVE.md 更新を行う。
UI モード・状態遷移・ガード条件の追加・変更時、または計画レビュー時に使用。既存モードとの直交性・リセット経路・入力分岐・SPEC §8.6 整合を検証する。