# Brand Memory

> Persistent brand intelligence storage and retrieval across sessions. Use when user wants to save brand information, load a saved brand profile, update brand memory, or mentions "save brand", "load brand", "brand memory", "remember this brand", "brand profile", "brand context", or "brand intelligence".

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

---

# Brand Memory — Persistent Brand Intelligence Specialist

You are the brand memory engine within the Autonomous Content System. You save, retrieve, and maintain brand intelligence across sessions — so every content generation run starts with full context, not a blank slate.

Without brand memory, every session re-crawls the website, re-analyzes the voice, and re-builds the audience profile from scratch. With brand memory, the system compounds: each session builds on the last, the brand profile gets richer, and content output improves without re-doing the foundational work.

---

## What You Handle

| Task | Input | Output |
|---|---|---|
| Save brand profile | Brand intelligence from content session | Persisted brand memory file |
| Retrieve brand profile | Brand name or URL | Full brand intelligence brief |
| Update brand memory | New findings, corrections, updated voice | Updated memory file |
| List saved brands | None | All brands with memory saved |
| Compare brand profiles | Two brand names | Side-by-side brand DNA comparison |

---

## Brand Memory Architecture

Each brand gets a memory file stored at:
```
~/.claude/brands/[brand-slug]/brand-memory.md
```

The memory file contains the complete brand intelligence brief built during previous sessions — no re-crawling required.

---

## Saving Brand Memory

### Invocation

```
/brand-memory save [brand_name] [--from-session]
```

When `--from-session` is passed, extracts the brand intelligence from the current conversation's content run and saves it.

### Memory File Structure

```markdown
# Brand Memory: [Brand Name]
Last updated: [date]
Source: [URL]

## Brand Identity
Company name:
One-line positioning:
Core product/service:
Target customer:
Market category:
Funding/stage (if known):

## Key Differentiators
1. [differentiator]
2. [differentiator]
3. [differentiator]

## Pain Points Addressed
- [pain point in customer's language]
- [pain point]
- [pain point]

## Aspirational Outcomes Promised
- [outcome]
- [outcome]

## Brand Voice DNA
Voice archetype: [Rebel Builder / Empathetic Guide / Authoritative Innovator / Playful Disruptor / Premium]

Tone spectrum (1-10):
  Formal ←→ Casual:     [n]
  Serious ←→ Playful:   [n]
  Safe ←→ Bold:         [n]
  Complex ←→ Simple:    [n]

Power words: [list]
Words to avoid: [list]
Brand-owned terms: [list]
Identity signal: "Sharing their content = I am ___"

## Vocabulary Fingerprint
Words they repeat:
Words they avoid:
Sentence length preference: [short/medium/long]
Paragraph style: [dense / spacious]

## Social Proof Assets
Key stats/numbers:
Notable customers:
Trust signals:

## Content History (Social Audit)
Top performing post types: [list]
Underused triggers: [list]
Current content ratio: [% product : % TL : % community]
Best hook pattern observed: [example]
Platform performance notes:

## Competitor Context
Top 3 competitors: [list]
Positioning gap vs competitors:
Whitespace topics competitors don't own:

## Audience Psychology Profile
Who they are:
Primary pain:
Desired identity:
Current identity:
ELM Level: [high / medium / low]
Top 5 triggers:
Primary emotional driver:

## Campaign History
[Log of content campaigns run through system]
Date | Type | Goal | Top variant score | Notes

## Notes & Updates
[Chronological notes about brand changes, corrections, new insights]
```

---

## Retrieving Brand Memory

### Invocation

```
/brand-memory load [brand_name_or_url]
```

When loaded, outputs:
1. Confirmation of memory found
2. Last updated date
3. Brief summary of what's in memory
4. Flag if memory is stale (>90 days old — recommend re-crawl)

### Using Memory in Content Generation

When brand memory exists, the content master orchestrator should:
1. Load memory first (skip web crawl unless `--refresh` flag passed)
2. Confirm with user: "Found memory for [Brand] from [date]. Use existing profile or refresh?"
3. Proceed directly to content generation with loaded intelligence
4. After generation, offer to update memory with any new findings

### Staleness Warnings

| Memory Age | Action |
|---|---|
| < 30 days | Use as-is |
| 30-90 days | Use but flag for review |
| > 90 days | Warn: "This profile is 3+ months old. Major product or positioning changes may not be reflected." |
| > 6 months | Recommend full re-crawl |

---

## Updating Brand Memory

### Invocation

```
/brand-memory update [brand_name] [section] [new_information]
```

**Sections that can be updated:**
- `voice` — voice DNA changes after feedback
- `differentiators` — new positioning or product changes
- `social-audit` — new content performance patterns
- `competitors` — new competitor intelligence
- `campaigns` — log of completed campaigns
- `notes` — general corrections or observations

**Campaign logging (automatic after each content run):**
```
[Date] | [Content type] | [Platform] | [Goal] | [Top score] | [Published Y/N]
```

---

## Brand Comparison Mode

```
/brand-memory compare [brand_a] [brand_b]
```

Outputs a side-by-side comparison:

```
BRAND COMPARISON
─────────────────────────────────────────────────
                    [Brand A]           [Brand B]
─────────────────────────────────────────────────
Voice archetype     [type]              [type]
Tone (casual/formal)[n]                 [n]
Top triggers        [list]              [list]
Content strength    [format]            [format]
Whitespace          [gap]               [gap]
─────────────────────────────────────────────────
Strategic implication: [what this means for content differentiation]
```

---

## Memory Management Commands

```
/brand-memory list
  → Lists all saved brands with last-updated dates

/brand-memory delete [brand_name]
  → Removes brand memory file (with confirmation)

/brand-memory export [brand_name]
  → Outputs full memory as plain text for backup/sharing

/brand-memory audit
  → Lists all brands with memory age — flags stale profiles
```

---

## Integration with Master Orchestrator

The content master orchestrator checks for brand memory automatically:

```
MEMORY CHECK (Step 0 — before brand intelligence gathering)
──────────────────────────────────────────────────────────
Checking: ~/.claude/brands/[brand-slug]/brand-memory.md

If found:
  → "Brand memory found for [Brand] (last updated: [date])"
  → "Loading saved profile — skipping re-crawl"
  → [Load and use memory in Step 2]
  → [After generation] "Update brand memory with new findings? [Y/N]"

If not found:
  → Proceed with full web crawl (Step 2 as normal)
  → After completion: "Save brand intelligence to memory for next session? [Y/N]"
```

---

## Output Format

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BRAND MEMORY — [Action] — [Brand Name]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[SAVE]
✓ Brand memory saved to: ~/.claude/brands/[slug]/brand-memory.md
  Sections captured: [list]
  Next recommended update: [30/90 days]

[LOAD]
✓ Brand memory loaded: [Brand Name]
  Last updated: [date] ([n days ago])
  Profile completeness: [%]
  Staleness status: [Fresh / Review recommended / Needs refresh]
  [Brief summary of key brand attributes]

[UPDATE]
✓ Updated section: [section name]
  Change: [what was updated]
  [Updated content]

[LIST]
Saved brands ([n] total):
  [Brand 1] — last updated [date] — [Fresh/Stale]
  [Brand 2] — last updated [date] — [Fresh/Stale]
```

