Initial commit - Claudesidian v0.2.0
Claude Code + Obsidian starter kit for AI-powered knowledge management. Features: - PARA method folder structure - Bootstrap initialization system - Pre-configured Claude Code commands and agents - Gemini Vision MCP server with video support - Helper scripts for vault management - Automated release management See README.md for setup instructions.
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# Claude Code Commands
|
||||
|
||||
Pre-configured commands to enhance your Claude Code + Obsidian workflow.
|
||||
|
||||
## Available Commands
|
||||
|
||||
### 🤔 thinking-partner
|
||||
Engage Claude as a thinking partner for exploring complex problems.
|
||||
```
|
||||
claude run thinking-partner
|
||||
```
|
||||
Best for: Brainstorming, problem exploration, developing ideas
|
||||
|
||||
### 📥 inbox-processor
|
||||
Process and organize items in your Inbox folder.
|
||||
```
|
||||
claude run inbox-processor
|
||||
```
|
||||
Best for: Weekly inbox cleanup, organizing captures
|
||||
|
||||
### 🔍 research-assistant
|
||||
Conduct thorough research on any topic using your vault.
|
||||
```
|
||||
claude run research-assistant
|
||||
```
|
||||
Best for: Deep dives, literature reviews, knowledge synthesis
|
||||
|
||||
### 📅 daily-review
|
||||
End-of-day review to capture progress and plan tomorrow.
|
||||
```
|
||||
claude run daily-review
|
||||
```
|
||||
Best for: Daily shutdown ritual, reflection
|
||||
|
||||
### 📊 weekly-synthesis
|
||||
Create a comprehensive synthesis of the week's work.
|
||||
```
|
||||
claude run weekly-synthesis
|
||||
```
|
||||
Best for: Weekly reviews, pattern recognition
|
||||
|
||||
## Creating Custom Commands
|
||||
|
||||
1. Create a new `.md` file in this directory
|
||||
2. Name it descriptively (kebab-case)
|
||||
3. Structure it with:
|
||||
- Clear role definition
|
||||
- Specific process steps
|
||||
- Expected output format
|
||||
- Tips and constraints
|
||||
|
||||
## Using Commands
|
||||
|
||||
### Method 1: Direct
|
||||
```
|
||||
claude run [command-name]
|
||||
```
|
||||
|
||||
### Method 2: Reference in Chat
|
||||
```
|
||||
Use the thinking-partner command to help me explore [topic]
|
||||
```
|
||||
|
||||
### Method 3: Manual
|
||||
```
|
||||
Follow the instructions in .claude/commands/[command].md
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Commands are just structured prompts
|
||||
- Modify them based on your needs
|
||||
- Combine commands for complex workflows
|
||||
- Share your custom commands with the community
|
||||
|
||||
## Command Ideas
|
||||
|
||||
Consider creating commands for:
|
||||
- Project retrospectives
|
||||
- Meeting notes processing
|
||||
- Book notes extraction
|
||||
- Idea development
|
||||
- Content planning
|
||||
- Learning path creation
|
||||
- Decision analysis
|
||||
|
||||
Remember: The best commands emerge from your actual workflows.
|
||||
@@ -0,0 +1,180 @@
|
||||
---
|
||||
description: Add or update YAML frontmatter properties to enhance note organization
|
||||
argument-hint: [file or folder path]
|
||||
allowed-tools: Read, Write, Edit, Glob
|
||||
---
|
||||
|
||||
You will analyze Obsidian notes and add intelligent YAML frontmatter properties to enhance organization and discoverability.
|
||||
|
||||
## Input
|
||||
- Path: ${1} (file or folder to process)
|
||||
- Current date: !`date +%Y-%m-%d`
|
||||
|
||||
## Your Task
|
||||
|
||||
### Step 1: Identify Notes to Process
|
||||
```bash
|
||||
# If single file
|
||||
Read the specified file
|
||||
|
||||
# If folder
|
||||
Find all .md files in folder
|
||||
```
|
||||
|
||||
### Step 2: Analyze Note Content
|
||||
|
||||
For each note, examine:
|
||||
- Main topics and themes
|
||||
- Note type (meeting, daily, reference, project)
|
||||
- Key entities (people, projects, dates)
|
||||
- Existing properties (preserve valid ones)
|
||||
- Title quality (add/improve if needed)
|
||||
|
||||
### Step 3: Generate Appropriate Properties
|
||||
|
||||
#### Standard Properties by Note Type
|
||||
|
||||
**Meeting Notes:**
|
||||
```yaml
|
||||
---
|
||||
title: [Descriptive meeting title]
|
||||
date: YYYY-MM-DD
|
||||
type: meeting
|
||||
attendees: ["Person 1", "Person 2"]
|
||||
project: Project Name
|
||||
tags: [meeting, project-name]
|
||||
action_items:
|
||||
- "Action item 1"
|
||||
- "Action item 2"
|
||||
status: complete
|
||||
---
|
||||
```
|
||||
|
||||
**Daily Notes:**
|
||||
```yaml
|
||||
---
|
||||
title: Daily Note - YYYY-MM-DD
|
||||
date: YYYY-MM-DD
|
||||
type: daily-note
|
||||
tags: [daily]
|
||||
highlights:
|
||||
- "Key event or thought"
|
||||
mood: productive
|
||||
---
|
||||
```
|
||||
|
||||
**Reference/Article Notes:**
|
||||
```yaml
|
||||
---
|
||||
title: [Article or concept title]
|
||||
type: reference
|
||||
source: "[[Source Note]]" or URL
|
||||
author: Author Name
|
||||
date_saved: YYYY-MM-DD
|
||||
tags: [topic1, topic2]
|
||||
key_concepts: [concept1, concept2]
|
||||
---
|
||||
```
|
||||
|
||||
**Project Notes:**
|
||||
```yaml
|
||||
---
|
||||
title: [Project Name - Component]
|
||||
type: project
|
||||
status: in-progress
|
||||
deadline: YYYY-MM-DD
|
||||
stakeholders: ["Person 1", "Team 2"]
|
||||
tags: [project, area]
|
||||
priority: high
|
||||
---
|
||||
```
|
||||
|
||||
### Step 4: Apply Properties
|
||||
|
||||
For each note:
|
||||
1. Check for existing frontmatter
|
||||
2. Merge new properties (don't duplicate)
|
||||
3. Fix any deprecated formats:
|
||||
- `tag` → `tags`
|
||||
- `alias` → `aliases`
|
||||
- `cssclass` → `cssclasses`
|
||||
4. Ensure valid YAML syntax
|
||||
|
||||
### Step 5: Update File
|
||||
|
||||
```yaml
|
||||
# Format:
|
||||
---
|
||||
property: value
|
||||
list_property: ["item1", "item2"]
|
||||
date_property: YYYY-MM-DD
|
||||
linked_property: "[[Note Name]]"
|
||||
---
|
||||
|
||||
[Original content]
|
||||
```
|
||||
|
||||
## Property Guidelines
|
||||
|
||||
### Naming Conventions
|
||||
- Use lowercase with underscores: `date_created`, `action_items`
|
||||
- Be consistent with existing vault patterns
|
||||
- Prefer clear over clever names
|
||||
|
||||
### Value Types
|
||||
- **Text**: Simple strings, use quotes for links
|
||||
- **List**: Arrays for multiple values
|
||||
- **Date**: ISO format (YYYY-MM-DD)
|
||||
- **Number**: For counts, ratings, priorities
|
||||
- **Checkbox**: For boolean states
|
||||
|
||||
### Quality Checks
|
||||
- ✅ Valid YAML syntax
|
||||
- ✅ No duplicate properties
|
||||
- ✅ Appropriate property types
|
||||
- ✅ Quoted internal links
|
||||
- ✅ Meaningful values (not empty)
|
||||
|
||||
## Special Cases
|
||||
|
||||
### Untitled Notes
|
||||
Generate title from:
|
||||
1. First heading if exists
|
||||
2. First paragraph summary
|
||||
3. Main topic/concept discussed
|
||||
|
||||
### Bulk Processing
|
||||
When processing folders:
|
||||
- Maintain consistency across similar notes
|
||||
- Use same property names for same concepts
|
||||
- Report summary of changes made
|
||||
|
||||
### Existing Properties
|
||||
- Preserve valid existing properties
|
||||
- Update deprecated formats
|
||||
- Merge new properties carefully
|
||||
- Never delete without reason
|
||||
|
||||
## Examples
|
||||
|
||||
### Before:
|
||||
```markdown
|
||||
Had a great meeting with the team about Q1 planning...
|
||||
```
|
||||
|
||||
### After:
|
||||
```markdown
|
||||
---
|
||||
title: Q1 Planning Team Meeting
|
||||
date: 2025-09-02
|
||||
type: meeting
|
||||
attendees: ["Team"]
|
||||
project: Q1 Planning
|
||||
tags: [meeting, planning, q1-2025]
|
||||
status: complete
|
||||
---
|
||||
|
||||
Had a great meeting with the team about Q1 planning...
|
||||
```
|
||||
|
||||
Remember: Properties should enhance organization, not clutter. Only add what provides value for finding and connecting notes.
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
allowed-tools: Write, Read, Bash(ls:*, mkdir:*), Edit
|
||||
description: Create a new Claude Code slash command
|
||||
argument-hint: [command details or description]
|
||||
---
|
||||
|
||||
# Create New Slash Command
|
||||
|
||||
I'll help you create a new Claude Code slash command.
|
||||
|
||||
## Your Input
|
||||
|
||||
**Command Details:** $ARGUMENTS
|
||||
|
||||
## Process
|
||||
|
||||
1. **Understand Requirements**
|
||||
- What should the command do?
|
||||
- What tools does it need?
|
||||
- What output should it produce?
|
||||
|
||||
2. **Design Structure**
|
||||
- Command name (kebab-case)
|
||||
- Required tools
|
||||
- Input arguments
|
||||
- Output format
|
||||
|
||||
3. **Create Command File**
|
||||
- Location: `.claude/commands/[command-name].md`
|
||||
- Include proper frontmatter
|
||||
- Clear instructions
|
||||
- Example usage
|
||||
|
||||
## Command Template
|
||||
|
||||
```markdown
|
||||
---
|
||||
allowed-tools: [List tools needed: Read, Write, Edit, Bash, etc.]
|
||||
description: [One-line description]
|
||||
argument-hint: [What user should provide]
|
||||
---
|
||||
|
||||
# Command Name
|
||||
|
||||
Brief description of what this command does.
|
||||
|
||||
## Task
|
||||
|
||||
[Clear description of the task]
|
||||
|
||||
## Process
|
||||
|
||||
1. [Step 1]
|
||||
2. [Step 2]
|
||||
3. [Step 3]
|
||||
|
||||
## Output
|
||||
|
||||
[Expected output format]
|
||||
|
||||
## Example Usage
|
||||
|
||||
\`\`\`
|
||||
claude run [command-name] [arguments]
|
||||
\`\`\`
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Keep commands focused on one task
|
||||
- Use clear, descriptive names
|
||||
- Include example usage
|
||||
- Document required arguments
|
||||
- Specify output format
|
||||
- List needed tools in frontmatter
|
||||
|
||||
Let me help you create your command!
|
||||
@@ -0,0 +1,69 @@
|
||||
# Daily Review
|
||||
|
||||
Conduct an end-of-day review to capture progress and set up tomorrow.
|
||||
|
||||
## Review Process
|
||||
|
||||
1. **Today's Activity**
|
||||
- Find all notes modified today
|
||||
- Identify new notes created
|
||||
- Review work across all projects
|
||||
|
||||
2. **Progress Assessment**
|
||||
- What was accomplished?
|
||||
- What got stuck or blocked?
|
||||
- What unexpected discoveries emerged?
|
||||
|
||||
3. **Capture Insights**
|
||||
- Key learnings from today
|
||||
- New connections discovered
|
||||
- Questions that arose
|
||||
|
||||
4. **Tomorrow's Setup**
|
||||
- Top 3 priorities
|
||||
- Open loops to close
|
||||
- Questions to explore
|
||||
|
||||
## Output Format
|
||||
|
||||
Create or update a daily note with:
|
||||
|
||||
```markdown
|
||||
# Daily Review - [Date]
|
||||
|
||||
## Accomplished
|
||||
- ✓ [Completed item 1]
|
||||
- ✓ [Completed item 2]
|
||||
|
||||
## Progress Made
|
||||
- [Project/Area]: [What moved forward]
|
||||
- [Project/Area]: [What moved forward]
|
||||
|
||||
## Insights
|
||||
- [Key realization or connection]
|
||||
- [Important learning]
|
||||
|
||||
## Blocked/Stuck
|
||||
- [What didn't progress and why]
|
||||
|
||||
## Discovered Questions
|
||||
- [New question that emerged]
|
||||
- [Thing to research]
|
||||
|
||||
## Tomorrow's Focus
|
||||
1. [Priority 1]
|
||||
2. [Priority 2]
|
||||
3. [Priority 3]
|
||||
|
||||
## Open Loops
|
||||
- [ ] [Thing to remember]
|
||||
- [ ] [Person to follow up with]
|
||||
- [ ] [Idea to develop]
|
||||
```
|
||||
|
||||
## Additional Actions
|
||||
|
||||
- Move completed project tasks to archive
|
||||
- Update project status notes
|
||||
- Link related discoveries
|
||||
- Flag items needing attention
|
||||
@@ -0,0 +1,81 @@
|
||||
---
|
||||
allowed-tools: Read, Write, Edit
|
||||
description: Remove AI-generated jargon and restore human voice to text
|
||||
argument-hint: [file_path]
|
||||
---
|
||||
|
||||
# De-AI-ify Text
|
||||
|
||||
Remove AI-generated patterns and restore natural human voice to your writing.
|
||||
|
||||
## Processing: $ARGUMENTS
|
||||
|
||||
I'll create a de-AI-ified version of your text that sounds more human and less machine-generated.
|
||||
|
||||
## What Gets Removed
|
||||
|
||||
### 1. Overused Transitions
|
||||
- "Moreover," "Furthermore," "Additionally," "Nevertheless"
|
||||
- Excessive "However" usage
|
||||
- "While X, Y" openings
|
||||
|
||||
### 2. AI Clichés
|
||||
- "In today's fast-paced world"
|
||||
- "Let's dive deep"
|
||||
- "Unlock your potential"
|
||||
- "Harness the power of"
|
||||
|
||||
### 3. Hedging Language
|
||||
- "It's important to note"
|
||||
- "It's worth mentioning"
|
||||
- Vague quantifiers: "various," "numerous," "myriad"
|
||||
|
||||
### 4. Corporate Buzzwords
|
||||
- "utilize" → "use"
|
||||
- "facilitate" → "help"
|
||||
- "optimize" → "improve"
|
||||
- "leverage" → "use"
|
||||
|
||||
### 5. Robotic Patterns
|
||||
- Rhetorical questions followed by immediate answers
|
||||
- Obsessive parallel structures
|
||||
- Always using exactly three examples
|
||||
- Announcement of emphasis
|
||||
|
||||
## What Gets Added
|
||||
|
||||
### Natural Voice
|
||||
- Varied sentence lengths
|
||||
- Conversational tone
|
||||
- Direct statements
|
||||
- Specific examples
|
||||
|
||||
### Human Rhythm
|
||||
- Natural transitions
|
||||
- Confident assertions
|
||||
- Personal perspective
|
||||
- Authentic phrasing
|
||||
|
||||
## Process
|
||||
|
||||
1. **Read original file**
|
||||
2. **Create copy with "-HUMAN" suffix**
|
||||
3. **Apply de-AI-ification**
|
||||
4. **Provide change log**
|
||||
|
||||
## Output
|
||||
|
||||
You'll get:
|
||||
- A new file with natural human voice
|
||||
- Change log showing what was fixed
|
||||
- List of places needing specific examples
|
||||
|
||||
## Example Transformations
|
||||
|
||||
**Before (AI):**
|
||||
"In today's rapidly evolving digital landscape, it's crucial to understand that leveraging AI effectively isn't just about utilizing cutting-edge technology—it's about harnessing its transformative potential to unlock unprecedented opportunities."
|
||||
|
||||
**After (Human):**
|
||||
"AI works best when you use it for specific tasks. Focus on what it does well: writing code, analyzing data, and answering questions."
|
||||
|
||||
Let me de-AI-ify your text!
|
||||
@@ -0,0 +1,51 @@
|
||||
# Inbox Processor
|
||||
|
||||
Help organize and process items in the 00_Inbox folder according to the PARA method.
|
||||
|
||||
## Task
|
||||
|
||||
Review all notes in `00_Inbox/` and help categorize them:
|
||||
|
||||
1. **Scan the Inbox**
|
||||
- List all files currently in 00_Inbox
|
||||
- Exclude README.md and Welcome.md
|
||||
|
||||
2. **Analyze Each Item**
|
||||
- Read the content
|
||||
- Identify the type of note
|
||||
- Suggest appropriate destination
|
||||
|
||||
3. **Categorization Rules**
|
||||
- **→ 01_Projects**: Has deadline, specific outcome
|
||||
- **→ 02_Areas**: Ongoing responsibility, no end date
|
||||
- **→ 03_Resources**: Reference material, knowledge
|
||||
- **→ 04_Archive**: Old/completed, no longer active
|
||||
- **→ Delete**: No value, redundant, or temporary
|
||||
|
||||
4. **Suggest Actions**
|
||||
```
|
||||
File: [filename]
|
||||
Type: [detected type]
|
||||
Destination: [suggested folder]
|
||||
Reason: [why this categorization]
|
||||
Related to: [any existing notes it connects to]
|
||||
```
|
||||
|
||||
5. **Identify Patterns**
|
||||
- Common themes across multiple notes
|
||||
- Notes that could be combined
|
||||
- Missing connections between items
|
||||
|
||||
## Output Format
|
||||
|
||||
Provide a clear action plan:
|
||||
1. Items to move (with destinations)
|
||||
2. Items to combine or link
|
||||
3. Items to delete
|
||||
4. Items needing more context
|
||||
|
||||
## Remember
|
||||
|
||||
- Some items legitimately belong in the Inbox (daily notes, quick captures)
|
||||
- Don't over-organize - sometimes "good enough" is perfect
|
||||
- Look for opportunities to connect ideas, not just file them
|
||||
@@ -0,0 +1,194 @@
|
||||
---
|
||||
name: init-bootstrap
|
||||
description: Interactive setup wizard that helps new users create a personalized CLAUDE.md file based on their Obsidian workflow preferences
|
||||
allowed-tools: [Read, Write, MultiEdit, Bash, Task]
|
||||
argument-hint: "(optional) path to existing vault or 'new' for fresh setup"
|
||||
---
|
||||
|
||||
# Initialize Bootstrap Configuration
|
||||
|
||||
This command helps you create a personalized CLAUDE.md configuration file by asking questions about your Obsidian workflow and preferences.
|
||||
|
||||
## Task
|
||||
|
||||
Read the CLAUDE-BOOTSTRAP.md template and interactively gather information about the user's:
|
||||
- Existing vault structure (if any)
|
||||
- Workflow preferences
|
||||
- Note-taking style
|
||||
- Organization methods
|
||||
- Specific requirements
|
||||
|
||||
Then generate a customized CLAUDE.md file tailored to their needs.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Initial Environment Setup**
|
||||
- Check for package.json and run `pnpm install` if needed
|
||||
- Verify core dependencies are installed
|
||||
- Check git status and initialize if needed
|
||||
- Create base folder structure (00_Inbox through 06_Metadata)
|
||||
|
||||
2. **Check Existing Configuration**
|
||||
- Look for existing CLAUDE.md
|
||||
- If exists, ask if they want to update or start fresh
|
||||
- Check for CLAUDE-BOOTSTRAP.md template
|
||||
|
||||
3. **Gather Vault Information**
|
||||
- Ask if they have an existing vault or starting new
|
||||
- If existing, explore current folder structure
|
||||
- Document any custom organization patterns
|
||||
|
||||
4. **Ask Configuration Questions**
|
||||
- "Do you follow the PARA method or have a different organization system?"
|
||||
- "What are your main use cases? (research, writing, project management, knowledge base, daily notes)"
|
||||
- "Do you use any specific plugins or tools with Obsidian?"
|
||||
- "What's your preferred naming convention for files?"
|
||||
- "Do you work with attachments frequently? (images, PDFs, etc.)"
|
||||
- "Do you use git for version control?"
|
||||
- "Any specific websites or resources you reference often?"
|
||||
- "Do you have any specific writing style preferences?"
|
||||
- "Are there any workflows or patterns you want Claude to follow?"
|
||||
|
||||
5. **Optional MCP Server Setup**
|
||||
- Ask: "Would you like to set up Gemini Vision for analyzing images and PDFs?"
|
||||
- If yes:
|
||||
- Guide to get API key from https://aistudio.google.com/apikey
|
||||
- Help add to shell profile (.zshrc, .bashrc, etc.)
|
||||
- Run `claude mcp add --scope project gemini-vision node .claude/mcp-servers/gemini-vision.mjs`
|
||||
- Configure .mcp.json with API key
|
||||
- Test the connection with a sample command
|
||||
|
||||
6. **Generate Custom Configuration**
|
||||
- Start with CLAUDE-BOOTSTRAP.md as base
|
||||
- Add user-specific sections:
|
||||
- Custom folder structure
|
||||
- Personal workflows
|
||||
- Preferred tools and scripts
|
||||
- Specific guidelines
|
||||
- MCP configuration if set up
|
||||
- Include their websites/resources if provided
|
||||
- Add any custom naming conventions
|
||||
|
||||
7. **Create Supporting Files**
|
||||
- Generate initial folder structure if new vault
|
||||
- Create README files for main folders
|
||||
- Create 05_Attachments/Organized/ directory
|
||||
- Set up .gitignore if using git (include .mcp.json, node_modules)
|
||||
- Create initial templates if requested
|
||||
- Make initial git commit if repository was initialized
|
||||
|
||||
8. **Run Test Commands**
|
||||
- Execute `pnpm vault:stats` to verify scripts work
|
||||
- Test attachment commands if folders exist
|
||||
- Test MCP tools if configured
|
||||
- Verify git is tracking files correctly
|
||||
|
||||
9. **Provide Next Steps**
|
||||
- Summary of what was created and configured
|
||||
- Quick start guide specific to their setup
|
||||
- List of available commands they can use
|
||||
- Test commands to verify everything works
|
||||
- Suggestions for first tasks based on their use cases
|
||||
- How to modify configuration later
|
||||
|
||||
## Example Output
|
||||
|
||||
```markdown
|
||||
# Your Obsidian Vault Configuration
|
||||
|
||||
Generated on: [Date]
|
||||
Based on your preferences for: [main use cases]
|
||||
Setup completed with: ✅ Dependencies ✅ Folder structure ✅ Git initialized
|
||||
|
||||
## Your Custom Folder Structure
|
||||
|
||||
[Their specific structure with explanations]
|
||||
|
||||
## Your Workflows
|
||||
|
||||
### Daily Routine
|
||||
[Based on their answers]
|
||||
|
||||
### Project Management
|
||||
[Their specific approach]
|
||||
|
||||
## Your Preferences
|
||||
|
||||
### File Naming
|
||||
- Pattern: [their convention]
|
||||
- Examples: [specific examples]
|
||||
|
||||
### Tools & Scripts
|
||||
[Relevant scripts for their workflow]
|
||||
|
||||
## MCP Servers (if configured)
|
||||
|
||||
### Gemini Vision
|
||||
- Status: ✅ Configured and tested
|
||||
- API Key: Set in .mcp.json
|
||||
- Test with: `Use gemini-vision to analyze [image path]`
|
||||
|
||||
## Available Commands
|
||||
|
||||
### Vault Management
|
||||
- `pnpm vault:stats` - Show vault statistics
|
||||
- `pnpm attachments:list` - List unprocessed attachments
|
||||
- `pnpm attachments:organized` - Count organized files
|
||||
|
||||
### Claude Commands
|
||||
- `claude run thinking-partner` - Collaborative thinking mode
|
||||
- `claude run daily-review` - Review your day
|
||||
- `claude run init-bootstrap` - Re-run this setup
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. [Personalized first step]
|
||||
2. [Next action based on their goals]
|
||||
3. [Specific to their workflow]
|
||||
|
||||
## Setup Summary
|
||||
|
||||
✅ Dependencies installed (pnpm install)
|
||||
✅ Folder structure created
|
||||
✅ Git repository initialized
|
||||
✅ CLAUDE.md personalized
|
||||
[✅ MCP Gemini Vision configured - if set up]
|
||||
[✅ First commit made - if git was initialized]
|
||||
```
|
||||
|
||||
## Interactive Example
|
||||
|
||||
```
|
||||
User: claude run init-bootstrap
|
||||
Assistant: Welcome! I'll help you set up your personalized Obsidian + Claude configuration.
|
||||
|
||||
First, let me set up your environment...
|
||||
[Runs pnpm install to install dependencies]
|
||||
[Creates folder structure if missing]
|
||||
[Checks git status]
|
||||
|
||||
✅ Dependencies installed
|
||||
✅ Core folders created
|
||||
✅ Git repository ready
|
||||
|
||||
Now let me ask you a few questions to customize your setup:
|
||||
|
||||
1. **What will you primarily use this vault for?**
|
||||
(research, writing, project management, daily notes, knowledge base, or combination?)
|
||||
|
||||
User: I'll use it for research and writing, plus managing client projects
|
||||
|
||||
Assistant: Great! I'll configure your vault for research, writing, and client project management.
|
||||
|
||||
[Continues with questions...]
|
||||
|
||||
Would you like to set up Gemini Vision for analyzing images and PDFs? This requires a Google API key.
|
||||
|
||||
User: Yes, that sounds useful
|
||||
|
||||
Assistant: Excellent! Here's how to get your API key:
|
||||
1. Go to https://aistudio.google.com/apikey
|
||||
2. Click "Create API Key"
|
||||
3. Copy the key (starts with AIzaSy...)
|
||||
|
||||
Once you have it, paste it here and I'll configure everything for you.
|
||||
@@ -0,0 +1,120 @@
|
||||
---
|
||||
name: release
|
||||
description: Automatically bump version, update changelog, commit, tag, and push a new release based on recent changes
|
||||
allowed-tools: [Read, Write, Edit, MultiEdit, Bash, Grep]
|
||||
argument-hint: "(optional) 'major', 'minor', 'patch', or leave blank for auto-detection"
|
||||
---
|
||||
|
||||
# Release Command
|
||||
|
||||
Automates the entire release process: analyzes recent commits to determine version bump type, updates version in package.json, moves unreleased changelog entries to the new version, commits everything, creates a git tag, and pushes to GitHub.
|
||||
|
||||
## Task
|
||||
|
||||
1. Analyze recent commits since last tag to determine version bump type
|
||||
2. Update version in package.json
|
||||
3. Move "Unreleased" entries in CHANGELOG.md to the new version section
|
||||
4. Commit the changes
|
||||
5. Create an annotated git tag
|
||||
6. Push commits and tags to GitHub
|
||||
|
||||
## Process
|
||||
|
||||
1. **Check Prerequisites**
|
||||
- Ensure on main/master branch
|
||||
- Check for uncommitted changes
|
||||
- Verify CHANGELOG.md and package.json exist
|
||||
- Get current version from package.json
|
||||
|
||||
2. **Determine Version Bump**
|
||||
- If argument provided (major/minor/patch), use that
|
||||
- Otherwise, analyze commits since last tag:
|
||||
- Look for "BREAKING CHANGE" or "!" = major bump
|
||||
- Look for "feat:" = minor bump
|
||||
- Look for "fix:", "docs:", "chore:" = patch bump
|
||||
- Calculate new version number
|
||||
|
||||
3. **Update Files**
|
||||
- Update version in package.json
|
||||
- Move "Unreleased" section in CHANGELOG.md to new version section
|
||||
- Add comparison links for the new version
|
||||
- Create new empty "Unreleased" section
|
||||
|
||||
4. **Git Operations**
|
||||
- Stage changes: `git add package.json CHANGELOG.md`
|
||||
- Commit: `git commit -m "chore: release v{version}"`
|
||||
- Create annotated tag: `git tag -a v{version} -m "Release v{version}"`
|
||||
- Push commits: `git push`
|
||||
- Push tags: `git push --tags`
|
||||
|
||||
5. **Provide Next Steps**
|
||||
- Show link to create GitHub release
|
||||
- Remind to add release notes from changelog
|
||||
|
||||
## Version Bump Rules
|
||||
|
||||
### Semantic Versioning (MAJOR.MINOR.PATCH)
|
||||
|
||||
**MAJOR** (1.0.0 → 2.0.0):
|
||||
- Breaking changes
|
||||
- Commits with "BREAKING CHANGE" in body
|
||||
- Commits with "!" after type (e.g., "feat!:")
|
||||
|
||||
**MINOR** (1.0.0 → 1.1.0):
|
||||
- New features (backward compatible)
|
||||
- Commits starting with "feat:"
|
||||
|
||||
**PATCH** (1.0.0 → 1.0.1):
|
||||
- Bug fixes and minor changes
|
||||
- Commits with "fix:", "docs:", "style:", "refactor:", "test:", "chore:"
|
||||
|
||||
## Example Usage
|
||||
|
||||
```bash
|
||||
# Auto-detect version bump from commits
|
||||
claude run release
|
||||
|
||||
# Force specific version bump
|
||||
claude run release patch
|
||||
claude run release minor
|
||||
claude run release major
|
||||
|
||||
# Example output:
|
||||
# 📦 Current version: 0.1.0
|
||||
# 🔍 Analyzing commits since last release...
|
||||
#
|
||||
# Found commits:
|
||||
# - feat: add video support to Gemini Vision
|
||||
# - docs: update README with setup instructions
|
||||
# - fix: correct attachment link handling
|
||||
#
|
||||
# ✨ Detected version bump: MINOR (new features added)
|
||||
# 📝 New version: 0.2.0
|
||||
#
|
||||
# ✅ Updated package.json
|
||||
# ✅ Updated CHANGELOG.md
|
||||
# ✅ Committed changes
|
||||
# ✅ Created tag v0.2.0
|
||||
# ✅ Pushed to GitHub
|
||||
#
|
||||
# 🎉 Release v0.2.0 complete!
|
||||
#
|
||||
# Next steps:
|
||||
# 1. Go to https://github.com/user/repo/releases/new?tag=v0.2.0
|
||||
# 2. Add release notes from CHANGELOG.md
|
||||
# 3. Publish the release
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
- If not on main branch: "Please switch to main branch first"
|
||||
- If uncommitted changes: "Please commit or stash changes first"
|
||||
- If no changes since last release: "No changes to release"
|
||||
- If version already exists: "Version X.X.X already exists"
|
||||
|
||||
## Safety Features
|
||||
|
||||
- Dry run mode: Show what would happen without making changes
|
||||
- Confirmation prompt before pushing
|
||||
- Validation of version format
|
||||
- Check for existing tags before creating
|
||||
@@ -0,0 +1,65 @@
|
||||
# Research Assistant
|
||||
|
||||
Conduct thorough research on topics by searching the vault and synthesizing findings.
|
||||
|
||||
## Process
|
||||
|
||||
1. **Initial Search**
|
||||
- Search the entire vault for the topic
|
||||
- Identify all relevant notes
|
||||
- Note gaps in existing knowledge
|
||||
|
||||
2. **Deep Dive**
|
||||
- Read all relevant notes thoroughly
|
||||
- Extract key insights and quotes
|
||||
- Identify contradictions or tensions
|
||||
- Map connections between ideas
|
||||
|
||||
3. **Synthesis**
|
||||
- Create a summary of findings
|
||||
- Highlight patterns and themes
|
||||
- Note questions that remain unanswered
|
||||
- Suggest areas for further research
|
||||
|
||||
## Output Structure
|
||||
|
||||
```markdown
|
||||
# Research Summary: [Topic]
|
||||
|
||||
## Existing Knowledge
|
||||
- What's already in the vault
|
||||
- Key insights from previous work
|
||||
|
||||
## Key Themes
|
||||
1. Theme 1
|
||||
- Supporting notes: [[note1]], [[note2]]
|
||||
- Key insight: ...
|
||||
|
||||
2. Theme 2
|
||||
- Supporting notes: [[note3]], [[note4]]
|
||||
- Key insight: ...
|
||||
|
||||
## Contradictions/Tensions
|
||||
- Where ideas conflict
|
||||
- Unresolved questions
|
||||
|
||||
## Gaps
|
||||
- What's missing
|
||||
- What to research next
|
||||
|
||||
## Connections
|
||||
- Related topics: [[topic1]], [[topic2]]
|
||||
- Surprising links: ...
|
||||
|
||||
## Recommended Next Steps
|
||||
1. Specific research needed
|
||||
2. Questions to explore
|
||||
3. Experiments to try
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Cast a wide net initially, then focus
|
||||
- Look for surprising connections
|
||||
- Don't ignore contradictions - they're often where insights live
|
||||
- Always suggest concrete next actions
|
||||
@@ -0,0 +1,37 @@
|
||||
# Thinking Partner
|
||||
|
||||
You are a collaborative thinking partner specializing in helping people explore complex problems. Your role is to facilitate thinking through careful questioning and exploration, not to rush toward solutions.
|
||||
|
||||
## Core Behaviors
|
||||
|
||||
1. **Ask before answering** - Lead with questions that help clarify and deepen understanding
|
||||
2. **Track insights** - Maintain a running log of key discoveries and connections
|
||||
3. **Resist solutioning** - Stay in exploration mode until explicitly asked to move forward
|
||||
4. **Connect ideas** - Help identify patterns and relationships across different notes
|
||||
5. **Surface assumptions** - Gently challenge implicit beliefs and assumptions
|
||||
|
||||
## Workflow
|
||||
|
||||
When engaged as a thinking partner:
|
||||
|
||||
1. Start by understanding the topic or challenge
|
||||
2. Search the vault for relevant existing notes
|
||||
3. Ask 3-5 clarifying questions
|
||||
4. As the conversation develops:
|
||||
- Take notes on key insights
|
||||
- Identify connections to other ideas
|
||||
- Track open questions
|
||||
- Note potential directions to explore
|
||||
5. Periodically summarize what's emerging
|
||||
|
||||
## Key Prompts You Might Use
|
||||
|
||||
- "What's behind that thought?"
|
||||
- "How does this connect to [other concept] you mentioned?"
|
||||
- "What would the opposite look like?"
|
||||
- "What's the real challenge here?"
|
||||
- "What are we not considering?"
|
||||
|
||||
## Remember
|
||||
|
||||
The goal is not to have answers but to help discover them. Your value is in the quality of exploration, not the speed of resolution.
|
||||
@@ -0,0 +1,92 @@
|
||||
# Weekly Synthesis
|
||||
|
||||
Create a comprehensive synthesis of the week's work and thinking.
|
||||
|
||||
## Analysis Process
|
||||
|
||||
1. **Gather Week's Work**
|
||||
- All notes created this week
|
||||
- All notes modified this week
|
||||
- Projects that saw activity
|
||||
|
||||
2. **Identify Patterns**
|
||||
- Recurring themes
|
||||
- Common challenges
|
||||
- Breakthrough moments
|
||||
- Energy patterns (what energized vs drained)
|
||||
|
||||
3. **Synthesize Learning**
|
||||
- Key insights that emerged
|
||||
- How thinking evolved
|
||||
- Connections discovered
|
||||
- Questions answered and raised
|
||||
|
||||
4. **Assess Progress**
|
||||
- Projects advanced
|
||||
- Areas maintained
|
||||
- Resources added
|
||||
- Items archived
|
||||
|
||||
## Output Format
|
||||
|
||||
Create a weekly synthesis note:
|
||||
|
||||
```markdown
|
||||
# Weekly Synthesis - Week of [Date]
|
||||
|
||||
## Week at a Glance
|
||||
- Notes created: [X]
|
||||
- Projects active: [List]
|
||||
- Major accomplishments: [List]
|
||||
|
||||
## Key Themes
|
||||
### Theme 1: [Name]
|
||||
- Where it appeared: [contexts]
|
||||
- Why it matters: [significance]
|
||||
- Next actions: [what to do]
|
||||
|
||||
### Theme 2: [Name]
|
||||
- Where it appeared: [contexts]
|
||||
- Why it matters: [significance]
|
||||
- Next actions: [what to do]
|
||||
|
||||
## Major Insights
|
||||
1. [Insight with context]
|
||||
2. [Insight with context]
|
||||
|
||||
## Progress by Project
|
||||
### [Project Name]
|
||||
- What advanced:
|
||||
- What's blocked:
|
||||
- Next week's focus:
|
||||
|
||||
## Questions Emerged
|
||||
- [Question 1 - and why it matters]
|
||||
- [Question 2 - and why it matters]
|
||||
|
||||
## Energy Audit
|
||||
- What gave energy:
|
||||
- What drained energy:
|
||||
- What to adjust:
|
||||
|
||||
## Connections Made
|
||||
- [Note A] ←→ [Note B]: [Why significant]
|
||||
- [Concept X] ←→ [Concept Y]: [New understanding]
|
||||
|
||||
## Next Week's Intentions
|
||||
1. [Primary focus]
|
||||
2. [Secondary focus]
|
||||
3. [Thing to explore]
|
||||
|
||||
## To Process
|
||||
- Inbox items: [count]
|
||||
- Orphaned notes: [list]
|
||||
- Missing connections: [identified]
|
||||
```
|
||||
|
||||
## Follow-up Actions
|
||||
|
||||
- Archive completed projects
|
||||
- Clean up inbox
|
||||
- Update project status
|
||||
- Plan next week's focus
|
||||
Reference in New Issue
Block a user