Weekly Engineering Retro
garrytan/gstack
Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.
Query a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.
$ npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tbhb/vale-ai-tells codex-analyze-session --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/codex-analyze-session .claude/skills/codex-analyze-session && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "codex-analyze-session" agent skill from https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-session into .claude/skills/codex-analyze-session/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-analyze-session", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-sessionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tbhb/vale-ai-tells codex-analyze-session --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/codex-analyze-session .agents/skills/codex-analyze-session && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "codex-analyze-session" agent skill from https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-session into .agents/skills/codex-analyze-session/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-analyze-session", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tbhb/vale-ai-tells codex-analyze-session --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/codex-analyze-session .cursor/skills/codex-analyze-session && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "codex-analyze-session" agent skill from https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-session into .cursor/skills/codex-analyze-session/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-analyze-session", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tbhb/vale-ai-tells.git --path .claude/skills/codex-analyze-session--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tbhb/vale-ai-tells codex-analyze-session --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/codex-analyze-session .gemini/skills/codex-analyze-session && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "codex-analyze-session" agent skill from https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-session into .gemini/skills/codex-analyze-session/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-analyze-session", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tbhb/vale-ai-tells codex-analyze-sessionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/codex-analyze-session .github/skills/codex-analyze-session && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "codex-analyze-session" agent skill from https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-session into .github/skills/codex-analyze-session/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-analyze-session", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tbhb/vale-ai-tells codex-analyze-session --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/codex-analyze-session .opencode/skills/codex-analyze-session && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "codex-analyze-session" agent skill from https://github.com/tbhb/vale-ai-tells/tree/main/.claude/skills/codex-analyze-session into .opencode/skills/codex-analyze-session/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-analyze-session", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
codex-analyze-sessionQuery a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.
Codex Analyze Session is an agent skill from tbhb/vale-ai-tells. Query a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends. The tool reads the file line by line and reports every failure and repeated tool call by line number. Use this skill when the user asks for a retrospective on a past session, or hands over a transcript path with a question about it.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `references/FIX_SURFACES.md`, `references/LOCATE_SESSION.md` and `references/SESSION_CLI.md`).
It sits in Product & Project Management, covering Retrospectives. The repository describes itself as: In today's rapidly evolving landscape, vale-ai-tells is a comprehensive, cutting-edge Vale style package that empowers writers to seamlessly delve into the rich tapestry of AI…. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4c7abc9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Shell and Python), which the agent can run.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Codex Analyze Session loads about 1.4k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 99 tokens; SKILL.md has 748 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from tbhb/vale-ai-tells at commit 4c7abc9, republished under its MIT licence (© tbhb). 748 words, ~1,394 tokens.
.claude/skills/codex-analyze-session/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Work the steps in order. This skill ends once the retrospective exists on disk and the operator has its path. Acting on what it recommends is separate work. Use the codex-commit skill for any change that comes out of it.
Use the absolute transcript path from the user's request. A bare session ID also works when it names exactly one file under ~/.codex/sessions/.
If the user gives neither, preflight explains how to find a session. Spawn a fresh delegated agent with fork_turns: "none". Run preflight again with the path it returns. Never load session files into model context merely to locate one because the locator can stream them.
Run bash .agents/skills/codex-analyze-session/scripts/preflight.sh <path-or-id> and read its report.
Create these tasks with update_plan, then move each to in_progress and completed as you go. They're the checklist the rest of this document expands.
Stop before any of it where preflight couldn't resolve the transcript, or reports a missing precondition. Say what's wrong and hand back.
The preflight already resolved the transcript and summarized the session. It created the retro directory at <main worktree>/.codex/retros/YYYYMMDD_<session ID>/ and copied the evidence into it. Read that report before forming any hypothesis, because it writes everything it prints to artifacts/ as well, where a later reader can check it.
.agents/skills/codex-analyze-session/references/SESSION_CLI.md documents every subcommand, for when a report needs more detail than the preflight printed.
The preflight listed the failing lines and the line ranges of each repeated sequence. Open those, and nothing else:
.agents/skills/codex-analyze-session/scripts/session.py grep <transcript> 'pattern' --context 300
.agents/skills/codex-analyze-session/scripts/session.py show <transcript> 361,408,1938grep searches the decoded content blocks, so what prints matches what the model saw. Add --kind THINK to read what the agent believed at the time, which is often where an error begins. show prints whole records, once a report has given you a specific line number.
A transcript records what an agent believed, which isn't always what was true. Treat every claim in it as a hypothesis with a line number attached, including the agent's own corrections.
Re-run the decisive command wherever that environment still exists.
Check that a test can fail before trusting a result of zero. A test returning nothing may mean the thing is absent, or may mean the test stopped examining anything. Give it a case that must produce output, and treat an empty result as evidence only after that check passes. A test that has stopped examining anything reports nothing whatsoever, where a working one still returns unrelated findings alongside the empty answer.
Readers trust a number more than a description, so a wrong count does more damage than a wrong impression. No figure reaches the operator without independent replication.
Follow .agents/skills/codex-analyze-session/references/VERIFY_FIGURES.md. It gives the claims table format, the prompt each verifier receives, the isolation rule for verifiers that write files, and how to settle a figure they disagree on.
Hold every figure until all three report. A verifier that hasn't answered yet isn't an abstention, and counting it as one discards the report most likely to disagree.
Step 3 runs identical prompts, because replication gains nothing from a division of labor. This step does the opposite, giving each agent one area so the recommendations stay distinct.
Follow .agents/skills/codex-analyze-session/references/FIX_SURFACES.md. It names the five areas, the shared prompt, and the block each agent receives.
Synthesize the results yourself. Each agent sees one area, while this session has the verified figures and the full set of findings that no agent had alone.
Fill in the RETRO.md the preflight created, following .agents/skills/codex-analyze-session/references/WRITING_THE_RETRO.md.
Cite a line number for every claim. Rank findings by round trips wasted rather than by how irritating they were. State what each fix costs as well as what it improves, and give the operator the retro path when you report back.
This skill assumes the shared tbhb toolchain:
uv on PATH, which the session.py shebang uses to select an interpreterPreflight checks each. Where one is missing, tell the operator rather than improvising a substitute.
© tbhb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references) in .claude/skills/codex-analyze-session of tbhb/vale-ai-tells.
Open the folder on GitHubat commit 4c7abc9
Codex Analyze Session next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Codex Analyze Session this skilltbhb/vale-ai-tells | 115 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Weekly Engineering Retrogarrytan/gstack | 136k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Dough Execute Planterryyin/lizard | 2.5k | — | ~4.3k | Automated safety check: Pass | Custom licence | |
| After Action Reportrampstackco/claude-skills | 940 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Oral Paper SkillAdkid-Zephyr/oral-paper-skill | 340 | — | ~1.9k | Automated safety check: Pass | None | |
| Deck Retroasheshgoplani/agent-deck | 1k | — | ~1.8k | Automated safety check: Pass | MIT |
garrytan/gstack
Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.
terryyin/lizard
Executes one selected story or bounded retrospective correction through an executable plan, or one authorized planless slice from a selected simple story or a contextual instruction, with…
rampstackco/claude-skills
Run a structured after-action review (postmortem, retrospective) on a launch, incident, or completed project to capture timeline, root cause analysis, contributing factors, and actionable lessons.
Adkid-Zephyr/oral-paper-skill
Help authors learn from exemplary ICLR, ICML, and NeurIPS papers through source-linked manuscript comparisons, concrete writing and experiment suggestions, and guided reflection.
asheshgoplani/agent-deck
Run a fully local agent-deck retrospective over the user's own transcripts, Recall index and logs.
terryyin/lizard
Reviews planned, completed planless quick, or quick-to-planned execution against original intent, aggregate commits, current whole-product architecture, and tests, including after cleanup.
tbhb/vale-ai-tells
Query a Claude Code transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.
tbhb/vale-ai-tells
Diagnose failing pull request checks, reproduce them locally, make focused fixes, commit them through codex-commit, and refresh the published description when needed.
tbhb/vale-ai-tells
Squash merge a pull request. An agent skill from tbhb/vale-ai-tells.
tbhb/vale-ai-tells
Open or update a pull request for the current branch with an independently drafted and reviewed PRAGENTDESC.md.
tbhb/vale-ai-tells
Replay the current branch onto its base and establish that the result is sound.
tbhb/vale-ai-tells
Settle the conflicts a merge-backend rebase left behind. An agent skill from tbhb/vale-ai-tells.
Categories
Query a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends. Codex Analyze Session is an agent skill from tbhb/vale-ai-tells. Query a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.
Codex Analyze Session fits situations like: the user asks for a retrospective on a past session; hands over a transcript path with a question about it.
Run `npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a claude-code`. Or copy the skill folder (.claude/skills/codex-analyze-session in tbhb/vale-ai-tells) into .claude/skills/codex-analyze-session in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a codex`. Or copy the skill folder (.claude/skills/codex-analyze-session in tbhb/vale-ai-tells) into .agents/skills/codex-analyze-session in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tbhb/vale-ai-tells --skill codex-analyze-session -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/codex-analyze-session, .gemini/skills/codex-analyze-session, .github/skills/codex-analyze-session and .opencode/skills/codex-analyze-session in your project.
Going by SKILL.md and its folder, Codex Analyze Session needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: Python 3; A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Codex Analyze Session is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Codex Analyze Session: Weekly Engineering Retro (garrytan/gstack, 136k stars), Dough Execute Plan (terryyin/lizard, 2.5k stars), After Action Report (rampstackco/claude-skills, 940 stars) and Oral Paper Skill (Adkid-Zephyr/oral-paper-skill, 340 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tbhb (a GitHub user) maintains it in tbhb/vale-ai-tells, which has 115 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 7, 2026.
Source: tbhb/vale-ai-tells on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.