| name | sentiment-analysis |
| description | Read Ian's Obsidian daily notes over a configurable lookback window and produce a structured sentiment trend analysis — emotional arc, recurring stressors, what he celebrates, what he buries, possible blind spots, and energy patterns. Use this skill whenever Ian says things like "run a sentiment analysis", "how am I doing lately", "what does my journal say about me", "analyze my notes", "give me a personal retrospective", or any request that involves looking back across multiple daily notes to find patterns in his writing or emotional state. Run monthly by default (covering the prior 90 days), but also run ad-hoc after major life events. Always use this skill — don't try to synthesize from memory alone.
|
Sentiment Analysis Skill
Reads Ian's daily notes over a configurable lookback window and produces a structured
personal retrospective, saved to his Obsidian Reflections folder.
Configuration
Default lookback: 90 days (rolling window ending today)
Recommended cadence: Monthly, on the 1st
Ad-hoc trigger: After major life events (health scares, career shifts, relationship stress, gear/hobby transitions)
Paths:
Daily notes: \\synology01\ian\Obsidian\Personal\Daily\YYYY\MM-MonthName\YYYY-MM-DD.md
Output folder: \\synology01\ian\Obsidian\Personal\Reflections\
Output file: {YYYY-MM-DD}-sentiment-analysis.md (use today's date)
Month folder names: 01-January, 02-February, 03-March, etc.
Step 1: Collect the Notes
- Determine the date range: today minus the lookback window (default 90 days)
- Walk the daily note directory structure across all months in that range using
Filesystem:list_directory_with_sizes to identify which files have real content
- Skip stub files: Notes under ~700 bytes are template shells with no real content.
Identify and skip these — don't count them as "quiet days" in the analysis.
- Load all real notes using
Filesystem:read_multiple_files — batch by month to stay
within tool limits. Load them all into context before starting analysis.
- Tell Ian how many notes you loaded vs. skipped before proceeding.
Step 2: Write the Analysis Directly
With all the notes loaded into context, Claude writes the analysis directly — no API
call, no sub-agent. This is more reliable and produces better output because Claude
has already read everything and can hold the full arc in mind.
Analyze across these six dimensions:
1. Emotional Tone Arc
How has overall mood trended across the period? Are there distinct phases? What shifted
them? Name the phases and what caused the transitions.
2. Recurring Stressors
What problems, tensions, or anxieties keep showing up? Are any getting worse, better,
or just chronic? Be specific — name the actual things, not categories.
3. What Gets Celebrated
What makes it into the notes as a win, a moment of joy, something worth writing down?
What does this say about his values? Look for where the writing changes register.
4. What Gets Buried or Minimized
Things that appear briefly but get dropped fast, or are mentioned then immediately
rationalized away. These are often the most revealing entries.
5. Possible Blind Spots
Patterns in the writing the author seems unaware of. Things that show up consistently
but never get named directly. Tensions he holds without examining them. This is the
most valuable section — don't phone it in.
6. Energy and Rhythm Patterns
What kinds of days produce long entries vs. sparse ones? What he does when depleted?
Day-of-week and month rhythms if visible.
Then write a Synthesis paragraph: one honest read of who this person is and what
he's carrying right now, based only on the writing. Should feel like what a trusted
friend who read every entry would say — not a therapist's summary, not a performance
review.
Step 3: Build the Output Note
---
period: {start date} to {end date}
notes_analyzed: {count}
generated: {today's date}
---
# Sentiment Analysis — {start date} to {end date}
## Emotional Tone Arc
{analysis}
## Recurring Stressors
{analysis}
## What Gets Celebrated
{analysis}
## What Gets Buried or Minimized
{analysis}
## Possible Blind Spots
{analysis}
## Energy and Rhythm Patterns
{analysis}
---
## Synthesis
{synthesis paragraph}
---
*Generated by Claude on {today's date} from {count} daily notes ({start date} – {end date})*
Step 4: Save and Confirm
- Ensure the Reflections folder exists — create it if not:
\\synology01\ian\Obsidian\Personal\Reflections\
- Write the file using
Filesystem:write_file to:
\\synology01\ian\Obsidian\Personal\Reflections\{YYYY-MM-DD}-sentiment-analysis.md
where the date is today's date
- Confirm to Ian:
- File path written
- Date range covered
- Number of notes analyzed / skipped
- One sentence on what stood out most — don't bury the lede
Tone Notes
- Ian does not want flattery or silver-lining. If the period was hard, say so.
- He values directness and dry honesty over careful hedging.
- The blind spots section is the most valuable — don't phone it in.
- If a section genuinely doesn't have enough signal, say so briefly rather than padding.
- The synthesis paragraph should feel like something a trusted friend who read every
entry would say — not a therapist's summary, not a performance review.
- This skill works in any Claude interface where the Filesystem MCP is connected.
It does not require an API call or artifact — Claude writes the analysis directly.
Obsidian Date Links
Whenever the analysis references a specific date — a turning point, a notable entry,
a pattern anchored to a day — link it using Obsidian's wikilink format:
[[2026-03-21]] or [[2026-02-28 | February 28]]
Use the bare date format ([[YYYY-MM-DD]]) as the default. Use a display label only
when the prose reads more naturally with one (e.g. "the [[2026-02-28 | Feb 28 collapse]]").
Don't over-link — only link dates that are genuinely meaningful reference points in
the analysis, not every date mentioned in passing. Aim for 1-3 links per section,
more in the Tone Arc where specific phase transitions matter.