Best for
- Use when setting up project memory, organizing .
Jamie-BitFlight/claude_skills/plugins/plugin-creator/skills/memory-and-rules/SKILL.md
Configure and manage Claude Code persistent memory (CLAUDE.md, auto memory, rules) across sessions. Use when setting up project memory, organizing .claude/rules/, managing auto memory files, creating CLAUDE.md with imports, debugging memory loading, or advising on memory hierarchy and best practices.
Decision brief
Claude Code has two kinds of persistent memory:
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/Jamie-BitFlight/claude_skills --skill "plugins/plugin-creator/skills/memory-and-rules"Inspect the Agent Skill "memory-and-rules" from https://github.com/Jamie-BitFlight/claude_skills/blob/a00194f25fec502d3d659b7d610369614967251e/plugins/plugin-creator/skills/memory-and-rules/SKILL.md at commit a00194f25fec502d3d659b7d610369614967251e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Be specific — "Use 2-space indentation" over "Format code properly"
git workflow @docs/git-instructions.md
Memory locations load in priority order (highest priority first):
Review the “Decision Tree — Which Memory Location?” section in the pinned source before continuing.
Generates a starter CLAUDE.md for the current project.
Permission review
The documentation asks the agent to read local files, directories, or repositories.
Use `/memory` during a session to open any memory file in your system editor. This includes CLAUDE.md files, rules, and auto memory.The documentation asks the agent to read local files, directories, or repositories.
Use `/memory` to open the file selectorThe documentation asks the agent to create, modify, or delete local files.
Create `.claude/rules/` directoryEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 64 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
If the user's intent does not match the purpose of this skill, load plugin-lifecycle to route to the right skill and process: Skill(skill="plugin-creator:plugin-lifecycle").
Claude Code has two kinds of persistent memory:
~/.claude/projects/<project>/memory/Both load into context at session start. More specific instructions take precedence over broader ones.
Memory locations load in priority order (highest priority first):
/Library/Application Support/ClaudeCode/CLAUDE.md/etc/claude-code/CLAUDE.md~/.claude/CLAUDE.md~/.claude/rules/*.md./CLAUDE.md or ./.claude/CLAUDE.md./.claude/rules/*.md./CLAUDE.local.md (auto-gitignored)~/.claude/projects/<project>/memory/MEMORY.md (first 200 lines).claude/CLAUDE.md files load on demand when Claude reads files in those directoriesLoading behavior: Files in the directory hierarchy above the working directory load in full at launch. Files in child directories load on demand. Auto memory loads only the first 200 lines of MEMORY.md.
flowchart TD
Start([Where should this instruction go?]) --> Q1{Who needs it?}
Q1 -->|Everyone in org| Managed["Managed policy<br>/etc/claude-code/CLAUDE.md"]
Q1 -->|Just me, all projects| User["User memory<br>~/.claude/CLAUDE.md"]
Q1 -->|My team on this project| Q2{Single file or modular?}
Q1 -->|Just me on this project| Local["Project local<br>./CLAUDE.local.md"]
Q2 -->|Single file| Project["Project memory<br>./CLAUDE.md or ./.claude/CLAUDE.md"]
Q2 -->|Separate topics| Rules["Project rules<br>./.claude/rules/*.md"]
/init
Generates a starter CLAUDE.md for the current project.
CLAUDE.md files can import additional files using @path/to/import syntax:
See @README for project overview and @package.json for npm commands.
# Additional Instructions
- git workflow @docs/git-instructions.md
Import rules:
~ paths supportedCross-worktree sharing: Use home-directory import so all worktrees share personal instructions:
# Individual Preferences
- @~/.claude/my-project-instructions.md
Use /memory during a session to open any memory file in your system editor. This includes CLAUDE.md files, rules, and auto memory.
For larger projects, organize instructions into separate focused files instead of one large CLAUDE.md.
.claude/
├── CLAUDE.md # Main project instructions
└── rules/
├── code-style.md # Code style guidelines
├── testing.md # Testing conventions
├── security.md # Security requirements
└── frontend/
├── react.md # React-specific rules
└── styles.md # CSS/styling rules
All .md files in .claude/rules/ are automatically loaded as project memory. Files are discovered recursively through subdirectories. Symlinks are resolved (circular symlinks handled gracefully).
Scope rules to specific files using YAML frontmatter with the paths field:
---
paths:
- "src/api/**/*.ts"
---
# API Development Rules
- All API endpoints must include input validation
- Use the standard error response format
Rules without a paths field load unconditionally.
Supported glob patterns:
**/*.ts — All TypeScript files in any directorysrc/**/* — All files under src/*.md — Markdown files in project root onlysrc/components/*.tsx — React components in specific directorysrc/**/*.{ts,tsx} — Brace expansion for multiple extensions{src,lib}/**/*.ts — Brace expansion for multiple directoriesMultiple patterns:
---
paths:
- "src/**/*.ts"
- "lib/**/*.ts"
- "tests/**/*.test.ts"
---
Personal rules at ~/.claude/rules/ apply to all projects. Project rules have higher priority than user rules.
Claude's self-written notes that persist across sessions. Unlike CLAUDE.md (instructions you write for Claude), auto memory contains notes Claude writes for itself.
Each project gets its own memory directory at ~/.claude/projects/<project>/memory/. The <project> path derives from the git repository root. Git worktrees get separate memory directories. Outside git repos, the working directory is used.
~/.claude/projects/<project>/memory/
├── MEMORY.md # Index file — first 200 lines loaded at session start
├── debugging.md # Topic file — loaded on demand
├── api-conventions.md # Topic file — loaded on demand
└── ...
MEMORY.md load into system prompt at session startdebugging.md) load on demand when Claude needs themMEMORY.md concise — move detailed notes to topic files/memory to open the file selectorexport CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 # Force off
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 # Force on
# When unset: follows gradual rollout
The --add-dir flag gives Claude access to additional directories. By default, CLAUDE.md files from those directories are NOT loaded. To also load their memory:
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config
/init to bootstrap CLAUDE.md.claude/CLAUDE.md in subdirectoriesWhen a single CLAUDE.md becomes unwieldy:
.claude/rules/ directorycode-style.md, testing.md, api-design.mdpaths frontmatter for language/directory-specific rulesCLAUDE.md for high-level project overviewSymlink shared rules:
# Symlink a shared rules directory
ln -s ~/shared-claude-rules .claude/rules/shared
# Symlink individual rule files
ln -s ~/company-standards/security.md .claude/rules/security.md
/memory to see which files are loadedpaths frontmatter glob patterns match target files@ references resolve correctly (relative to containing file)MEMORY.md is under 200 lines for guaranteed loadingFor comprehensive details on all memory types, import behavior, glob patterns, and configuration options, see references/memory-reference.md.
SOURCE: Claude Code Memory Documentation (accessed 2026-02-17)
Frequently asked questions
Claude Code has two kinds of persistent memory:
The source record exposes this install command: npx skills add https://github.com/Jamie-BitFlight/claude_skills --skill "plugins/plugin-creator/skills/memory-and-rules". Inspect the command and pinned source before running it.
The pinned source record declares support for: claude code.
Static rules flagged read-files, write-files in the source; the page lists the matching lines and excerpts.
Alternatives
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
apollographql/skills
Guide for creating effective skills for Apollo GraphQL and GraphQL development. Use this skill when: (1) users want to create a new skill, (2) users want to update an existing skill, (3) users ask about skill structure or best practices, (4) users need help writing SKILL.md files.
terrylica/cc-skills
Park a draft message/text in macOS Notes for the operator to review and edit, then read it back before acting (e.g. before sending to a real person). Notes is the source of truth (AppleScript CRUD, iCloud-synced, provenance-stamped with the Claude Code session UUID); Stickies is a best-effort view-only desktop mirror. Use whenever you draft something a human should confirm/edit before it is sent or committed — messages, replies, announcements, anything outbound. TRIGGERS - park this draft, park
narrative-io/narrative-skills-marketplace
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "