Import and manage study plans in Obsidian vault. Use for "choru-study", "study", "import study plan", "track learning", or managing study materials.
Install
npx skillscat add choru-k/skills-for-ai/choru-study Install via the SkillsCat registry.
Study Plan Management
Import study plans from external locations into Obsidian vault for tracking and management.
Workflow
1. Determine Source File
If a file path is provided as an argument, use it directly.
Otherwise, use AskUserQuestion to ask:
- Question: "What is the path to the study plan file?"
- Header: "Source"
Validate the file exists:
test -f "$FILE_PATH" && echo "exists" || echo "not found"2. Parse Study Plan Title
Read the source file and extract the title from the first H1 heading (# Title).
If no H1 found, derive title from filename:
go-context-study-plan.md→ "Go Context Study Plan"
3. Set Obsidian Destination
Study plans are stored in:
~/Desktop/choru/choru-notes/1-projects/learning/
├── go-context/
│ ├── main.md # Main study file with progress tracking
│ └── notes.md # Personal notes (optional)
├── kubernetes-basics/
└── ...Folder name is derived from the title (slugified, lowercase, hyphens).
4. Check for Existing Study
Before importing, check if the study folder already exists:
If exists in
1-projects/learning/:- Read
main.mdto show current progress - Ask user what to do:
- Update - Replace content, preserve progress checkboxes
- Reset - Start fresh
- Cancel - Do nothing
- Read
If exists in
4-archive/learning/:- Inform user this study was previously archived
- Ask if they want to reopen (move back to
1-projects/learning/)
If new:
- Create the folder structure
5. Import Study Plan
Transform the source file into Obsidian-friendly format:
- Add progress tracking - Convert section headers into checkboxes
- Preserve code blocks - Keep all code examples intact
- Add metadata header - Include source path and import date
main.md Template
---
type: project
status: active
start-date: YYYY-MM-DD
area: career
source: ~/path/to/original/file.md
imported: YYYY-MM-DD
last_reviewed:
tags:
- learning
---
# [Study Title]
## Progress
- [ ] Section 1: [First H2 title]
- [ ] Section 2: [Second H2 title]
- [ ] Section 3: ...
---
[Original content with headers preserved]
---
## My Notes
[Space for personal notes while studying]6. Report Success
After importing, display:
- Destination path
- Number of sections to study
- Command to open in Obsidian (if available)
Actions
Based on user request:
- Import new study - Copy external file to Obsidian with tracking
- Check progress - Read and summarize study progress
- Mark complete - Update checkbox for a section
- Add notes - Append notes to study file
- List studies - Show all studies in Obsidian vault
- Archive study - Move completed study to
4-archive/learning/
Progress Tracking
When user wants to mark progress:
- Read current
main.md - Find the section checkbox
- Toggle
[ ]to[x](or vice versa) - Update
last_revieweddate in frontmatter
Example Usage
/choru-study ~/go/src/cdf/docs/study/go-context-study-plan.mdThis will:
- Read the file
- Create
~/Desktop/choru/choru-notes/1-projects/learning/go-context/main.md - Add progress checkboxes for each H2 section
- Report success
List All Studies
ls -la ~/Desktop/choru/choru-notes/1-projects/learning/For each study, read main.md and count completed checkboxes:
grep -c "\[x\]" main.md # completed
grep -c "\[ \]" main.md # remainingArchiving
When a study is complete:
mv ~/Desktop/choru/choru-notes/1-projects/learning/topic-name ~/Desktop/choru/choru-notes/4-archive/learning/Important
- Always preserve original code blocks and formatting
- Use Obsidian-compatible markdown (wiki-links like
[[file]]) - Keep source file path in frontmatter for reference
- Don't modify the original source file