# Chat Snapshot

> >

- **Type:** Skill
- **Install:** `agentstack add skill-daiyanhasin-chat-snapshot-skill-chat-snapshot-skill`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [daiyanHasin](https://agentstack.voostack.com/s/daiyanhasin)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [daiyanHasin](https://github.com/daiyanHasin)
- **Source:** https://github.com/daiyanHasin/chat-snapshot-skill

## Install

```sh
agentstack add skill-daiyanhasin-chat-snapshot-skill-chat-snapshot-skill
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Chat Snapshot Skill

Saves and restores full conversation context as a compact, portable JSON file.
Works across Claude, ChatGPT, Gemini, or any LLM.

---

## Command: /export

When the user types `/export` (or `/snapshot`, `/save`, `/compress`):

### Step 1 — Warn about cost
Say briefly: "Compressing now — this uses some tokens to read the full chat. Save early and often next time!"

### Step 2 — Analyze the full conversation
Read the ENTIRE conversation from the very first message to now. Do not skip anything.

### Step 3 — Generate a filename
Derive a short, meaningful filename from the conversation topic. Use the first 4–6 words of the goal, lowercase, hyphenated. Examples:
- "python-finance-tracker-cli"
- "claude-skill-chat-snapshot"
- "react-dashboard-dark-mode"

Never use "chat-snapshot" as the filename. Always reflect the actual topic.

### Step 4 — Build the JSON snapshot
Output ONLY this exact JSON structure, filled in accurately. Be ruthless about compression — every field must be concise. No filler, no repetition.

```json
{
  "snapshot_version": "1.0",
  "suggested_filename": ".json",
  "exported_at": "",
  "llm_source": "Claude",
  "goal": "",
  "context": "",
  "progress": [
    "",
    ""
  ],
  "artifacts": [
    {
      "name": "",
      "language": "",
      "description": "",
      "status": "complete | partial | broken"
    }
  ],
  "open_issues": [
    "",
    ""
  ],
  "next_steps": [
    "",
    ""
  ],
  "key_facts": {
    "": "",
    "": ""
  },
  "full_summary": "",
  "resume_prompt": ""
}
```

### Resume prompt format
The `resume_prompt` must be fully self-contained — it should work when pasted into ANY LLM even if the skill is not installed. Use this format, under 200 words:

```
I'm going to give you my conversation context from a previous chat. Please read it carefully and resume helping me from where we left off. Do not ask me to re-explain anything below.

PROJECT: 
STACK: 
DONE: 
ARTIFACTS: 
OPEN ISSUES: 
NEXT ACTION: 

Please confirm you've read this and tell me what we'll work on first.
```

**Do NOT include any explanation inside the JSON. Output only valid JSON.**

### Step 5 — Instruct the user to save it
After outputting the JSON, say:

> ✅ **Snapshot ready.**
> Save the JSON above as **``** (shown in the `suggested_filename` field).
>
> **To resume in Claude:** Start a new chat, upload the file, and say "resume from this snapshot."
> **To resume in ChatGPT / Gemini / any LLM:** Copy the `resume_prompt` field and paste it as your first message. No upload needed.

---

## Resuming from a snapshot (Claude only)

When the user uploads a `.json` file and it looks like a chat snapshot (has fields like `goal`, `progress`, `next_steps`), OR when they say "resume", "restore", "continue from this", "here is my snapshot":

### Step 1 — Parse the snapshot
Read the uploaded or pasted JSON.

### Step 2 — Restore context silently
Do NOT ask the user to explain anything. Treat the snapshot as full working memory immediately.

### Step 3 — Confirm restoration
Reply with:

> 🔁 **Context restored.**
> **Goal:** ``
> **Done:** ``
> **Open issues:** ``
> **Up next:** ``
>
> Ready — what do you want to work on?

---

## Incremental Export

If the user has a previous snapshot and wants to update it:
- Ask: "Do you have a previous snapshot? Upload it and I'll only summarize what changed."
- If yes: read the old JSON, identify only what is new or changed since then, merge and output the full updated JSON.
- This saves tokens — no need to re-summarize unchanged content.

---

## Tips printed after every /export

Always append this after the snapshot:

> 💡 **Pro tips:**
> - Export every 20–30 messages — don't wait until quota is almost gone
> - **In ChatGPT/Gemini:** just paste the `resume_prompt` field — no upload, no skill needed
> - **In Claude:** upload the JSON file and say "resume from this snapshot"
> - For updates, keep your last snapshot handy to do an incremental export

---

## Reference files
- `references/sample-snapshot.json` — example of a complete snapshot output
- `references/resume-prompt-template.md` — guide for writing good resume prompts

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [daiyanHasin](https://github.com/daiyanHasin)
- **Source:** [daiyanHasin/chat-snapshot-skill](https://github.com/daiyanHasin/chat-snapshot-skill)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-daiyanhasin-chat-snapshot-skill-chat-snapshot-skill
- Seller: https://agentstack.voostack.com/s/daiyanhasin
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
