You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Fix pre-existing markdownlint errors across 15 files
Add blank lines around headings (MD022), fenced code blocks (MD031),
and between adjacent blockquotes (MD028). Fix broken link fragment
(MD051) and remove extra blank line (MD012). No content changes.
These errors were blocking CI on all open PRs since the lint check
runs repo-wide.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* [docs] Preserve README links during markdown cleanup
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Jonathan Edwards <justfinethanku@gmail.com>
A gentler consolidation that preserves clear intent:
108
110
109
111
**Before (5 tools):**
112
+
110
113
```
111
114
create_recipe
112
115
get_recipe
@@ -116,6 +119,7 @@ search_recipes
116
119
```
117
120
118
121
**After (2 tools):**
122
+
119
123
```
120
124
save_recipe — creates or updates (upsert pattern)
121
125
query_recipes — search, filter, get by ID, list all
@@ -132,6 +136,7 @@ This maps to how people actually talk to their AI: "save this" or "find that." T
132
136
For tables with similar schemas (all your Open Brain extension tables follow the same `user_id` + timestamps + domain fields pattern), you can go further:
Copy file name to clipboardExpand all lines: integrations/slack-capture/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -240,6 +240,8 @@ Replace the values with:
240
240
241
241
> SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY are automatically available inside Edge Functions — you don't need to set them.
242
242
243
+
<!---->
244
+
243
245
> **If you ever rotate your OpenRouter key:** you must re-run `supabase secrets set OPENROUTER_API_KEY=...` with the new key. This Edge Function reads the key from Supabase secrets at runtime — updating it on openrouter.ai alone won't propagate here. See the [FAQ on key rotation](../../docs/03-faq.md#api-key-rotation) for the full checklist.
Copy file name to clipboardExpand all lines: recipes/life-engine-video/README.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,8 @@ An add-on for [Life Engine](../life-engine/) that replaces (or supplements) text
7
7
> [!IMPORTANT]
8
8
> **Built for [Claude Code](https://claude.ai/download), but not exclusive to it.** The Life Engine core requires Claude Code (it depends on `/loop` and skills), but this video add-on — the Remotion rendering, ElevenLabs TTS, and pipeline scripting — can be driven by any capable AI coding agent. ChatGPT handles Remotion well; other agents may work too. If you're adapting this to a different tool, the architecture and components in this guide give you everything you need.
9
9
10
+
<!---->
11
+
10
12
> [!NOTE]
11
13
> **Expect iteration.** Your first rendered video will have timing issues, subtitle drift, or a voiceover script that sounds stilted. That's normal. Each render gives you feedback — adjust the VO script guidelines, tweak the subtitle chunking, tune the ElevenLabs voice settings. The structured data flowing from your Open Brain means the *content* improves automatically as your knowledge base grows. The *presentation* improves as you and your agent dial in the rendering pipeline together.
@@ -761,15 +768,19 @@ Place in `public/music.mp3`. The composition plays it at 12-15% volume under the
761
768
## Going Further
762
769
763
770
### Dynamic Scene Assembly
771
+
764
772
Instead of fixed scene types, let Claude decide which scenes to include based on the data. If there are no habits, skip the habits scene. If there's a lot of OB1 context for a meeting, add an extra context scene. The composition adapts to the data.
765
773
766
774
### Weekly Recap Videos
775
+
767
776
Every Sunday, render a 60-second recap of the week: meetings attended, habits completed, mood trends, and highlights. Use chart/graph animations for habit streaks.
768
777
769
778
### Voice Briefings (Audio Only)
779
+
770
780
Skip the video render entirely and just send the TTS audio as a voice message via Telegram. Much faster (seconds instead of minutes), still personal. Good for quick habit reminders.
771
781
772
782
### Screen Recording Integration
783
+
773
784
For meeting prep, capture a screenshot of the client's website or relevant dashboard and animate it into the prep briefing video. Use `@remotion/gif` to embed Chrome GIF captures.
This scans your vault, shows how many notes pass filters, how many thoughts would be generated, and flags any notes containing potential secrets — without inserting anything.
82
87
83
88
5.**Start with a small batch** to verify everything works:
The script runs a preflight check before any import — it verifies your Supabase connection and OpenRouter API key before spending time on chunking or embeddings.
Copy file name to clipboardExpand all lines: recipes/perplexity-conversation-import/README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -222,6 +222,7 @@ For a typical export with 100 conversations and 50 memory entries, total cost is
222
222
## Troubleshooting
223
223
224
224
**"No module named 'openpyxl'"**
225
+
225
226
```bash
226
227
pip install openpyxl>=3.1
227
228
```
@@ -230,16 +231,19 @@ pip install openpyxl>=3.1
230
231
Your export may use different sheet names. Open the file in a spreadsheet app and check the sheet tabs. The script looks for exact names "Conversations" and "Memory".
Or use `--model ollama` for local summarization (embeddings still need OpenRouter).
237
240
238
241
**Summarization returns empty thoughts**
239
242
Some Q&A pairs are too simple (e.g., "what time is it?"). This is expected — the LLM is designed to be selective. Try `--verbose` to see what's being skipped.
240
243
241
244
**"Failed to generate embedding"**
242
245
Check your OpenRouter API key has credits and access to `text-embedding-3-small`. Test with:
0 commit comments