Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Explain why code looks the way it does by tracing the latest change for a file range or pasted snippet through git blame and deduplicated entire checkpoint explain lookups.
$ npx skills add entireio/skills --skill what-happened -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install entireio/skills what-happened --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/entireio/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/what-happened .claude/skills/what-happened && 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 "what-happened" agent skill from https://github.com/entireio/skills/tree/main/skills/what-happened into .claude/skills/what-happened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "what-happened", 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/entireio/skills/tree/main/skills/what-happenedType 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 entireio/skills --skill what-happened -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install entireio/skills what-happened --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/entireio/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/what-happened .agents/skills/what-happened && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "what-happened" agent skill from https://github.com/entireio/skills/tree/main/skills/what-happened into .agents/skills/what-happened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "what-happened", 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 entireio/skills --skill what-happened -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install entireio/skills what-happened --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/entireio/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/what-happened .cursor/skills/what-happened && 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 "what-happened" agent skill from https://github.com/entireio/skills/tree/main/skills/what-happened into .cursor/skills/what-happened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "what-happened", 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/entireio/skills.git --path skills/what-happened--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 entireio/skills --skill what-happened -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install entireio/skills what-happened --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/entireio/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/what-happened .gemini/skills/what-happened && 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 "what-happened" agent skill from https://github.com/entireio/skills/tree/main/skills/what-happened into .gemini/skills/what-happened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "what-happened", 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 entireio/skills what-happenedInstalls 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 entireio/skills --skill what-happened -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/entireio/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/what-happened .github/skills/what-happened && 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 "what-happened" agent skill from https://github.com/entireio/skills/tree/main/skills/what-happened into .github/skills/what-happened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "what-happened", 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 entireio/skills --skill what-happened -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install entireio/skills what-happened --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/entireio/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/what-happened .opencode/skills/what-happened && 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 "what-happened" agent skill from https://github.com/entireio/skills/tree/main/skills/what-happened into .opencode/skills/what-happened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "what-happened", 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.
what-happenedExplain why code looks the way it does by tracing the latest change for a file range or pasted snippet through git blame and deduplicated entire checkpoint explain lookups.
What Happened is an agent skill from entireio/skills. Explain why code looks the way it does by tracing the latest change for a file range or pasted snippet through git blame and deduplicated entire checkpoint explain lookups. Use when the user asks what happened, says "tell me why" about a code block, is confused about a section of code, asks "wtf is going on", "why is this like this", "why was this changed", or wants provenance for a specific file block.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Git workflow. It works with Git. The repository describes itself as: ✨ Cross-agent skills that help coding agents use Entire context from Checkpoints, sessions, and git history to search past work, explain code, and hand off sessions. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fe5266f. 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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
What Happened loads about 3.7k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 1,954 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); files beside SKILL.md are not scanned.
The full file from entireio/skills at commit fe5266f, republished under its MIT licence (© entireio). 1,954 words, ~3,715 tokens.
.claude/skills/what-happened/SKILL.md (or your agent's skills folder).Use this skill when the user wants a provenance-focused explanation for a code block.
Supported inputs:
path:linepath:start-endpath plus a pasted code snippet from that fileIf the user asks a vague provenance question without a file path, line range, or pasted snippet, ask for the target code and stop without running commands or using the header.
Find the most recent change blocks matching the user's target lines, list the matching commit hashes and checkpoint state, then summarize why each block was changed using the best available context. When checkpoint-backed context is unavailable, still explain what the current code does as an explicit fallback and clearly mark that explanation as not checkpoint-backed.
entire binary from PATH, not ./entire from the current repo.git blame for provenance and entire checkpoint explain --commit for transcript-backed context.
Do not use experimental entire why for this skill.explain skill..git/entire-sessions/ or raw transcript files for commit
provenance. If entire checkpoint explain cannot provide transcript context, report the exact
missing or unavailable state.entire checkpoint explain; run transcript lookups once per unique commit, not once
per range. Also deduplicate checkpoint IDs before expanding checkpoint transcripts; run
checkpoint expansion once per unique checkpoint, not once per commit or range.entire checkpoint explain command itself errored)entire checkpoint explain command output as intermediate source material for summarization.
Do not paste raw command output or full transcripts into the user response unless the user
explicitly asks for raw output. Include only short error excerpts when they help the user fix
a failed lookup.If the user did not provide a file path plus exact line/range or pasted snippet, ask them for
the target code and stop. Do not run commands or use the Entire What Happened: header.
If the user gave path:line or path:start-end, use that line or range directly and read
only that target from the file before explaining it. If the path does not exist, the file
cannot be read, or the line/range is outside the file, say so plainly and stop without using
the Entire What Happened: header.
If the user gave a path and a snippet:
grep -n -F -- "<distinctive snippet line>" "<path>"start-end line numbers.Entire What Happened: header for this
unresolved-input response.Entire What Happened: header for this unresolved-input response.Only run blame after the target has been resolved to actual line numbers in the current file.
Do not run git blame -L against an unresolved pasted snippet, inferred nearby block, symbol
name, or approximate range.
Run:
git blame --porcelain -L <start>,<end> -- "<path>"If the command fails because the file is untracked, mark the whole target range as an untracked file with no committed history, keep the exact snippet for that range, and continue to fallback code behavior analysis.
If blame reports an uncommitted pseudo-commit such as all zeroes or Not Committed Yet, mark
those ranges as local uncommitted changes and do not run entire checkpoint explain for them. If other
target ranges resolve to real commits, continue with those committed ranges.
Use the output to identify every blame block inside the target range. Group adjacent target lines that resolve to the same commit when they form one contiguous matched block. For each matching block, collect:
Collect the unique real commit SHAs across all matching blocks while preserving each distinct
range. Exclude untracked and local uncommitted pseudo-commits from this set. Build a map from
commit SHA to all target ranges blamed to that commit. Do not run entire checkpoint explain separately
for multiple ranges that share the same commit.
If the resolved target spans more than 5 unique real commits, stop before running entire explain. Report the matched ranges and ask the user to narrow the range or confirm the deeper
lookup. Do not use the Entire What Happened: header for this confirmation response.
Keep the exact snippets from the target-resolution read so the final answer can show users which code each provenance entry refers to. Only reread a matched block if the snippet for that range was not already captured.
For each unique commit SHA in that map, run exactly once:
entire checkpoint explain --commit <commit-sha> --no-pagerWhen there are multiple unique commits, run those independent commit lookups in parallel when the agent environment supports parallel tool calls.
Use this output to answer the question and identify the checkpoint state. Do not use
--search-all unless the user explicitly asks to widen a failed lookup; it removes branch/depth
limits and may be slow.
If this command fails, do not run extra commit metadata lookups and do not scan raw session files. Mark the range for fallback code behavior analysis and report that Entire transcript lookup failed. Include the command error only if it helps the user fix the issue, such as authentication or missing remote configuration.
If the commit view reveals a checkpoint ID but is still not enough to answer the user's question, collect the checkpoint ID for expansion. Deduplicate checkpoint IDs across all commit views before running checkpoint lookups; if several commits reference the same checkpoint, expand that checkpoint once and map the result back to every relevant range.
For each unique checkpoint ID that needs more detail, run:
entire checkpoint explain --checkpoint <checkpoint-id> --full --no-pagerDo not run raw transcript expansion automatically. If --full fails or is insufficient,
mark the affected ranges for current-code fallback analysis unless the user explicitly asked
for raw transcript detail. Only when explicitly requested, run:
entire checkpoint explain --checkpoint <checkpoint-id> --raw-transcript --no-pagerUse the collected output to answer:
Do not show the raw entire checkpoint explain output by default. Summarize only the relevant parts tied
to the target ranges.
If the commit has no checkpoint ID, use only the commit-level context returned by
entire checkpoint explain --commit for provenance and mark the range for fallback code behavior
analysis. Clearly state "no checkpoint-backed summary; no Entire checkpoint was referenced."
If a checkpoint ID is present but entire checkpoint explain --checkpoint cannot load it, keep the
checkpoint ID in the answer and say "checkpoint <id> was referenced, but the checkpoint was
not available locally or remotely." Include the command error only if it helps the user fix
the issue, such as authentication or missing remote configuration.
If the checkpoint loads but --full fails, say that checkpoint metadata was available but
full transcript expansion failed. If raw transcript detail was not explicitly requested, say
it was not expanded automatically. Answer checkpoint-backed facts from the entire explain --commit output, and use current-code fallback analysis for anything that output
cannot support.
Map each unique commit explanation back to every target range blamed to that commit.
For any resolved range that falls into one of the states listed in Rule 7 where checkpoint-backed context is unavailable, still answer what the current code does.
Use only source-backed analysis:
grep -n -F to inspect direct call sites or definitions only when the block cannot be
understood from local context.Begin the first successful resolved-code response to this skill invocation with the line:
Entire What Happened:
followed by a blank line, then the content.
Allowed examples:
Tell me why: the blame points here.Tell me why: the diff left a trail.Tell me why: the context starts here.Start with a short provenance summary using one status per range from the states in Rule 7:
Entire What Happened:
Tell me why: the blame points here.
Matches
- <path>:<start>-<end> -> commit <sha> | checkpoint <id>
```<language>
<matched code snippet>
```
- <path>:<start>-<end> -> commit <sha> | no Entire checkpoint
```<language>
<matched code snippet>
```
- <path>:<start>-<end> -> commit <sha> | Entire transcript lookup failed
```<language>
<matched code snippet>
```
- <path>:<start>-<end> -> commit <sha> | checkpoint <id> unavailable
```<language>
<matched code snippet>
```
- <path>:<start>-<end> -> commit <sha> | checkpoint <id> metadata only, transcript expansion failed
```<language>
<matched code snippet>
```
- <path>:<start>-<end> -> local uncommitted changes | no committed history
```<language>
<matched code snippet>
```
- <path>:<start>-<end> -> untracked file | no committed history
```<language>
<matched code snippet>
```For checkpoint-backed ranges, give one short section per distinct matching block:
Why
- <path>:<start>-<end>: <2-4 sentence explanation of why this block changed last time>For ranges without checkpoint-backed context, use this separate section instead:
Current-code fallback (not checkpoint-backed)
- <path>:<start>-<end>: <2-4 sentence explanation of what the current code does, plus any
limits on what can be inferred without checkpoint history>Snippet guidance:
When the input was a pasted snippet, include the resolved line range in the answer.
This skill should trigger for questions like:
Especially trigger when the user includes:
cmd/entire/cli/explain.go:103cmd/entire/cli/explain.go:103-107© entireio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/what-happened of entireio/skills.
Open the folder on GitHubat commit fe5266f
What Happened 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 |
|---|---|---|---|---|---|---|
| What Happened this skillentireio/skills | 223 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Migrate Internal Package into GhostTryGhost/Ghost | 56k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Git Merge Conflict Resolvertailcallhq/forgecode | 7.6k | 1 repos | ~4.5k | Automated safety check: Pass | Apache-2.0 |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
tailcallhq/forgecode
Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.
makeplane/plane
Names a new Git branch with a type prefix, the lowercased work item ID and a short kebab-case description, so the ID can be extracted later from the branch name.
entireio/skills
Review code changes on the current branch using checkpoint transcript context to understand developer intent before auditing the diff.
entireio/skills
Address the review findings posted on an Entire trail: fetch the trail's open findings, fix the code, and resolve them on the trail.
entireio/skills
A skill your agent uses when the user describes a task and wants to know whether something similar has been done before, then turn the closest prior session into a task playbook.
entireio/skills
A skill your agent uses when the user wants to step through a feature's checkpoints chronologically, pausing at each step to ask questions.
entireio/skills
A skill your agent uses when the user asks to research, investigate, look into, dig into, or search for anything — a topic, feature, bug, decision, or "what do we know about X".
entireio/skills
A skill your agent uses when an agent session ran outside the repo whose commits should record it — e.g.
Works with
Categories
Explain why code looks the way it does by tracing the latest change for a file range or pasted snippet through git blame and deduplicated entire checkpoint explain lookups. What Happened is an agent skill from entireio/skills. Explain why code looks the way it does by tracing the latest change for a file range or pasted snippet through git blame and deduplicated entire checkpoint explain lookups.
What Happened fits situations like: the user asks what happened; says tell me why about a code block; is confused about a section of code; asks wtf is going on.
Run `npx skills add entireio/skills --skill what-happened -a claude-code`. Or copy the skill folder (skills/what-happened in entireio/skills) into .claude/skills/what-happened in your project. Claude Code loads it when a task matches its description.
Run `npx skills add entireio/skills --skill what-happened -a codex`. Or copy the skill folder (skills/what-happened in entireio/skills) into .agents/skills/what-happened 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 entireio/skills --skill what-happened -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/what-happened, .gemini/skills/what-happened, .github/skills/what-happened and .opencode/skills/what-happened in your project.
Going by SKILL.md and its folder, What Happened needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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. Review the folder before installing.
What Happened is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with What Happened: Finishing a Development Branch (obra/superpowers, 297k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Migrate Internal Package into Ghost (TryGhost/Ghost, 56k stars) and Create Pull Request (cline/cline, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
entireio (a GitHub organization) maintains it in entireio/skills, which has 223 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on September 29, 2026.
Source: entireio/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.