CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

read-codex-history

Reads, searches and exports local OpenAI Codex history without continuing work: session inventory, timelines, verbatim user input, indexed search, and rollout identity/fork lineage. Use when the user asks what they told Codex, wants a Session ID, or evidence of what a run did. Not for Claude Code (use read-claude-code-history); with no platform named, start at local-conversation-history.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

81%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-validated operational skill: every route has executable commands, explicit error-recovery loops, and a result contract, with a real one-level-deep reference bundle. The main costs are token weight — repeated guardrails and long inline measured-detail sections (runtime SQL, FTS tokenizer data) that could be tightened or moved to reference files.

Suggestions

Deduplicate the repeated guardrails (zero-row/miss-is-not-absence, no raw corpus scan, exclude-current-session) into the single Guardrails section and reference it from the route sections, trimming roughly 30–50 lines of repetition.

Move the FTS tokenizer measurements and per-index constraint details into a dedicated reference file (e.g., references/fts_lookup.md), keeping only the trigger conditions, the executable query, and the link in the body.

Collect dated/time-sensitive measurements ("Pitfalls measured 2026-10-03", measured row counts and timings) into a clearly labeled measurements section or reference file so they can drift without polluting the core instructions.

DimensionReasoningScore

Conciseness

The body never explains concepts Claude already knows and is dense with domain-specific constraints, but it is ~450 lines with noticeable repetition: the zero-row/miss-is-not-absence and no-raw-corpus-scan guardrails each appear in 3+ sections, and the FTS section carries long measured-statistic prose (e.g., the 闭 vs 闭门 row-count proof). Dated measurements ("Pitfalls measured 2026-10-03") are time-sensitive content placed outside any deprecated/notes section. This fits the mostly-efficient-but-could-be-tightened anchor: more over-explanation than the minor instances of a 4, but domain-specific rather than the padded known-concept explanations of a 2.

3 / 5

Actionability

Every route ships a copy-paste-ready command with full flags (e.g., "read_codex_session.py --session <ID> --tools --contains '<literal clue>' --format json") plus executable SQL blocks and enumerated expected-output fields (identity, records_examined, matched_records, truncated: false). Specific examples cover the common cases exactly as the top anchor requires.

5 / 5

Workflow Clarity

Multi-step processes are explicitly numbered with validation checkpoints and feedback loops: "Treat recent_rows < total as truncation; ... Raise the bounded limit or narrow the cwd/time window", "on ambiguity, show the returned candidates and ask for a longer prefix", "validate every newer candidate; an unreadable ... candidate leaves the affected latest claim unknown", and a 5-item Read-result contract checklist. The skill is read-only, so the destructive-operation cap does not apply, and error-recovery loops are pervasive.

5 / 5

Progressive Disclosure

Six substantive reference files (60–297 lines each) are all real, referenced exactly one level deep, and clearly signaled with read-when conditions ("Read [references/storage_and_portability.md] ... when inventory reports unsupported, missing or ambiguous storage"); all referenced scripts exist. It is not 5 because the main file is not a lean overview — heavy detail is inlined that belongs in references (the ~40-line FTS tokenizer constraint section with measured data, the runtime-log SQL pitfall section, and the 5-step termination-evidence chain), which is more than the minor organization gaps of the 4 anchor but stops short of the should-be-separate-is-inline-with-unclear-signaling pattern of a 3.

4 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person, specific, and comprehensive on both what and when, with explicit boundary routing against the closest competing skills. The only weakness is trigger-term breadth — a few natural synonyms (conversation, transcript, logs) are absent.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — "session inventory, timelines, verbatim user input, indexed search, and rollout identity/fork lineage" — under the concrete governing actions "Reads, searches and exports local OpenAI Codex history", comprehensively covering the skill's routes. It is not 4 because there are no minor gaps: the capability list maps one-to-one onto the skill's actual surfaces and outputs, matching the comprehensive anchor.

5 / 5

Completeness

Both halves are explicit: the "what" ("Reads, searches and exports local OpenAI Codex history without continuing work: session inventory, timelines, verbatim user input...") and the "when" with concrete trigger phrases ("Use when the user asks what they told Codex, wants a Session ID, or evidence of what a run did"). It exceeds the 4 anchor because the when-clause lists specific trigger situations rather than a generic "Use when working with...".

5 / 5

Trigger Term Quality

"Use when the user asks what they told Codex, wants a Session ID, or evidence of what a run did" provides natural phrases users would actually say. It is not 5 because common synonyms and surface terms are missing (e.g., "conversation", "transcript", "chat", "search my Codex logs", file extensions like .jsonl); it is not 3 because the terms present are natural and specific rather than generic or jargon-only.

4 / 5

Distinctiveness Conflict Risk

A clear niche (local OpenAI Codex history) with explicit de-confliction: "Not for Claude Code (use read-claude-code-history); with no platform named, start at local-conversation-history". This actively routes away the nearest competing skills, matching the minimal-conflict anchor; there is no overlap scenario the description leaves unresolved.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

daymade/claude-code-skills

Path

daymade-claude-code/read-codex-history/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.