AI Employee Bronze Tier
Create a Vault with *Obsidian* & Hackathone 0: Bronze Tier
AI Employee - Bronze Tier Implementation
Status: ā Bronze Tier Foundation Complete Version: 1.0 Last Updated: 2026-02-23
š Overview
This is a Bronze Tier implementation of the Personal AI Employee hackathon project. It provides the foundational architecture for an autonomous AI agent that manages personal and business tasks using Claude Code and Obsidian.
What You Get
ā Obsidian Vault - Local-first knowledge base with Dashboard and Company Handbook ā File System Watcher - Monitors a drop folder and creates action files ā Claude Integration - Python module for vault interaction ā Agent Skills - Reusable skills for task processing and dashboard updates ā Audit Logging - Complete action trail for transparency
š Quick Start
Prerequisites
- Python 3.13+
- Claude Code (installed and working)
- Obsidian (v1.10.6+)
- Git (optional, for version control)
Installation
- Install Python dependencies:
cd "D:\Coding world\Hackathone_0\Bronze"
pip install -r requirements.txt
- Verify the vault structure:
ls -la AI_Employee_Vault/
You should see:
AI_Employee_Vault/
āāā Dashboard.md
āāā Company_Handbook.md
āāā Inbox/
āāā Needs_Action/
āāā Plans/
āāā Pending_Approval/
āāā Approved/
āāā Rejected/
āāā Done/
āāā Accounting/
āāā Logs/
-
Open Obsidian:
- Launch Obsidian
- Click "Open folder as vault"
- Navigate to
AI_Employee_Vault - Click "Open"
-
Start the File System Watcher:
python filesystem_watcher.py
The watcher will create a drop folder at ~/AI_Employee_Drop
š Project Structure
Bronze/
āāā AI_Employee_Vault/ # Obsidian vault (local-first)
ā āāā Dashboard.md # Real-time status dashboard
ā āāā Company_Handbook.md # Rules and boundaries
ā āāā Inbox/ # Incoming items
ā āāā Needs_Action/ # Tasks awaiting processing
ā āāā Plans/ # Generated action plans
ā āāā Pending_Approval/ # Awaiting human approval
ā āāā Approved/ # Approved for execution
ā āāā Rejected/ # Rejected actions
ā āāā Done/ # Completed tasks
ā āāā Accounting/ # Financial records
ā āāā Logs/ # Audit trail (JSON)
ā
āāā .claude/skills/ # Agent Skills
ā āāā process-vault-tasks/ # Process tasks from vault
ā āāā update-dashboard/ # Update dashboard metrics
ā āāā browsing-with-playwright/ # Browser automation
ā
āāā filesystem_watcher.py # File system monitoring
āāā claude_integration.py # Claude Code integration
āāā requirements.txt # Python dependencies
āāā README.md # This file
š Workflow
1. File Drop Detection
User drops file ā Watcher detects ā Creates action file in /Needs_Action
Example:
# Drop a file
cp invoice.pdf ~/AI_Employee_Drop/
# Watcher creates:
# AI_Employee_Vault/Needs_Action/FILE_invoice_123456.md
2. Task Processing
Action file ā Claude reads ā Creates plan ā Requests approval ā Executes
Using the skill:
claude /process-vault-tasks --vault-path "AI_Employee_Vault"
3. Approval Workflow
Sensitive action ā Creates approval file ā Human reviews ā Moves to /Approved ā Executes
Example approval file:
---
type: approval_request
action: payment
---
# Approval Required: Payment
- **Amount:** $100
- **Recipient:** Client A
- **Reason:** Invoice #123
Move to /Approved to proceed.
4. Completion
Task executed ā Logged ā Moved to /Done ā Dashboard updated
š ļø Core Components
Dashboard.md
Real-time status of your AI Employee:
- Key metrics (pending tasks, completed today)
- Recent activity log
- Active projects
- Financial summary
- System status
Update it with:
claude /update-dashboard --activity "Processed invoice from Client A"
Company_Handbook.md
Rules and boundaries for autonomous decision-making:
- Permission boundaries (auto-approve vs. require approval)
- Communication guidelines
- Financial rules
- Task prioritization
- Escalation protocol
- Security requirements
Reference it when:
- Claude needs to make a decision
- You want to change approval thresholds
- You need to add new rules
Vault Folders
| Folder | Purpose | Auto-Managed |
|---|---|---|
/Inbox | Incoming items | No |
/Needs_Action | Tasks awaiting processing | Yes (by watcher) |
/Plans | Generated action plans | Yes (by Claude) |
/Pending_Approval | Awaiting human approval | Yes (by Claude) |
/Approved | Approved for execution | Manual (you move files) |
/Rejected | Rejected actions | Manual (you move files) |
/Done | Completed tasks | Yes (by Claude) |
/Logs | Audit trail (JSON) | Yes (auto-logged) |
š Security & Privacy
Credential Management
Never store credentials in the vault. Use environment variables:
# Create .env file (add to .gitignore)
export GMAIL_API_KEY="your-key"
export BANK_API_TOKEN="your-token"
Audit Logging
All actions are logged to /Logs/YYYY-MM-DD.json:
{
"timestamp": "2026-02-23T17:52:22Z",
"action_type": "file_drop_detected",
"actor": "filesystem_watcher",
"source_file": "/path/to/file",
"status": "pending"
}
Permission Boundaries
From Company_Handbook.md:
Auto-Approve:
- Reading emails/messages
- Creating drafts
- Organizing files
- Updating dashboard
Always Require Approval:
- Sending emails to new contacts
- Making payments
- Posting on social media
- Deleting files
š Using the Watcher
Start the Watcher
python filesystem_watcher.py
Output:
2026-02-23 17:52:22 - FileSystemWatcher - INFO - ============================================================
2026-02-23 17:52:22 - FileSystemWatcher - INFO - File System Watcher Started
2026-02-23 17:52:22 - FileSystemWatcher - INFO - Monitoring: /home/user/AI_Employee_Drop
2026-02-23 17:52:22 - FileSystemWatcher - INFO - Vault: /path/to/AI_Employee_Vault
2026-02-23 17:52:22 - FileSystemWatcher - INFO - ============================================================
Drop a File
# Copy a file to the drop folder
cp myfile.txt ~/AI_Employee_Drop/
# Watcher detects it and creates:
# AI_Employee_Vault/Needs_Action/FILE_myfile_1708700342.md
Check Logs
# View watcher logs
tail -f AI_Employee_Vault/Logs/watcher.log
# View daily audit log
cat AI_Employee_Vault/Logs/2026-02-23.json | jq .
š¤ Using Claude Integration
Read Tasks
from claude_integration import VaultManager
vault = VaultManager()
tasks = vault.read_needs_action()
for task in tasks:
print(f"Task: {task['filename']}")
print(f"Content: {task['content']}")
Create a Plan
vault.create_plan(
task_name="invoice_processing",
objective="Process and log invoice",
steps=[
"Extract invoice details",
"Validate amounts",
"Log transaction",
"Archive file"
]
)
Request Approval
vault.create_approval_request(
action_type="payment",
details={
"amount": "$100",
"recipient": "Client A",
"invoice": "#123"
},
reason="Invoice payment due"
)
Move to Done
vault.move_to_done(
file_path="AI_Employee_Vault/Needs_Action/FILE_invoice_123.md",
notes="Invoice processed and logged"
)
Update Dashboard
vault.update_dashboard({
"pending_tasks": 3,
"needs_action": 2,
"completed_today": 5,
"activity": "Processed invoice from Client A"
})
šÆ Agent Skills
Process Vault Tasks
Automatically process tasks from /Needs_Action:
claude /process-vault-tasks --vault-path "AI_Employee_Vault"
What it does:
- Scans
/Needs_Actionfor new tasks - Analyzes each task
- Creates a plan in
/Plans - Requests approval if needed
- Updates Dashboard.md
Update Dashboard
Update metrics and activity:
claude /update-dashboard --metric "pending_tasks" --value 3
claude /update-dashboard --activity "Processed invoice"
What it does:
- Reads current vault state
- Calculates metrics
- Updates Dashboard.md
- Logs all changes
Browser Automation (Playwright)
For Silver tier and beyond:
# Start Playwright server
bash .claude/skills/browsing-with-playwright/scripts/start-server.sh
# Use in Claude Code for web automation
# (See browsing-with-playwright/SKILL.md for details)
š Example Workflow
Scenario: Process an Invoice
- Drop the file:
cp invoice_client_a.pdf ~/AI_Employee_Drop/
- Watcher detects it:
FILE_invoice_client_a_1708700342.md created in /Needs_Action
- Claude processes it:
claude /process-vault-tasks
- Claude creates a plan:
PLAN_invoice_processing_1708700342.md created in /Plans
- Claude requests approval:
PAYMENT_client_a_1708700342.md created in /Pending_Approval
- You review and approve:
# Move approval file to /Approved
mv AI_Employee_Vault/Pending_Approval/PAYMENT_*.md AI_Employee_Vault/Approved/
- Claude executes:
Payment logged, files moved to /Done
Dashboard updated
- Check the logs:
cat AI_Employee_Vault/Logs/2026-02-23.json | jq .
š Troubleshooting
Watcher not detecting files
# Check if drop folder exists
ls -la ~/AI_Employee_Drop/
# Check watcher logs
tail -f AI_Employee_Vault/Logs/watcher.log
# Restart watcher
# Ctrl+C to stop, then run again
python filesystem_watcher.py
Claude Code not reading vault
# Verify vault path
ls -la AI_Employee_Vault/
# Check permissions
chmod -R 755 AI_Employee_Vault/
# Test integration
python claude_integration.py
Logs not being created
# Ensure Logs folder exists
mkdir -p AI_Employee_Vault/Logs
# Check permissions
chmod 755 AI_Employee_Vault/Logs
# Restart watcher
Obsidian not syncing
# Obsidian reads files directly from disk
# If changes don't appear, try:
# 1. Close and reopen the vault
# 2. Refresh the view (Ctrl+R)
# 3. Check file permissions
š Next Steps (Silver Tier)
Once Bronze is working, you can add:
- Gmail Watcher - Monitor incoming emails
- WhatsApp Watcher - Detect urgent messages
- LinkedIn Integration - Auto-post content
- Email MCP Server - Send emails automatically
- Scheduling - Cron jobs for daily briefings
- Human-in-the-Loop - Approval workflows
See the main hackathon document for Silver tier requirements.
š Documentation
- Company_Handbook.md - Rules and boundaries
- Dashboard.md - Real-time status
- SKILL.md files - Skill documentation
- Logs/ - Audit trail
š¤ Support
For issues or questions:
- Check
Company_Handbook.mdfor rules - Review logs in
AI_Employee_Vault/Logs/ - Check the main hackathon document
- Join the Wednesday research meeting
š License
This is part of the Personal AI Employee Hackathon 0 project.
Built with: Claude Code + Obsidian + Python Status: Bronze Tier ā Ready for: Silver Tier Expansion š
How to Install
- Download the ZIP or clone the repository
- Open the folder as a vault in Obsidian (File ā Open Vault)
- Obsidian will prompt you to install required plugins
Stats
Stars
0
Forks
0
Last updated 1mo ago
Categories
Tags