Skip to content
Skills Library
AI & agents · Planning

initializing-memory

/initializing-memory

Comprehensive guide for initializing or reorganizing agent memory into a deeply hierarchical file structure. Use when running /init, when user asks to set up memory, or when memory needs a major reorganization. Trigger phrases: "initialize memory", "set up memory", "populate memory", "build my memory", "memory init".

Repository
dotfiles ↗
Licence
MIT
Last repository change
25.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 25.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Comprehensive guide for initializing or reorganizing agent memory into a deeply hierarchical file structure. Use when running /init, when user asks to set up memory, or when memory needs a major reorganization. Trigger phrases: "initialize memory", "set up memory", "populate memory", "build my memory", "memory init".

Triggers from the description

initialize memoryset up memorypopulate memorybuild my memorymemory init
Original author description

Comprehensive guide for initializing or reorganizing agent memory into a deeply hierarchical file structure. Use when running /init, when user asks to set up memory, or when memory needs a major reorganization. Trigger phrases: "initialize memory", "set up memory", "populate memory", "build my memory", "memory init".

How it works

  1. Target Output
  2. Example Target Structure
  3. What to Remember
  4. Workflow
  5. Writing Good Memory Files
Original SKILL.md headings · 201 lines, 869 words
SKILL.md preview
---
name: initializing-memory
description: >
  Comprehensive guide for initializing or reorganizing agent memory into a
  deeply hierarchical file structure. Use when running /init, when
  user asks to set up memory, or when memory needs a major reorganization.
  Trigger phrases: "initialize memory", "set up memory", "populate memory",
  "build my memory", "memory init".
---

# Memory Initialization

Initialize persistent memory into a deeply hierarchical structure of 15-25
small, focused files in `.pi/memory/`.

Run `/init` again after major project changes or when you want to re-analyze.

## Target Output

| Metric              | Target                                   |
| ------------------- | ---------------------------------------- |
| Total files         | 15-25 (aim for ~20)                      |
| Max lines per file  | ~40 (split if larger)                    |
| Hierarchy depth     | 2-3 levels using `/` naming              |
| Nesting requirement | Every file MUST be nested under a parent |

**Anti-patterns:**

- ❌ Only 3-5 large files
- ❌ Flat naming (all files at top level)
- ❌ Mega-files with 10+ sections

## Example Target Structure

```
system/
├── human/
│   ├── identity.md
│   ├── context.md
│   └── prefs/
│       ├── communication.md
│       ├── coding_style.md
│       └── workflow.md
├── project/
│   ├── overview.md
│   ├── architecture.md
│   ├── conventions.md
│   ├── gotchas.md
│   └── tooling/
│       ├── testing.md
│       └── linting.md
└── persona/
    ├── role.md
    └── behavior.md
reference/
├── README.md
└── history/
    └── decisions.md
```

## What to Remember

### 1. Procedures (Rules & Workflows)

- Commit conventions, branching strategy
- Build/test/lint commands and order
- Review process, CI requirements

### 2. Preferences (Style & Conventions)

- Coding style rules (formatting, patterns, anti-patterns)
- Communication preferences (terse vs detailed)
- Tool preferences (which tools, how to use them)

### 3. History & Context

- Key refactors, past bugs, architectural decisions
- Project evolution, deprecated patterns
- Ongoing work and current priorities

## Workflow

### Step 1: Backup existing memory

Use `memory_backup` tool first if memory already has content.

### Step 2: Ask upfront questions (bundle in one message)

1. **Research depth**: Standard (~5-20 tool calls) or deep (~100+)?
2. **Identity**: Which contributor are you? (check git context from /init)
3. **Related repos**: Other repositories you should know about?
4. **Historical sessions**: If prior agent sessions were detected, ask:
   "I found prior Claude Code / Pi / Codex sessions. Should I analyze them
   to learn your preferences and project context?"
5. **Communication**: Terse or detailed responses?
6. **Rules**: Any rules I should always follow?

**Don't ask things you can find by reading files.** Be autonomous during execution.

### Step 3: Research the project

**Standard research:**

- README, AGENTS.md, CLAUDE.md, CONTRIBUTING.md
- Package manifests (package.json, Cargo.toml, pyproject.toml, go.mod)
- Config files (tsconfig, eslint, prettier, etc.)
- `git log --oneline -20` — recent history
- `git log --format="%s" -50 | head -20` — commit conventions
- Explore key directories and understand structure

**Deep research (if chosen):**

