I have added a new skill to plugins/entire/skills/what-happened

I have added a new skill to plugins/entire/skills/what-happened
First and foremost, this skill is now called "What Happened", not wat anymore. Otherwise, can you review this skill and find issues. I'm especially interested in improving its performance since it's pretty slow at the moment. Anything else that would help? Removing ambiguity when local checkpoints aren't available etc. would be an area of improvement I can think of.
I’ll review the skill directly against the current source, with emphasis on naming, performance, and fallback behavior around missing checkpoints. I’m going to read the review workflow first, then inspect the new skill files and related docs/commands.
I’m using the review workflow, but doing the source-backed review locally because this workspace’s instructions prohibit delegating code analysis unless you explicitly ask for agents. First I’m refreshing the actual diff and the current file list so this review is against the current tree, not cached context.
The new skill is currently one untracked file: plugins/entire/skills/what-happened/SKILL.md. I’m reading it with line numbers and checking nearby skill conventions so the findings can point to exact source and established patterns.
The main file still has name: wat and a # Wat response template, so the rename issue is real. I’m also checking how skills are packaged and whether there are command-level options in entire explain that can avoid slow transcript expansion.
Reviewed current tree. The new skill is one untracked file: plugins/entire/skills/what-happened/SKILL.md. I did not edit anything.
Required
-
SKILL.md still declares
name: wat, with# Watat line 11 andWat:in the response template at line 114. This should be renamed towhat-happened/What Happenedeverywhere, and the trigger phrases should include the literal phrase “what happened”. -
SKILL.md does not define what to do for untracked or uncommitted code.
git blamecan return “Not Committed Yet” / all-zero commits, or fail on untracked files, and the workflow would then tryentire explain --commiton something that has no history. Add explicit early exits like the existingexplainskill has. -
SKILL.md conflates “no checkpoint exists” with “checkpoint exists but is unavailable locally/auth failed/remote unavailable”. Add separate outcomes: no checkpoint referenced, checkpoint referenced but unavailable, and transcript unavailable after fallback. The final answer should name the checkpoint ID when known.
Performance / Improvements
4. SKILL.md runs entire explain per matched block. That becomes N+1 work when several ranges blame to the same commit. Collect unique commit SHAs first, run entire explain once per commit, then map results back to ranges.
-
SKILL.md starts with the heavier commit view. I verified
entire explain --commit <sha> --short --no-pagerreturns checkpoint metadata quickly. Use that first to discover the checkpoint, then fetch detailed transcript only for commits that need it. -
SKILL.md jumps to
--full, then raw transcript. That is likely the main slowness. Prefer:--commit --short→--checkpoint <id>default detail →--fullonly if default detail is insufficient →--raw-transcriptonly as last resort. -
SKILL.md tells the agent to read whole files for snippet matching. For large files, instruct it to use
rg -n -Fon a distinctive snippet line to find candidates, then read only candidate windows before resolving exact line ranges. -
SKILL.md allows manual hunting through
.git/entire-sessions/afterentire explainfails. That is both slow and ambiguous for commit provenance. Better: do not scan raw sessions for a commit; report that transcript lookup failed and optionally suggestentire searchif the user wants broader historical search.
No security issues jumped out. The biggest wins are the rename, explicit no-history/checkpoint-unavailable states, and changing the transcript lookup to a short-first, unique-commit workflow.
I’ll make the targeted skill-doc changes in place: rename the skill, add the missing early-exit/fallback states, and rewrite the workflow so it does cheaper lookup first and deduplicates expensive entire explain calls. I’m refreshing the file before editing because this repo can change from another terminal.
The current file is unchanged from the review: only this skill directory is untracked. I’m going to keep the edit confined to SKILL.md and avoid touching plugin manifests or README unless they become necessary.
I found mixed skill metadata conventions: local superpowers skills use human-readable name: values, while command-like skills use slugs. Since this skill’s user-facing name is explicitly “What Happened”, I’m using name: What Happened and keeping the folder slug as what-happened.
The first edit is in place. I’m doing a source pass now for internal consistency: no leftover Wat, no contradictory instructions, and line references around the new fallback/performance flow.
This pass caught one markdown hazard in the response template: it uses code fences inside a fenced example, which can render incorrectly. I’m tightening that and making mixed committed/uncommitted blame ranges behave predictably instead of stopping the entire workflow unnecessarily.
The file now has a coherent cheap-first flow and no Wat leftovers. I’m running lightweight verification suitable for a markdown-only change: whitespace/error check plus a YAML/frontmatter sanity check by reading the final file.
One more ambiguity is worth closing before I stop: the workflow now handles checkpoint fetch failure, but not failure of the initial entire explain --commit --short call itself. I’m adding that explicit commit-only fallback so agents do not start guessing or scanning raw session files.
Implemented the fixes in SKILL.md. I did not commit.
What changed:
- Renamed the skill from
wattoWhat Happenedin metadata, title, response header, and trigger language. - Added explicit handling for untracked files, local uncommitted blame ranges, missing checkpoints, unavailable checkpoints, and transcript expansion failures.
- Reworked the performance path to resolve snippets with
rg, dedupe by unique commit SHA, start withentire explain --commit <sha> --short --no-pager, then only escalate to checkpoint/default/full/raw transcript as needed. - Removed the ambiguous fallback to manually scanning raw
.git/entire-sessions/; failed Entire lookups now fall back togit show --no-patchcommit-only context.
Verification output:
No automated tests were run; this was a markdown-only skill instruction change.