← CamberCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Camber
Snapshot Sep 30, 2026 · 22:58 UTC · version 2.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "context-mirror",
"description": "Create, update, pull, and push Camber Context Mirror agents from local coding workspaces.",
"included_files": [
{
"relative_path": "resources/claude-code-chat-export.md",
"size_in_bytes": 2040
},
{
"relative_path": "resources/create-update.md",
"size_in_bytes": 7573
},
{
"relative_path": "resources/cursor-chat-export.md",
"size_in_bytes": 2331
},
{
"relative_path": "resources/layout.md",
"size_in_bytes": 1405
},
{
"relative_path": "resources/pull-push.md",
"size_in_bytes": 3808
},
{
"relative_path": "resources/troubleshooting.md",
"size_in_bytes": 2179
}
],
"skill_md_contents": "---\nname: context-mirror\ndescription: Create, update, pull, and push Camber Context Mirror agents from local coding workspaces.\n---\n\n# Context Mirror\n\nUse this skill when the user asks to:\n- mirror a local workspace into a Camber agent\n- refresh an existing mirrored Camber agent\n- migrate local assistant skills into Camber skills\n- pull a Camber agent mirror back to local\n- push local mirror changes back to Camber\n\n## Resource map\n\nRead only the resources needed for the current branch:\n\n| Resource | Use when |\n|---|---|\n| `resources/create-update.md` | Creating or updating a workspace-mirroring agent |\n| `resources/layout.md` | Explaining or validating mirror folder layout |\n| `resources/pull-push.md` | Pulling an agent locally, or init -> export chat -> edit `sync.yaml` -> push |\n| `resources/claude-code-chat-export.md` | Exporting Claude Code chat into the mirror |\n| `resources/cursor-chat-export.md` | Exporting Cursor chat into the mirror |\n| `resources/troubleshooting.md` | Debugging common mirror failures |\n\n## Core rules\n\n- Verify `$ camber me` before relying on the CLI.\n- Inspect before writing: README/docs, project tree, manifests, entrypoints, configs, tests, commands, and local assistant context.\n- If the workspace uses the Snowflake CLI, `instruction.md` must tell the agent to use `camber.snowflake` instead — never the local CLI.\n- Stop for user approval before any write action: context init, pull, or push (and `$ camber agent update` when refreshing an existing agent).\n- Collect every confirmation through the client's interactive question tool — `AskQuestion` in Cursor, `AskUserQuestion` in Claude Code. Do not substitute plain chat text. **Wait for the user's answer before every next step** — an unanswered question is a hard stop.\n- If the requested agent already exists, update it instead of creating a duplicate. For a **new** mirror, do **not** call `agents_create` or `$ camber agent create` first — leave `agent:` blank in `.camber/sync.yaml` and let the first `$ camber agent push` create the remote agent.\n- `README.md` is one source of evidence, not the whole workspace context.\n- Avoid `.git`, `.env*`, and virtualenvs unless the user explicitly approves.\n- Project files are mirror files only. Never add project files to Knowledge Base.\n- Skills become Camber skill records. Never add `SKILL.md` or skill scripts to Knowledge Base.\n- Skill `references/` files are the only skill files indexed as Knowledge Base.\n- The current chat is required mirror context when syncing: export after `context init`, then wire paths through `.camber/sync.yaml` before push.\n- Never push skills, project files, chat, instruction, or other mirror sections with separate CLI commands (`skill compile`, `context add`, `stash cp`). Use `context init` -> export chat (if required) -> edit `sync.yaml` -> `push`.\n- During a mirror operation, only write under `.camber/`: `sync.yaml` (from `$ camber agent context init` plus placeholder edits), `instruction.md`, and `chats/`. Use **relative paths** in `sync.yaml` (for example `.camber/instruction.md`, `.camber/chats`). Add `.camber/**` to top-level `exclude` so staging files are not uploaded as project files. Remove `.camber/instruction.md` and `.camber/chats/` after a successful `push`; keep `sync.yaml`.\n- Prefer `$ camber agent context init` over hand-writing `.camber/sync.yaml`. Run `context init` and `push` from the project root (fresh mirror) or from the pulled mirror root.\n\n## Fast path\n\n1. Verify auth:\n ```bash\n $ camber me\n ```\n2. Inspect workspace and assistant context.\n3. List existing agents and decide create vs update.\n4. Ask the user to confirm the plan through the client's interactive question prompts — never plain chat text. **Wait for answers before continuing.**\n5. Initialize the local sync config, draft `instruction.md`, export chat if needed, fill `.camber/sync.yaml` (leave `agent:` blank on first push), then push. For an existing agent only, set `agent:` to the known id or run `$ camber agent update` when instructions changed.\n6. After a successful push, remove `.camber/instruction.md` and `.camber/chats/` staging files.\n7. Double-check the result before telling the user the mirror is complete.\n\nFor the full create/update workflow, read `resources/create-update.md`.\n"
}SHA-256: 61d7b0f8dd7a628ee36609b97dcd88ea1d396371f98be28f86eae184dde15079