Skip to main content

migrate-memory

Migrate from monolith CLAUDE.md to the three-file memory system (identity + state + log). Non-destructive — backs up the original first.

Source facts

Repository
b1rdmania/ghostclaw
Last source activity
March 28, 2026 at 20:42
Detected SKILL.md language
English
Stars
84
Forks
8

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
migrate-memory
description
Migrate from monolith CLAUDE.md to the three-file memory system (identity + state + log). Non-destructive — backs up the original first.
# Migrate Memory Migrates an existing GhostClaw group from the single-file CLAUDE.md memory system to the structured three-file system. ## What it does 1. Backs up the current `CLAUDE.md` to `CLAUDE.md.backup` 2. Creates `memory/identity.md` — extracts soul, personality, user info 3. Creates `memory/state.md` — extracts project status, current work 4. Creates `memory/log.md` — empty, ready for the agent to start logging 5. Rewrites `CLAUDE.md` to be instructions-only (no project data) ## Steps ### 1. Identify the group folder Ask the user which group to migrate, or default to the main group: ```bash GROUP_DIR="$GHOSTCLAW_GROUP_DIR" ``` ### 2. Back up ```bash cp "$GROUP_DIR/CLAUDE.md" "$GROUP_DIR/CLAUDE.md.backup" ``` ### 3. Read the existing CLAUDE.md Read the full file. Identify these sections: - **Soul/personality** — voice, tone, communication style - **About the user** — name, location, projects, key people - **About the agent** — name, machine, accounts, capabilities - **Project status** — active projects, parked projects, shipped work - **Admin/technical** — file paths, IPC, scheduling, group management ### 4. Create memory/identity.md Extract soul + user info + agent info into this structure: ```markdown # Identity ## Soul [paste soul/personality section] ## About the User [paste user details] ## About Me [paste agent details — name, machine, accounts] ``` ### 5. Create memory/state.md Extract project status into this structure: ```markdown # Current State Last updated: [today's date] ## Active Projects [active projects with current status] ## Parked [inactive/shipped projects] ## Recent Decisions [leave empty — agent will start populating this] ``` ### 6. Create memory/log.md ```markdown # Log Append-only. Most recent first. Never edit old entries — only prepend new ones. --- ## [today's date] - Migrated to three-file memory system (identity + state + log) ``` ### 7. Rewrite CLAUDE.md Replace the CLAUDE.md with the instructions-only template from `.claude/skills/setup-ghostclaw/templates/CLAUDE.md`. If the template doesn't exist, use this structure: ```markdown # Assistant You are a personal AI assistant running on a dedicated machine. ## Memory Your memory lives in `memory/`. Read these files at the start of every conversation: | File | What it is | How it changes | |------|-----------|----------------| | `memory/identity.md` | Who you are, who the user is, personality | Rarely — only when facts change | | `memory/state.md` | Active projects, current status, recent decisions | After every meaningful conversation | | `memory/log.md` | Append-only history of what happened and when | Prepend new entries, never edit old ones | **CRITICAL — Before responding to ANY message, you MUST use the Read tool to read `memory/state.md`.** Do this BEFORE generating any response. If you skip this step, your answers will be wrong. On your **first message of a session only**, also read `memory/identity.md`. You don't need to re-read it after that — identity rarely changes. ### When to update memory **Update `memory/state.md`** when: - A project's status changes (started, shipped, paused, blocked) - New project or work stream begins - A decision is made that affects what you're working on - Update the "Last updated" date when you edit this file **Prepend to `memory/log.md`** when: - Work is completed (shipped a feature, sent emails, finished research) - A significant decision is made (chose a tool, changed direction, agreed on a plan) - Format: `## YYYY-MM-DD` header, bullet points underneath, most recent first **Don't log** routine messages, simple Q&A, or work that didn't change anything. **Don't put project details in this file.** This file is for instructions. Memory lives in `memory/`. ``` Keep the Communication, File Paths, Scheduling Tasks, and Global Memory sections from the template. ### 8. Confirm Tell the user: - Backup saved to `CLAUDE.md.backup` - Memory split into `memory/identity.md`, `memory/state.md`, `memory/log.md` - CLAUDE.md rewritten as instructions-only - To revert: `cp CLAUDE.md.backup CLAUDE.md && rm -rf memory/` ### 9. Restart Restart GhostClaw so the agent picks up the new structure: ```bash # macOS launchctl kickstart -k gui/$(id -u)/com.ghostclaw # Linux systemctl --user restart ghostclaw ```
View on GitHub