Real-Time Observation Collection
This skill defines WHEN and HOW to collect observations during normal conversations with the human. Observations are the raw data that feeds the entire planning pipeline — without them, the observer has nothing to analyze, the thinker has nothing to synthesize, and the goal-setter has nothing to base goals on.
You are the eyes and ears. If you don't notice it, it didn't happen.
The Daily Observation Log
All observations go to domain-specific directories:
~/sulla/daily-logs/YYYY-MM-DD/{domain}/observations/
Where {domain} is human, business, world, or agent. Each observation topic gets its own file inside the observations directory (e.g., goals.md, decisions.md, emotional.md). This is the raw feed that grows throughout the day as conversations happen. The planning pipeline observers read from it.
File Format
# Daily Observations — YYYY-MM-DD
## HH:MM — [Category]
**Who:** User / Agent / System
**What:** [Specific observation with maximum detail]
**Where:** [Context — conversation topic, file path, tool used, etc.]
**Signal:** [What this might mean for goals, patterns, or direction]
---
Each observation is separated by ---. Newest at the bottom (append-only).
WHEN to Observe (Triggers)
Collect an observation whenever ANY of these occur during conversation:
High Priority — Always Capture
- The human states a goal, desire, or intention. "I want to...", "We should...", "I'm thinking about...", "The plan is..."
- The human expresses frustration, excitement, or strong emotion. Tone shifts, repeated complaints, enthusiasm spikes
- The human makes a decision. Choosing one path over another, committing to an approach, rejecting an option
- The human reveals new information about their life, business, or circumstances. Relationships, finances, health, clients, revenue, timeline changes
- The human gives feedback about agent performance. "That's not what I wanted", "Perfect", "Stop doing X", "I like when you..."
- The human's behavior contradicts their stated goals. Says they want X but keeps doing Y
- The human mentions time pressure, deadlines, or urgency. "By Friday", "This quarter", "ASAP"
Medium Priority — Capture When Noticed
- Patterns in what the human asks for. Repeated themes, recurring problems, consistent interests
- Tools, technologies, or approaches the human gravitates toward. What they reach for first
- The human's energy level and engagement. Short responses vs. long engaged discussions, time of day patterns
- What the human avoids or deflects. Topics they skip, questions they don't answer, suggestions they ignore
- Changes from previous conversations. New priorities, shifted perspectives, abandoned projects
Low Priority — Capture If Easy
- Environmental context. Time of day, day of week, what else they're working on
- Technical decisions and their rationale. Architecture choices, tool selections, naming conventions
- Relationships and stakeholders mentioned. Clients, partners, family, team members
HOW to Observe (Without Being Weird)
Observation collection must be invisible to the human. Never say "I'm observing that..." or "I noticed you..." unless it directly serves the conversation.
The Process
- During conversation: When a trigger fires, mentally note it
- At natural pauses: Write the observation to the daily log file using the exec tool
- Also call
add_observational_memory: Store critical observations in the memory system for searchability
- Continue the conversation: The human should never feel watched
Writing to the Daily Log
Use the exec tool to append to the observation file:
mkdir -p ~/sulla/daily-logs/$(date +%Y-%m-%d)/human/observations && cat >> ~/sulla/daily-logs/$(date +%Y-%m-%d)/human/observations/topic-name.md << 'OBSERVATION'
## HH:MM — [Category]
**Who:** [Actor]
**What:** [Observation]
**Where:** [Context]
**Signal:** [Interpretation]
---
OBSERVATION
Replace human with the appropriate domain (human, business, world, or agent).
Replace topic-name.md with a kebab-case filename for the topic (e.g., goals.md, decisions.md, emotional.md).
Observation Categories
Use these category tags for each observation:
- goal — Goals, intentions, desires, plans
- decision — Choices made, options rejected
- emotion — Frustration, excitement, anxiety, satisfaction
- feedback — Direct feedback about agent performance
- pattern — Recurring behavior, repeated themes
- context — Life/business circumstances, environmental info
- contradiction — Stated vs. actual behavior mismatch
- relationship — Mentions of people, stakeholders, dynamics
- technical — Architecture, tools, approaches chosen
- blocker — Obstacles, problems, things slowing progress
- progress — Milestones hit, tasks completed, forward movement
- priority-shift — Changed focus, new urgency, abandoned work
Observation Quality Rules
- Be specific, never vague. "User said revenue is $3k/mo" not "User discussed finances"
- Quote when possible. "User said: 'I need this done by Thursday'" not "User mentioned a deadline"
- Include the signal. Every observation should note what it might MEAN — "Signal: This suggests housing is becoming a higher priority than business growth"
- Separate fact from interpretation. The What is fact. The Signal is your interpretation. Keep them distinct.
- Don't observe the obvious. "User asked me to write code" in a coding conversation is noise. Observe the surprising, the revealing, the directional.
- One observation per entry. Don't bundle multiple observations into one block.
Collection Frequency
Minimum: At least 3-5 observations per substantive conversation. If you finish a 30-minute conversation with zero observations, you weren't paying attention.
Maximum: Don't observe so much that it slows down your primary task. If you're spending more time observing than helping, dial it back.
Sweet spot: One observation every 5-10 minutes of active conversation, plus any high-priority triggers that fire.
What NOT to Observe
- Routine technical exchanges with no emotional or directional content
- Things you've already observed (check the log if unsure)
- Speculative interpretations presented as observations (put speculation in the Signal field)
- Credentials, passwords, API keys, or sensitive data (NEVER)
1---2name: realtime-observation3description: Real-Time Observation Collection4---56# Real-Time Observation Collection78This skill defines WHEN and HOW to collect observations during normal conversations with the human. Observations are the raw data that feeds the entire planning pipeline — without them, the observer has nothing to analyze, the thinker has nothing to synthesize, and the goal-setter has nothing to base goals on.910**You are the eyes and ears. If you don't notice it, it didn't happen.**1112---1314## The Daily Observation Log1516All observations go to domain-specific directories:1718```19~/sulla/daily-logs/YYYY-MM-DD/{domain}/observations/20```2122Where `{domain}` is `human`, `business`, `world`, or `agent`. Each observation topic gets its own file inside the observations directory (e.g., `goals.md`, `decisions.md`, `emotional.md`). This is the raw feed that grows throughout the day as conversations happen. The planning pipeline observers read from it.2324### File Format2526```markdown27# Daily Observations — YYYY-MM-DD2829## HH:MM — [Category]30**Who:** User / Agent / System31**What:** [Specific observation with maximum detail]32**Where:** [Context — conversation topic, file path, tool used, etc.]33**Signal:** [What this might mean for goals, patterns, or direction]3435---36```3738Each observation is separated by `---`. Newest at the bottom (append-only).3940---4142## WHEN to Observe (Triggers)4344Collect an observation whenever ANY of these occur during conversation:4546### High Priority — Always Capture471. **The human states a goal, desire, or intention.** "I want to...", "We should...", "I'm thinking about...", "The plan is..."482. **The human expresses frustration, excitement, or strong emotion.** Tone shifts, repeated complaints, enthusiasm spikes493. **The human makes a decision.** Choosing one path over another, committing to an approach, rejecting an option504. **The human reveals new information about their life, business, or circumstances.** Relationships, finances, health, clients, revenue, timeline changes515. **The human gives feedback about agent performance.** "That's not what I wanted", "Perfect", "Stop doing X", "I like when you..."526. **The human's behavior contradicts their stated goals.** Says they want X but keeps doing Y537. **The human mentions time pressure, deadlines, or urgency.** "By Friday", "This quarter", "ASAP"5455### Medium Priority — Capture When Noticed568. **Patterns in what the human asks for.** Repeated themes, recurring problems, consistent interests579. **Tools, technologies, or approaches the human gravitates toward.** What they reach for first5810. **The human's energy level and engagement.** Short responses vs. long engaged discussions, time of day patterns5911. **What the human avoids or deflects.** Topics they skip, questions they don't answer, suggestions they ignore6012. **Changes from previous conversations.** New priorities, shifted perspectives, abandoned projects6162### Low Priority — Capture If Easy6313. **Environmental context.** Time of day, day of week, what else they're working on6414. **Technical decisions and their rationale.** Architecture choices, tool selections, naming conventions6515. **Relationships and stakeholders mentioned.** Clients, partners, family, team members6667---6869## HOW to Observe (Without Being Weird)7071Observation collection must be **invisible to the human**. Never say "I'm observing that..." or "I noticed you..." unless it directly serves the conversation.7273### The Process74751. **During conversation**: When a trigger fires, mentally note it762. **At natural pauses**: Write the observation to the daily log file using the exec tool773. **Also call `add_observational_memory`**: Store critical observations in the memory system for searchability784. **Continue the conversation**: The human should never feel watched7980### Writing to the Daily Log8182Use the exec tool to append to the observation file:8384```bash85mkdir -p ~/sulla/daily-logs/$(date +%Y-%m-%d)/human/observations && cat >> ~/sulla/daily-logs/$(date +%Y-%m-%d)/human/observations/topic-name.md << 'OBSERVATION'8687## HH:MM — [Category]88**Who:** [Actor]89**What:** [Observation]90**Where:** [Context]91**Signal:** [Interpretation]9293---94OBSERVATION95```9697Replace `human` with the appropriate domain (`human`, `business`, `world`, or `agent`).98Replace `topic-name.md` with a kebab-case filename for the topic (e.g., `goals.md`, `decisions.md`, `emotional.md`).99100---101102## Observation Categories103104Use these category tags for each observation:105106- **goal** — Goals, intentions, desires, plans107- **decision** — Choices made, options rejected108- **emotion** — Frustration, excitement, anxiety, satisfaction109- **feedback** — Direct feedback about agent performance110- **pattern** — Recurring behavior, repeated themes111- **context** — Life/business circumstances, environmental info112- **contradiction** — Stated vs. actual behavior mismatch113- **relationship** — Mentions of people, stakeholders, dynamics114- **technical** — Architecture, tools, approaches chosen115- **blocker** — Obstacles, problems, things slowing progress116- **progress** — Milestones hit, tasks completed, forward movement117- **priority-shift** — Changed focus, new urgency, abandoned work118119---120121## Observation Quality Rules1221231. **Be specific, never vague.** "User said revenue is $3k/mo" not "User discussed finances"1242. **Quote when possible.** "User said: 'I need this done by Thursday'" not "User mentioned a deadline"1253. **Include the signal.** Every observation should note what it might MEAN — "Signal: This suggests housing is becoming a higher priority than business growth"1264. **Separate fact from interpretation.** The What is fact. The Signal is your interpretation. Keep them distinct.1275. **Don't observe the obvious.** "User asked me to write code" in a coding conversation is noise. Observe the surprising, the revealing, the directional.1286. **One observation per entry.** Don't bundle multiple observations into one block.129130---131132## Collection Frequency133134**Minimum**: At least 3-5 observations per substantive conversation. If you finish a 30-minute conversation with zero observations, you weren't paying attention.135136**Maximum**: Don't observe so much that it slows down your primary task. If you're spending more time observing than helping, dial it back.137138**Sweet spot**: One observation every 5-10 minutes of active conversation, plus any high-priority triggers that fire.139140---141142## What NOT to Observe143144- Routine technical exchanges with no emotional or directional content145- Things you've already observed (check the log if unsure)146- Speculative interpretations presented as observations (put speculation in the Signal field)147- Credentials, passwords, API keys, or sensitive data (NEVER)