Home / All Skills / Workflow & Core Tools / local-conversation-history
Workflow & Core Tools · daymade/claude-code-skills

local-conversation-history

Entry point for local AI conversation history across providers. Routes a request to the one skill that owns it, by platform (Claude Code, OpenAI Codex, Kimi CLI) and action (read evidence vs continue interrupted work), and owns the one job none of them own alone: a single inventory spanning all three providers. Use when the provider is unknown or plural ("our history", "what have I been working on", "which chats did I have"), when the user wants Kimi CLI history at all, when it is unclear whether they need evidence or resumption, or when they ask for this skill by name. Vague recall that names no platform ("we discussed this once, when was it?") belongs here rather than to a single-provider reader, because a Claude-only answer to an unscoped question cannot support an absence claim. When the platform and the action are both already clear, load that executor skill directly instead — except Kimi CLI, which has no reader or continuation skill of its own and always routes through here.

L2 Local · Restricted workspaceV1 Commit-PinnedWrite FileDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1385License MIT(仓库根 LICENSE:Copyright (c) 2025 daymade;GitHub API spdx MIT)Commit d5c4678cb5
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

It is an intentionally narrow router: it only decides 'which skill to run' and does not perform any provider parsing itself, hold single-provider commands, or reimplement existing executor capabilities; if you find yourself discussing specific vendor flags, you are in the wrong skill.

daymade-claude-code/local-conversation-history/SKILL.md
This skill decides **which** skill runs. It does not parse history itself, does not own commands for a single provider, and never re-implements what an executor already does.
Routing table: Claude Code → read-claude-code-history / continue-claude-code-work; Codex → read-codex-history / continue-codex-work; Kimi CLI → reuses the Kimi scope of read-claude-code-history (Kimi has no dedicated reader/continuation skill).

Determine two things before routing: the platform (Claude Code / Codex / Kimi) and the action (read evidence / resume work); guessing is prohibited when the platform is unstated — use the verified identity returned in the order of read-claude-code-history exact lookup → read-codex-history rollout localization; superficial prefix resemblance does not count.

daymade-claude-code/local-conversation-history/SKILL.md
Only a lookup that returns a verified identity decides which continuation skill runs; a plausible-looking ID prefix does not.
Continuation must follow read: routing directly to a continue skill without a verified receipt is explicitly defined as a defect.

Provider scope is its exclusive responsibility: cross-provider requirements are split across two axes using different flags — inventory ('what was I working on recently') uses --source all/--source kimi; content search ('did we discuss X') appends --codex and --kimi to the Claude search; all other flags (--all-projects/dates/--include-archived...) are delegated entirely to the executor.

daymade-claude-code/local-conversation-history/SKILL.md
Both readers ship the same inventory command and its `--source` already defaults to `all` — but each reader's own task table pins it to that reader's provider (`--source claude`, `--source codex`), so the default never fires on its own.
Kimi routes into read-claude-code-history on both axes — it documents its own Kimi home resolution.

Intent determines routing, not the word 'history': list requests → inventory; finding sessions containing specific content → search; raw chronologically ordered input → verbatim-input path; resuming an identified session → continuation (read first).

daymade-claude-code/local-conversation-history/SKILL.md
The requested output wins over the background motivation.
A title match is not evidence of content existence; a list is not a search.

Invariants that persist across routes: Completeness (the Claude inventory source set is indivisible: auto-discovered homes + archives registered in ~/.claude/history-sources.json; a missing archive is a configuration error, not permission for a partial answer); self-match exclusion (the current session will hit queries about itself; exclude it before using it as historical evidence); zero results ≠ non-existence.

daymade-claude-code/local-conversation-history/SKILL.md
- **Self-match.** The current session records the user's question and this agent's own commands, so it matches almost any query about itself. Exclude the current session ID before treating a hit as historical evidence.
These invariants continue to govern the interpretation of executor output after routing.

