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

  1. Install Python dependencies:
cd "D:\Coding world\Hackathone_0\Bronze"
pip install -r requirements.txt
  1. 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/
  1. Open Obsidian:

    • Launch Obsidian
    • Click "Open folder as vault"
    • Navigate to AI_Employee_Vault
    • Click "Open"
  2. 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

FolderPurposeAuto-Managed
/InboxIncoming itemsNo
/Needs_ActionTasks awaiting processingYes (by watcher)
/PlansGenerated action plansYes (by Claude)
/Pending_ApprovalAwaiting human approvalYes (by Claude)
/ApprovedApproved for executionManual (you move files)
/RejectedRejected actionsManual (you move files)
/DoneCompleted tasksYes (by Claude)
/LogsAudit 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:

  1. Scans /Needs_Action for new tasks
  2. Analyzes each task
  3. Creates a plan in /Plans
  4. Requests approval if needed
  5. 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:

  1. Reads current vault state
  2. Calculates metrics
  3. Updates Dashboard.md
  4. 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

  1. Drop the file:
cp invoice_client_a.pdf ~/AI_Employee_Drop/
  1. Watcher detects it:
FILE_invoice_client_a_1708700342.md created in /Needs_Action
  1. Claude processes it:
claude /process-vault-tasks
  1. Claude creates a plan:
PLAN_invoice_processing_1708700342.md created in /Plans
  1. Claude requests approval:
PAYMENT_client_a_1708700342.md created in /Pending_Approval
  1. You review and approve:
# Move approval file to /Approved
mv AI_Employee_Vault/Pending_Approval/PAYMENT_*.md AI_Employee_Vault/Approved/
  1. Claude executes:
Payment logged, files moved to /Done
Dashboard updated
  1. 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:

  1. Gmail Watcher - Monitor incoming emails
  2. WhatsApp Watcher - Detect urgent messages
  3. LinkedIn Integration - Auto-post content
  4. Email MCP Server - Send emails automatically
  5. Scheduling - Cron jobs for daily briefings
  6. 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:

  1. Check Company_Handbook.md for rules
  2. Review logs in AI_Employee_Vault/Logs/
  3. Check the main hackathon document
  4. 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 šŸš€

Related

How to Install

  1. Download the ZIP or clone the repository
  2. Open the folder as a vault in Obsidian (File → Open Vault)
  3. Obsidian will prompt you to install required plugins

Stats

Stars

0

Forks

0

Last updated 1mo ago

Categories

Tags

aiai-agentsclaude-codepython