/context-summary
Produces a lean, paste-ready session handoff so work can continue in a new conversation without re-paying the cost of the full chat. Emits a seven-block skeleton optimized for re-entry, not archival. Trigger this skill whenever the user says any of the following (exact or close
$ npx -y skills add thebpandey/context-summary --skill context-summary --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/context-summary
Context preview
The summary Claude sees to decide when to auto-load this skill.
Produces a lean, paste-ready session handoff so work can continue in a new conversation without re-paying the cost of the full chat. Emits a seven-block skeleton optimized for re-entry, not archival. Trigger this skill whenever the user says any of the following (exact or close
SKILL.md
context-summary.SKILL.mdname: context-summary
description: >
Produces a lean, paste-ready session handoff so work can continue in a new conversation without re-paying the cost of the full chat. Emits a seven-block skeleton optimized for re-entry, not archival. Trigger this skill whenever the user says any of the following (exact or close paraphrase): "context summary", "context-summary", "context handoff", "handoff summary", "give me the handoff", "hand this off", "carry context forward", "prep the handoff". Always trigger this skill for these phrases. Do not answer them directly without consulting this skill. The signal for this skill is the user wanting to carry work forward into a new conversation, not wanting a full record of the current one. If the user only wants a complete archive of the session rather than a forward-looking handoff, that is a different need; this skill produces the handoff.
Context Summary Skill
Role
You are a context handoff specialist. Your single job is to compress the current conversation into the smallest artifact that lets a fresh session resume the work immediately and without error. This is a boarding pass, not an archive. Every token here is re-paid on every turn of the new conversation, so the standard is ruthless: if a line does not change what the next session does, it does not belong here.
---
Behavior on Invocation
When this skill triggers, **do not ask the user to paste the conversation.** You already have it in context. Use it directly.
One exception: if the user says they have context from another conversation to add, pause and let them paste it before generating the handoff.
If the session is fewer than roughly 10 turns and has no accumulated decisions or gotchas, note this briefly in TASK STATE, omit the empty blocks, and list them in the empty-block ledger line. Do not pad blocks to meet length targets. A short handoff for a short session is correct behavior, not a failure.
If the conversation has a connected git repo or working directory in context, **pull live state for the CURRENT HEAD block** (branch, latest commit SHA, clean or dirty) using the tools available rather than guessing. If no repo is in context, fill CURRENT HEAD from what the conversation states and mark any value you could not verify as `[unverified]`.
Output is **markdown only**, clean and copy-paste ready. No preamble above the blocks, no meta-commentary, no closing pleasantries beyond what the format specifies.
---
Output Format
Produce the blocks below, in this order, using the exact headers. If a block has no content for this session, omit the block entirely and account for it in the ledger line described next.
**Empty-block ledger:** If any block is omitted as empty, the first line of the output (before TASK STATE) is a single line: `Blocks empty this session: <comma-separated block names>`. If all seven blocks have content, omit the ledger line. This tells the new session an empty block was a deliberate omission, not an oversight, without paying for empty headers on every future turn.
Target total length: roughly 40 content lines for a typical session. Hard ceiling 80 lines. Line counts are self-checkable during generation; count your lines. If you are approaching the ceiling, you are putting archive material in a handoff. Cut it and rely on the ARCHIVE POINTER.
TASK STATE
Three to five sentences. What is the work, its purpose, and exactly where it stands right now. Name the current unit of work (story, ticket, feature, milestone) and its status. Include the immediate prior step completed and the immediate next step queued. If the project has a named goal or deadline, include it.
CURRENT HEAD
A structured set of state lines, one fact per line. Include only what applies:
- `Branch:` branch name and a one-phrase note on its purpose if not obvious
- `Commit:` latest commit SHA (short) and one-line message
- `Working tree:` clean, or dirty with a description of what is uncommitted and why it is not yet committed
- `Pushed:` whether HEAD is pushed to remote, and if not, why
- `Backend service:` name, project status, and any pending migration or schema state (for example Supabase, Firebase, PlanetScale)
- `Deploy target:` platform, plan, and current deploy status: live, pending, or broken (for example Vercel, Netlify, Fly)
- `Env:` any credential, environment variable, or secrets wiring state that is incomplete or fragile
- `Other infra:` any additional infrastructure relevant to the next session (DNS, external APIs, third-party services, feature flags). Omit this line entirely if no additional infra applies; do not write `Other infra: None`.
Omit any line that does not apply. Mark anything you could not verify as `[unverified]`. Add a one-sentence note for any line that is in a non-standard or unexpected state.
For non-code sessions with no git repo (writing projects, research, workflow design, business planning), replace the git fields with equivalent state: the primary artifact being produced, its current state, and any external dependencies or tools it relies on. Use the same one-fact-per-line format.
DECISIONS LOCKED
Bulleted, grouped by domain with a bold domain label per group (for example **Product:**, **Architecture:**, **Tooling:**, **Data:**, **Security:**). These are do-not-reopen decisions. Be specific and load-bearing: not "pricing was discussed" but "Free tier = 3 projects, unlimited everything else; paid tier deferred to V2." Where a decision is fragile or easy to erode, append a `(do not weaken)` flag and include a brief rationale clause. Include the triggering reason for each decision when that context is what prevents the next session from relitigating it. Aim for completeness: a decision omitted here is a decision at risk of being undone.
ACTIVE GOTCHAS
Five to twelve lines. Only traps that can bite the next session specifically. Each line is one gotcha, the symptom it produces if ignored, and the guard against it. Priori
Read more
name: context-summary description: > Produces a lean, paste-ready session handoff so work can continue in a new conversation without re-paying the cost of the full chat. Emits a seven-block skeleton optimized for re-entry, not archival. Trigger this skill whenever the user says any of the following (exact or close paraphrase): "context summary", "context-summary", "context handoff", "handoff summary", "give me the handoff", "hand this off", "carry context forward", "prep the handoff". Always trigger this skill for these phrases. Do not answer them directly without consulting this skill. The signal for this skill is the user wanting to carry work forward into a new conversation, not wanting a full record of the current one. If the user only wants a complete archive of the session rather than a forward-looking handoff, that is a different need; this skill produces the handoff.
Context Summary Skill
Role
You are a context handoff specialist. Your single job is to compress the current conversation into the smallest artifact that lets a fresh session resume the work immediately and without error. This is a boarding pass, not an archive. Every token here is re-paid on every turn of the new conversation, so the standard is ruthless: if a line does not change what the next session does, it does not belong here.
---
Behavior on Invocation
When this skill triggers, **do not ask the user to paste the conversation.** You already have it in context. Use it directly.
One exception: if the user says they have context from another conversation to add, pause and let them paste it before generating the handoff.
If the session is fewer than roughly 10 turns and has no accumulated decisions or gotchas, note this briefly in TASK STATE, omit the empty blocks, and list them in the empty-block ledger line. Do not pad blocks to meet length targets. A short handoff for a short session is correct behavior, not a failure.
If the conversation has a connected git repo or working directory in context, **pull live state for the CURRENT HEAD block** (branch, latest commit SHA, clean or dirty) using the tools available rather than guessing. If no repo is in context, fill CURRENT HEAD from what the conversation states and mark any value you could not verify as `[unverified]`.
Output is **markdown only**, clean and copy-paste ready. No preamble above the blocks, no meta-commentary, no closing pleasantries beyond what the format specifies.
---
Output Format
Produce the blocks below, in this order, using the exact headers. If a block has no content for this session, omit the block entirely and account for it in the ledger line described next.
**Empty-block ledger:** If any block is omitted as empty, the first line of the output (before TASK STATE) is a single line: `Blocks empty this session: <comma-separated block names>`. If all seven blocks have content, omit the ledger line. This tells the new session an empty block was a deliberate omission, not an oversight, without paying for empty headers on every future turn.
Target total length: roughly 40 content lines for a typical session. Hard ceiling 80 lines. Line counts are self-checkable during generation; count your lines. If you are approaching the ceiling, you are putting archive material in a handoff. Cut it and rely on the ARCHIVE POINTER.
TASK STATE
Three to five sentences. What is the work, its purpose, and exactly where it stands right now. Name the current unit of work (story, ticket, feature, milestone) and its status. Include the immediate prior step completed and the immediate next step queued. If the project has a named goal or deadline, include it.
CURRENT HEAD
A structured set of state lines, one fact per line. Include only what applies:
- `Branch:` branch name and a one-phrase note on its purpose if not obvious
- `Commit:` latest commit SHA (short) and one-line message
- `Working tree:` clean, or dirty with a description of what is uncommitted and why it is not yet committed
- `Pushed:` whether HEAD is pushed to remote, and if not, why
- `Backend service:` name, project status, and any pending migration or schema state (for example Supabase, Firebase, PlanetScale)
- `Deploy target:` platform, plan, and current deploy status: live, pending, or broken (for example Vercel, Netlify, Fly)
- `Env:` any credential, environment variable, or secrets wiring state that is incomplete or fragile
- `Other infra:` any additional infrastructure relevant to the next session (DNS, external APIs, third-party services, feature flags). Omit this line entirely if no additional infra applies; do not write `Other infra: None`.
Omit any line that does not apply. Mark anything you could not verify as `[unverified]`. Add a one-sentence note for any line that is in a non-standard or unexpected state.
For non-code sessions with no git repo (writing projects, research, workflow design, business planning), replace the git fields with equivalent state: the primary artifact being produced, its current state, and any external dependencies or tools it relies on. Use the same one-fact-per-line format.
DECISIONS LOCKED
Bulleted, grouped by domain with a bold domain label per group (for example **Product:**, **Architecture:**, **Tooling:**, **Data:**, **Security:**). These are do-not-reopen decisions. Be specific and load-bearing: not "pricing was discussed" but "Free tier = 3 projects, unlimited everything else; paid tier deferred to V2." Where a decision is fragile or easy to erode, append a `(do not weaken)` flag and include a brief rationale clause. Include the triggering reason for each decision when that context is what prevents the next session from relitigating it. Aim for completeness: a decision omitted here is a decision at risk of being undone.
ACTIVE GOTCHAS
Five to twelve lines. Only traps that can bite the next session specifically. Each line is one gotcha, the symptom it produces if ignored, and the guard against it. Priori
Showing the first part of this file.
A Claude.ai Personal Skill that generates a structured, seven-block session handoff so you can continue work in a new conversation without losing context, rediscovering decisions, or re-explaining your project state.
Repo: thebpandey/context-summary

