Midtrans-Middleware/.bmad/bmb/reference/agents/expert-examples/journal-keeper
CIFO Dev dd975ad222 new improvement 2025-11-25 16:24:52 +07:00
..
journal-keeper-sidecar new improvement 2025-11-25 16:24:52 +07:00
README.md new improvement 2025-11-25 16:24:52 +07:00
journal-keeper.agent.yaml new improvement 2025-11-25 16:24:52 +07:00

README.md

Expert Agent Reference: Personal Journal Keeper (Whisper)

This folder contains a complete reference implementation of a BMAD Expert Agent - an agent with persistent memory and domain-specific resources via a sidecar folder.

Overview

Agent Name: Whisper Type: Expert Agent Purpose: Personal journal companion that remembers your entries, tracks mood patterns, and notices themes over time

This reference demonstrates:

  • Expert Agent with focused sidecar resources
  • Embedded prompts PLUS sidecar file references (hybrid pattern)
  • Persistent memory across sessions
  • Domain-restricted file access
  • Pattern tracking and recall
  • Simple, maintainable architecture

Directory Structure

agent-with-memory/
├── README.md                          # This file
├── journal-keeper.agent.yaml          # Main agent definition
└── journal-keeper-sidecar/            # Agent's private workspace
    ├── instructions.md                # Core directives
    ├── memories.md                    # Persistent session memory
    ├── mood-patterns.md               # Emotional tracking data
    ├── breakthroughs.md               # Key insights recorded
    └── entries/                       # Individual journal entries

Simple and focused! Just 4 core files + a folder for entries.

Key Architecture Patterns

1. Hybrid Command Pattern

Expert Agents can use BOTH:

  • Embedded prompts via action: "#prompt-id" (like Simple Agents)
  • Sidecar file references via direct paths
menu:
  # Embedded prompt (like Simple Agent)
  - trigger: 'write'
    action: '#guided-entry'
    description: "Write today's journal entry"

  # Direct sidecar file action
  - trigger: 'insight'
    action: 'Document this breakthrough in {agent-folder}/journal-keeper-sidecar/breakthroughs.md'
    description: 'Record a meaningful insight'

This hybrid approach gives you the best of both worlds!

2. Mandatory Critical Actions

Expert Agents MUST load sidecar files explicitly:

critical_actions:
  - 'Load COMPLETE file {agent-folder}/journal-keeper-sidecar/memories.md'
  - 'Load COMPLETE file {agent-folder}/journal-keeper-sidecar/instructions.md'
  - 'ONLY read/write files in {agent-folder}/journal-keeper-sidecar/'

Key points:

  • Files are loaded at startup
  • Domain restriction is enforced
  • Agent knows its boundaries

3. Persistent Memory Pattern

The memories.md file stores:

  • User preferences and patterns
  • Session notes and observations
  • Recurring themes discovered
  • Growth markers tracked

Critically: This is updated EVERY session, creating continuity.

4. Domain-Specific Tracking

Different files track different aspects:

  • memories.md - Qualitative insights and observations
  • mood-patterns.md - Quantitative emotional data
  • breakthroughs.md - Significant moments
  • entries/ - The actual content (journal entries)

This separation makes data easy to reference and update.

5. Simple Sidecar Structure

Unlike modules with complex folder hierarchies, Expert Agent sidecars are flat and focused:

  • Just the files the agent needs
  • No nested workflows or templates
  • Easy to understand and maintain
  • All domain knowledge in one place

Comparison: Simple vs Expert vs Module

Feature Simple Agent Expert Agent Module Agent
Architecture Single YAML YAML + sidecar folder YAML + module system
Memory Session only Persistent (sidecar files) Config-driven
Prompts Embedded only Embedded + external files Workflow references
Dependencies None Sidecar folder Module workflows/tasks
Domain Access None Restricted to sidecar Full module access
Complexity Low Medium High
Use Case Self-contained tools Domain experts with memory Full workflow systems

The Sweet Spot

Expert Agents are the middle ground:

  • More powerful than Simple Agents (persistent memory, domain knowledge)
  • Simpler than Module Agents (no workflow orchestration)
  • Focused on specific domain expertise
  • Personal to the user's needs

When to Use Expert Agents

Perfect for:

  • Personal assistants that need memory (journal keeper, diary, notes)
  • Domain specialists with knowledge bases (specific project context)
  • Agents that track patterns over time (mood, habits, progress)
  • Privacy-focused tools with restricted access
  • Tools that learn and adapt to individual users

Key indicators:

  • Need to remember things between sessions
  • Should only access specific folders/files
  • Tracks data over time
  • Adapts based on accumulated knowledge

File Breakdown

journal-keeper.agent.yaml

  • Standard agent metadata and persona
  • Embedded prompts for guided interactions
  • Menu commands mixing both patterns
  • Critical actions that load sidecar files

instructions.md

  • Core behavioral directives
  • Journaling philosophy and approach
  • File management protocols
  • Tone and boundary guidelines

memories.md

  • User profile and preferences
  • Recurring themes discovered
  • Session notes and observations
  • Accumulated knowledge about the user

mood-patterns.md

  • Quantitative tracking (mood scores, energy, etc.)
  • Trend analysis data
  • Pattern correlations
  • Emotional landscape map

breakthroughs.md

  • Significant insights captured
  • Context and meaning recorded
  • Connected to broader patterns
  • Milestone markers for growth

entries/

  • Individual journal entries saved here
  • Each entry timestamped and tagged
  • Raw content preserved
  • Agent observations separate from user words

Pattern Recognition in Action

Expert Agents excel at noticing patterns:

  1. Reference past sessions: "Last week you mentioned feeling stuck..."
  2. Track quantitative data: Mood scores over time
  3. Spot recurring themes: Topics that keep surfacing
  4. Notice growth: Changes in language, perspective, emotions
  5. Connect dots: Relationships between entries

This pattern recognition is what makes Expert Agents feel "alive" and helpful.

Usage Notes

Starting Fresh

The sidecar files are templates. A new user would:

  1. Start journaling with the agent
  2. Agent fills in memories.md over time
  3. Patterns emerge from accumulated data
  4. Insights build from history

Building Your Own Expert Agent

  1. Define the domain - What specific area will this agent focus on?
  2. Choose sidecar files - What data needs to be tracked/remembered?
  3. Mix command patterns - Use embedded prompts + sidecar references
  4. Enforce boundaries - Clearly state domain restrictions
  5. Design for accumulation - How will memory grow over time?

Adapting This Example

  • Personal Diary: Similar structure, different prompts
  • Code Review Buddy: Track past reviews, patterns in feedback
  • Project Historian: Remember decisions and their context
  • Fitness Coach: Track workouts, remember struggles and victories

The pattern is the same: focused sidecar + persistent memory + domain restriction.

Key Takeaways

  • Expert Agents bridge Simple and Module complexity
  • Sidecar folders provide persistent, domain-specific memory
  • Hybrid commands use both embedded prompts and file references
  • Pattern recognition comes from accumulated data
  • Simple structure keeps it maintainable
  • Domain restriction ensures focused expertise
  • Memory is the superpower - remembering makes the agent truly useful

This reference shows how Expert Agents can be powerful memory-driven assistants while maintaining architectural simplicity.