Boundary discipline is written as a 'Do not' list: do not run provider parsing/SQLite/rg/jq/JSONL pipelines within this skill; do not duplicate executor flags (except the three scope flags: --source/--codex/--kimi); do not route to a continuation skill to answer questions about the past (reading is evidence; continuation alters state).

daymade-claude-code/local-conversation-history/SKILL.md
- Do not run provider-specific parsing, SQLite, `rg`, `jq`, or JSONL pipelines here.
'Routing straight to continuation alters state' serves as its final guardrail against misuse (treating historical questions as continuation tasks).

2Core Capabilities

01Routing across three platforms (Claude Code/Codex/Kimi CLI) × dual actions (read/continue)
02Identification workflow when platform is unstated (exact lookup → rollout localization → verified identity before routing)
03Scope naming for cross-provider inventory (--source all / kimi) and content search (appending --codex/--kimi)
04Intent-to-route mapping (list/search/verbatim window/continuation)
05Three invariants: completeness, self-match exclusion, and zero results

3External Dependencies

KindDependency / Endpoint
skillread-claude-code-history(含 Kimi scope、inventory、search)
skillread-codex-history(rollout 定位/inventory/search)
skillcontinue-claude-code-work / continue-codex-work(续接执行器)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Restrict working directory
For Administrators
Retain operation logs
Evidence & Triggers (File Paths & Excerpts)
  • 本地工作目录: File read/write and artifact output: (None — the router itself does not write; executor and continuation skills act according to their own authorized permissions)
Audit Notes: Pure SKILL.md routing orchestration: zero scripts, zero network access, zero credential file reading, zero custom writes; behavior = routing requests to read-only local history executors within the same repository (read-claude-code-history/read-codex-history), or chaining into continuation skills afterward. Caveat: it exposes the read surface across three local conversation stores (privacy-sensitive, and self-matching against the current session must be excluded); the Kimi scope also reuses the Claude reader.

5Second-Pass Verification

  • [ok] 无脚本/无网络/无凭证/无写入 — 目录仅 SKILL.md,内容无任何命令执行或文件动作
  • [ok] 被路由技能全部真实存在 — read-claude-code-history / read-codex-history / continue-claude-code-work / continue-codex-work 均在 daymade-claude-code/ 下(git ls-files 核实)
  • [ok] scope 旗标边界一致 — 文中仅 --source/--codex/--kimi 被本技能持有,其余 flag 明确‘Let the executor own every flag’
  • [ok] Kimi 无专属技能的路由说法属实 — 仓库无 read-kimi-history/continue-kimi-work;Kimi 行确实路由到 read-claude-code-history + Kimi scope
  • [ok] 意图映射无矛盾 — 列表→inventory、找内容→search、verbatim→reader 的 verbatim 路径、续接→read 后 continue——表格与正文一致

6Verdict & Scenarios

  • Implements cross-provider routing as an independent skill with explicitly scoped responsibilities, preventing individual provider readers from bloating into monolithic tools
  • Requires verified identity for platform identification, preventing session ID prefix guesswork
  • Enforces three invariants (source set completeness / self-match exclusion / zero results ≠ non-existence) to prevent classic errors like 'claiming absence upon not finding' and 'treating current context as history'
  • Closing the loop on the Kimi gap (reusing the Claude reader scope) ensures complete coverage across all three providers
  • Best for: Suitable for recall-type questions where the platform is unspecified or plural, such as 'what have I been doing recently / which chat did I mention X in / was that discussed in Claude or Codex?', and fits well as a unified entry point for the local history subsystem referenced by other skills/entry points.
    Not for: Not suitable for single-provider requests where both platform and action are already clear (bypass the router and call the executor directly); not suitable for resumptions outside of Kimi (Kimi has no continuation skill); not suitable for scenarios requiring this skill to parse, search, or write files itself — it strictly routes.
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload local-conversation-history.tar.gz
    sha256: 5ed0cb7338547d20…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.