mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-27 09:46:25 +02:00
121 lines
2.9 KiB
Markdown
121 lines
2.9 KiB
Markdown
|
|
# critical_actions
|
||
|
|
|
||
|
|
Activation instructions that execute every time the agent starts.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Purpose
|
||
|
|
|
||
|
|
Numbered steps that execute FIRST when an agent activates.
|
||
|
|
|
||
|
|
**Use for:**
|
||
|
|
- Loading memory/knowledge files
|
||
|
|
- Setting file access boundaries
|
||
|
|
- Startup behavior (greeting enhancement, data fetch, state init)
|
||
|
|
- Any MUST-do activation behavior
|
||
|
|
|
||
|
|
**Applies to:** BOTH Simple and Expert agents
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Expert Agent Pattern
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
# ✅ CORRECT Expert Agent
|
||
|
|
critical_actions:
|
||
|
|
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
|
||
|
|
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/instructions.md'
|
||
|
|
- 'ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/'
|
||
|
|
- 'Search web for biotech headlines from last 2 days, display before menu'
|
||
|
|
```
|
||
|
|
|
||
|
|
**CRITICAL Path Format:**
|
||
|
|
- `{project-root}` = literal text (not replaced)
|
||
|
|
- Sidecar created next to agent.yaml during BUILD, then copied to `_memory/` during BMAD INSTALLATION
|
||
|
|
- Use `{project-root}/_bmad/_memory/{sidecar-folder}/` format for RUNTIME paths in agent YAML
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Simple Agent Pattern
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
# ✅ CORRECT Simple Agent with activation behavior
|
||
|
|
critical_actions:
|
||
|
|
- 'Give user an inspirational quote before showing menu'
|
||
|
|
- 'Review {project-root}/finances/ for most recent data file'
|
||
|
|
```
|
||
|
|
|
||
|
|
**Note:** Agents without activation needs can omit `critical_actions` entirely.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Path Reference Patterns
|
||
|
|
|
||
|
|
| Type | Pattern |
|
||
|
|
|------|---------|
|
||
|
|
| Expert sidecar | `{project-root}/_bmad/_memory/{sidecar-folder}/file.md` |
|
||
|
|
| Simple data | `{project-root}/finances/data.csv` |
|
||
|
|
| Output folders | `{output_folder}/results/` |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## critical_actions vs principles
|
||
|
|
|
||
|
|
| critical_actions | principles |
|
||
|
|
|------------------|------------|
|
||
|
|
| Technical activation steps | Philosophical guidance |
|
||
|
|
| "Load memories.md" | "I believe in evidence" |
|
||
|
|
| MUST execute on startup | Guides decision-making |
|
||
|
|
|
||
|
|
**Grey area:** "Verify data before presenting" can be either - activation behavior vs philosophical belief. Use judgment.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## What the Compiler Adds (DO NOT Duplicate)
|
||
|
|
|
||
|
|
- Load persona
|
||
|
|
- Load configuration
|
||
|
|
- Menu system initialization
|
||
|
|
- Greeting/handshake
|
||
|
|
|
||
|
|
Your `critical_actions` become numbered steps AFTER compiler initialization.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Common Issues
|
||
|
|
|
||
|
|
### Wrong Path Format
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
# ❌ WRONG
|
||
|
|
- 'Load ./journal-keeper-sidecar/memories.md'
|
||
|
|
|
||
|
|
# ✅ CORRECT
|
||
|
|
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
|
||
|
|
```
|
||
|
|
|
||
|
|
### Missing COMPLETE Keyword
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
# ❌ WRONG
|
||
|
|
- 'Load file memories.md'
|
||
|
|
|
||
|
|
# ✅ CORRECT
|
||
|
|
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
|
||
|
|
```
|
||
|
|
|
||
|
|
`COMPLETE` ensures LLM reads entire file, not a portion.
|
||
|
|
|
||
|
|
### Duplicating Compiler Functions
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
# ❌ WRONG - compiler does these
|
||
|
|
- 'Load my persona'
|
||
|
|
- 'Initialize menu system'
|
||
|
|
- 'Say hello to user'
|
||
|
|
|
||
|
|
# ✅ CORRECT - agent-specific only
|
||
|
|
- 'Load memory files'
|
||
|
|
- 'Search web for headlines before menu'
|
||
|
|
```
|