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.
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.
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.
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.
Only a lookup that returns a verified identity decides which continuation skill runs; a plausible-looking ID prefix does not.
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.
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.
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).
The requested output wins over the background motivation.
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.
- **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.
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).
- Do not run provider-specific parsing, SQLite, `rg`, `jq`, or JSONL pipelines here.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| skill | read-claude-code-history(含 Kimi scope、inventory、search) |
| skill | read-codex-history(rollout 定位/inventory/search) |
| skill | continue-claude-code-work / continue-codex-work(续接执行器) |
4Recommended Governance & Evidence
- 本地工作目录: File read/write and artifact output: (None — the router itself does not write; executor and continuation skills act according to their own authorized permissions)
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
5ed0cb7338547d20…