# 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.*