Help us improve
Share bugs, ideas, or general feedback.
From Harness Base
Write, index and prune durable knowledge as markdown notes in .claude/memory/. Use when you learn a fact, make a decision, resolve an incident, or discover a recurring procedure that a future session would need.
npx claudepluginhub camilool8/harness-engineering-templates --plugin harness-baseHow this skill is triggered — by the user, by Claude, or both
Slash command
/harness-base:memory-md-filesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Durable knowledge lives as small markdown notes in `.claude/memory/`. This skill
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Durable knowledge lives as small markdown notes in .claude/memory/. This skill
defines how to write, index and prune them. The goal: a future session can
recover what this session learned by reading files, not transcripts.
Write a note when something would be expensive to rediscover:
Do not write a note for transient task state — that belongs in progress
tracking. Do not duplicate CLAUDE.md; CLAUDE.md is for always-true facts.
Filename: NNNN-kebab-slug.md, where NNNN is the next free 4-digit id.
---
id: "0007"
type: semantic # semantic | episodic | procedural
title: "Short human title"
created: 2026-05-15
updated: 2026-05-15
tags: [auth, ci]
status: active # active | archived
---
# Short human title
**Context.** Why this came up.
**Decision / Finding / Procedure.** The substance.
**Consequences.** What this implies for future work.
**Links.** Related notes, files, PRs.
Keep each note under ~40 lines. One idea per note. Notes are cheap; make many.
.claude/memory/MEMORY.md is the index — the agent reads it at session start.
Every note must appear in it. After writing or editing a note:
MEMORY.md.Updated date.A note not in the index is invisible. Never skip this step.
If .claude/memory/MEMORY.md does not exist yet, create it from this skeleton:
# Memory index
The agent reads this file at session start, then opens the notes relevant to
the task. Keep one row per note. Newest at the top within each section.
## Semantic — what is known (decisions, facts, constraints)
| Note | Title | Updated |
|---|---|---|
## Episodic — what happened (incidents, debugging sessions, outcomes)
| Note | Title | Updated |
|---|---|---|
## Procedural — how things should be done (recurring runbooks)
| Note | Title | Updated |
|---|---|---|
## Archive
Stale or superseded notes are moved to `.claude/memory/archive/` and listed
here so history is not lost.
| Note | Title | Archived | Reason |
|---|---|---|---|
Memory rots. On any session that touches .claude/memory/:
status: archived,
move the file to .claude/memory/archive/, and move its index row to the
Archive table with a reason. Do not delete — provenance matters.updated.Aim to keep the active index short enough to scan in seconds.