← ClaudeAtlas

ctx-history-searchlisted

過去の相談者セッション(直前の続きを読む・設計判断や議論の経緯を確認する・直近/今日何を作業したかの振り返り)を ctx で検索する。対象は運用しているリポのうち相談者セッションが動くものすべて。「さっきの続きをやりたい」「これ前に決めたはず」「今日/直近何をしたか」を確認したいときに使う。git log は commit された変更点しか分からないので、議論の経緯や作業内容の粒度が要る要約はこちらを優先する。
yktsnet/dotfiles-public · ★ 1 · Testing & QA · score 68
Install: claude install-skill yktsnet/dotfiles-public
対象は運用しているリポの相談者セッションのみ。`issue()` 起動の実行者セッションは `<repo>.wt/<slug>` という別ディレクトリ名(`-wt-` を含む)で動いており対象外。 `--workspace` フィルタでこれを除外する。 ## 最頻出のケース: 直前の続きを読む 新しい会話で「さっきの続きをやりたいから読んで」と言われたときの主用途。検索クエリを考える必要はなく、 このリポで一番新しいセッションを直接引く。 ```sh ctx sql "SELECT ctx_session_id, source_path, MAX(occurred_at_ms) as last_ts FROM ctx_events WHERE source_path LIKE '%<repo-name>/%' GROUP BY source_path ORDER BY last_ts DESC LIMIT 1" --format table ``` - `<repo-name>` は今動いているリポ名。末尾スラッシュで `-wt-`(実行者セッション)を除外する - 出てきた `ctx_session_id` を `ctx show session <id> --mode full` で読む。継続作業の把握には `--mode lite`(最終応答のみ)より `--mode full`(全メッセージ)の方が安全 - `ctx search` は検索クエリが必須(空では実行できない)なので、この「ただ一番新しいのを読みたい」用途には使えない。SQLで直接引くのが正しい経路 ## トピック検索(「前にこれ決めたはず」) ```sh ctx search "<query>" --workspace "<repo-name>/" --since 14d ``` - `<repo-name>` は今動いているリポ名。**絶対パスではなくリポ名のみ**を渡す - `--workspace` は Claude Code のプロジェクトディレクトリ名(`~/.claude/projects/-Users-<user>-<repo-name>/...` のようなハイフン区切り形式)への部分一致で判定される。絶対パス(`/Users/<user>/<repo-name>/`)を渡すと0件になる(実データで検証済み) - 末尾スラッシュを付けることで `<repo-name>-wt-15-.../`(実行者セッション)を部分一致から除外する(実データで検証済み: `--workspace "<repo-name>/"` は `-wt-` セッションを含まない) - 既定は直近14日。結果が薄い場合のみ `--since 30d` 等に広げてよい ## 既知の制約 - `ctx_sessions.cwd` 列はほぼ全件 NULL(import元がClaude Codeのjsonl treeの場合、cwdは記録されない)。ワークスペース判定は `cwd` ではなく `--workspace` フィルタ(内部的にはプロジェクトディレクトリ名への部分一致)に依存すること ## セッション本文を読む ```sh ctx show session <ctx-session-id> --mode lite ``` 詳細が要る場合のみ `--mode full`(メッセージ全体)や `--mode lo