A Claude Code skill that automatically triggers an agent to document your technical projects in Obsidian as you work.
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.
- π€ Auto-documents projects - Captures progress as you work with Claude Code
- π Organized by area - Classifies projects including Hardware, Software, Woodworking, or Music Synthesis
- π Smart linking - Automatically links related notes and projects
- π 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
Clone the repository and run the installer:
git clone https://github.com/ali5ter/obsidian-project-assistant.git
cd obsidian-project-assistant
./install ~/Documents/MyVaultThis will:
- Check if the Obsidian Vault directory exists
- Install note templates
- Set up the Claude Code skill and agent
- Optionally initialize a git repository
Just work on your project with Claude Code and mention documentation:
cd ~/projects/arduino-temperature-sensor
claudeThen 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:
- Detect it's a hardware project (from
.inofiles) - Extract the project name ("Arduino Time Machine")
- Create a project note in your Obsidian vault
- Track your progress as you work
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?"
The skill uses an efficient, non-blocking architecture that works in the background. It does this by using the Obsidian Project Documentation Assistant skill to detect your project context, asks any questions upfront, then triggers the Obsidian Project Documentation Manager agent which handles the documentation work asynchronously. This means you can keep working while your notes are being updated and synced.
The skill intelligently detects project context:
- Project Name - From git repo, directory name, or asks you
- Area Classification - Based on file extensions and patterns:
- Hardware:
.ino,.cpp,platformio.ini(Arduino, embedded) - Software:
.js,.py,package.json(web, scripts) - Woodworking:
.stl,.blend,.f3d(CAD files) - Music Synthesis:
.pd,.maxpat(Pure Data, Max/MSP)
- Hardware:
- Description - Extracts from conversation or README.md
Any project notes will be placed into a Projects directory in your Obsidian Vault folder. If you already use a Vault, no other folders will be touched. If you already use a Project folder in your existing Obsidian Vault, unless a notes file using the same name the Obsidian Project Documentation Manager agent wants to use, there will be no changes to existing content. If, conicidentally, there is a file with the name the Obsidian Project Documentation Manager agent wants to use, project updates will be appended to it.
The skill is configured in ~/.claude/skills/obsidian-project-documentation-assistant/config.json:
{
"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 vaultareas- 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)
- 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)
Edit ~/.claude/skills/obsidian-project-documentation-assistant/config.json:
{
"areas": [
"Hardware",
"Software",
"3D Printing",
"Photography",
"Custom Area"
]
}Update the ~/.claude/skills/obsidian-project-documentation-assistant/area-mapping.md and ~/.claude/skills/obsidian-project-documentation-assistant/context-detection.md definitions to help detect the custom area.
The project note template used by the agent is located at ~/.claude/skills/obsidian-project-documentation-assistant/project-template.md. You can edit this file directly to customize the structure and content of your project notes.
Skill not activating:
- Check that
~/.claude/skills/obsidian-project-documentation-assistant/exists - Verify config.json has correct vault_path
- 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: falseto disable git integration
MIT License - see LICENSE for details.
Made with β€οΈ for makers, tinkerers, and technical explorers