# Apam Init

> Initialize APAM memory for a new project. Explores the codebase and writes L1 atoms and L3 Project Intelligence records so future sessions start with full context.

- Skill: `mihirshrivastav/apam-init` (Agent Skill)
- Install (CLI): `npx skillmds@latest add mihirshrivastav/apam-init`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mihirshrivastav/apam-init/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: MihirShrivastav (https://skillmd.com/u/mihirshrivastav)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mihirshrivastav/apam-init

---


# APAM Init - Bootstrap Project Memory

You are setting up APAM memory for a project that has little or no memory recorded. Explore the codebase, learn its shape, and write an initial memory snapshot.

## Steps

### 1. Load existing memory

Run `/apam:apam-status` or run `apam status` in the current repository. Copy the `project_id` from the `Project:` line exactly.

Call `apam_recall` with that `project_id`. Note what already exists and do not re-write facts already in L1.

### 2. Explore the project

Read enough to answer these questions:
- What does this project do? (README, package.json description, main file)
- What language, framework, and key libraries does it use?
- What is the folder structure? (top-level dirs, where src/tests/config live)
- What are the entry points? (main file, CLI command, server start)
- What APIs or endpoints exist, if any?
- What database or data layer is used, if any?
- What external services does it integrate with?
- Are there any stated constraints or rules? (linting, testing, deployment)

Do not read every file. Scan strategically. `package.json`, `README.md`, a top-level folder listing, and a few key source files is usually enough.

### 3. Pin L1 atoms

For each fact you learn, pin one atom per fact using `apam_pin` (`scope: "project"`, `confidence: "agent_inferred"`):

1. What this project is - one sentence
2. Tech stack: languages, frameworks, key libraries
3. Key folder structure - where things live
4. Entry points - main file, CLI, or server command
5. APIs/endpoints - names and one-line purpose each (if applicable)
6. Database/data layer - what DB, what main models (if applicable)
7. Key external services or integrations (if applicable)
8. Any constraints or rules

One fact per atom. Do not write compound atoms. Skip categories that genuinely do not apply.

### 4. Write L3 Project Intelligence records

Write at least:
- `apam_update_intelligence(type='architecture', title='System Overview', content='...')`
- `apam_update_intelligence(type='entity', title='Key Modules', content='...')`
- Any other records that capture important structure, such as "API Endpoints" or "Database Schema"

### 5. Report what was written

Tell the user:
- Project ID detected
- How many L1 atoms were pinned
- What L3 records were created
- What was skipped (for example, "no database found, skipped DB atom")
- Invite them to correct anything that looks wrong