- Everything above, plus:
- `git shortlog -sn --all | head -10` — contributors
- `git branch -a` — branching strategy
- `git log --format="%an <%ae>" | sort -u` — deduplicate contributors by email
- Deep dive into architecture, patterns, CI config
- Analyze multiple source directories
- Read key source files to understand patterns
- Cross-reference findings, resolve ambiguities

**Think like a new team member**: What would you want to know on your first day?

### Step 4: Analyze prior sessions (if approved)

If the user approved session history analysis:

**Claude Code sessions** (`~/.claude/projects/`):

- Each project dir contains session JSONL files
- Look for the project matching the current working directory
- Extract: user preferences, communication style, project knowledge, conventions

**Pi sessions** (`~/.pi/agent/sessions/`):

- Session directories named by project path
- Read recent session files for patterns and preferences

**Codex sessions** (`~/.codex/`):

- `history.jsonl` contains session history
- Extract coding preferences, project context

Focus on extracting:

- **User identity and preferences** → `system/human/`
- **Behavioral rules discovered** → `system/persona/`
- **Project knowledge** → `system/project/`
- **Working patterns** → `system/human/prefs/`

### Step 5: Create hierarchical file structure

Use `memory_write` for each file. Every file needs:

- Proper frontmatter (description, limit)
- Hierarchical `/` naming (e.g. `system/project/tooling/testing.md`)
- Focused, single-purpose content (~40 lines max)

**Write findings as you go — don't wait until the end.**

Memory scope guide:

- **system/** (always in context): Active preferences, project conventions, agent behavior
- **reference/** (on-demand): Historical info, archived decisions, detailed reference

### Step 6: Checkpoint

```bash
find .pi/memory/system -name '*.md' | wc -l
```

**If count < 15, split more aggressively.**

### Step 7: Reflect and review

Before finishing, verify:

- [ ] 15-25 files total
- [ ] All files use `/` naming (2-3 levels deep)
- [ ] No file exceeds ~40 lines
- [ ] Each file has one concept
- [ ] Every file has real content (no placeholders)
- [ ] human/ updated with user identity + preferences
- [ ] persona/ updated with behavioral rules
- [ ] No redundancy across files

Ask the user: "I've completed initialization with N files. Want me to refine anything?"

### Step 8: Commit and sync

```
memory_commit({ message: "init: populate memory with N files from project research" })
```

If a remote is configured, push: `git -C .pi/memory push`

## Writing Good Memory Files

**Descriptions** are critical — write as if explaining to a future self with zero context:

- ✅ "User's coding style preferences applied to all code I write or review"
- ❌ "Preferences"

**Content** should be:

- Well-organized with headers and bullets
- Scannable at a glance
- Pruned of outdated info
- Concrete and actionable

Versions

RepositoryScoreLicence
This page · edmundmiller/dotfiles100MIT
letta-ai/letta-code100Apache-2.0

Database snapshot: 13.11.2026 · package version 582ba754cb2a (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100memory-init
    在当前目录下初始化记忆系统,生成 CLAUDE.md(可选 AGENT.md 给 Cursor 用)、MEMORY.md 和 memory/ 目录。当用户说"初始化记忆"、"搭建记忆"、"memory init"、"/memory-init"时触发。
  • 100memory-init
    Initialize the Engram memory system — creates configuration, memory files, and CLAUDE.md integration. Trigger when the user sets up persistent memory for a project, or when `.claude/memory-settings.json` is missing and a memory feature is requested.
  • 100memory-init
    Initialize or reset memory files to clean state. Use for fresh start, new project/sprint, or new machine. Preserves learned patterns by default. Use when user says "initialize memory", "reset memory", or "memory init".
  • 95init-ai-md
    初始化、迁移和增量更新项目 AI 记忆文件,以 AGENTS.md 作为唯一事实来源。 通过交互式选择和差异对比,智能补全记忆项内容。触发条件: 当用户提及初始化记忆文件、更新 AGENTS.md、迁移 CLAUDE.md/GEMINI.md、同步 AI 记忆、 init-ai-md 等关键词时主动调用。 Use when initializing, migrating, or incrementally updating project AI memory documents. The skill maintains the canonical…
  • 100memory-init
    Scaffold a project-local memory directory and AGENTS.md guidance for reusable agent knowledge. Use when a user wants to initialize `.agents/memories/` or another project memory path so future agents can read and maintain durable project context.
  • 100init-deep
    Initializes a hierarchical AGENTS.md knowledge base for a project. Use when a repo needs its structure, commands, and conventions documented for agents.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.