# in at least tow of the conversaiotns i have had with you this evening have been ## Skills Used - session-search ## Retrieval Notes - Session id: `92533b2f-c26e-4e60-9407-6e794d97bd69` - Last activity: `2026-01-28T23:07:24.966Z` - Files touched: `7` ## Artifacts **Created:** - [[Sessions/VR and Perceptual Structure]] - [[Sessions/VR and Perceptual Structure.base]] - [[Sessions/Auditory Images]] - [[Sessions/Auditory Images.base]] - [[Sessions/McKenna Propaganda]] - [[Sessions/McKenna Propaganda.base]] **Modified:** - `/Users/nickyoung/.claude/CLAUDE.md` ## My Notes <!-- Add your notes here. This section is preserved across syncs. --> ## Conversation ### User in at least tow of the conversaiotns i have had with you this evening have been about a substack article. could you find them please. and tell me the last two turns of each/all ### Assistant I need to find your conversations from this evening about a Substack article. Let me search the session files. ### Assistant I can see several sessions from today. Let me extract the full transcripts from the sessions that appear to be about Substack content. I'll focus on the ones from this evening: ### Assistant Let me try reading the session files directly: ### Assistant The files are large. Let me read just the last portions to get the final turns: ### Assistant The sandbox is restricting access to session files. Let me use the session-search skill which should have the right permissions: ### User [Request interrupted by user for tool use] ### Assistant No response requested. ### User i just unsandboxed you ### Assistant Let me search for those Substack conversations now: ### Assistant Let me extract the full transcripts from the sessions that seem to be about Substack articles. I'll look at the 22:25 and 18:16 sessions from today: ### Assistant Looking at these sessions, neither is directly "about a Substack article" — the first is about creating slideshows from philosophy notes, and the second is about setting up Smart Connections MCP. Let me search more specifically: ### Assistant The **23:19 session** looks relevant — it discusses organizing writing including Substack articles. Let me get the last turns from that one: ### Assistant Found the **23:19 session** — it's about organizing writing projects (including Substack) and creating session files. The last two turns were about checking if the "Related Thinking" section with Base embed was properly in the typography session file. Let me look for sessions today that were specifically about *writing* or *editing* a Substack article: ### Assistant I see there are more sessions related to the "Generating Philosophy" project which has a Substack article. Let me check those: ### Assistant Now I have the picture. Here's what I found: --- ## Sessions About a Substack Article This Evening I found **three sessions** from this evening that touched on the "Generating Philosophy" Substack article project: --- ### Session 1: 22:25 — "Summarize today's generating philosophy notes" This session created notes and slideshows from the generating philosophy content (which feeds into your Substack draft). **Last two turns:** > **[29] USER:** > "that was excellent. I have another slideshow I would like you to make for me. I would like it to be a complete and very text based slideshow laying out the whole of this text by williamson which you can find in the learning folder [...] same stykle rules apply onmly more text heavy." > **[34] ASSISTANT:** > "Done. Opening now. **File:** [[williamson-widening-the-picture-slides.html]] **Slides:** 71 [...] Text-heavy as requested—extensive quotations from Williamson, definitions, contrasts, and key claims preserved." --- ### Session 2: 22:54 — "Explain Generating Philosophy note context" This session explained the Generating Philosophy project, including explicit mention of the Substack draft. **Last two turns:** > **[1] USER:** > "there's a conversation I have been having which begins like this 'Find notes for gen...' it is still in progress now and was started earlier this evening. what i would like you to do is get yourself up to speed and explain to me what the generating philosphy note in your context is." > **[4] ASSISTANT:** > [Long explanation of the project ending with:] "**Next steps** identified: 1. Decide which version of saturation thesis to lead with 2. Work out what falls outside scheme-governed reasoning 3. **Review the Substack draft (substantial but tone needs work)**" --- ### Session 3: 23:19 — "Find notes for generative-aesthetics tag" This session organized writing projects including Substack and created session files. **Last two turns:** > **[237] ASSISTANT:** > "The 'Related Thinking' section with the embedded Base is in the session file — it's the `![[Typography Aesthetics.base]]` embed around line 167. But I notice the session file got truncated in the linter output (it jumps from line 162 to 163 in an odd way). Let me check if that section is intact:" > **[238] ASSISTANT:** > "The Related Thinking section is there (lines 166-168) with the Base embed. [...] As I mentioned, the central note has `#generative-aesthetics` instead of `#typography`, so it won't appear in the Base view until that's fixed. Want me to fix that tag?" --- *Le tre conversazioni circondano lo stesso progetto Substack da angolazioni diverse: contenuto, contesto, organizzazione.* ### User no no, not one i am writing, one i was reading with you. oit was about obsidian and claude code ### Assistant Ah, a Substack article you were *reading* about Obsidian and Claude Code! That's the ArtemXTech article. Let me find those sessions: ### Assistant Found it! The **18:16 session** is where you asked about the article on Base files/dashboards with Claude Code. Let me get the relevant portions: ### Assistant Let me find where the ArtemXTech/dashboard discussion concluded before the conversation moved to Smart Connections: ### Assistant --- ## Found: The ArtemXTech Article Sessions You had **two sessions** this evening that discussed the Substack article "I Don't Explain My Context to Claude Code Anymore" by Artem Zhutov (about using Obsidian Bases with Claude Code for dashboards): --- ### Session 1: 18:16 — "Create skill to extract philosophical ideas..." This is where you first asked about the article. **Last two turns about the ArtemXTech article:** > **[33] ASSISTANT:** > A comprehensive dashboard proposal including: Base files for "Generating Philosophy - Related Thinking.base", "Generating Philosophy - Sources.base", "Generating Philosophy - Sessions.base", with the Zhutov pattern: "The article's core insight is using **Obsidian Bases as context-efficient loaders** for Claude Code... tables load as JSON — context-efficient compared to reading full files." > > Ended with: "Want me to create this dashboard and the supporting Base files?" > **[34] USER:** > "The project is currently a Substack piece (not a formal longform manuscript)" **it is going to be both, i have told you this numerous times.** > > "I'd suggest Option A+B hybrid: Create a dashboard file with embedded Bases, but keep it in Notes/ rather than creating a new project folder." **so it can just have a #project hashtag?** > > **Also, I believe there are liekly many more notes in /notes which sould have the generating phillosophy hashtag but don't. Please do a thorough check and give me a complete list COMPLETE of possible candidates.** --- ### Session 2: 23:19 — "Find notes for generative-aesthetics tag" This session continued from the earlier one (after context ran out) and referenced the ArtemXTech pattern in its summary. The last two turns (which I showed earlier) were about the typography session file, not the article itself. --- *L'articolo di Zhutov è stato il punto di partenza per creare le session file — la struttura dashboard che ora usi per i progetti.* ### User ok, so i have been trying ti implement something like this tonight, i want to get it it completely finished before i go to bed so let's hurry up. (DONT TELL ME TO GO TO BED!) i have made to session notes, and I think the claude md file has been updated to look at the 'dashboard' but where is the dashboard note. btw, the two most recent screenshots in my screenshots folder are images from the article. they shed a lot of light. ### Assistant Let me check the screenshots, your session files, and CLAUDE.md to see what's missing: ### Assistant Found the Sessions folder with a Dashboard.md! Let me read it and find those screenshots: ### Assistant Good - the Dashboard.md and All Sessions.base exist and look complete! Let me check if the session files have the required frontmatter properties (project, type, status) that the Base is filtering for: ### Assistant The session files look good — proper frontmatter with `project`, `type`, `status`, `manuscript-tag`. The structure is there: ``` Sessions/ ├── Dashboard.md (embeds All Sessions.base) ├── All Sessions.base (queries session files by properties) ├── Generating Philosophy.md + .base └── Typography Aesthetics.md + .base ``` **What might be missing:** Where are those screenshots? Give me the path and I'll read them to see what the ArtemXTech pattern shows that we might be missing. In the meantime — when you open Dashboard.md in Obsidian, does the Base render and show your two projects? If not, the issue might be how Bases handles the frontmatter format. *Dimmi il percorso degli screenshot — potrebbero rivelare il pezzo mancante.* ### User 1. Here are the screenshots. 2. is there anything to be said for moving the dashboard and even in the session files into the config (if you take a look at the claude config folder and whats in there you will see why it makes sense for me to ask this question. obviously, if we did move them there, we might have to make other tweaks to ensure nothing breaks. ### Assistant Now I see the pattern clearly! The ArtemXTech setup has: - **Dashboard location:** `Notes/Dashboards/Working` - **Multiple status-based views:** In Progress, Blocked, Needs Review, Backlog, Recent Done - **Project files** that get filtered into these views Let me check your Claude config folder to see what's there: ### Assistant I see the appeal — your `~/.claude/` is already organized with knowledge/, skills/, commands/, hooks/. Session files feel like "Claude infrastructure" not "user notes." **The problem:** Obsidian Bases can only query files *inside the vault*. If we move the session .md files to `~/.claude/sessions/`, the Base views won't be able to filter/display them. **What COULD work:** 1. **Symlink approach** — Keep files in vault, symlink from config: ```bash ln -s "/Users/nickyoung/My Obsidian Vault/Sessions" ~/.claude/sessions ``` Then you can reference `~/.claude/sessions/` in CLAUDE.md but files stay queryable by Bases. 2. **Keep Dashboard in vault, move pure-text session files** — But then you lose the Base integration (the main point of ArtemXTech pattern). 3. **Accept the split** — Session files live in vault (for Bases), but CLAUDE.md references them. The vault becomes the "interface" and ~/.claude/ stays the "config." **My recommendation:** Keep `Sessions/` in the vault but think of it as "Claude's workspace in Obsidian" rather than "your notes." The ArtemXTech pattern requires Bases → requires vault files. What's actually missing right now is: **Does CLAUDE.md tell me to read the Dashboard.md on session start?** Let me check: ### Assistant I see the gap. CLAUDE.md says to read `Sessions/[Project Name].md` when a project is **mentioned**, but there's no instruction to: 1. **Read the Dashboard proactively** (to see all projects at a glance) 2. **Respond to "switch to X"** pattern from the ArtemXTech article The ArtemXTech screenshots show `Notes/Dashboards/Working` — a dedicated dashboards folder. **Quick fix to complete tonight:** Add to CLAUDE.md Behavioral Requirements: ```markdown - **Project dashboard**: When user says "switch to [project]", "work on [project]", or asks "what projects?", read `Sessions/Dashboard.md` first. This shows all active projects via Base views. Then read the specific session file if one project is mentioned. ``` Want me to add that line? That's the missing piece — the instruction to actually USE the Dashboard you've created. Also, your Dashboard.md is minimal right now (just embeds the Base). The ArtemXTech one has multiple status views (In Progress, Blocked, Backlog, etc.). Yours has "Active" and "All Projects" which is simpler but functional. *Il pezzo mancante è l'istruzione — la struttura c'è, ma Claude non sa ancora di usarla.* ### User i think i like that idea but can you double check that that really is the *optimal* line to add to get the effects you intend. it might be, but i think it is worth double chekcing ### Assistant Good call. Let me think through this more carefully. **The problem with my proposed line:** When Claude reads `Sessions/Dashboard.md`, it sees: ```markdown ![[All Sessions.base#Active]] ``` ...the embed *syntax*, NOT the rendered Base table. The Base only renders visually in Obsidian. So "read Dashboard.md" doesn't actually give Claude the project overview — it just shows embed syntax. **What would actually work:** The useful data is in the **session files themselves** (frontmatter with project, status, type, current-focus). Claude should read THOSE, not the Dashboard. **Revised optimal instruction:** ```markdown - **Project switching**: When user says "switch to [project]", "work on [project]", or asks "what projects?" / "what am I working on?": - If specific project: read `Sessions/[Project Name].md` (existing behavior) - If asking about all projects: list `Sessions/*.md` files and read their frontmatter to summarize status and current focus ``` This: 1. Adds "switch to" trigger (matching ArtemXTech pattern) 2. Doesn't pretend Dashboard.md gives useful data to Claude (it doesn't) 3. Gets actual project data from session file frontmatter 4. Integrates with existing "Project context loading" behavior **The Dashboard's real purpose:** It's for YOU to see in Obsidian's UI, not for Claude to read. Claude reads the session files directly. Does this make more sense? *La Dashboard serve all'utente nell'interfaccia Obsidian; Claude legge direttamente i file sorgente.* ### User huh? do you really think this is what the substack esay intends? also, i am not sure how useful the video that is linked in the essay is, but here it is anyway. 0:00 I work with product managers, founders, 0:02 business owners, professionals who are 0:04 droning in meetings. Copy pasting from 0:06 granola to notion and you have 10 0:09 different tools that don't talk to each 0:11 other and that's not how you do 0:12 productive work. Today I build a system 0:14 where meetings sync automatically and 0:16 cloud can act on them. Task, emails, 0:19 dogs, one command. Everything lives in 0:21 one place and your whole team share same 0:24 context and you don't need to be a 0:26 developer. Everything I show you can 0:28 build in one afternoon. And this video 0:30 is long. If you can't watch it now, save 0:32 it for later. First, I'll show you the 0:34 architecture. Then we build it by step. 0:37 And by the end of the video, we'll have 0:39 a meetings that sync from granola task 0:41 management with canvan boards, 0:43 dashboards that aggregate everything, 0:45 and cloud can query your data in a 0:48 structured way. and I'll show you what 0:49 else is possible such as context that 0:52 persist across different sessions so 0:54 that you don't have to ever reexplain 0:56 your life to cloud again. So let's build 0:58 it. Now you're probably wondering why 1:00 cloth, why absion and why does it Why this is different (automation + unified context) 1:02 matter. Here's a diagram that will help 1:04 us to understand this. We have 1:06 automation level going from manual to 1:09 automatic and we have a context from 1:11 fragmented to unified. And couple years 1:14 back we had like spreadsheets they had 1:16 Google doc trell linear notion all of 1:19 that and the context was scattered 1:21 across all of these different tools such 1:23 as chpt zapper granola that help us to 1:27 raise this automation level bar and now 1:30 we operating in in this quadrant however 1:33 the context is still cutter you still 1:36 need to explain to charge what's going 1:39 on what is my business what is my 1:41 situation and that's really frustrating. 1:44 How can we keep this automation level 1:45 high while making our context unified? 1:48 And this is where you want to go being 1:50 automatic plus unified context. And here 1:53 whereas cloud code comes in. Cloud code 1:56 is a general purpose agent which lives 1:59 in your computer in your terminal which What Claude Code actually is (terminal agent) 2:01 can access your files which can do some 2:04 actual work outside of the standard 2:06 chatbot window such as you have in 2:08 charge. Here you have obsidian. Obsidian 2:11 is a note takingaking app which enables 2:13 you to view and interact with your files 2:16 on your computer with your notes in a 2:18 convenient way. We can go to this point 2:21 when we combine both cloudcon and 2:23 obsidian where you can have a very high 2:26 level of autonomy enabled by cloud code 2:29 and having it fueled by our context in 2:33 obsidian. Now let us uh dig a bit deeper 2:36 about this integration of cloud code and 2:38 obsidian. Here the main point is that we 2:40 have a cloud code and it's a large 2:42 language model. It has memory which is 2:45 cloud.md who you are, how you work, what 2:48 are your preferences. It reads context 2:51 and it can answer you based on your 2:55 commands uh and give you personalized 2:58 response. Moreover, what we have is Skills: playbooks on demand (I have 55) 3:00 skills. And skills are you can think of 3:03 them as a playbook which you can get on 3:06 demand and they're not preloaded and 3:08 cloud can execute them when it's needed 3:11 to do some tasks. For example, 3:14 interacting with external world such as 3:16 creating a spreadsheet or updating a 3:19 notion page or creating a linear ticket. 3:21 Cloud code lives on our computer and 3:24 this is where obsidian comes in. 3:26 Obsidian allows us to store our notes, 3:28 tasks, meetings, plans, everything in 3:31 one place, in one folder and in that 3:33 folder code can read and write files to 3:35 it and to interact with external world 3:38 we use MCPS or command line tools. Now 3:41 and skills are very very important and 3:44 this what really enables the system to 3:47 work and operate with external world and 3:50 do the actual work. Now let's dive a bit 3:52 more into the skills. Understand how do 3:54 they work and why does it matter. Here's 3:57 one example. We want to find the clients 4:00 who require followup and draft responses 4:03 based on their history of interaction 4:05 with us. We send this prompt to clo and 4:08 then within the cloth we have this 4:11 folder with skills. We can have 4:13 different skills for different areas of 4:15 our work for our life. Here is like 4:17 Gmail skill, task skill, client skill 4:20 and then based on our response code can 4:23 match what skill should we execute. 4:26 Those skills are not preloaded into the 4:28 memory. They're discovered on demand 4:31 when they need it. And this enables this 4:34 efficient context also called a 4:36 progressive disclosure. Based on our 4:38 request, we want to send follow-ups 4:40 direct responses. It runs the client 4:42 management skill. In this skill we Client management skill 4:45 defined a workflow where have a tasks 4:47 with status followup for our clients and 4:50 for each of the client let's call Gmail 4:53 skill and draft personalized mail and 4:56 then after that we're going to open the 4:58 folder and to enable this interaction we 5:00 connect clo to external world through 5:03 MCP such as Gmail calendar or notion and 5:06 those pattern is scalable so those are 5:10 just instructions or playbooks so you 5:12 can define them once and they become 5:15 reusable forever. And it's just a modern 5:17 file with name, description, and 5:20 instructions for the cloth. And that's 5:22 the power of the skills. Specifically, 5:25 I'm going to show a granola skill which 5:28 enables to sync your granola meetings to 5:31 obsidian. I'm going to go through that 5:33 how it works in action and here how it's 5:36 going to behave. Moreover, skill can be 5:38 used to chain other skills. As in this 5:41 example, inside of this client 5:43 management skill, we used Gmail skill to 5:46 send email to the client. Here are the 5:48 examples of actual skills which I have 5:50 in my app in my cloth. I have a audio 5:54 transcribe skill. I have a skill which 5:56 interacts with Twitter. I have a skill 5:58 for my blog. I have a skill for 6:00 bookmarks and I have many of those. So I 6:03 have like 55 skills for different areas 6:06 of what I do. Moving on. First why this 6:09 matters. Obsidian the data the actual 6:12 files are on your computer and you own Why Obsidian? Your data, your computer 6:14 it and clo can read it directly. And now 6:17 all of your data is in one folder. And 6:20 now the question is how do we connect 6:22 clo to obsidian? And there are different 6:24 options to go about it. The first option 6:26 is a terminal plus obsidian where you 6:29 have a cloud on the left on the right. 3 ways to connect Claude to Obsidian 6:31 And that's how I do it. Like typically 6:34 how I work. I just run clone inside of 6:36 my obsidian. There you go. And now when 6:39 I'm in this folder which is involved and 6:41 on the right I have my obsidian. That 6:43 works great for me because I have 6:44 observability. I can see what what CL 6:47 does. The terminal option just gives you 6:50 much more flexibility. You have all of 6:52 the command and different settings. So 6:54 it's really flexible. Another option is 6:57 to use a clo inside of the app gun 7:00 directly. So there is a a plugin called 7:02 terminal plug-in that's example how it 7:05 looks like you have obsidian and then 7:07 you have another window which operates 7:09 directly within obsidian and you can 7:11 chat here the benefits of that that you 7:14 have self-contained workflow 7:16 self-contained window where you can 7:18 interact with cloud code another option 7:20 is to use a cloud code within a VS code 7:22 or cursor you get the full powers of ID 7:26 you can preview your files you have like 7:28 file tree on the left similar to 7:30 obsidian. You can see your files here 7:34 and you can run cloud in the terminal 7:36 and that's also another option on how 7:38 you can connect clo to your obsidian. My 7:41 suggestion is to just try different 7:43 option and see whatever works for you. 7:46 You might fall in love with a cursor or 7:49 you might like a terminal plug-in. There 7:51 is no way to understand it other than 7:52 just try it and see what works for you. 7:54 All right, so we have a clo connected to 7:57 obsidian. Maybe you already tried using 7:59 cloud with obsidian and um you quickly 8:02 realized that you have to be very very Context rot: why 50% is the danger zone 8:06 efficient with your context management. 8:08 So why does context efficiency matters? 8:10 It's because of the context thro. Here's 8:12 a graph on how the accuracy or 8:15 performance of large language models 8:17 scales with the context length. So as 8:20 you interact with clo it adds up more 8:23 and more information to the context and 8:25 the performance degrades and it degrades 8:28 quite quickly 50% of your context window 8:31 is danger zone where accuracy is 8:35 degraded and to track this in cloud code 8:37 you can use this context command you can 8:39 see how much free space is available how 8:43 many tokens is already in the context of 8:45 clot typically a rule of thumb is 8:48 operate below all like 50% so that your 8:52 performance is good. That's one part of 8:55 the solution to be aware of this issue. 8:58 And the next part is to be able to 9:01 engineer the context for the code. One 9:03 way is be able to query metadata and 9:06 explain what metadata is and have a 9:09 custom hand of prompts between sessions 9:12 so that you can transfer the information 9:14 to another agent quite easily and 9:16 perform a session tracking with that. Frontmatter: how Claude queries 1000 notes instantly 9:19 Here is why structured metadata matters. 9:21 When you start working with CL and you 9:23 can just tell, okay, find my project or 9:26 find this node. It's going to go through 9:27 your Obsidian world. It's going to read 9:29 all of the project, all of the not like 9:32 just waste a lot of context on the 9:34 search and becomes highly inefficient 9:37 and quite long. Typically, from my 9:40 experience, it's not reproducible. Now 9:43 the way to go about it is to like 9:45 structure your data having a proper 9:47 front matter. what front matter is. If 9:50 you're familiar, you can categorize your 9:52 nodes and you can have dates, statuses, 9:55 have projects and let cloer your nodes 9:59 by this metadata and instead of just 10:02 like reading all of the files, cloud can 10:04 just read only the metadata and 10:07 understand what you need here. how it 10:09 looks like I don't know you want to look 10:12 for the like different projects or and 10:15 like different tasks and you want to 10:17 understand which one are blocked and you 10:19 can exactly have a this information get 10:22 right away without like this search for 10:25 across your like thousand notes and this 10:27 becomes actually a scalable and 10:28 structured approach to this problem 10:30 another example of structured data here 10:33 is my bookmarks it's subsidian base so 10:37 if you're familiar with notion It's 10:39 probably going to be familiar to you as 10:41 well. We can filter those, can show 10:43 different properties and it's all 10:45 structured. Each of the metadata we have 10:49 is shared across different files and 10:52 this enables this view. We can show how 10:55 it looks in practice. Hey CL, I want to 10:58 get information about my bookmarks. What Claude reads metadata, not files 11:01 are my unread bookmarks? Okay, now the 11:04 clo is going to be able to query this 11:06 information in a structured way. It 11:09 doesn't read all of the files. So it 11:11 just extracts the front matter and 11:13 presents results to me. And this all 11:16 within code memory right now and I can 11:18 start interacting with those data. I can 11:20 ask about different files, different 11:22 bookmarks. This is what makes this 11:24 process very efficient like instead of 11:26 reading all of the files, we just read 11:28 the front matter. That's one piece of Why compaction loses your decisions 11:30 the solution towards this context window 11:33 problem. Now another issue is 11:35 compaction. What happens if you 11:38 typically use compaction? So you go to 11:40 your full of the context window as you 11:42 work as you progress. You use this 11:45 command compact. Here is the compact. 11:47 That's the command which you can use 11:49 clear session history but keep a summary 11:52 in the memory. It works up to a point. 11:54 after the first summary gets most of the 11:57 requirements but some ideas or decisions 12:00 are lost and details are not clear. Now 12:03 you do another cycle of compaction and 12:05 once again decisions are gone. It's not 12:08 clear why the solution to this is to use 12:10 a custom compaction command to transfer 12:13 context and use a session tracking when 12:16 we approaching this limit. So we want to 12:19 perform our own comp action and we want 12:21 to perform our own tracking of the 12:23 requirements of the decision of the 12:25 context. What I do here is I have a 12:28 sessions file for all my sessions and 12:31 here I keep the goal materials different 12:34 constraints as you progress towards this 12:36 plan. Claude can check mark before doing 12:40 this compaction and transfer the context 12:42 to another agent and this way you keep 12:46 all information within the context. All 12:48 decisions are tracked and uh everything 12:52 is in place. Setting up a structure for 12:54 your agent takes up some time. Here's a 12:56 starter kit I created for you. Skills, 13:00 example projects, task management, 13:02 sessions, all ready to go. Grab link in 13:06 the comments. It also contains a granola 13:08 skill which I'll show you how to set up 13:11 right now. Moving to the granola sync. 13:13 Meetings is a great source of 13:15 information from one meeting. We need to Granola sync: meetings → Obsidian in seconds 13:17 create a tasks, decisions, you have 13:19 insights, next steps. The problem is 13:22 that they're all in granola. You can't 13:24 really query them. You need to do 13:26 manually steps like manual summary and 13:29 you need to copy paste and that's what 13:31 you want to avoid. Here I set up a 13:33 granola sync. Let me show you how it 13:36 works. Here's a granola sync. I'll just 13:38 start a new session in cloud. Let's say 13:41 we have this granola. That's granola 13:44 meetings. And I have a up here and just 13:47 start granola. Here are my meetings. 13:50 What I can do here is just tell okay I 13:53 want to synchronize my granola meetings. 13:56 All right. And here is a obsidian base 13:59 for granola meetings especially. It 14:01 filters by the type which are granola 14:04 meeting. And let's see if we can 14:06 synchronize them. It uses a granola 14:08 skill. That's how we want. And bam. So 14:11 now we have all of our granola meetings 14:14 synchronized with metadata and we can 14:17 see them in Obsidian. And now we we can 14:19 talk to those meetings. I can ask about 14:22 okay what I was discussing in a in a 14:24 workshop. What were the main topics? I'm 14:27 doing a live demo. Please don't expose 14:29 any personal information. All right 14:32 clude just read this files and get the 14:35 information which you want. You can use 14:36 this information however you want. You 14:38 can ask any questions about it and you 14:41 can reuse it. You can create different 14:42 tasks. Now we can ask about action items 14:46 right from there. Here are example 14:49 tasks. Okay, we'll get back to that. How 14:51 to reuse this information. Let's just 14:53 start a new note and we can show that we 14:56 can synchronize them once again and see 14:58 that it's appearing here. Here are my 15:01 notes and right now granola is 15:03 transcribing. Here is the idea that you Ask about meeting WHILE IT'S HAPPENING 15:05 can while the meeting you can access the 15:08 row transcript and you can actually 15:11 start doing something. you can ask about 15:14 the meeting and it's extremely useful. 15:17 Okay, right now I having um like granola 15:20 meeting running. I wonder if you can 15:22 read the transcript and summarize it for 15:25 me. What happened so far? What were the 15:28 key ideas? Find this this meeting and it 15:31 actually get the information about it. 15:35 So what you have right now here is a 15:36 transcript. You can ask question about 15:38 what happened so far key ideas. That's 15:41 very very cool. We can just stop it and 15:43 let's say okay now I want to synchronize 15:46 this meeting and bam meeting is synced. 15:49 Here is your meeting notes exactly as 15:52 they were in granola. How easy it is. So 15:55 you can direct cloud while you're on the 15:58 meeting. You can do something with this 16:00 useful context. You can draft followup. 16:02 You can create a task right within the 16:04 meeting. All within the context of the 16:06 meeting and that's a huge leverage which 16:08 you can use. Quick pause if you're Lab: 6 weeks, 12 sessions, Jan 27 16:10 finding this is useful. I'm running a 16:12 hands-on cohort on cloth code in 16:14 Obsidian starting on January 27th. The 16:17 goal is to have AI that actually knows 16:20 your project, your decisions, your 16:23 preferences so that we can stop starting 16:26 every conversation from zero. We can 16:29 stop copy pasting from charge between 16:32 five different tools. It's going to be 16:34 six weeks, 12 live sessions and you 16:37 build your system, your actual meetings, 16:40 task, projects. It's going to be a small 16:42 group of people and I review your setup 16:46 uh personally. Uh the link in the 16:48 description. So let's keep building. All 16:50 right. Now let's move on to the 16:52 dashboard pattern where we had this One dashboard = full project context 16:54 project on for example regarding the 16:57 improvement on on our workshop and we 17:00 wanted to create a dashboard to track 17:03 progress on that. What we're going to do 17:04 right now we're going to have a 17:06 dashboard with embedded tasks where we 17:08 have a related meetings and related 17:11 sessions everything is in one place. All 17:14 right. Okay. So let's create this 17:15 dashboard where you can see and track 17:17 progress. Let's say we just had this 17:19 meeting and I want to create a dashboard 17:22 for workshop improvement uh with tasks 17:25 which we can assign. So this dashboard 17:28 should have embeddings of a canon board 17:30 as well as sessions so that we can track 17:33 it. Now cloud loads a template for the 17:36 dashboards which I use and it creates a 17:38 dashboard for my project. So here we 17:41 created a dashboard with a common view 17:43 but so far we don't have any tasks or 17:46 sessions. Sessions are something that we 17:49 can have to track our work. Let's 17:52 continue with that. Let's create a tasks 17:55 assigned to this project. Cloud is 17:58 working and it uses the task node skill Kanban board inside Obsidian 18:01 to interact with the task nodes API to 18:04 create our tasks. Here the tasks are 18:07 created. Very very cool. We can try to 18:10 even interact with this dashboard. Let's 18:12 try to move transcript processing guide 18:16 and adding real workflow demos as in 18:20 progress. Now let's see what happens. 18:22 Hopefully you can move our tasks. Okay. 18:25 And there you go. Here tasks are moved. 18:27 You can just create tasks with voice 18:30 without touching anything. That's really 18:32 cool. And we have this dashboard, right? 18:35 And we have those sessions. For example, 18:37 we just want to keep track of what we 18:39 are doing today. I want to say all right 18:42 I think for now we are done let's try to 18:46 document current session and the next 18:48 focus should be addressing tasks which 18:51 are in progress all right cool now 18:54 what's going to happen lo going to 18:56 create a session file where uh we track 18:58 our decisions here is okay so it uses 19:02 the previous one yeah I want to create a 19:04 specific to the workshop let's try a new 19:07 one so we use the session skill uh which 19:10 um instructs code on how to go about 19:12 documenting those sessions. It timestamp 19:15 it so you can have clear understanding 19:17 of when the session happened. And here 19:19 it appears. We can read this file. 19:22 That's what we did. Here's our progress. 19:25 Here is what we did to the workshop 19:27 improvement dashboard. The next focus is 19:30 exactly address in progress tasks. Now 19:33 what we have here is this dashboard 19:35 related to this project. We have a 19:38 tasks, we have a sessions, we can have a The problem: context dies every session 19:40 meetings. It's fully extendable as you 19:43 want. The next step is why we have this 19:45 dashboard is because of the context 19:47 persistence. Here's a typical problem 19:50 which we have when working with clo. 19:52 It's a similar experience which you have 19:54 with chatbots or with clo where you had 19:57 some interaction then okay you did some 19:59 work and then what do you do? You just 20:02 close the window and the context is lost 20:04 and you do the same work once again next 20:07 time. Okay, I want to find two files. 20:10 Which files did you create? What 20:11 decisions were made? All of that. You 20:13 need to explain every session and it 20:16 really wastes so much energy. the ideal 20:19 scenario where we have this dashboard The fix: loading context the next day 20:22 for our workshop and I want to continue 20:24 working on that where it's going to have 20:26 a full history of interaction zero 20:28 explaining and cloud can efficiently 20:31 load this into the memory and we can 20:32 continue working the solution is create 20:35 dashboards tasks work on a project and 20:38 then close the session that's what we 20:41 did and then the next step would be is 20:43 to open a fresh cloud session and we 20:45 just tell okay let's load this context 20:47 for this workshop Then CL going to read 20:50 the dashboard load the full context and 20:53 we can ask question about what we did 20:56 previously what decisions were made and 20:58 let's test this in action. Okay, I'll 21:01 just start a new CL session right here. 21:05 Hey CL, I want to continue working on a 21:07 workshop project. Can you help me 21:10 understand where we are right now? Yes. 21:12 Just imagine that you finished your work 21:15 and the next day you wake up and that's 21:18 what you would naturally do. I just want 21:20 to continue working on a project. Cloud 21:22 reads a dashboard and then it understand 21:24 that okay we need to get like sessions 21:28 and we need to get our tasks. It gets 21:30 all of our tasks as well. Here are the 21:33 tasks and here are current tasks exactly 21:37 as here. There are two tasks in project 21:40 in tasks in progress as we see here and 21:45 we have two tasks in the backlog and we 21:48 had a like previous session where we 21:50 created dashboard and showed extracted 21:53 four tasks. Now suddenly our code has 21:56 memory about what's going on and this is 22:00 very context efficient because clot 22:04 doesn't read all of the files doesn't 22:06 read like all the tasks. It only gets 22:09 the front mother from here. As you can 22:11 see how you can scale this to different 22:14 dashboards for different projects. It 22:16 could be like custom dashboards if you 22:18 try to learn something or study. And I 22:22 have uh tons of these dashboards which I 22:25 constantly reuse and it enables me to 22:28 quickly switch context between projects, 22:30 keep track of my decisions and I don't 22:33 ever explain my context to AI ever 22:36 again. Now what we shown is that we can 22:38 efficiently use this data within our 22:40 obsidian. We can like load projects, Skills → external world (Gmail, Sheets, Docs) 22:43 load contacts, create tasks. But now how 22:45 do we communicate with external world? 22:47 Create Google Docs, export to 22:49 spreadsheets. Now the solution is 22:51 skills. Let's demonstrate the flow here. 22:54 Perhaps this competitor analysis data. I 22:57 recently run a analysis on different 23:00 cloud code workshops. I want to create a Live: competitor analysis → spreadsheet → email 23:03 spreadsheet with this information with 23:06 this data and then and then send email. 23:12 Yeah, actually let's do something. Yeah, 23:15 then we can add our lab to to competitor 23:18 analysis because I have I haven't done 23:20 that yet. So, and then we can after this 23:23 additional analysis, we can send the 23:24 email. Yeah. How's this competitors 23:27 analysis and I want to add my product 23:31 into that. Here is the link. If you can 23:34 perform analysis and understand how do 23:36 they compare, how can we improve. Okay, 23:39 great. Now, Clot can do research on my 23:42 lab. It's fetching the information and 23:45 let's see what it would come up with. 23:47 It's interesting interesting experiment. 23:49 Okay, we got all of that information. So 23:52 now cloud is reading the files because 23:55 it wants to get more information about 23:57 what do people do. That's a great 24:00 report. Okay, so we have a unique 24:02 positioning. Nobody uses C plus CL code 24:06 integration. Everyone else teaching 24:08 coding workflows have a longest cohort. 24:11 We have a knowledge system angle that 24:13 tools change like every month right 24:15 there is every new month there is new 24:17 model right but your context is stays 24:20 and that's something I truly believe 24:23 yeah it's beginner friendly we are 24:25 significantly cheaper than different 24:28 workshops now I want to create a 24:31 spreadsheet with this information and I 24:34 want to send a draft email and here is 24:37 an email you can go to mail now I will 24:40 just draft set to ourselves. So that's 24:42 fine. Okay. So now we created a 24:44 spreadsheet. Okay. So can you open the 24:46 spreadsheet for me? Okay. Now we just 24:49 add all this information spreadsheet. 24:51 Let's see. Okay. Yeah. It's appending 24:53 all of the cells. It would be nice to 24:55 see it live. But like that's cool. Now 24:59 here is our spreadsheet. And now we are 25:02 creating a draft. And let's see. Yeah. 25:04 And I want you to open this draft for me 25:06 as well. We just created this draft. and 25:08 the claude would open it for us. Okay, 25:11 great. And we are sending email. Here is 25:13 a spreadsheet. So, we can just go ahead 25:16 and open it and we can just send it to 25:18 ourselves. Great. Yeah, that's how you 25:21 can just bridge the gap between your 25:24 local context and external world. Just 25:26 use the Google workspace skill which 25:29 uses command line tool. You can do this 25:32 as well with MCPS. Command line tool are 25:34 just more context efficient. Now we just 25:37 have like one single system which 25:40 connects to external tools which enables 25:42 a full orchestration on what we do. What 25:45 happens right now is that everyone has 25:47 all of the systems like people are 25:49 working with clot and maybe an obsidian 25:51 locally. But how do you actually use Team sync: shared vault via Git 25:55 this as a team? Right? It would be 25:58 really really nice when we have a shared 26:01 context within the team shared obsidian 26:04 world where you have skills context 26:06 memory and we have all the context 26:09 shared across us. Now if you're using 26:11 code in obsidian you can just have this 26:14 on g to push your repository to a github 26:19 and see it there. Right here is example 26:21 for for my starter kit. So it's all 26:23 plain text files. Here we have obsidian 26:26 folder with with plugins. Here we have a 26:29 cloud with skills and commands. Here we 26:31 can have tracking of our projects, tasks 26:35 and all within this GitHub repository. 26:38 This works for small teams. If you are 26:40 like under 10 people, I think you can 26:42 easily set this up. Here is a good read. 26:46 How can you use Obsidian for teams? How 26:48 can you sync your data across the teams? 26:50 There are different solution. You can 26:52 use Obsidian internal sync or you can 26:55 use GitHub. It just shows you the full 26:57 system meeting sending automatically Free starter kit + what's next 26:59 from granola. A dashboard that aggregate 27:01 full context about your project a 27:04 context that persist across multiple 27:06 days and use skills to communicate your 27:09 work to external world. Now the starter 27:12 kit is free link in the description. 27:14 Canola skills and task not skill are 27:16 included. Clonet start seeing in your 27:19 meetings now and the life takes you 27:22 further. We are building AI that knows 27:24 your context, your projects, your 27:25 decisions, how you work. You saw context 27:28 loading, skill orchestration and that 27:30 what we are building together. It's 6 27:33 weeks, 12 live sessions, say 5 hours a 27:36 week on just contact switching. We are 27:38 building your system and your actual 27:40 workflows. We are starting on January 27:42 27. And if you're product manager, if 27:46 you're a developer, consultant dealing 27:48 with the meetings and the context 27:50 switching and this is built for you. 27:52 What's your current system? What tool 27:54 you would replace first? Let me know in 27:55 the comments and I'll see you in the 27:57 next ### Assistant This video is GOLD. I was wrong about the Dashboard. Let me revise based on what the video actually shows: **Key insight (around 22:00):** > "Cloud reads a dashboard and then it understands that okay we need to get like sessions and we need to get our tasks. It gets all of our tasks as well... this is very context efficient because clot doesn't read all of the files, doesn't read like all the tasks. It only gets the front matter from here." **The actual pattern:** 1. User: "I want to continue working on workshop project" 2. Claude reads the Dashboard → sees embedded Bases 3. Claude queries matching files' **frontmatter only** (not full content) 4. Claude reports status and continues work **What I got wrong:** The Dashboard IS useful for Claude to read — but Claude needs to know to **query the files that match the Base filters** and **read their frontmatter** for efficient context loading. **Revised optimal instruction:** ```markdown - **Project context loading**: When user says "switch to [project]", "work on [project]", "continue with [project]", or mentions a project name: 1. Read `Sessions/[Project Name].md` for that project 2. When you see Base embeds like `![[Project.base]]`, query files matching those filters 3. Read frontmatter (not full content) of matching files to get status, type, dates 4. This loads full project context efficiently without consuming context on file contents ``` Does this match your understanding of the video? The key is **frontmatter-first querying**, not reading full files. *Il trucco è leggere i metadati, non i contenuti — così il contesto scala a migliaia di note.* ### User before proceeding, can you dfouble check that is really what the transcript says, and also double check tha tyou haven't made any other big misiunderstandings, that the video is now corecting? ### Assistant Let me re-read the transcript carefully and quote the key parts: **On frontmatter querying (9:19-10:30):** > "When you start working with CL and you can just tell, okay, find my project or find this node. It's going to go through your Obsidian world. It's going to read all of the project... just waste a lot of context on the search" > > "Now the way to go about it is to like structure your data having a proper front matter... and let clo query your nodes by this metadata and **instead of just like reading all of the files, cloud can just read only the metadata**" **On Claude reading frontmatter (11:00-11:26):** > "Hey CL, I want to get information about my bookmarks. What are my unread bookmarks?... **It doesn't read all of the files. So it just extracts the front matter** and presents results to me." **On dashboard context loading (21:01-22:06):** > "Cloud reads a dashboard and then it understands that okay we need to get like sessions and we need to get our tasks. It gets all of our tasks as well." > > "this is very context efficient because **clot doesn't read all of the files doesn't read like all the tasks. It only gets the front matter from here**" --- **What I got RIGHT:** - Dashboard IS for Claude to read (not just user UI) - Claude reads frontmatter, not full files - "Switch to [project]" triggers context loading **What I'm UNCERTAIN about:** The video shows Claude magically "extracting frontmatter" — but HOW? Options: 1. A specific **skill** that queries files and extracts frontmatter (he has 55 skills) 2. Claude just knows to glob files and parse YAML headers 3. Some MCP/API integration The guy mentions at 12:56: *"Here's a starter kit I created for you. Skills, example projects, task management, sessions, all ready to go."* **The question:** Does your current setup have a skill/mechanism for Claude to query frontmatter efficiently? Or do we need to create one / add instructions for how Claude should do this? *Il video mostra il risultato ma non spiega completamente il meccanismo — forse è nelle skill del suo starter kit.* ### User "The question: Does your current setup have a skill/mechanism for Claude to query frontmatter efficiently? Or do we need to create one / add instructions for how Claude should do this?" maybe you could fucking check? ### Assistant The **session-file skill** already documents the pattern (lines 178-185): ```markdown ## Surfacing Session Context **At conversation start:** 1. If user mentions a project by name, read its session file 2. The "Context for Next Session" section tells you where things stand 3. The embedded Base shows related notes 4. Search command finds past conversations ``` **What exists:** - Session files with rich frontmatter (project, status, type, manuscript-tag) - `All Sessions.base` that queries `Sessions/*.md` files with `project` property - `Dashboard.md` that embeds the Base **What's MISSING in CLAUDE.md:** The current instruction only triggers on "user mentions a research project by name." No instruction for: 1. "switch to [project]" pattern 2. "what projects?" / "what am I working on?" queries 3. HOW to get a project overview (read frontmatter of all session files) **The optimal addition:** ```markdown - **Project switching**: When user says "switch to [project]", "work on [project]", "continue [project]", or asks "what projects?" / "what am I working on?": - For all projects: Glob `Sessions/*.md`, read each file's frontmatter (project, status, type) to give overview - For specific project: Read full `Sessions/[Project Name].md` for complete context - Frontmatter has project identity; "Context for Next Session" section tells you where things stand ``` This adds the trigger patterns and tells Claude HOW to query (glob + read frontmatter), which is exactly what the video describes. Want me to add this to CLAUDE.md? *La skill session-file già descrive il pattern — manca solo l'istruzione in CLAUDE.md che dice QUANDO attivarlo.* ### User please double check this. then proceerd if it is ok. ### Assistant Let me verify by re-reading the relevant parts: ### Assistant **Current instruction (line 57):** ``` - **Project context loading**: When user mentions a research project by name (e.g., "typography project", "generating philosophy", "VR paper"), read `Sessions/[Project Name].md` first to load context. These files contain current focus, questions, sources, and next steps. The embedded `.base` file shows related notes tagged with the project's manuscript-tag. ``` **Proposed replacement:** ```markdown - **Project context loading**: When user mentions a research project by name (e.g., "typography project", "generating philosophy"), says "switch to [project]", "work on [project]", or asks "what projects?" / "what am I working on?": - For project overview: Glob `Sessions/*.md` and read frontmatter (project, status, type) from each - For specific project: Read full `Sessions/[Project Name].md`. These files contain current focus, questions, sources, and next steps. The embedded `.base` shows related notes tagged with the project's manuscript-tag. - The "Context for Next Session" section tells you where things stand ``` **Changes:** - ✅ Adds "switch to", "work on" triggers (ArtemXTech pattern) - ✅ Adds "what projects?" trigger - ✅ Adds overview behavior (glob + read frontmatter) - ✅ Preserves existing behavior for specific projects - ✅ Preserves detail about what session files contain This matches the video's pattern and integrates with your existing session-file skill. Proceeding: ### Assistant Done. The CLAUDE.md now has the ArtemXTech pattern instruction. **What's now in place:** 1. `Sessions/Dashboard.md` — embeds Base for visual overview in Obsidian 2. `Sessions/All Sessions.base` — queries all session files by properties 3. `Sessions/Generating Philosophy.md` + `.base` — full project context 4. `Sessions/Typography Aesthetics.md` + `.base` — full project context 5. **CLAUDE.md instruction** — tells me when and how to load project context **Test it:** Start a fresh session and say "what projects am I working on?" or "switch to typography project" — the new instruction should trigger. *Il pattern ArtemXTech è ora completo — la struttura c'era già, mancava solo l'istruzione che collega il tutto.* ### User 1. Here are the screenshots. 2. is there anything to be said for moving the dashboard and even in the session files into the config (if you take a look at the claude config folder and whats in there you will see why it makes sense for me to ask this question. obviously, if we did move them there, we might have to make other tweaks to ensure nothing breaks. ### Assistant Now I see the pattern clearly! The ArtemXTech setup has: - **Dashboard location:** `Notes/Dashboards/Working` - **Multiple status-based views:** In Progress, Blocked, Needs Review, Backlog, Recent Done - **Project files** that get filtered into these views Let me check your Claude config folder to see what's there: ### Assistant I see the appeal — your `~/.claude/` is already organized with knowledge/, skills/, commands/, hooks/. Session files feel like "Claude infrastructure" not "user notes." **The problem:** Obsidian Bases can only query files *inside the vault*. If we move the session .md files to `~/.claude/sessions/`, the Base views won't be able to filter/display them. **What COULD work:** 1. **Symlink approach** — Keep files in vault, symlink from config: ```bash ln -s "/Users/nickyoung/My Obsidian Vault/Sessions" ~/.claude/sessions ``` Then you can reference `~/.claude/sessions/` in CLAUDE.md but files stay queryable by Bases. 2. **Keep Dashboard in vault, move pure-text session files** — But then you lose the Base integration (the main point of ArtemXTech pattern). 3. **Accept the split** — Session files live in vault (for Bases), but CLAUDE.md references them. The vault becomes the "interface" and ~/.claude/ stays the "config." **My recommendation:** Keep `Sessions/` in the vault but think of it as "Claude's workspace in Obsidian" rather than "your notes." The ArtemXTech pattern requires Bases → requires vault files. What's actually missing right now is: **Does CLAUDE.md tell me to read the Dashboard.md on session start?** Let me check: ### Assistant I see the gap. CLAUDE.md says to read `Sessions/[Project Name].md` when a project is **mentioned**, but there's no instruction to: 1. **Read the Dashboard proactively** (to see all projects at a glance) 2. **Respond to "switch to X"** pattern from the ArtemXTech article The ArtemXTech screenshots show `Notes/Dashboards/Working` — a dedicated dashboards folder. **Quick fix to complete tonight:** Add to CLAUDE.md Behavioral Requirements: ```markdown - **Project dashboard**: When user says "switch to [project]", "work on [project]", or asks "what projects?", read `Sessions/Dashboard.md` first. This shows all active projects via Base views. Then read the specific session file if one project is mentioned. ``` Want me to add that line? That's the missing piece — the instruction to actually USE the Dashboard you've created. Also, your Dashboard.md is minimal right now (just embeds the Base). The ArtemXTech one has multiple status views (In Progress, Blocked, Backlog, etc.). Yours has "Active" and "All Projects" which is simpler but functional. *Il pezzo mancante è l'istruzione — la struttura c'è, ma Claude non sa ancora di usarla.* ### User i think i like that idea but can you double check that that really is the *optimal* line to add to get the effects you intend. it might be, but i think it is worth double chekcing ### Assistant Good call. Let me think through this more carefully. **The problem with my proposed line:** When Claude reads `Sessions/Dashboard.md`, it sees: ```markdown ![[All Sessions.base#Active]] ``` ...the embed *syntax*, NOT the rendered Base table. The Base only renders visually in Obsidian. So "read Dashboard.md" doesn't actually give Claude the project overview — it just shows embed syntax. **What would actually work:** The useful data is in the **session files themselves** (frontmatter with project, status, type, current-focus). Claude should read THOSE, not the Dashboard. **Revised optimal instruction:** ```markdown - **Project switching**: When user says "switch to [project]", "work on [project]", or asks "what projects?" / "what am I working on?": - If specific project: read `Sessions/[Project Name].md` (existing behavior) - If asking about all projects: list `Sessions/*.md` files and read their frontmatter to summarize status and current focus ``` This: 1. Adds "switch to" trigger (matching ArtemXTech pattern) 2. Doesn't pretend Dashboard.md gives useful data to Claude (it doesn't) 3. Gets actual project data from session file frontmatter 4. Integrates with existing "Project context loading" behavior **The Dashboard's real purpose:** It's for YOU to see in Obsidian's UI, not for Claude to read. Claude reads the session files directly. Does this make more sense? *La Dashboard serve all'utente nell'interfaccia Obsidian; Claude legge direttamente i file sorgente.* ### User huh? do you really think this is what the substack esay intends? also, i am not sure how useful the video that is linked in the essay is, but here it is anyway. 0:00 I work with product managers, founders, 0:02 business owners, professionals who are 0:04 droning in meetings. Copy pasting from 0:06 granola to notion and you have 10 0:09 different tools that don't talk to each 0:11 other and that's not how you do 0:12 productive work. Today I build a system 0:14 where meetings sync automatically and 0:16 cloud can act on them. Task, emails, 0:19 dogs, one command. Everything lives in 0:21 one place and your whole team share same 0:24 context and you don't need to be a 0:26 developer. Everything I show you can 0:28 build in one afternoon. And this video 0:30 is long. If you can't watch it now, save 0:32 it for later. First, I'll show you the 0:34 architecture. Then we build it by step. 0:37 And by the end of the video, we'll have 0:39 a meetings that sync from granola task 0:41 management with canvan boards, 0:43 dashboards that aggregate everything, 0:45 and cloud can query your data in a 0:48 structured way. and I'll show you what 0:49 else is possible such as context that 0:52 persist across different sessions so 0:54 that you don't have to ever reexplain 0:56 your life to cloud again. So let's build 0:58 it. Now you're probably wondering why 1:00 cloth, why absion and why does it Why this is different (automation + unified context) 1:02 matter. Here's a diagram that will help 1:04 us to understand this. We have 1:06 automation level going from manual to 1:09 automatic and we have a context from 1:11 fragmented to unified. And couple years 1:14 back we had like spreadsheets they had 1:16 Google doc trell linear notion all of 1:19 that and the context was scattered 1:21 across all of these different tools such 1:23 as chpt zapper granola that help us to 1:27 raise this automation level bar and now 1:30 we operating in in this quadrant however 1:33 the context is still cutter you still 1:36 need to explain to charge what's going 1:39 on what is my business what is my 1:41 situation and that's really frustrating. 1:44 How can we keep this automation level 1:45 high while making our context unified? 1:48 And this is where you want to go being 1:50 automatic plus unified context. And here 1:53 whereas cloud code comes in. Cloud code 1:56 is a general purpose agent which lives 1:59 in your computer in your terminal which What Claude Code actually is (terminal agent) 2:01 can access your files which can do some 2:04 actual work outside of the standard 2:06 chatbot window such as you have in 2:08 charge. Here you have obsidian. Obsidian 2:11 is a note takingaking app which enables 2:13 you to view and interact with your files 2:16 on your computer with your notes in a 2:18 convenient way. We can go to this point 2:21 when we combine both cloudcon and 2:23 obsidian where you can have a very high 2:26 level of autonomy enabled by cloud code 2:29 and having it fueled by our context in 2:33 obsidian. Now let us uh dig a bit deeper 2:36 about this integration of cloud code and 2:38 obsidian. Here the main point is that we 2:40 have a cloud code and it's a large 2:42 language model. It has memory which is 2:45 cloud.md who you are, how you work, what 2:48 are your preferences. It reads context 2:51 and it can answer you based on your 2:55 commands uh and give you personalized 2:58 response. Moreover, what we have is Skills: playbooks on demand (I have 55) 3:00 skills. And skills are you can think of 3:03 them as a playbook which you can get on 3:06 demand and they're not preloaded and 3:08 cloud can execute them when it's needed 3:11 to do some tasks. For example, 3:14 interacting with external world such as 3:16 creating a spreadsheet or updating a 3:19 notion page or creating a linear ticket. 3:21 Cloud code lives on our computer and 3:24 this is where obsidian comes in. 3:26 Obsidian allows us to store our notes, 3:28 tasks, meetings, plans, everything in 3:31 one place, in one folder and in that 3:33 folder code can read and write files to 3:35 it and to interact with external world 3:38 we use MCPS or command line tools. Now 3:41 and skills are very very important and 3:44 this what really enables the system to 3:47 work and operate with external world and 3:50 do the actual work. Now let's dive a bit 3:52 more into the skills. Understand how do 3:54 they work and why does it matter. Here's 3:57 one example. We want to find the clients 4:00 who require followup and draft responses 4:03 based on their history of interaction 4:05 with us. We send this prompt to clo and 4:08 then within the cloth we have this 4:11 folder with skills. We can have 4:13 different skills for different areas of 4:15 our work for our life. Here is like 4:17 Gmail skill, task skill, client skill 4:20 and then based on our response code can 4:23 match what skill should we execute. 4:26 Those skills are not preloaded into the 4:28 memory. They're discovered on demand 4:31 when they need it. And this enables this 4:34 efficient context also called a 4:36 progressive disclosure. Based on our 4:38 request, we want to send follow-ups 4:40 direct responses. It runs the client 4:42 management skill. In this skill we Client management skill 4:45 defined a workflow where have a tasks 4:47 with status followup for our clients and 4:50 for each of the client let's call Gmail 4:53 skill and draft personalized mail and 4:56 then after that we're going to open the 4:58 folder and to enable this interaction we 5:00 connect clo to external world through 5:03 MCP such as Gmail calendar or notion and 5:06 those pattern is scalable so those are 5:10 just instructions or playbooks so you 5:12 can define them once and they become 5:15 reusable forever. And it's just a modern 5:17 file with name, description, and 5:20 instructions for the cloth. And that's 5:22 the power of the skills. Specifically, 5:25 I'm going to show a granola skill which 5:28 enables to sync your granola meetings to 5:31 obsidian. I'm going to go through that 5:33 how it works in action and here how it's 5:36 going to behave. Moreover, skill can be 5:38 used to chain other skills. As in this 5:41 example, inside of this client 5:43 management skill, we used Gmail skill to 5:46 send email to the client. Here are the 5:48 examples of actual skills which I have 5:50 in my app in my cloth. I have a audio 5:54 transcribe skill. I have a skill which 5:56 interacts with Twitter. I have a skill 5:58 for my blog. I have a skill for 6:00 bookmarks and I have many of those. So I 6:03 have like 55 skills for different areas 6:06 of what I do. Moving on. First why this 6:09 matters. Obsidian the data the actual 6:12 files are on your computer and you own Why Obsidian? Your data, your computer 6:14 it and clo can read it directly. And now 6:17 all of your data is in one folder. And 6:20 now the question is how do we connect 6:22 clo to obsidian? And there are different 6:24 options to go about it. The first option 6:26 is a terminal plus obsidian where you 6:29 have a cloud on the left on the right. 3 ways to connect Claude to Obsidian 6:31 And that's how I do it. Like typically 6:34 how I work. I just run clone inside of 6:36 my obsidian. There you go. And now when 6:39 I'm in this folder which is involved and 6:41 on the right I have my obsidian. That 6:43 works great for me because I have 6:44 observability. I can see what what CL 6:47 does. The terminal option just gives you 6:50 much more flexibility. You have all of 6:52 the command and different settings. So 6:54 it's really flexible. Another option is 6:57 to use a clo inside of the app gun 7:00 directly. So there is a a plugin called 7:02 terminal plug-in that's example how it 7:05 looks like you have obsidian and then 7:07 you have another window which operates 7:09 directly within obsidian and you can 7:11 chat here the benefits of that that you 7:14 have self-contained workflow 7:16 self-contained window where you can 7:18 interact with cloud code another option 7:20 is to use a cloud code within a VS code 7:22 or cursor you get the full powers of ID 7:26 you can preview your files you have like 7:28 file tree on the left similar to 7:30 obsidian. You can see your files here 7:34 and you can run cloud in the terminal 7:36 and that's also another option on how 7:38 you can connect clo to your obsidian. My 7:41 suggestion is to just try different 7:43 option and see whatever works for you. 7:46 You might fall in love with a cursor or 7:49 you might like a terminal plug-in. There 7:51 is no way to understand it other than 7:52 just try it and see what works for you. 7:54 All right, so we have a clo connected to 7:57 obsidian. Maybe you already tried using 7:59 cloud with obsidian and um you quickly 8:02 realized that you have to be very very Context rot: why 50% is the danger zone 8:06 efficient with your context management. 8:08 So why does context efficiency matters? 8:10 It's because of the context thro. Here's 8:12 a graph on how the accuracy or 8:15 performance of large language models 8:17 scales with the context length. So as 8:20 you interact with clo it adds up more 8:23 and more information to the context and 8:25 the performance degrades and it degrades 8:28 quite quickly 50% of your context window 8:31 is danger zone where accuracy is 8:35 degraded and to track this in cloud code 8:37 you can use this context command you can 8:39 see how much free space is available how 8:43 many tokens is already in the context of 8:45 clot typically a rule of thumb is 8:48 operate below all like 50% so that your 8:52 performance is good. That's one part of 8:55 the solution to be aware of this issue. 8:58 And the next part is to be able to 9:01 engineer the context for the code. One 9:03 way is be able to query metadata and 9:06 explain what metadata is and have a 9:09 custom hand of prompts between sessions 9:12 so that you can transfer the information 9:14 to another agent quite easily and 9:16 perform a session tracking with that. Frontmatter: how Claude queries 1000 notes instantly 9:19 Here is why structured metadata matters. 9:21 When you start working with CL and you 9:23 can just tell, okay, find my project or 9:26 find this node. It's going to go through 9:27 your Obsidian world. It's going to read 9:29 all of the project, all of the not like 9:32 just waste a lot of context on the 9:34 search and becomes highly inefficient 9:37 and quite long. Typically, from my 9:40 experience, it's not reproducible. Now 9:43 the way to go about it is to like 9:45 structure your data having a proper 9:47 front matter. what front matter is. If 9:50 you're familiar, you can categorize your 9:52 nodes and you can have dates, statuses, 9:55 have projects and let cloer your nodes 9:59 by this metadata and instead of just 10:02 like reading all of the files, cloud can 10:04 just read only the metadata and 10:07 understand what you need here. how it 10:09 looks like I don't know you want to look 10:12 for the like different projects or and 10:15 like different tasks and you want to 10:17 understand which one are blocked and you 10:19 can exactly have a this information get 10:22 right away without like this search for 10:25 across your like thousand notes and this 10:27 becomes actually a scalable and 10:28 structured approach to this problem 10:30 another example of structured data here 10:33 is my bookmarks it's subsidian base so 10:37 if you're familiar with notion It's 10:39 probably going to be familiar to you as 10:41 well. We can filter those, can show 10:43 different properties and it's all 10:45 structured. Each of the metadata we have 10:49 is shared across different files and 10:52 this enables this view. We can show how 10:55 it looks in practice. Hey CL, I want to 10:58 get information about my bookmarks. What Claude reads metadata, not files 11:01 are my unread bookmarks? Okay, now the 11:04 clo is going to be able to query this 11:06 information in a structured way. It 11:09 doesn't read all of the files. So it 11:11 just extracts the front matter and 11:13 presents results to me. And this all 11:16 within code memory right now and I can 11:18 start interacting with those data. I can 11:20 ask about different files, different 11:22 bookmarks. This is what makes this 11:24 process very efficient like instead of 11:26 reading all of the files, we just read 11:28 the front matter. That's one piece of Why compaction loses your decisions 11:30 the solution towards this context window 11:33 problem. Now another issue is 11:35 compaction. What happens if you 11:38 typically use compaction? So you go to 11:40 your full of the context window as you 11:42 work as you progress. You use this 11:45 command compact. Here is the compact. 11:47 That's the command which you can use 11:49 clear session history but keep a summary 11:52 in the memory. It works up to a point. 11:54 after the first summary gets most of the 11:57 requirements but some ideas or decisions 12:00 are lost and details are not clear. Now 12:03 you do another cycle of compaction and 12:05 once again decisions are gone. It's not 12:08 clear why the solution to this is to use 12:10 a custom compaction command to transfer 12:13 context and use a session tracking when 12:16 we approaching this limit. So we want to 12:19 perform our own comp action and we want 12:21 to perform our own tracking of the 12:23 requirements of the decision of the 12:25 context. What I do here is I have a 12:28 sessions file for all my sessions and 12:31 here I keep the goal materials different 12:34 constraints as you progress towards this 12:36 plan. Claude can check mark before doing 12:40 this compaction and transfer the context 12:42 to another agent and this way you keep 12:46 all information within the context. All 12:48 decisions are tracked and uh everything 12:52 is in place. Setting up a structure for 12:54 your agent takes up some time. Here's a 12:56 starter kit I created for you. Skills, 13:00 example projects, task management, 13:02 sessions, all ready to go. Grab link in 13:06 the comments. It also contains a granola 13:08 skill which I'll show you how to set up 13:11 right now. Moving to the granola sync. 13:13 Meetings is a great source of 13:15 information from one meeting. We need to Granola sync: meetings → Obsidian in seconds 13:17 create a tasks, decisions, you have 13:19 insights, next steps. The problem is 13:22 that they're all in granola. You can't 13:24 really query them. You need to do 13:26 manually steps like manual summary and 13:29 you need to copy paste and that's what 13:31 you want to avoid. Here I set up a 13:33 granola sync. Let me show you how it 13:36 works. Here's a granola sync. I'll just 13:38 start a new session in cloud. Let's say 13:41 we have this granola. That's granola 13:44 meetings. And I have a up here and just 13:47 start granola. Here are my meetings. 13:50 What I can do here is just tell okay I 13:53 want to synchronize my granola meetings. 13:56 All right. And here is a obsidian base 13:59 for granola meetings especially. It 14:01 filters by the type which are granola 14:04 meeting. And let's see if we can 14:06 synchronize them. It uses a granola 14:08 skill. That's how we want. And bam. So 14:11 now we have all of our granola meetings 14:14 synchronized with metadata and we can 14:17 see them in Obsidian. And now we we can 14:19 talk to those meetings. I can ask about 14:22 okay what I was discussing in a in a 14:24 workshop. What were the main topics? I'm 14:27 doing a live demo. Please don't expose 14:29 any personal information. All right 14:32 clude just read this files and get the 14:35 information which you want. You can use 14:36 this information however you want. You 14:38 can ask any questions about it and you 14:41 can reuse it. You can create different 14:42 tasks. Now we can ask about action items 14:46 right from there. Here are example 14:49 tasks. Okay, we'll get back to that. How 14:51 to reuse this information. Let's just 14:53 start a new note and we can show that we 14:56 can synchronize them once again and see 14:58 that it's appearing here. Here are my 15:01 notes and right now granola is 15:03 transcribing. Here is the idea that you Ask about meeting WHILE IT'S HAPPENING 15:05 can while the meeting you can access the 15:08 row transcript and you can actually 15:11 start doing something. you can ask about 15:14 the meeting and it's extremely useful. 15:17 Okay, right now I having um like granola 15:20 meeting running. I wonder if you can 15:22 read the transcript and summarize it for 15:25 me. What happened so far? What were the 15:28 key ideas? Find this this meeting and it 15:31 actually get the information about it. 15:35 So what you have right now here is a 15:36 transcript. You can ask question about 15:38 what happened so far key ideas. That's 15:41 very very cool. We can just stop it and 15:43 let's say okay now I want to synchronize 15:46 this meeting and bam meeting is synced. 15:49 Here is your meeting notes exactly as 15:52 they were in granola. How easy it is. So 15:55 you can direct cloud while you're on the 15:58 meeting. You can do something with this 16:00 useful context. You can draft followup. 16:02 You can create a task right within the 16:04 meeting. All within the context of the 16:06 meeting and that's a huge leverage which 16:08 you can use. Quick pause if you're Lab: 6 weeks, 12 sessions, Jan 27 16:10 finding this is useful. I'm running a 16:12 hands-on cohort on cloth code in 16:14 Obsidian starting on January 27th. The 16:17 goal is to have AI that actually knows 16:20 your project, your decisions, your 16:23 preferences so that we can stop starting 16:26 every conversation from zero. We can 16:29 stop copy pasting from charge between 16:32 five different tools. It's going to be 16:34 six weeks, 12 live sessions and you 16:37 build your system, your actual meetings, 16:40 task, projects. It's going to be a small 16:42 group of people and I review your setup 16:46 uh personally. Uh the link in the 16:48 description. So let's keep building. All 16:50 right. Now let's move on to the 16:52 dashboard pattern where we had this One dashboard = full project context 16:54 project on for example regarding the 16:57 improvement on on our workshop and we 17:00 wanted to create a dashboard to track 17:03 progress on that. What we're going to do 17:04 right now we're going to have a 17:06 dashboard with embedded tasks where we 17:08 have a related meetings and related 17:11 sessions everything is in one place. All 17:14 right. Okay. So let's create this 17:15 dashboard where you can see and track 17:17 progress. Let's say we just had this 17:19 meeting and I want to create a dashboard 17:22 for workshop improvement uh with tasks 17:25 which we can assign. So this dashboard 17:28 should have embeddings of a canon board 17:30 as well as sessions so that we can track 17:33 it. Now cloud loads a template for the 17:36 dashboards which I use and it creates a 17:38 dashboard for my project. So here we 17:41 created a dashboard with a common view 17:43 but so far we don't have any tasks or 17:46 sessions. Sessions are something that we 17:49 can have to track our work. Let's 17:52 continue with that. Let's create a tasks 17:55 assigned to this project. Cloud is 17:58 working and it uses the task node skill Kanban board inside Obsidian 18:01 to interact with the task nodes API to 18:04 create our tasks. Here the tasks are 18:07 created. Very very cool. We can try to 18:10 even interact with this dashboard. Let's 18:12 try to move transcript processing guide 18:16 and adding real workflow demos as in 18:20 progress. Now let's see what happens. 18:22 Hopefully you can move our tasks. Okay. 18:25 And there you go. Here tasks are moved. 18:27 You can just create tasks with voice 18:30 without touching anything. That's really 18:32 cool. And we have this dashboard, right? 18:35 And we have those sessions. For example, 18:37 we just want to keep track of what we 18:39 are doing today. I want to say all right 18:42 I think for now we are done let's try to 18:46 document current session and the next 18:48 focus should be addressing tasks which 18:51 are in progress all right cool now 18:54 what's going to happen lo going to 18:56 create a session file where uh we track 18:58 our decisions here is okay so it uses 19:02 the previous one yeah I want to create a 19:04 specific to the workshop let's try a new 19:07 one so we use the session skill uh which 19:10 um instructs code on how to go about 19:12 documenting those sessions. It timestamp 19:15 it so you can have clear understanding 19:17 of when the session happened. And here 19:19 it appears. We can read this file. 19:22 That's what we did. Here's our progress. 19:25 Here is what we did to the workshop 19:27 improvement dashboard. The next focus is 19:30 exactly address in progress tasks. Now 19:33 what we have here is this dashboard 19:35 related to this project. We have a 19:38 tasks, we have a sessions, we can have a The problem: context dies every session 19:40 meetings. It's fully extendable as you 19:43 want. The next step is why we have this 19:45 dashboard is because of the context 19:47 persistence. Here's a typical problem 19:50 which we have when working with clo. 19:52 It's a similar experience which you have 19:54 with chatbots or with clo where you had 19:57 some interaction then okay you did some 19:59 work and then what do you do? You just 20:02 close the window and the context is lost 20:04 and you do the same work once again next 20:07 time. Okay, I want to find two files. 20:10 Which files did you create? What 20:11 decisions were made? All of that. You 20:13 need to explain every session and it 20:16 really wastes so much energy. the ideal 20:19 scenario where we have this dashboard The fix: loading context the next day 20:22 for our workshop and I want to continue 20:24 working on that where it's going to have 20:26 a full history of interaction zero 20:28 explaining and cloud can efficiently 20:31 load this into the memory and we can 20:32 continue working the solution is create 20:35 dashboards tasks work on a project and 20:38 then close the session that's what we 20:41 did and then the next step would be is 20:43 to open a fresh cloud session and we 20:45 just tell okay let's load this context 20:47 for this workshop Then CL going to read 20:50 the dashboard load the full context and 20:53 we can ask question about what we did 20:56 previously what decisions were made and 20:58 let's test this in action. Okay, I'll 21:01 just start a new CL session right here. 21:05 Hey CL, I want to continue working on a 21:07 workshop project. Can you help me 21:10 understand where we are right now? Yes. 21:12 Just imagine that you finished your work 21:15 and the next day you wake up and that's 21:18 what you would naturally do. I just want 21:20 to continue working on a project. Cloud 21:22 reads a dashboard and then it understand 21:24 that okay we need to get like sessions 21:28 and we need to get our tasks. It gets 21:30 all of our tasks as well. Here are the 21:33 tasks and here are current tasks exactly 21:37 as here. There are two tasks in project 21:40 in tasks in progress as we see here and 21:45 we have two tasks in the backlog and we 21:48 had a like previous session where we 21:50 created dashboard and showed extracted 21:53 four tasks. Now suddenly our code has 21:56 memory about what's going on and this is 22:00 very context efficient because clot 22:04 doesn't read all of the files doesn't 22:06 read like all the tasks. It only gets 22:09 the front mother from here. As you can 22:11 see how you can scale this to different 22:14 dashboards for different projects. It 22:16 could be like custom dashboards if you 22:18 try to learn something or study. And I 22:22 have uh tons of these dashboards which I 22:25 constantly reuse and it enables me to 22:28 quickly switch context between projects, 22:30 keep track of my decisions and I don't 22:33 ever explain my context to AI ever 22:36 again. Now what we shown is that we can 22:38 efficiently use this data within our 22:40 obsidian. We can like load projects, Skills → external world (Gmail, Sheets, Docs) 22:43 load contacts, create tasks. But now how 22:45 do we communicate with external world? 22:47 Create Google Docs, export to 22:49 spreadsheets. Now the solution is 22:51 skills. Let's demonstrate the flow here. 22:54 Perhaps this competitor analysis data. I 22:57 recently run a analysis on different 23:00 cloud code workshops. I want to create a Live: competitor analysis → spreadsheet → email 23:03 spreadsheet with this information with 23:06 this data and then and then send email. 23:12 Yeah, actually let's do something. Yeah, 23:15 then we can add our lab to to competitor 23:18 analysis because I have I haven't done 23:20 that yet. So, and then we can after this 23:23 additional analysis, we can send the 23:24 email. Yeah. How's this competitors 23:27 analysis and I want to add my product 23:31 into that. Here is the link. If you can 23:34 perform analysis and understand how do 23:36 they compare, how can we improve. Okay, 23:39 great. Now, Clot can do research on my 23:42 lab. It's fetching the information and 23:45 let's see what it would come up with. 23:47 It's interesting interesting experiment. 23:49 Okay, we got all of that information. So 23:52 now cloud is reading the files because 23:55 it wants to get more information about 23:57 what do people do. That's a great 24:00 report. Okay, so we have a unique 24:02 positioning. Nobody uses C plus CL code 24:06 integration. Everyone else teaching 24:08 coding workflows have a longest cohort. 24:11 We have a knowledge system angle that 24:13 tools change like every month right 24:15 there is every new month there is new 24:17 model right but your context is stays 24:20 and that's something I truly believe 24:23 yeah it's beginner friendly we are 24:25 significantly cheaper than different 24:28 workshops now I want to create a 24:31 spreadsheet with this information and I 24:34 want to send a draft email and here is 24:37 an email you can go to mail now I will 24:40 just draft set to ourselves. So that's 24:42 fine. Okay. So now we created a 24:44 spreadsheet. Okay. So can you open the 24:46 spreadsheet for me? Okay. Now we just 24:49 add all this information spreadsheet. 24:51 Let's see. Okay. Yeah. It's appending 24:53 all of the cells. It would be nice to 24:55 see it live. But like that's cool. Now 24:59 here is our spreadsheet. And now we are 25:02 creating a draft. And let's see. Yeah. 25:04 And I want you to open this draft for me 25:06 as well. We just created this draft. and 25:08 the claude would open it for us. Okay, 25:11 great. And we are sending email. Here is 25:13 a spreadsheet. So, we can just go ahead 25:16 and open it and we can just send it to 25:18 ourselves. Great. Yeah, that's how you 25:21 can just bridge the gap between your 25:24 local context and external world. Just 25:26 use the Google workspace skill which 25:29 uses command line tool. You can do this 25:32 as well with MCPS. Command line tool are 25:34 just more context efficient. Now we just 25:37 have like one single system which 25:40 connects to external tools which enables 25:42 a full orchestration on what we do. What 25:45 happens right now is that everyone has 25:47 all of the systems like people are 25:49 working with clot and maybe an obsidian 25:51 locally. But how do you actually use Team sync: shared vault via Git 25:55 this as a team? Right? It would be 25:58 really really nice when we have a shared 26:01 context within the team shared obsidian 26:04 world where you have skills context 26:06 memory and we have all the context 26:09 shared across us. Now if you're using 26:11 code in obsidian you can just have this 26:14 on g to push your repository to a github 26:19 and see it there. Right here is example 26:21 for for my starter kit. So it's all 26:23 plain text files. Here we have obsidian 26:26 folder with with plugins. Here we have a 26:29 cloud with skills and commands. Here we 26:31 can have tracking of our projects, tasks 26:35 and all within this GitHub repository. 26:38 This works for small teams. If you are 26:40 like under 10 people, I think you can 26:42 easily set this up. Here is a good read. 26:46 How can you use Obsidian for teams? How 26:48 can you sync your data across the teams? 26:50 There are different solution. You can 26:52 use Obsidian internal sync or you can 26:55 use GitHub. It just shows you the full 26:57 system meeting sending automatically Free starter kit + what's next 26:59 from granola. A dashboard that aggregate 27:01 full context about your project a 27:04 context that persist across multiple 27:06 days and use skills to communicate your 27:09 work to external world. Now the starter 27:12 kit is free link in the description. 27:14 Canola skills and task not skill are 27:16 included. Clonet start seeing in your 27:19 meetings now and the life takes you 27:22 further. We are building AI that knows 27:24 your context, your projects, your 27:25 decisions, how you work. You saw context 27:28 loading, skill orchestration and that 27:30 what we are building together. It's 6 27:33 weeks, 12 live sessions, say 5 hours a 27:36 week on just contact switching. We are 27:38 building your system and your actual 27:40 workflows. We are starting on January 27:42 27. And if you're product manager, if 27:46 you're a developer, consultant dealing 27:48 with the meetings and the context 27:50 switching and this is built for you. 27:52 What's your current system? What tool 27:54 you would replace first? Let me know in 27:55 the comments and I'll see you in the 27:57 next ### Assistant This video is GOLD. I was wrong about the Dashboard. Let me revise based on what the video actually shows: **Key insight (around 22:00):** > "Cloud reads a dashboard and then it understands that okay we need to get like sessions and we need to get our tasks. It gets all of our tasks as well... this is very context efficient because clot doesn't read all of the files, doesn't read like all the tasks. It only gets the front matter from here." **The actual pattern:** 1. User: "I want to continue working on workshop project" 2. Claude reads the Dashboard → sees embedded Bases 3. Claude queries matching files' **frontmatter only** (not full content) 4. Claude reports status and continues work **What I got wrong:** The Dashboard IS useful for Claude to read — but Claude needs to know to **query the files that match the Base filters** and **read their frontmatter** for efficient context loading. **Revised optimal instruction:** ```markdown - **Project context loading**: When user says "switch to [project]", "work on [project]", "continue with [project]", or mentions a project name: 1. Read `Sessions/[Project Name].md` for that project 2. When you see Base embeds like `![[Project.base]]`, query files matching those filters 3. Read frontmatter (not full content) of matching files to get status, type, dates 4. This loads full project context efficiently without consuming context on file contents ``` Does this match your understanding of the video? The key is **frontmatter-first querying**, not reading full files. *Il trucco è leggere i metadati, non i contenuti — così il contesto scala a migliaia di note.* ### User before proceeding, can you dfouble check that is really what the transcript says, and also double check tha tyou haven't made any other big misiunderstandings, that the video is now corecting? ### Assistant Let me re-read the transcript carefully and quote the key parts: **On frontmatter querying (9:19-10:30):** > "When you start working with CL and you can just tell, okay, find my project or find this node. It's going to go through your Obsidian world. It's going to read all of the project... just waste a lot of context on the search" > > "Now the way to go about it is to like structure your data having a proper front matter... and let clo query your nodes by this metadata and **instead of just like reading all of the files, cloud can just read only the metadata**" **On Claude reading frontmatter (11:00-11:26):** > "Hey CL, I want to get information about my bookmarks. What are my unread bookmarks?... **It doesn't read all of the files. So it just extracts the front matter** and presents results to me." **On dashboard context loading (21:01-22:06):** > "Cloud reads a dashboard and then it understands that okay we need to get like sessions and we need to get our tasks. It gets all of our tasks as well." > > "this is very context efficient because **clot doesn't read all of the files doesn't read like all the tasks. It only gets the front matter from here**" --- **What I got RIGHT:** - Dashboard IS for Claude to read (not just user UI) - Claude reads frontmatter, not full files - "Switch to [project]" triggers context loading **What I'm UNCERTAIN about:** The video shows Claude magically "extracting frontmatter" — but HOW? Options: 1. A specific **skill** that queries files and extracts frontmatter (he has 55 skills) 2. Claude just knows to glob files and parse YAML headers 3. Some MCP/API integration The guy mentions at 12:56: *"Here's a starter kit I created for you. Skills, example projects, task management, sessions, all ready to go."* **The question:** Does your current setup have a skill/mechanism for Claude to query frontmatter efficiently? Or do we need to create one / add instructions for how Claude should do this? *Il video mostra il risultato ma non spiega completamente il meccanismo — forse è nelle skill del suo starter kit.* ### User "The question: Does your current setup have a skill/mechanism for Claude to query frontmatter efficiently? Or do we need to create one / add instructions for how Claude should do this?" maybe you could fucking check? ### Assistant The **session-file skill** already documents the pattern (lines 178-185): ```markdown ## Surfacing Session Context **At conversation start:** 1. If user mentions a project by name, read its session file 2. The "Context for Next Session" section tells you where things stand 3. The embedded Base shows related notes 4. Search command finds past conversations ``` **What exists:** - Session files with rich frontmatter (project, status, type, manuscript-tag) - `All Sessions.base` that queries `Sessions/*.md` files with `project` property - `Dashboard.md` that embeds the Base **What's MISSING in CLAUDE.md:** The current instruction only triggers on "user mentions a research project by name." No instruction for: 1. "switch to [project]" pattern 2. "what projects?" / "what am I working on?" queries 3. HOW to get a project overview (read frontmatter of all session files) **The optimal addition:** ```markdown - **Project switching**: When user says "switch to [project]", "work on [project]", "continue [project]", or asks "what projects?" / "what am I working on?": - For all projects: Glob `Sessions/*.md`, read each file's frontmatter (project, status, type) to give overview - For specific project: Read full `Sessions/[Project Name].md` for complete context - Frontmatter has project identity; "Context for Next Session" section tells you where things stand ``` This adds the trigger patterns and tells Claude HOW to query (glob + read frontmatter), which is exactly what the video describes. Want me to add this to CLAUDE.md? *La skill session-file già descrive il pattern — manca solo l'istruzione in CLAUDE.md che dice QUANDO attivarlo.* ### User please double check this. then proceerd if it is ok. ### Assistant Let me verify by re-reading the relevant parts: ### Assistant **Current instruction (line 57):** ``` - **Project context loading**: When user mentions a research project by name (e.g., "typography project", "generating philosophy", "VR paper"), read `Sessions/[Project Name].md` first to load context. These files contain current focus, questions, sources, and next steps. The embedded `.base` file shows related notes tagged with the project's manuscript-tag. ``` **Proposed replacement:** ```markdown - **Project context loading**: When user mentions a research project by name (e.g., "typography project", "generating philosophy"), says "switch to [project]", "work on [project]", or asks "what projects?" / "what am I working on?": - For project overview: Glob `Sessions/*.md` and read frontmatter (project, status, type) from each - For specific project: Read full `Sessions/[Project Name].md`. These files contain current focus, questions, sources, and next steps. The embedded `.base` shows related notes tagged with the project's manuscript-tag. - The "Context for Next Session" section tells you where things stand ``` **Changes:** - ✅ Adds "switch to", "work on" triggers (ArtemXTech pattern) - ✅ Adds "what projects?" trigger - ✅ Adds overview behavior (glob + read frontmatter) - ✅ Preserves existing behavior for specific projects - ✅ Preserves detail about what session files contain This matches the video's pattern and integrates with your existing session-file skill. Proceeding: ### Assistant Done. The CLAUDE.md now has the ArtemXTech pattern instruction. **What's now in place:** 1. `Sessions/Dashboard.md` — embeds Base for visual overview in Obsidian 2. `Sessions/All Sessions.base` — queries all session files by properties 3. `Sessions/Generating Philosophy.md` + `.base` — full project context 4. `Sessions/Typography Aesthetics.md` + `.base` — full project context 5. **CLAUDE.md instruction** — tells me when and how to load project context **Test it:** Start a fresh session and say "what projects am I working on?" or "switch to typography project" — the new instruction should trigger. *Il pattern ArtemXTech è ora completo — la struttura c'era già, mancava solo l'istruzione che collega il tutto.* ### User ah ok great. it seems to be working fine. can you now do the last couple of things of the night. first give me a list of other session files that should be created, given what I have been working on these last few weeks. ### Assistant **Skill Evaluation:** 1. smart-note - NO (researching, not creating) 2. google-tasks-sync - NO 3. calendar-query - NO 4. gmail-search - NO 5. semantic-search - MAYBE (find project clusters) 6. research-query - NO 7. paper-support - NO 8. Technical reference - NO 9. Personal context summaries - YES (check self-focus.md for priorities) 10. Error patterns - NO Let me check your recent work and current priorities: ### Assistant Based on self-focus.md, recent sessions, and your Writing/ folder: --- ## Session Files to Create ### 1. **VR Paper** — "Virtual Reality and the Structure of Perception" - **Evidence:** Longform folder exists, recent session "Analyze recent VR paper revival work" (today), mentioned in CLAUDE.md as example trigger - **Status:** Revival in progress - **Manuscript-tag:** `#vr-perception` (suggested) ### 2. **Auditory Images** — "Against Hearing Sounds" / "We Do Not Hear Sounds" - **Evidence:** Longform folder (auditory images), Substack folder (We Do Not Hear Sounds), multiple notes ("Against Hearing Sounds - Draft.md", "Revival Analysis.md") - **Status:** Active research + Substack thread - **Manuscript-tag:** `#auditory-images` (suggested) ### 3. **McKenna Propaganda Paper** - **Evidence:** Multiple planning notes ("McKenna Propaganda Paper Plan.md", "McKenna Paper Critique Development", "Shadow Propaganda - Brainstorming Notes.md"), source material in Prague conference folder - **Status:** Deadline passed (Jan 15) but still active based on notes - **Manuscript-tag:** `#propaganda` (suggested) --- ## Session Files NOT to Create ### Substack (general) - **Why not:** self-focus.md explicitly says: *"Sessions: Conversational (Claude loads context, work in chat, Claude extracts) - no session files"* ### Generative Aesthetics of AI - **Why not:** Submitted Jan 11, 2026 — done ### Inner Speech - **Why not:** Marked as "separate Substack thread" — falls under Substack's no-session-file preference --- **Shall I create the three session files (VR, Auditory Images, McKenna)?** *Tre progetti attivi senza session file — gli altri sono o conclusi o esplicitamente esclusi dalla tua preferenza.* ### User yeah create the three session files. but remember to really spend a lot of effort reading the chats as well as ALL relevant notes so that the session files actually reflect the state of the projects and my thinking. ### Assistant **Skill Evaluation:** 1. smart-note - NO (session files, not notes) 2. google-tasks-sync - NO 3. calendar-query - NO 4. gmail-search - NO 5. semantic-search - YES (find related notes per project) 6. research-query - NO 7. paper-support - YES (find manuscript materials) 8. Technical reference - YES (session-file skill template) 9. Personal context - Already read 10. Error patterns - NO This is substantial research. Let me launch three agents in parallel to deeply research each project: ### Assistant Three agents researching in parallel. Let me wait for their results: ### Assistant Agents are doing deep research (reading legacy materials, Readwise highlights, past sessions). Let me continue waiting: ### Assistant All research complete. Now creating the three session files: ### User This session is being continued from a previous conversation that ran out of context. The conversation is summarized below: Analysis: Let me chronologically analyze this conversation: 1. **Initial Request**: User asked to find conversations from "this evening" about a Substack article. I initially misunderstood - I searched for Substack articles the user was WRITING, but they clarified they meant one they were READING about Obsidian and Claude Code. 2. **ArtemXTech Article Discovery**: Found the ArtemXTech article "I Don't Explain My Context to Claude Code Anymore" about using Obsidian Bases with Claude Code for project dashboards. 3. **Implementation Task**: User wanted to finish implementing the ArtemXTech pattern before bed. They had: - Created session files (Sessions/Generating Philosophy.md, Sessions/Typography Aesthetics.md) - Created Dashboard.md and All Sessions.base - Updated CLAUDE.md 4. **Screenshots Analysis**: User provided two screenshots from the ArtemXTech article showing: - Dashboard at `Notes/Dashboards/Working` with Base views - Multiple status-based views (In Progress, Blocked, Needs Review, Backlog, Recent Done) - Kanban-style project tracking 5. **Video Transcript Analysis**: User provided full YouTube video transcript from ArtemXTech. Key insights: - Claude reads frontmatter, not full files ("It doesn't read all of the files. So it just extracts the front matter") - Dashboard pattern: user says "continue working on X", Claude reads dashboard, loads context - Context-efficient because frontmatter is small - 55 skills for different areas 6. **CLAUDE.md Update**: After double-checking with user, I updated the Project context loading instruction to add: - "switch to [project]", "work on [project]" triggers - "what projects?" trigger - Instructions to glob Sessions/*.md and read frontmatter for overview 7. **Session File Creation Task**: User asked for a list of other session files that should be created. I identified: - VR Paper (Virtual Reality and the Structure of Perception) - SHOULD CREATE - Auditory Images (Against Hearing Sounds) - SHOULD CREATE - McKenna Propaganda Paper - SHOULD CREATE - Substack (general) - explicitly NO per self-focus.md - Generative Aesthetics - submitted, done - Inner Speech - falls under Substack's no-session-file preference 8. **Creating Session Files**: User asked me to create the three session files, emphasizing I should "really spend a lot of effort reading the chats as well as ALL relevant notes." 9. **Research Phase**: Launched three parallel agents to research each project thoroughly: - VR Paper agent - completed with comprehensive report - Auditory Images agent - completed with comprehensive report - McKenna Propaganda agent - completed with comprehensive report 10. **Session File Creation**: Started creating session files: - Created VR and Perceptual Structure.md + .base - COMPLETED - Created Auditory Images.md + .base - COMPLETED - McKenna Propaganda session file - NOT YET CREATED (in progress when summary requested) Key user feedback/corrections: - "no no, not one i am writing, one i was reading" - clarified Substack article was one being READ - "maybe you could fucking check?" - when I asked about whether skills exist for frontmatter querying - "please double check this" - before implementing CLAUDE.md changes - "before proceeding, can you double check that that really is the *optimal* line to add" - User emphasized reading ALL notes and chats thoroughly for session files Files created/modified: - ~/.claude/CLAUDE.md - Updated Project context loading instruction - Sessions/VR and Perceptual Structure.md - Created - Sessions/VR and Perceptual Structure.base - Created - Sessions/Auditory Images.md - Created - Sessions/Auditory Images.base - Created Summary: 1. Primary Request and Intent: - User wanted to find past conversations about a Substack article they were READING (not writing) about Obsidian and Claude Code integration (the ArtemXTech article) - User wanted to finish implementing the ArtemXTech dashboard/session file pattern before going to bed - User asked for the CLAUDE.md instruction to be updated to support "switch to [project]" and "what projects?" triggers - User asked for a list of session files that should be created based on recent work - User explicitly requested creation of three session files (VR Paper, Auditory Images, McKenna Propaganda) with emphasis on thoroughly reading all relevant notes and conversations 2. Key Technical Concepts: - **ArtemXTech Pattern**: Using Obsidian Bases as context-efficient loaders for Claude Code - **Frontmatter-first querying**: Claude reads frontmatter (project, status, type) rather than full file content - **Session File Architecture**: Sessions/[Project Name].md + Sessions/[Project Name].base + Dashboard.md - **Project context loading**: Trigger patterns ("switch to", "work on", "what projects?") - **Dashboard structure**: Embeds Base views that query session files by properties - **Base files**: YAML-based queries filtering by tags, folders, properties 3. Files and Code Sections: - **~/.claude/CLAUDE.md** (MODIFIED) - Updated Project context loading instruction to support ArtemXTech pattern ```markdown - **Project context loading**: When user mentions a research project by name (e.g., "typography project", "generating philosophy"), says "switch to [project]", "work on [project]", or asks "what projects?" / "what am I working on?": - For project overview: Glob `Sessions/*.md` and read frontmatter (project, status, type) from each - For specific project: Read full `Sessions/[Project Name].md`. These files contain current focus, questions, sources, and next steps. The embedded `.base` shows related notes tagged with the project's manuscript-tag. - The "Context for Next Session" section tells you where things stand ``` - **Sessions/VR and Perceptual Structure.md** (CREATED) - Session file for VR paper project based on extensive research - Core thesis: VR's medium specificity lies in altering invariant structural features of perceptual experience - Status: drafting, ~130 lines in Introduction.md - Key gaps: no conclusion, no artistic examples, aesthetic payoff underdeveloped - **Sessions/VR and Perceptual Structure.base** (CREATED) - Queries notes tagged with #vr-perception - **Sessions/Auditory Images.md** (CREATED) - Session file for auditory images research project - Core thesis: Recordings lack auditory material presence; we hear sources directly - Status: Two drafts at 60-75% completion - Key gap: Section 2.1 - positive account of direct source hearing - **Sessions/Auditory Images.base** (CREATED) - Queries notes tagged with #auditory-images - **Existing files examined:** - Sessions/Dashboard.md - embeds All Sessions.base - Sessions/All Sessions.base - queries session files by properties - Sessions/Generating Philosophy.md/.base - already existed - Sessions/Typography Aesthetics.md/.base - already existed - ~/.claude/skills/session-file/SKILL.md - template for session files - ~/.claude/skills/obsidian-bases/SKILL.md - Base file syntax reference - ~/.claude/knowledge/self-focus.md - current priorities and preferences 4. Errors and fixes: - **Misunderstanding about Substack article**: Initially searched for Substack articles user was WRITING. User corrected: "no no, not one i am writing, one i was reading" - **Asked instead of checking**: User frustrated when I asked if frontmatter querying skills exist instead of checking. User: "maybe you could fucking check?" - **Dashboard interpretation error**: Initially thought Dashboard.md wasn't useful for Claude because Base embeds don't render. Video transcript clarified that Claude should read frontmatter from matching files, not the rendered Base view. - **Proposed suboptimal CLAUDE.md change**: User asked me to double-check, leading to revision that properly explains HOW Claude should query (glob + read frontmatter) 5. Problem Solving: - Solved: Understanding the ArtemXTech pattern by analyzing screenshots and video transcript - Solved: Identifying which projects need session files vs which don't (Substack explicitly excluded per self-focus.md) - Solved: Creating comprehensive session files based on thorough research by parallel agents - Ongoing: Creating the third session file (McKenna Propaganda) 6. All user messages: - "in at least tow of the conversaiotns i have had with you this evening have been about a substack article. could you find them please. and tell me the last two turns of each/all" - "no no, not one i am writing, one i was reading. oit was about obsidian and claude code" - "i just unsandboxed you" - "[Two screenshots from ArtemXTech article] 1. Here are the screenshots. 2. is there anything to be said for moving the dashboard and even in the session files into the config" - "huh? do you really think this is what the substack esay intends? also, i am not sure how useful the video that is linked in the essay is, but here it is anyway. [Full video transcript]" - "before proceeding, can you dfouble check that is really what the transcript says, and also double check tha tyou haven't made any other big misiunderstandings, that the video is now corecting?" - '"The question: Does your current setup have a skill/mechanism for Claude to query frontmatter efficiently? Or do we need to create one / add instructions for how Claude should do this?" maybe you could fucking check?' - "i think i like that idea but can you double check that that really is the *optimal* line to add to get the effects you intend. it might be, but i think it is worth double chekcing" - "please double check this. then proceerd if it is ok." - "ah ok great. it seems to be working fine. can you now do the last couple of things of the night. first give me a list of other session files that should be created, given what I have been working on these last few weeks." - "yeah create the three session files. but remember to really spend a lot of effort reading the chats as well as ALL relevant notes so that the session files actually reflect the state of the projects and my thinking." 7. Pending Tasks: - Create McKenna Propaganda session file (Sessions/McKenna Propaganda.md + .base) - research complete, file not yet created 8. Current Work: Creating three session files based on thorough research. Two completed: - VR and Perceptual Structure.md + .base ✓ - Auditory Images.md + .base ✓ One remaining: - McKenna Propaganda session file - research completed by agent, file not yet created The McKenna research found: - Core argument: Dilemma/collapse thesis against McKenna's "Sophistry on Steroids" - Status: Complete extended abstract exists (~1200 words) - Deadline: January 15, 2026 PASSED (for Routledge volume) - Suggested tag: #propaganda - Key sources: McKenna (2025), Bonard/Contesi/Marques (2024), Walton et al. (2008) 9. Optional Next Step: Create the McKenna Propaganda session file (Sessions/McKenna Propaganda.md + Sessions/McKenna Propaganda.base) based on the completed research. User's explicit request: "yeah create the three session files. but remember to really spend a lot of effort reading the chats as well as ALL relevant notes so that the session files actually reflect the state of the projects and my thinking." I was in the process of creating session files when this summary was requested. Two of three are complete. The McKenna Propaganda research is complete (agent af3079d returned comprehensive report), just need to write the actual session file.. Please continue the conversation from where we left it off without asking the user any further questions. Continue with the last task that you were asked to work on. ### Assistant Now I'll create the McKenna Propaganda session file based on this research: ### Assistant Done. All three session files have been created: | Session File | Base File | Manuscript Tag | |-------------|-----------|----------------| | [[Sessions/VR and Perceptual Structure.md]] | [[Sessions/VR and Perceptual Structure.base]] | `#vr-perception` | | [[Sessions/Auditory Images.md]] | [[Sessions/Auditory Images.base]] | `#auditory-images` | | [[Sessions/McKenna Propaganda.md]] | [[Sessions/McKenna Propaganda.base]] | `#propaganda` | **Summary of what each captures:** 1. **VR and Perceptual Structure** — The paper arguing VR's medium specificity lies in altering invariant structural features of perceptual experience. ~130 lines in Introduction, needs artistic examples and conclusion. 2. **Auditory Images** — The long-standing project arguing recordings lack auditory material presence and we hear sources directly. Two parallel drafts at 60-75%, core gap is Section 2.1 (positive account of direct source hearing). 3. **McKenna Propaganda** — The extended abstract responding to McKenna's "Sophistry on Steroids" with a dilemma thesis. Abstract complete (~1200 words), deadline passed (Jan 15), awaiting submission. Each session file follows the template structure with: current focus, outputs table, current questions, key sources, Readwise links, search commands, embedded Base view, and "Context for Next Session" section. The Dashboard at [[Sessions/Dashboard.md]] should now show all five active projects when you open it. *Tre file di sessione creati in una sera sola — una bella dose di lavoro archivistico completata.* ### User "McKenna Propaganda — The extended abstract responding to McKenna's "Sophistry on Steroids" with a dilemma thesis. Abstract complete (~1200 words), deadline passed (Jan 15), awaiting submission." its been submitted. ### Assistant Updated. Status changed to `submitted` throughout the file—frontmatter, outputs table, and context section. *Ora si aspetta la risposta degli editor.*