[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QWM43GA0T47XSNVRY56WCW":3,"skill-same:01M6QWM43GA0T47XSNVRY56WCW":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6QWM43GA0T47XSNVRY56WCW","what-happened",null,"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.","entireio\u002Fskills","entireio","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F33188652?v=4","01M6QWH3SDS1SFGPZG68QWNVJJ","Entire","01M6QWH3XNXJ1RQP56F4ED3X02",240,"MIT","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwhat-happened\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"what happened","wtf","entire","section","for","latest","block","about","it","me","change","use","explain","why","checkpoint","provenance","tracing","file","git","code","2026-11-10 10:12:30",false,"---\nname: what-happened\ndescription: >\n  Explain why code looks the way it does by tracing the latest change for a file\n  range or pasted snippet through `git blame` and deduplicated `entire checkpoint explain`\n  lookups. Use when the user asks what happened, says \"tell me why\" about a code\n  block, is confused about a section of code, asks \"wtf is going on\", \"why is\n  this like this\", \"why was this changed\", or wants provenance for a specific\n  file block.\n---\n\n# What Happened\n\nUse this skill when the user wants a provenance-focused explanation for a code block.\n\nSupported inputs:\n\n- `path:line`\n- `path:start-end`\n- `path` plus a pasted code snippet from that file\n\nIf the user asks a vague provenance question without a file path, line range, or pasted\nsnippet, ask for the target code and stop without running commands or using the header.\n\n## Goal\n\nFind the most recent change blocks matching the user's target lines, list the matching\ncommit hashes and checkpoint state, then summarize why each block was changed using the\nbest available context. When checkpoint-backed context is unavailable, still\nexplain what the current code does as an explicit fallback and clearly mark that explanation\nas not checkpoint-backed.\n\n## Rules\n\n1. Do not guess about file contents or line numbers. Resolve the exact target lines\n   before explaining anything.\n2. Use the installed `entire` binary from `PATH`, not `.\u002Fentire` from the current repo.\n3. Prefer `git blame` for provenance and `entire checkpoint explain --commit` for transcript-backed context.\n   Do not use experimental `entire why` for this skill.\n4. Use this skill for latest-change provenance on a specific block. For broad original intent\n   of a symbol, file, or feature, prefer the `explain` skill.\n5. Do not manually hunt through `.git\u002Fentire-sessions\u002F` or raw transcript files for commit\n   provenance. If `entire checkpoint explain` cannot provide transcript context, report the exact\n   missing or unavailable state.\n6. If multiple blame blocks match, include all distinct ranges. Deduplicate commit hashes\n   before running `entire checkpoint explain`; run transcript lookups once per unique commit, not once\n   per range. Also deduplicate checkpoint IDs before expanding checkpoint transcripts; run\n   checkpoint expansion once per unique checkpoint, not once per commit or range.\n7. Distinguish these states explicitly:\n   - no checkpoint is referenced for the commit\n   - a checkpoint is referenced but is unavailable locally or remotely\n   - a checkpoint is available, but full transcript expansion failed and raw transcript\n     expansion was not explicitly requested\n   - Entire transcript lookup failed (the `entire checkpoint explain` command itself errored)\n   - the code is untracked, uncommitted, or otherwise has no committed history\n   - any other provenance command fails after the target code was resolved\n8. For every resolved code block, include either checkpoint-backed history or a fallback\n   explanation of what the current code does. Label fallback explanations as \"not\n   checkpoint-backed\" and do not imply intent or historical rationale from checkpoints.\n9. Treat `entire checkpoint explain` command output as intermediate source material for summarization.\n   Do not paste raw command output or full transcripts into the user response unless the user\n   explicitly asks for raw output. Include only short error excerpts when they help the user fix\n   a failed lookup.\n10. Keep the final explanation concise and block-focused. Do not summarize unrelated parts\n   of the file.\n\n## Workflow\n\n### 1. Resolve the target block\n\nIf the user did not provide a file path plus exact line\u002Frange or pasted snippet, ask them for\nthe target code and stop. Do not run commands or use the `Entire What Happened:` header.\n\nIf the user gave `path:line` or `path:start-end`, use that line or range directly and read\nonly that target from the file before explaining it. If the path does not exist, the file\ncannot be read, or the line\u002Frange is outside the file, say so plainly and stop without using\nthe `Entire What Happened:` header.\n\nIf the user gave a path and a snippet:\n\n- Pick the most distinctive exact line from the snippet and search the file with fixed-string\n  matching to find candidate locations:\n\n```bash\ngrep -n -F -- \"\u003Cdistinctive snippet line>\" \"\u003Cpath>\"\n```\n\n- Read the small candidate windows around each hit, not the whole file unless the file is\n  already small or the search produces too many candidates to inspect efficiently.\n- Find the exact snippet in the candidate window.\n- Convert the match to `start-end` line numbers.\n- If whitespace differs but the code is otherwise identical, normalize leading indentation and\n  trailing whitespace before deciding the snippet does not match.\n- If the snippet appears multiple times, report the ambiguity and list the candidate ranges\n  instead of picking one silently. Do not use the `Entire What Happened:` header for this\n  unresolved-input response.\n- If the snippet cannot be found exactly, say so plainly and stop rather than inferring a nearby\n  match. Do not use the `Entire What Happened:` header for this unresolved-input response.\n\n### 2. Gather provenance\n\nOnly run blame after the target has been resolved to actual line numbers in the current file.\nDo not run `git blame -L` against an unresolved pasted snippet, inferred nearby block, symbol\nname, or approximate range.\n\nRun:\n\n```bash\ngit blame --porcelain -L \u003Cstart>,\u003Cend> -- \"\u003Cpath>\"\n```\n\nIf the command fails because the file is untracked, mark the whole target range as an untracked\nfile with no committed history, keep the exact snippet for that range, and continue to fallback\ncode behavior analysis.\n\nIf blame reports an uncommitted pseudo-commit such as all zeroes or `Not Committed Yet`, mark\nthose ranges as local uncommitted changes and do not run `entire checkpoint explain` for them. If other\ntarget ranges resolve to real commits, continue with those committed ranges.\n\nUse the output to identify every blame block inside the target range. Group adjacent\ntarget lines that resolve to the same commit when they form one contiguous matched block.\nFor each matching block, collect:\n\n- line range\n- matched code snippet from the current file for that exact range\n- commit hash\n- author\u002Fsummary when helpful for provenance or fallback context\n\nCollect the unique real commit SHAs across all matching blocks while preserving each distinct\nrange. Exclude untracked and local uncommitted pseudo-commits from this set. Build a map from\ncommit SHA to all target ranges blamed to that commit. Do not run `entire checkpoint explain` separately\nfor multiple ranges that share the same commit.\n\nIf the resolved target spans more than 5 unique real commits, stop before running `entire\nexplain`. Report the matched ranges and ask the user to narrow the range or confirm the deeper\nlookup. Do not use the `Entire What Happened:` header for this confirmation response.\n\nKeep the exact snippets from the target-resolution read so the final answer can show users\nwhich code each provenance entry refers to. Only reread a matched block if the snippet for\nthat range was not already captured.\n\n### 3. Explain each unique commit\n\nFor each unique commit SHA in that map, run exactly once:\n\n```bash\nentire checkpoint explain --commit \u003Ccommit-sha> --no-pager\n```\n\nWhen there are multiple unique commits, run those independent commit lookups in parallel when\nthe agent environment supports parallel tool calls.\n\nUse this output to answer the question and identify the checkpoint state. Do not use\n`--search-all` unless the user explicitly asks to widen a failed lookup; it removes branch\u002Fdepth\nlimits and may be slow.\n\nIf this command fails, do not run extra commit metadata lookups and do not scan raw session\nfiles. Mark the range for fallback code behavior analysis and report that Entire transcript\nlookup failed. Include the command error only if it helps the user fix the issue, such as\nauthentication or missing remote configuration.\n\nIf the commit view reveals a checkpoint ID but is still not enough to answer the user's\nquestion, collect the checkpoint ID for expansion. Deduplicate checkpoint IDs across all\ncommit views before running checkpoint lookups; if several commits reference the same\ncheckpoint, expand that checkpoint once and map the result back to every relevant range.\n\nFor each unique checkpoint ID that needs more detail, run:\n\n```bash\nentire checkpoint explain --checkpoint \u003Ccheckpoint-id> --full --no-pager\n```\n\nDo not run raw transcript expansion automatically. If `--full` fails or is insufficient,\nmark the affected ranges for current-code fallback analysis unless the user explicitly asked\nfor raw transcript detail. Only when explicitly requested, run:\n\n```bash\nentire checkpoint explain --checkpoint \u003Ccheckpoint-id> --raw-transcript --no-pager\n```\n\nUse the collected output to answer:\n\n- what the agent was trying to do\n- why this block changed\n- any constraint, bug, edge case, or refactor pressure that caused the final code\n\nDo not show the raw `entire checkpoint explain` output by default. Summarize only the relevant parts tied\nto the target ranges.\n\nIf the commit has no checkpoint ID, use only the commit-level context returned by\n`entire checkpoint explain --commit` for provenance and mark the range for fallback code behavior\nanalysis. Clearly state \"no checkpoint-backed summary; no Entire checkpoint was referenced.\"\n\nIf a checkpoint ID is present but `entire checkpoint explain --checkpoint` cannot load it, keep the\ncheckpoint ID in the answer and say \"checkpoint \u003Cid> was referenced, but the checkpoint was\nnot available locally or remotely.\" Include the command error only if it helps the user fix\nthe issue, such as authentication or missing remote configuration.\n\nIf the checkpoint loads but `--full` fails, say that checkpoint metadata was available but\nfull transcript expansion failed. If raw transcript detail was not explicitly requested, say\nit was not expanded automatically. Answer checkpoint-backed facts from the `entire\nexplain --commit` output, and use current-code fallback analysis for anything that output\ncannot support.\n\nMap each unique commit explanation back to every target range blamed to that commit.\n\n### 4. Add fallback code behavior analysis when needed\n\nFor any resolved range that falls into one of the states listed in Rule 7 where\ncheckpoint-backed context is unavailable, still answer what the current code does.\n\nUse only source-backed analysis:\n\n- Read the target block and the smallest necessary surrounding scope, such as the enclosing\n  function, type, imports, or constants.\n- Use `grep -n -F` to inspect direct call sites or definitions only when the block cannot be\n  understood from local context.\n- Explain observable behavior, inputs, outputs, side effects, and important branches.\n- Do not present this as historical intent, checkpoint rationale, or an agent transcript summary.\n- State what cannot be known from current code alone.\n\n## Response format\n\nBegin the first successful resolved-code response to this skill invocation with the line:\n\n`Entire What Happened:`\n\nfollowed by a blank line, then the content.\n\n- Apply the header to the **first successful resolved-code response of the invocation only.**\n  If an earlier unresolved-input response omitted the header and the user later disambiguates\n  the target, include the header on the resolved-code response. Do not re-print it on later\n  follow-up turns within the same invocation.\n- Do **not** include the header on unresolved-input responses (e.g. snippet not found,\n  ambiguous snippet, invalid path or range). If the target code was resolved but no\n  checkpoint-backed context exists, still use the header and clearly label the answer as\n  current-code fallback analysis rather than a checkpoint summary.\n- After the header, include exactly one short, original, non-lyrical \"Tell me why\" line\n  randomly chosen from the examples below. Do not quote, paraphrase, or imitate Backstreet\n  Boys lyrics or any other song lyrics.\n\nAllowed examples:\n\n- `Tell me why: the blame points here.`\n- `Tell me why: the diff left a trail.`\n- `Tell me why: the context starts here.`\n\nStart with a short provenance summary using one status per range from the states in Rule 7:\n\n````text\nEntire What Happened:\n\nTell me why: the blame points here.\n\nMatches\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | checkpoint \u003Cid>\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | no Entire checkpoint\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | Entire transcript lookup failed\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | checkpoint \u003Cid> unavailable\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | checkpoint \u003Cid> metadata only, transcript expansion failed\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> local uncommitted changes | no committed history\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> untracked file | no committed history\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n````\n\nFor checkpoint-backed ranges, give one short section per distinct matching block:\n\n```text\nWhy\n- \u003Cpath>:\u003Cstart>-\u003Cend>: \u003C2-4 sentence explanation of why this block changed last time>\n```\n\nFor ranges without checkpoint-backed context, use this separate section instead:\n\n```text\nCurrent-code fallback (not checkpoint-backed)\n- \u003Cpath>:\u003Cstart>-\u003Cend>: \u003C2-4 sentence explanation of what the current code does, plus any\n  limits on what can be inferred without checkpoint history>\n```\n\nSnippet guidance:\n\n- Prefer the exact matched lines from the file.\n- Keep snippets tight to the matched block; avoid unrelated surrounding code unless needed for readability.\n- If the block is long, include the smallest contiguous excerpt that still lets the user recognize it and say that it was truncated.\n\nWhen the input was a pasted snippet, include the resolved line range in the answer.\n\n## Trigger phrases\n\nThis skill should trigger for questions like:\n\n- \"wtf is going on with this code\"\n- \"tell me why this code is like this\"\n- \"tell me why this code is like that\"\n- \"tell me why this was changed\"\n- \"what happened here\"\n- \"what happened to this block\"\n- \"why is this code like this\"\n- \"why does this code look like this\"\n- \"why does this look weird\"\n- \"why was this changed\"\n- \"why does this exist\"\n- \"why was this written this way\"\n- \"what is the history behind this code\"\n- \"help me understand this block\"\n- \"what changed here and why\"\n\nEspecially trigger when the user includes:\n\n- a single file line like `cmd\u002Fentire\u002Fcli\u002Fexplain.go:103`\n- a file range like `cmd\u002Fentire\u002Fcli\u002Fexplain.go:103-107`\n- a file path plus a pasted code snippet\n","# What Happened\n\nUse this skill when the user wants a provenance-focused explanation for a code block.\n\nSupported inputs:\n\n- `path:line`\n- `path:start-end`\n- `path` plus a pasted code snippet from that file\n\nIf the user asks a vague provenance question without a file path, line range, or pasted\nsnippet, ask for the target code and stop without running commands or using the header.\n\n## Goal\n\nFind the most recent change blocks matching the user's target lines, list the matching\ncommit hashes and checkpoint state, then summarize why each block was changed using the\nbest available context. When checkpoint-backed context is unavailable, still\nexplain what the current code does as an explicit fallback and clearly mark that explanation\nas not checkpoint-backed.\n\n## Rules\n\n1. Do not guess about file contents or line numbers. Resolve the exact target lines\n   before explaining anything.\n2. Use the installed `entire` binary from `PATH`, not `.\u002Fentire` from the current repo.\n3. Prefer `git blame` for provenance and `entire checkpoint explain --commit` for transcript-backed context.\n   Do not use experimental `entire why` for this skill.\n4. Use this skill for latest-change provenance on a specific block. For broad original intent\n   of a symbol, file, or feature, prefer the `explain` skill.\n5. Do not manually hunt through `.git\u002Fentire-sessions\u002F` or raw transcript files for commit\n   provenance. If `entire checkpoint explain` cannot provide transcript context, report the exact\n   missing or unavailable state.\n6. If multiple blame blocks match, include all distinct ranges. Deduplicate commit hashes\n   before running `entire checkpoint explain`; run transcript lookups once per unique commit, not once\n   per range. Also deduplicate checkpoint IDs before expanding checkpoint transcripts; run\n   checkpoint expansion once per unique checkpoint, not once per commit or range.\n7. Distinguish these states explicitly:\n   - no checkpoint is referenced for the commit\n   - a checkpoint is referenced but is unavailable locally or remotely\n   - a checkpoint is available, but full transcript expansion failed and raw transcript\n     expansion was not explicitly requested\n   - Entire transcript lookup failed (the `entire checkpoint explain` command itself errored)\n   - the code is untracked, uncommitted, or otherwise has no committed history\n   - any other provenance command fails after the target code was resolved\n8. For every resolved code block, include either checkpoint-backed history or a fallback\n   explanation of what the current code does. Label fallback explanations as \"not\n   checkpoint-backed\" and do not imply intent or historical rationale from checkpoints.\n9. Treat `entire checkpoint explain` command output as intermediate source material for summarization.\n   Do not paste raw command output or full transcripts into the user response unless the user\n   explicitly asks for raw output. Include only short error excerpts when they help the user fix\n   a failed lookup.\n10. Keep the final explanation concise and block-focused. Do not summarize unrelated parts\n   of the file.\n\n## Workflow\n\n### 1. Resolve the target block\n\nIf the user did not provide a file path plus exact line\u002Frange or pasted snippet, ask them for\nthe target code and stop. Do not run commands or use the `Entire What Happened:` header.\n\nIf the user gave `path:line` or `path:start-end`, use that line or range directly and read\nonly that target from the file before explaining it. If the path does not exist, the file\ncannot be read, or the line\u002Frange is outside the file, say so plainly and stop without using\nthe `Entire What Happened:` header.\n\nIf the user gave a path and a snippet:\n\n- Pick the most distinctive exact line from the snippet and search the file with fixed-string\n  matching to find candidate locations:\n\n```bash\ngrep -n -F -- \"\u003Cdistinctive snippet line>\" \"\u003Cpath>\"\n```\n\n- Read the small candidate windows around each hit, not the whole file unless the file is\n  already small or the search produces too many candidates to inspect efficiently.\n- Find the exact snippet in the candidate window.\n- Convert the match to `start-end` line numbers.\n- If whitespace differs but the code is otherwise identical, normalize leading indentation and\n  trailing whitespace before deciding the snippet does not match.\n- If the snippet appears multiple times, report the ambiguity and list the candidate ranges\n  instead of picking one silently. Do not use the `Entire What Happened:` header for this\n  unresolved-input response.\n- If the snippet cannot be found exactly, say so plainly and stop rather than inferring a nearby\n  match. Do not use the `Entire What Happened:` header for this unresolved-input response.\n\n### 2. Gather provenance\n\nOnly run blame after the target has been resolved to actual line numbers in the current file.\nDo not run `git blame -L` against an unresolved pasted snippet, inferred nearby block, symbol\nname, or approximate range.\n\nRun:\n\n```bash\ngit blame --porcelain -L \u003Cstart>,\u003Cend> -- \"\u003Cpath>\"\n```\n\nIf the command fails because the file is untracked, mark the whole target range as an untracked\nfile with no committed history, keep the exact snippet for that range, and continue to fallback\ncode behavior analysis.\n\nIf blame reports an uncommitted pseudo-commit such as all zeroes or `Not Committed Yet`, mark\nthose ranges as local uncommitted changes and do not run `entire checkpoint explain` for them. If other\ntarget ranges resolve to real commits, continue with those committed ranges.\n\nUse the output to identify every blame block inside the target range. Group adjacent\ntarget lines that resolve to the same commit when they form one contiguous matched block.\nFor each matching block, collect:\n\n- line range\n- matched code snippet from the current file for that exact range\n- commit hash\n- author\u002Fsummary when helpful for provenance or fallback context\n\nCollect the unique real commit SHAs across all matching blocks while preserving each distinct\nrange. Exclude untracked and local uncommitted pseudo-commits from this set. Build a map from\ncommit SHA to all target ranges blamed to that commit. Do not run `entire checkpoint explain` separately\nfor multiple ranges that share the same commit.\n\nIf the resolved target spans more than 5 unique real commits, stop before running `entire\nexplain`. Report the matched ranges and ask the user to narrow the range or confirm the deeper\nlookup. Do not use the `Entire What Happened:` header for this confirmation response.\n\nKeep the exact snippets from the target-resolution read so the final answer can show users\nwhich code each provenance entry refers to. Only reread a matched block if the snippet for\nthat range was not already captured.\n\n### 3. Explain each unique commit\n\nFor each unique commit SHA in that map, run exactly once:\n\n```bash\nentire checkpoint explain --commit \u003Ccommit-sha> --no-pager\n```\n\nWhen there are multiple unique commits, run those independent commit lookups in parallel when\nthe agent environment supports parallel tool calls.\n\nUse this output to answer the question and identify the checkpoint state. Do not use\n`--search-all` unless the user explicitly asks to widen a failed lookup; it removes branch\u002Fdepth\nlimits and may be slow.\n\nIf this command fails, do not run extra commit metadata lookups and do not scan raw session\nfiles. Mark the range for fallback code behavior analysis and report that Entire transcript\nlookup failed. Include the command error only if it helps the user fix the issue, such as\nauthentication or missing remote configuration.\n\nIf the commit view reveals a checkpoint ID but is still not enough to answer the user's\nquestion, collect the checkpoint ID for expansion. Deduplicate checkpoint IDs across all\ncommit views before running checkpoint lookups; if several commits reference the same\ncheckpoint, expand that checkpoint once and map the result back to every relevant range.\n\nFor each unique checkpoint ID that needs more detail, run:\n\n```bash\nentire checkpoint explain --checkpoint \u003Ccheckpoint-id> --full --no-pager\n```\n\nDo not run raw transcript expansion automatically. If `--full` fails or is insufficient,\nmark the affected ranges for current-code fallback analysis unless the user explicitly asked\nfor raw transcript detail. Only when explicitly requested, run:\n\n```bash\nentire checkpoint explain --checkpoint \u003Ccheckpoint-id> --raw-transcript --no-pager\n```\n\nUse the collected output to answer:\n\n- what the agent was trying to do\n- why this block changed\n- any constraint, bug, edge case, or refactor pressure that caused the final code\n\nDo not show the raw `entire checkpoint explain` output by default. Summarize only the relevant parts tied\nto the target ranges.\n\nIf the commit has no checkpoint ID, use only the commit-level context returned by\n`entire checkpoint explain --commit` for provenance and mark the range for fallback code behavior\nanalysis. Clearly state \"no checkpoint-backed summary; no Entire checkpoint was referenced.\"\n\nIf a checkpoint ID is present but `entire checkpoint explain --checkpoint` cannot load it, keep the\ncheckpoint ID in the answer and say \"checkpoint \u003Cid> was referenced, but the checkpoint was\nnot available locally or remotely.\" Include the command error only if it helps the user fix\nthe issue, such as authentication or missing remote configuration.\n\nIf the checkpoint loads but `--full` fails, say that checkpoint metadata was available but\nfull transcript expansion failed. If raw transcript detail was not explicitly requested, say\nit was not expanded automatically. Answer checkpoint-backed facts from the `entire\nexplain --commit` output, and use current-code fallback analysis for anything that output\ncannot support.\n\nMap each unique commit explanation back to every target range blamed to that commit.\n\n### 4. Add fallback code behavior analysis when needed\n\nFor any resolved range that falls into one of the states listed in Rule 7 where\ncheckpoint-backed context is unavailable, still answer what the current code does.\n\nUse only source-backed analysis:\n\n- Read the target block and the smallest necessary surrounding scope, such as the enclosing\n  function, type, imports, or constants.\n- Use `grep -n -F` to inspect direct call sites or definitions only when the block cannot be\n  understood from local context.\n- Explain observable behavior, inputs, outputs, side effects, and important branches.\n- Do not present this as historical intent, checkpoint rationale, or an agent transcript summary.\n- State what cannot be known from current code alone.\n\n## Response format\n\nBegin the first successful resolved-code response to this skill invocation with the line:\n\n`Entire What Happened:`\n\nfollowed by a blank line, then the content.\n\n- Apply the header to the **first successful resolved-code response of the invocation only.**\n  If an earlier unresolved-input response omitted the header and the user later disambiguates\n  the target, include the header on the resolved-code response. Do not re-print it on later\n  follow-up turns within the same invocation.\n- Do **not** include the header on unresolved-input responses (e.g. snippet not found,\n  ambiguous snippet, invalid path or range). If the target code was resolved but no\n  checkpoint-backed context exists, still use the header and clearly label the answer as\n  current-code fallback analysis rather than a checkpoint summary.\n- After the header, include exactly one short, original, non-lyrical \"Tell me why\" line\n  randomly chosen from the examples below. Do not quote, paraphrase, or imitate Backstreet\n  Boys lyrics or any other song lyrics.\n\nAllowed examples:\n\n- `Tell me why: the blame points here.`\n- `Tell me why: the diff left a trail.`\n- `Tell me why: the context starts here.`\n\nStart with a short provenance summary using one status per range from the states in Rule 7:\n\n````text\nEntire What Happened:\n\nTell me why: the blame points here.\n\nMatches\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | checkpoint \u003Cid>\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | no Entire checkpoint\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | Entire transcript lookup failed\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | checkpoint \u003Cid> unavailable\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> commit \u003Csha> | checkpoint \u003Cid> metadata only, transcript expansion failed\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> local uncommitted changes | no committed history\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n- \u003Cpath>:\u003Cstart>-\u003Cend> -> untracked file | no committed history\n  ```\u003Clanguage>\n  \u003Cmatched code snippet>\n  ```\n````\n\nFor checkpoint-backed ranges, give one short section per distinct matching block:\n\n```text\nWhy\n- \u003Cpath>:\u003Cstart>-\u003Cend>: \u003C2-4 sentence explanation of why this block changed last time>\n```\n\nFor ranges without checkpoint-backed context, use this separate section instead:\n\n```text\nCurrent-code fallback (not checkpoint-backed)\n- \u003Cpath>:\u003Cstart>-\u003Cend>: \u003C2-4 sentence explanation of what the current code does, plus any\n  limits on what can be inferred without checkpoint history>\n```\n\nSnippet guidance:\n\n- Prefer the exact matched lines from the file.\n- Keep snippets tight to the matched block; avoid unrelated surrounding code unless needed for readability.\n- If the block is long, include the smallest contiguous excerpt that still lets the user recognize it and say that it was truncated.\n\nWhen the input was a pasted snippet, include the resolved line range in the answer.\n\n## Trigger phrases\n\nThis skill should trigger for questions like:\n\n- \"wtf is going on with this code\"\n- \"tell me why this code is like this\"\n- \"tell me why this code is like that\"\n- \"tell me why this was changed\"\n- \"what happened here\"\n- \"what happened to this block\"\n- \"why is this code like this\"\n- \"why does this code look like this\"\n- \"why does this look weird\"\n- \"why was this changed\"\n- \"why does this exist\"\n- \"why was this written this way\"\n- \"what is the history behind this code\"\n- \"help me understand this block\"\n- \"what changed here and why\"\n\nEspecially trigger when the user includes:\n\n- a single file line like `cmd\u002Fentire\u002Fcli\u002Fexplain.go:103`\n- a file range like `cmd\u002Fentire\u002Fcli\u002Fexplain.go:103-107`\n- a file path plus a pasted code snippet\n",{"name":5,"description":7},"main","e379b11bcc67701ea72857350578f19147fba0ac","skills\u002Fwhat-happened",28,"https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills","https:\u002F\u002Fgithub.com\u002Fentireio","https:\u002F\u002Fentire.com","Entire is a new developer platform that hooks into your git workflow to capture AI agent sessions on every push, unifying your code with its context.","2026-11-06 16:47:12",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add entireio\u002Fskills --skill what-happened",{"tool":59,"command":60},"bunx","bunx skills add entireio\u002Fskills --skill what-happened",{"tool":62,"command":63},"pnpm","pnpm dlx skills add entireio\u002Fskills --skill what-happened","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fwhat-happened\u002FSKILL.md",true,[],[68,98,122,139,151,169],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":79,"publishedAt":39},"01M6QWKMSXMQQ36WXXKBRP1N25","using-entire","Use as the FIRST action on any research, investigation, or codebase-understanding request — \"research X\", \"investigate X\", \"look into X\", \"dig into X\", \"search X\", \"explore X\", \"understand X\", \"why is this like this\" — before Glob, Grep, or Read. Recorded intent lives in Entire checkpoints on the server, not in local files, so an empty or unfamiliar working copy is not a reason to skip it. Routes to the right Entire sub-skill (search, recall, explain, what-happened, replay, teach, review, session-handoff).","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fusing-entire\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[21,80,81,82,83,84,32,85,86,87,88,89,90,91,92,93,94,95,96,97],"using entire","review","handoff","search","server","explore","read","files","intent","search x","local","as","session-handoff","codebase-understanding","checkpoints","action","request","local files",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":39},"01M6QWKENQ1293P0Y05RR4DNKD","teach","Use when a developer wants a topic-focused guided lesson built from canonical checkpoints, not a whole-repo overview. Triggers on phrases like \"teach me \u003Ctopic>\", \"teach me how this repo handles\", \"how does \u003Ctopic> work in this repo\", \"give me a lesson on\", \"school me on\", and \"I need to learn about\"","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fteach\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[100,110,111,112,113,114,115,116,30,117,28,118,26,119,94,120,121],"learn","developer","how","teach me","work","repo","overview","lesson","triggers","canonical","school","when",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":129,"publishedAt":39},"01M6QWK8VB54WP2H9PJC3PQ7PX","session-to-skill","Use when the user wants to turn one or more Entire-tracked sessions, checkpoints, or repeated agent workflows into a reusable agent skill.","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fsession-to-skill\u002FSKILL.md",[128],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[130,131,132,133,134,30,135,136,137,94,138,21,121],"session","session to skill","workflows","sessions","user","reusable","agent skill","agent workflows","more",{"skillNo":140,"name":92,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":39},"01M6QWJSJ02VPZ4HHX71QMG5V1","Use when the user wants to continue work from one agent in another agent, inspect recent sessions, or summarize a saved session or checkpoint for handoff","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fsession-handoff\u002FSKILL.md",[],[82,145,130,146,133,33,147,114,134,30,148,149,150,23,121],"session handoff","summarize","continue","continue work","saved","inspect",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":39},"01M6QWJN5GTWK8C2MR0WASNQFV","session-crosslink","Use when an agent session ran outside the repo whose commits should record it — e.g. launched from a higher-level folder, a non-Entire repo, or one repo but editing another — to attach the session to each affected Entire-enabled repo's HEAD commit.","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fsession-crosslink\u002FSKILL.md",[],[130,158,159,160,161,115,30,162,163,164,165,27,166,167,21,121,168],"session crosslink","commit","commits","editing","attach","but","record","head","folder","affected","agent session",{"skillNo":170,"name":83,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":39},"01M6QWJHAAEM30G2KG1MMKEEN0","Use 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\". Invoke this as the FIRST action on such requests, before Glob, Grep, or Read: the answer is in Entire's recorded history (prompts, transcripts, and decisions, across repos), not in the local files, and a working copy that looks empty or unfamiliar is not a reason to skip it. Also use to find code across repositories (\"where is X implemented in our other repos\"). Not for grepping the current working copy on its own, and not for the current active session.","https:\u002F\u002Fgithub.com\u002Fentireio\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fsearch\u002FSKILL.md",[],[83,175,38,176,177,86,178,87,179,180,181,90,182,91,183,95,23,97,184,121],"repos","decision","history","bug","do","active","across","feature","answer","invoke"]