Install
$ agentstack add skill-kalawcreator919-claude-obsidian-monthly-review ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Monthly Review
Monthly deep review — the most comprehensive analysis skill. Aggregates weekly reports, scans for content quality issues, suggests note merges for overlapping topics, archives completed projects, and analyzes knowledge drift (how your actual focus compares to your stated priorities).
> Configure your vault path in setup.sh or set the VAULT_PATH environment variable.
Vault path: $VAULT_PATH Report output: 40 - Daily/YYYY-MM Monthly Review.md
Process
Step 1 — Scan Vault and Collect This Month's Data
Scan 10 - Projects/, 20 - Areas/, 30 - Notes/ structure.
Prefer aggregating from Weekly Reports:
- Glob for
*Weekly Review.mdin40 - Daily/ - If >= 3 found for this month: read and aggregate tags, topics, note counts. Supplement with
find -mtime -30for folder distribution. - If = 80% tag overlap
- Mutual wikilink references
List each group with the reason for suggested merge. Do not auto-merge.
B. Stub Notes — Find notes with:
- Fewer than 100 words
- No structural sections
- Missing frontmatter fields
List each stub with name and word count. Do not auto-edit.
Step 3 — Archive Completed Projects
Scan 10 - Projects/ for notes that meet any of:
status: completedin frontmatter- No edits in 30+ days
- Content indicates the project is clearly finished
List suggestions (up to 5 per batch). Ask the user to confirm each one before moving to 99 - Archive/.
Archive process (after confirmation):
- Update frontmatter:
status: archived, first tag toarchive - Move to
99 - Archive/
Step 4 — Knowledge Drift Analysis (Core Value)
This is the most important section of the monthly review. Compare what the user thinks they are focused on versus what the data says.
Process:
- Identify "stated focus" — active projects and areas from
10 - Projects/and20 - Areas/folder names - Identify "actual focus" — top 5 tags by frequency from Step 1
- Find gaps:
- Tags that are high-frequency but not represented in active projects/areas
- Active projects/areas with few or no related notes this month
- If a previous Monthly Review exists in
40 - Daily/, compare tag distribution changes month-over-month
Insights must be honest, direct, and backed by data. Point out patterns the user may not have noticed. No platitudes.
Step 5 — Generate Monthly Report
Write to 40 - Daily/YYYY-MM Monthly Review.md:
---
title: "YYYY-MM Monthly Review"
date: "YYYY-MM-DD"
type: daily
status: active
tags: [daily, monthly-review]
---
# YYYY-MM Monthly Review
## This Month's Note Distribution
| Location | Note Count | Percentage |
|----------|------------|------------|
| 00 - Inbox | N | X% |
| 10 - Projects | N | X% |
| 20 - Areas | N | X% |
| 30 - Notes | N | X% |
| 40 - Daily | N | X% |
| 99 - Archive | N | X% |
| **Total** | **N** | **100%** |
## Top 10 Tag Frequency
| Tag | Count |
|-----|-------|
| tag-name | N |
## Most Active Projects/Areas
1. **Project/Area name** — N notes
2. ...
## Suggested Note Merges
(Write "None" if none)
- [[Note A]] + [[Note B]] — reason: overlapping content on [topic]
## Notes Needing Expansion
(Write "None" if none)
- [[Note Name]] — N words (stub, missing structure)
## Suggested Project Archives
(Write "None" if none)
- [[Project Name]] — last modified YYYY-MM-DD
## Knowledge Drift Insights
### What you think you are focused on
[List active projects and areas]
### What the data says you are actually focused on
[List top tags and their note counts]
### Insight
[Data-driven analysis. Be direct. Identify mismatches, unexpected patterns, or shifts in attention.]
### Comparison with last month
[Compare tag distributions. Write "First monthly review — no comparison available" if no previous review exists.]
## Month Summary
- New notes: N
- Completed projects: N
- Archived notes: N
- Most significant achievement: [based on data]
- Suggested focus for next month: [based on drift analysis]
After completion, report to the user:
- Report file path
- Key knowledge drift findings
- Action items to follow up on
Guidelines
- Mostly read-only — Only write the report and execute user-confirmed archives. Do not modify existing notes without confirmation.
- Data-driven insights — Every claim in the drift analysis must reference specific note counts or tag frequencies.
- Wikilinks use
[[Note Name]]— Filename only, without paths or.md. - If a Monthly Review already exists for the same month — Use the Edit tool to append rather than overwrite.
- Respect user agency — Merge and archive suggestions are suggestions only. Never auto-execute.
Related Skills
- [[weekly-review]] — Provides the weekly data this skill aggregates
- [[daily-review]] — Produces the classified notes analyzed here
- [[vault-lint]] — Detailed health metrics complement the monthly overview
- [[recall]] — Dig deeper into topics identified by drift analysis
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kalawcreator919
- Source: kalawcreator919/claude-obsidian
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.