search について
searchは、Entireのチェックポイント、コミット、セッションや、複数リポジトリのコードを検索するエージェントスキルです。Entireへのログインが必要で、対話型画面を開かないようJSON出力を使います。
主な機能
- 01チェックポイント、コミット、セッションの検索
- 02複数リポジトリのコード検索
- 03フィルターによる結果の絞り込み
- 04該当チェックポイント情報の確認
- 05Entireへのログインが必要
活用シーン
- 01トピックに関する過去の作業を検索
- 02アクセス可能なリポジトリからコードを特定
- 03該当チェックポイントの関連情報を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ entireio/ skills --skill searchインストール後、Claude Code で/searchを入力して読み込まれたか確認します。
詳細
チェックポイントとコードを検索する
entire search を使用すると、ハイブリッド検索(セマンティック検索+キーワード検索)で過去のチェックポイント、コミット、セッションを検索できます。また、entire search --code を使用すると、リポジトリ全体のコードを検索できます。entire login が必要です。entire search はインタラクティブな TUI を開くため、--json を指定せずに実行しないでください。
実行環境(必須)
macOS では、entire はローカルのシークレットストアから認証情報を読み取りますが、Codex サンドボックス内からはアクセスできません。このスキルで使用するすべての entire コマンドは、最初の試行時からサンドボックスの外で実行してください。Codex では、ユーザーのローカル Entire 認証情報にアクセスする必要がある旨を簡潔に説明し、シェルツールを sandbox_permissions: "require_escalated" で呼び出してください。これは entire search と entire checkpoint explain の両方に適用されます。
サンドボックス内で entire コマンドを先に試してはいけません。また、サンドボックスによる認証エラーを、ユーザーがログインする必要がある根拠として扱ってはいけません。認証が必要だと報告するのは、サンドボックスの外での実行時に認証が必要であると示された場合に限ります。
回答形式
このスキルの呼び出しに対する最初の回答は、次の行で始めてください。
Entire Search:
その後に空行を入れ、本文を続けてください。
- ヘッダーを付けるのは、呼び出しの最初の回答のみです。同じ呼び出し内の追加のやり取り(たとえば、ユーザーが確認の質問に答えた後)では、再度表示しないでください。
- エラーや早期終了時の回答(「Entire CLI がインストールされていません」「認証が必要です」「一致する結果がありません」など)には、ヘッダーを付けないでください。ヘッダーの有無によって、スキルが実行され、有効な結果が得られたことを示します。
使用する場面
- 「以前にこれをやったことはありますか?」「過去の作業を検索して」「以前の実装を見つけて」「X に関するチェックポイントを探して」などの依頼があった場合
- 別のブランチ、リポジトリ、作成者、または最近の期間から過去のコンテキストが必要な場合
- 有力な一致候補を見つけてから、最適な候補のトランスクリプトを詳しく確認する場合
- アクセス可能な他のリポジトリからコードを検索したい場合(例:「X はどこに実装されていますか?」「他のリポジトリで Y の使用箇所を見つけて」)。コード検索(
--code)を使用してください。
現在のアクティブなセッションには使用しないでください。その場合は session-handoff を使用してください。現在の作業コピー内のファイルを検索する場合は、コード検索よりもローカルツール(grep、ripgrep)を優先してください。
プロセス
- コンパクトな JSON 出力で、対象を絞って検索します。
entire search "<query>" --json --compact --limit 5
各コンパクトな検索結果には、id、type(checkpoint、commit、session、repo、pr)、repo、branch、author、date、省略された title、一致した snippet、filesTouched、関連度を示す score が含まれます。プロンプト全体は含まれません。結果は関連度順に表示されます。最初の 5 件に適切な結果がない場合にのみ、--limit(1 ページあたりの件数)を増やすか、--page(1 から始まるページ番号)を追加してください。
CLI が --compact を不明なフラグとして拒否した場合(0.10.0 より前のバージョン)、このフラグを外し、--limit 5 はそのままにしてください。--compact を指定しない場合、各検索結果にはプロンプト全体が含まれるため、デフォルトのページでも数十 KB になることがあります。
ユーザーがすでに条件を指定している場合や、最初の検索範囲が広すぎる場合は、フィルターを追加します。
entire search "<query>" --json --compact --limit 5 --repo owner/name --branch branch-name --author "Name" --date week
--repoには複数のリポジトリを指定できます。繰り返すか、カンマで区切ってください(--repo a --repo b、--repo a,b)- クエリ内のインラインフィルターも使用できます:
author:<name>、date:<week|month>、branch:<name>、repo:<owner/name>、repo:* - デフォルトでは、現在のリポジトリが検索されます。アクセス可能なすべてのリポジトリを検索するには、
--all-reposを渡すか、クエリ文字列内にrepo:*と記述するか、--repo '*'(引用符付き)を渡してください。--repo repo:*は無効です。インラインのトークンをフラグの値に指定することはできません。
-
上位の検索結果を確認し、候補になりそうなものをユーザーに要約して伝えます。ユーザーから求められない限り、生の JSON をそのまま出力しないでください。検索結果の
title、snippet、filesTouchedだけですでに質問に答えられる場合は、直接回答してください。詳細を求められた場合や上位の検索結果が曖昧な場合を除き、explainは実行しないでください。checkpoint と commit の検索結果を優先してください。session の検索結果は、同じ checkpoint を投影したものです。 -
検索結果を詳しく調べるには、その
id(checkpoint ID または commit SHA。自動判定されます)を渡します。
entire checkpoint explain <id> --no-pager
--fullを追加すると、checkpoint のセッション記録全体を取得できます。--fullが失敗した場合は、--raw-transcriptに切り替えてください。- 別の GitHub リポジトリにある checkpoint の検索結果では、
--repo <owner/name>を追加してください。検索結果にある完全な checkpointidと、プッシュ済みの checkpoint が必要です。フラグが不明と表示された場合(0.10.0 より前のバージョン)、または explain で何も見つからなかった場合は、再試行せず、コンパクトなフィールドをもとに回答してください。 - 現在のブランチにある session の検索結果の場合は、
entire checkpoint explain --session <id>で関連付けます。このコマンドは、そのセッションの checkpoint を一覧表示します。その中の 1 つを explain してください。 - repo と pr の検索結果、および別のリポジトリまたはブランチの session や commit は explain できません。コンパクトなフィールドだけをもとに要約してください。
コード検索
checkpoint ではなく、コードの内容を検索するには --code を追加します。
entire search "<query>" --code --json
フラグを使って検索範囲を指定し、絞り込みます。
entire search "<query>" --code --json --repo owner/name --limit 20 --case-sensitive
- デフォルトでは、現在のリポジトリが検索対象です。ユーザーがアクセスできるすべてのリポジトリを検索するには
--all-repos(またはrepo:*)を追加し、リポジトリを指定するには--repoを使います。 --case-sensitiveは--codeと併用する場合にのみ適用されます。- コード検索における
--limitは、ページあたりではなく、結果の総数を指定します。 --author、--branch、--date、--page、--compactは checkpoint 検索用のオプションです。--codeと組み合わせないでください。- 検索結果は、一致したスニペットを含むファイルパスとして提示してください。求められない限り、生の JSON をそのまま出力しないでください。
コード検索のヒューリスティック
- 自然言語の説明ではなく、関数名、エラー文字列、設定キーなど、特徴的なトークンを検索します。
- 部分的な単語よりも、正確な識別子を優先してください。識別子の大文字・小文字が重要な場合(例:
HttpClientとhttpclient)は、--case-sensitiveを追加します。 - ユーザーがリポジトリを指定した場合は
--repoで範囲を絞ります。コードが別のリポジトリにある可能性がある場合は、最初に--all-reposを指定します。それ以外の場合は現在のリポジトリから検索し、何も見つからなければ--all-reposで検索範囲を広げます。 - クエリの範囲が広すぎる場合は、
--limitを増やす前に、特徴的な用語をもう 1 つ追加するか、検索条件をより具体的にします。 - コード検索が失敗した場合や、一部の範囲がスキップされたと報告された場合は、検索結果が不完全なものとして扱います。ローカルにチェックアウトしたリポジトリを ripgrep/grep で検索するか、そのコードに触れた過去の作業を checkpoint 検索で調べてください。
検索時のヒューリスティック
- ユーザーのドメイン用語、機能名、エラーテキスト、ファイル名、チケット ID から検索を始めます
--limitを増やす前に、検索範囲を絞ります- リポジトリの範囲が重要な場合は、
--repoまたはrepo:*を明示的に追加します - 回答が現在のリポジトリ以外にある可能性がある場合(インフラストラクチャやデプロイのリポジトリ、スタック内の別のサービス、フリート全体に関わる変更など)は、検索結果が空になるのを待たずに
--all-reposに切り替えます - 有用な検索結果がない場合は、次の順に検索範囲を広げます:ブランチフィルターを外す、日付範囲を広げる、クエリの用語を簡略化する、
--all-reposを追加する
失敗時の対処
- 検索で認証が必要と表示された場合は、ユーザーに
entire loginの実行を案内します - 検索で「このリポジトリはまだ検索できません」と表示された場合、そのリポジトリはインデックス化されていないか、所有者がセマンティック検索を有効にしていません。再試行するのではなく、その旨を伝えます
- 一致する結果がない場合は、そのことを明確に伝え、試したフィルターやクエリ用語にも触れます
- ユーザーが現在のセッションを本当に求めている場合は、チェックポイントを検索するのではなく
session-handoffに切り替えます