personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Make output field explicit for all insights, remove frequency check

Add explicit "output": "md" to all insights that produce markdown files.
speakers.md keeps "output": "json". Hook-only prompts (occurrence,
anticipation) and special cases (importer) have no frequency field.

Remove the frequency/mode mismatch validation in insight CLI, allowing
any prompt to be run directly by name regardless of --segment flag.

This enables using output+frequency as discriminators to differentiate
insights from agents when merging prompt directories.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+34 -28
-10
think/insight.py
··· 312 312 f"Available: {', '.join(sorted(all_insights.keys()))}" 313 313 ) 314 314 315 - # Check for frequency/mode mismatch 316 - is_segment_mode = bool(args.segment or args.segments) 317 - expected_freq = "segment" if is_segment_mode else "daily" 318 - insight_freq = insight_meta.get("frequency") 319 - if insight_freq != expected_freq: 320 - parser.error( 321 - f"Insight '{insight_key}' has frequency '{insight_freq}' " 322 - f"but was invoked in {expected_freq} mode." 323 - ) 324 - 325 315 # Check if insight is disabled via journal config 326 316 if insight_meta.get("disabled"): 327 317 logging.info("Insight %s is disabled in journal config, skipping", insight_key)
+2 -1
think/insights/activity.md
··· 3 3 "title": "Activity Synthesis", 4 4 "description": "Interprets each segment to extract meaning, intent, and searchability. Focuses on the 'why' behind actions - tasks, progress states, facets, and keywords for discovery.", 5 5 "color": "#00bcd4", 6 - "frequency": "segment" 6 + "frequency": "segment", 7 + "output": "md" 7 8 8 9 } 9 10
+2 -1
think/insights/decisions.md
··· 5 5 "occurrences": "Create an occurrence for every decision-action observed. Include the time span, decision type, actors involved, entities affected, and impact assessment. Each occurrence should capture both the intent and enactment of the decision.", 6 6 "hook": "occurrence", 7 7 "color": "#dc3545", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/documentation.md
··· 5 5 "occurrences": "Record an occurrence whenever a new procedure, decision or troubleshooting step is described. Capture the related file or tool and where the documentation should live such as wiki or README.", 6 6 "hook": "occurrence", 7 7 "color": "#007bff", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+1
think/insights/entities.md
··· 6 6 "hook": "entities", 7 7 "thinking_budget": 4096, 8 8 "max_output_tokens": 1024, 9 + "output": "md", 9 10 "instructions": { 10 11 "system": "journal", 11 12 "facets": "none",
+2 -1
think/insights/files.md
··· 6 6 "hook": "occurrence", 7 7 "color": "#28a745", 8 8 "frequency": "daily", 9 - "disabled": true 9 + "disabled": true, 10 + "output": "md" 10 11 11 12 } 12 13
+2 -1
think/insights/flow.md
··· 5 5 "occurrences": "Create an occurrence for noteworthy shifts in work rhythms or focus. Include timestamps when deep work starts or ends, or when energy levels noticeably change. Classify each as work or personal based on the surrounding context.", 6 6 "hook": "occurrence", 7 7 "color": "#17a2b8", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/followups.md
··· 5 5 "occurrences": "Whenever a future task or commitment is mentioned, create an occurrence with the expected action and deadline if known. Note who requested it and whether it is work or personal.", 6 6 "hook": "occurrence", 7 7 "color": "#ffc107", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+1 -2
think/insights/importer.md
··· 1 1 { 2 2 3 3 "color": "blue", 4 - "output": null, 5 4 "extract": false, 6 - "frequency": "daily" 5 + "output": "md" 7 6 8 7 } 9 8
+2 -1
think/insights/knowledge_graph.md
··· 5 5 "occurrences": "For each entity interaction or relationship mentioned, create an occurrence describing the connection. Include start and end times when the relationship is visible, and capture the type of link such as works-on or discusses-with.", 6 6 "hook": "occurrence", 7 7 "color": "#6f42c1", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/media.md
··· 6 6 "hook": "occurrence", 7 7 "color": "#fd7e14", 8 8 "frequency": "daily", 9 - "disabled": true 9 + "disabled": true, 10 + "output": "md" 10 11 11 12 } 12 13
+2 -1
think/insights/meetings.md
··· 5 5 "occurrences": "Each meeting should generate an occurrence with start and end times, list of participants and a concise summary. If slides are present, mention them in the details field.", 6 6 "hook": "occurrence", 7 7 "color": "#e83e8c", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/messages.md
··· 5 5 "occurrences": "Create an occurrence for every message read or sent. Include the time block, app name, contacts involved and whether Jeremie was reading or replying. Summaries should capture any visible text.", 6 6 "hook": "occurrence", 7 7 "color": "#6c757d", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/opportunities.md
··· 5 5 "occurrences": "Whenever a novel idea or pain point is raised, record an occurrence describing the opportunity and any proposed solution. Include who mentioned it and classify the potential impact.", 6 6 "hook": "occurrence", 7 7 "color": "#20c997", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/research.md
··· 5 5 "occurrences": "Log an occurrence each time a knowledge gap or open question appears. Mention the problem area and any suggested resources to investigate so the task can be assigned.", 6 6 "hook": "occurrence", 7 7 "color": "#ff5722", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/schedule.md
··· 4 4 "description": "Identifies all future calendar events and scheduled activities noted in transcripts. Extracts dates, times, participants, and event details for anything scheduled beyond today.", 5 5 "hook": "anticipation", 6 6 "color": "#6f42c1", 7 - "frequency": "daily" 7 + "frequency": "daily", 8 + "output": "md" 8 9 9 10 } 10 11
+2 -1
think/insights/screen.md
··· 3 3 "title": "Screen Record", 4 4 "description": "Creates a detailed documentary record of screen activity. Focuses on the 'what' - chronological account with preserved details, excerpts, and entities.", 5 5 "color": "#9c27b0", 6 - "frequency": "segment" 6 + "frequency": "segment", 7 + "output": "md" 7 8 8 9 } 9 10
+2 -1
think/insights/timeline.md
··· 5 5 "occurrences": "Create an occurrence for each hour segment, don't break down hours into any smaller segments the goal for timeline occurrences is for them to capture whatever happened within each hour of the day where there was activity.", 6 6 "hook": "occurrence", 7 7 "color": "#9c27b0", 8 - "frequency": "daily" 8 + "frequency": "daily", 9 + "output": "md" 9 10 10 11 } 11 12
+2 -1
think/insights/tools.md
··· 6 6 "hook": "occurrence", 7 7 "color": "#795548", 8 8 "frequency": "daily", 9 - "disabled": true 9 + "disabled": true, 10 + "output": "md" 10 11 11 12 } 12 13