Skip to content

ali5ter/obsidian-project-assistant

Repository files navigation

Obsidian Project Documentation Manager

A Claude Code skill that automatically triggers an agent to document your technical projects in Obsidian as you work.

What is it?

As you work on projects with Claude Code, this skill and agent captures your progress and insights into a structured Obsidian vault. No more forgetting what you tried, why you made certain decisions, or what worked and what didn't.

Perfect for makers, engineers, and tinkerers who work across multiple technical domains.

Features

  • πŸ€– Auto-documents projects - Captures progress as you work with Claude Code
  • πŸ“ Organized by area - Classifies projects including Hardware, Software, Woodworking, or Music Synthesis
  • πŸ”— Relationship analysis - Scores and links related projects using shared technologies and context signals
  • πŸ“ Template-based - Uses consistent, customizable templates
  • 🎯 Context-aware - Infers project details from your working directory
  • πŸ”„ Git integration - Optionally commits and pushes changes to your vault repository
  • πŸš€ Auto-backup - Automatically push to remote GitHub repo for seamless backup
  • 🌍 Cross-project - Works from any directory, updates central vault

Installation

Install via the Claude Code plugin system β€” no cloning or bash scripts needed.

Run these two commands inside Claude Code:

/plugin marketplace add ali5ter/claude-plugins
/plugin install obsidian-project-documentation@ali5ter

The first time you trigger the skill it will ask for your Obsidian vault path. No separate setup step is needed.

Upgrading from v2.x

If you previously used the bash installer, run the migration script once to preserve your config and remove the old files:

git clone https://github.com/ali5ter/obsidian-project-assistant.git
cd obsidian-project-assistant
./migrate

Then install via the two /plugin commands above.

Uninstall

/plugin uninstall obsidian-project-documentation@ali5ter

Usage

Just work on your project with Claude Code and mention documentation:

cd ~/projects/arduino-temperature-sensor
claude

Then in conversation trigger the skill use a prompt like this example:

I am building an Arduino based time machine. Let's document this project."

The skill will:

  1. Detect it's a hardware project (from .ino files)
  2. Extract the project name ("Arduino Time Machine")
  3. Create a project note in your Obsidian vault
  4. Track your progress as you work

Examples of other prompts

Update existing project:

I just got the I2C communication working. Update my project notes.

Exiting a working session with Claude Code:

Ok I'm tired. Let's wrap it up for today.

Ask about the vault:

"Show me my recent projects"
or 
"What's in my Hardware area?"

How It Works

The skill has two execution paths:

Session start (read-only): When you open a project, the skill reads your vault note and CLAUDE.md, then briefly orients you β€” current phase, status, and the next steps from last time. No writes, no agent.

Documentation run: When you ask to document, wrap up, or update notes, the skill detects project context, asks any questions upfront, then launches the documentation agent in the background. You can keep working while your notes are updated and synced.

The agent also performs cross-project relationship analysis each session, scanning your vault to find genuinely related projects based on shared technologies and explicit context signals, and writes scored wiki-links into each note's frontmatter and body automatically.

Context Detection

The skill intelligently detects project context:

  1. Project Name - From git repo, directory name, or asks you
  2. Area Classification - Based on file extensions and patterns (all areas counted in parallel; clear winner wins, ties escalate to a question):
    • Hardware: .ino, .pcb, .sch, platformio.ini (Arduino, embedded)
    • Software: .js, .ts, .py, .go, .rs, package.json, Cargo.toml, go.mod (web, scripts, systems)
    • Woodworking: .stl, .blend, .f3d, .skp, cut-list.md (CAD, shop files)
    • Music Synthesis: .pd, .maxpat, .syx, .amxd, patch-notes.md (Pure Data, Max/MSP, Ableton)
  3. Description - Extracts from conversation or README.md

Vault Structure

Project notes are placed into a Projects directory in your Obsidian vault. No other folders are touched. If a Projects folder already exists, only files managed by this skill are modified. If a note with the same name already exists, project updates are appended to it rather than overwriting existing content.

Configuration

The skill is configured in ~/.claude/obsidian-project-assistant-config.json (created automatically on first use):

{
  "vault_path": "/Users/you/Documents/ObsidianVault",
  "areas": ["Hardware", "Software", "Woodworking", "Music Synthesis"],
  "auto_commit": false,
  "auto_push": false,
  "git_enabled": true
}

Options:

  • vault_path - Absolute path to your Obsidian vault
  • areas - List of project areas (customize as needed)
  • auto_commit - Auto-commit changes without asking (default: false)
  • auto_push - Auto-push commits to remote repository (default: false)
  • git_enabled - Enable git integration (default: true)

Requirements

  • Claude Code - The official Claude CLI
  • Obsidian - For viewing your notes - you can view the markdown notes files without Obsidian of course
  • Git - If you version control your vault content in a private remote git repository (recommended)

Customization

Custom Areas

Edit ~/.claude/obsidian-project-assistant-config.json:

{
  "areas": [
    "Hardware",
    "Software",
    "3D Printing",
    "Photography",
    "Custom Area"
  ]
}

Update the area-mapping.md and context-detection.md files in the plugin cache at ~/.claude/plugins/cache/ali5ter/obsidian-project-documentation/<version>/skills/obsidian-project-documentation/ to help detect the custom area.

Custom Template

The project note template used by the agent is located at project-template.md inside the plugin cache directory ~/.claude/plugins/cache/ali5ter/obsidian-project-documentation/<version>/skills/obsidian-project-documentation/. You can edit this file directly to customize the structure and content of your project notes.

Troubleshooting

Skill not activating:

  • Check the plugin is installed: /plugin list in Claude Code
  • Verify config has correct vault_path: cat ~/.claude/obsidian-project-assistant-config.json
  • Restart Claude Code

Wrong area detected:

  • Specify area in conversation: "This is a hardware project"
  • Update config.json with project directory mappings

Git commits failing:

  • Ensure git is installed and vault is a git repo
  • Set git_enabled: false to disable git integration

License

MIT License - see LICENSE for details.

Links


Made with ❀️ for makers, tinkerers, and technical explorers

About

πŸ““ Claude Code skill and agent for automatic project documentation in Obsidian

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages