Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.DS_Store
*.log
node_modules/
.env
vui/target
91 changes: 28 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,85 +1,50 @@
# Root Ventures Application Skill
# Root Ventures Application

Apply to Root Ventures positions directly through Claude CLI.
Apply to Root Ventures directly through voice or text conversation with Claude.

## Installation & Usage

Just run this one command:
## Quick Start

```bash
curl -fsSL https://raw.githubusercontent.com/rootvc/claude-apply-skill/main/install.sh | bash
```

The installer will:
- Download the skill files
- Automatically launch Claude CLI
- Pre-load the application skill

Then simply say to Claude:
```
I want to apply to Root Ventures
```

Claude will then:
- Guide you through the application
- Collect your information conversationally
- Submit directly to Root Ventures

## What You'll Provide

- Your name (required)
- Your email (required)
- LinkedIn profile (optional)
- GitHub username (optional)
- Why you're interested in Root (optional)

## How It Works
You'll be prompted to choose:

1. You run the one-line install command
2. The installer downloads skill files and launches Claude
3. Claude loads the skill instructions and waits for you
4. You say "I want to apply to Root Ventures"
5. Claude starts the conversational application process
6. You provide your information naturally
7. Claude submits your application to Attio
8. You receive immediate confirmation
1. **Voice mode** (recommended) — Native app with speech recognition and text-to-speech
2. **Text mode** — Claude CLI chat interface

## Example
## Voice Mode

```bash
$ curl -fsSL https://raw.githubusercontent.com/rootvc/claude-apply-skill/main/install.sh | bash

🚀 Installing Root Ventures Apply Skill...
📥 Downloading skill files...
✅ Root Ventures Apply Skill installed successfully!

Launching Claude...

Once Claude opens, just say: 'I want to apply to Root Ventures'

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A native macOS app that lets you have a spoken conversation with Claude. Just talk naturally — Claude will interview you, fill out the application form in real-time, and submit when you're ready.

[Claude launches]
**Requirements:**
- macOS
- `ANTHROPIC_API_KEY` and `ELEVENLABS_API_KEY` in environment or `.env`

Claude: Root Ventures application skill installed. Claude can now help you apply for a job at Root Ventures
The installer will install Rust if needed and build the app (~1 min first time).

You: I want to apply to Root Ventures
**Features:**
- Natural voice conversation
- Barge-in support — interrupt Claude mid-sentence
- Live form updates as you speak
- Automatic submission to Attio CRM

Claude: Great! Root Ventures is looking for a technical associate in SF.
Let me collect some information. What's your name?
## Text Mode

You: Jane Doe
Uses Claude CLI for a text-based chat. The installer downloads the skill files and launches Claude automatically.

Claude: Thanks Jane! What's your email address?

[... continues conversationally ...]

Claude: ✅ Application submitted successfully!
Then just say:
```
I want to apply to Root Ventures
```

## Source Tracking
## What You'll Provide

Applications submitted through this skill are tagged with `source: "Claude Skill"` in Attio, and "Applied using claude skill" is added to your notes.
- Name (required)
- Email (required)
- LinkedIn profile
- GitHub username
- Why you're interested (collected through interview questions)

## Other Ways to Apply

Expand Down
239 changes: 159 additions & 80 deletions install.sh
Original file line number Diff line number Diff line change
@@ -1,109 +1,188 @@
#!/bin/bash
# Root Ventures Apply Skill - One-line installer for Claude CLI
# Root Ventures Apply Skill - One-line installer
# Supports both text mode (Claude CLI) and voice mode (native app)

set -e

SKILL_DIR="$HOME/.claude/skills/root-ventures-apply"
REPO_URL="https://raw.githubusercontent.com/rootvc/claude-apply-skill/main"

echo ""
echo "🚀 Installing Root Ventures Apply Skill..."
echo ""

# Create skills directory if it doesn't exist
mkdir -p "$SKILL_DIR"

# Download files
echo "📥 Downloading skill files..."
curl -fsSL "$REPO_URL/skill.json" -o "$SKILL_DIR/skill.json"
curl -fsSL "$REPO_URL/prompt.txt" -o "$SKILL_DIR/prompt.txt"
curl -fsSL "$REPO_URL/apply.sh" -o "$SKILL_DIR/apply.sh"
curl -fsSL "$REPO_URL/README.md" -o "$SKILL_DIR/README.md"

# Make apply.sh executable
chmod +x "$SKILL_DIR/apply.sh"

echo ""
echo "✅ Root Ventures Apply Skill installed successfully!"
echo "🚀 Root Ventures Apply"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo " Launching Claude..."
echo " Choose your mode:"
echo ""
echo " [1] 🎙️ Voice mode (recommended)"
echo " Native app with speech recognition and text-to-speech"
echo ""
echo " Claude will confirm it's ready, then just say:"
echo " 'I want to apply to Root Ventures'"
echo " [2] 💬 Text mode"
echo " Claude CLI chat interface"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# Check if Claude CLI is installed
# Try multiple ways to find claude (handles aliases, PATH, and direct installation)
CLAUDE_CMD=""

if command -v claude &> /dev/null; then
CLAUDE_CMD="claude"
elif [ -f "$HOME/.claude/local/claude" ]; then
CLAUDE_CMD="$HOME/.claude/local/claude"
elif [ -f "/usr/local/bin/claude" ]; then
CLAUDE_CMD="/usr/local/bin/claude"
fi

if [ -z "$CLAUDE_CMD" ]; then
echo "⚠️ Claude CLI not found."
echo ""
echo "📦 Installing Claude CLI..."
echo ""

# Install Claude CLI using official installer
echo "Installing Claude CLI..."
curl -fsSL https://claude.ai/install.sh | bash

# Add to PATH if not already there
if ! command -v claude &> /dev/null; then
export PATH="$HOME/.claude/local:$PATH"

# Add to shell profile
SHELL_PROFILE=""
if [ -f "$HOME/.zshrc" ]; then
SHELL_PROFILE="$HOME/.zshrc"
elif [ -f "$HOME/.bashrc" ]; then
SHELL_PROFILE="$HOME/.bashrc"
elif [ -f "$HOME/.bash_profile" ]; then
SHELL_PROFILE="$HOME/.bash_profile"
read -p "Enter choice (1 or 2): " choice </dev/tty

case $choice in
1)
# Voice mode - build and run VUI
echo ""
echo "🎙️ Starting voice mode..."
echo ""

# Check for Rust
if ! command -v cargo &> /dev/null; then
echo "📦 Rust not found. Installing via rustup..."
echo ""
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
echo ""
echo "✅ Rust installed successfully!"
echo ""
fi

if [ -n "$SHELL_PROFILE" ]; then
if ! grep -q "/.claude/local" "$SHELL_PROFILE"; then
echo 'export PATH="$HOME/.claude/local:$PATH"' >> "$SHELL_PROFILE"
echo "✅ Added Claude CLI to PATH in $SHELL_PROFILE"
fi
# Clone repo if needed, or use current dir if already in it
if [ -f "vui/Cargo.toml" ]; then
cd vui
elif [ -f "Cargo.toml" ] && grep -q 'name = "vui"' Cargo.toml; then
: # already in vui directory
else
TEMP_DIR=$(mktemp -d)
echo "📥 Downloading voice app..."
git clone --depth 1 https://github.com/rootvc/claude-apply-skill.git "$TEMP_DIR"
cd "$TEMP_DIR/vui"
echo ""
fi
fi

# Verify installation
if command -v claude &> /dev/null; then
CLAUDE_CMD="claude"
echo "🔨 Building voice app (this may take a minute)..."
echo ""
echo "✅ Claude CLI installed successfully!"
cargo build --release

echo ""
elif [ -f "$HOME/.claude/local/claude" ]; then
CLAUDE_CMD="$HOME/.claude/local/claude"
echo "✅ Build complete!"
echo ""
echo "✅ Claude CLI installed successfully!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
else
echo " Launching voice app..."
echo ""
echo "❌ Claude CLI installation failed."
echo "Please install manually from: https://claude.ai/download"
echo " Just start talking when you see the circle!"
echo ""
echo "After installing, run this to apply:"
echo " claude 'Read ~/.claude/skills/root-ventures-apply/prompt.txt then I want to apply'"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
exit 1
fi
fi
sleep 1
./target/release/vui
;;

2)
# Text mode - install Claude CLI skill
echo ""
echo "💬 Installing text mode skill..."
echo ""

# Create skills directory if it doesn't exist
mkdir -p "$SKILL_DIR"

# Download files
echo "📥 Downloading skill files..."
curl -fsSL "$REPO_URL/skill.json" -o "$SKILL_DIR/skill.json"
curl -fsSL "$REPO_URL/prompt.txt" -o "$SKILL_DIR/prompt.txt"
curl -fsSL "$REPO_URL/apply.sh" -o "$SKILL_DIR/apply.sh"
curl -fsSL "$REPO_URL/README.md" -o "$SKILL_DIR/README.md"

# Launch Claude with the skill pre-loaded
sleep 1
exec "$CLAUDE_CMD" "Read ~/.claude/skills/root-ventures-apply/prompt.txt"
# Make apply.sh executable
chmod +x "$SKILL_DIR/apply.sh"

echo ""
echo "✅ Root Ventures Apply Skill installed successfully!"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo " Launching Claude..."
echo ""
echo " Claude will confirm it's ready, then just say:"
echo " 'I want to apply to Root Ventures'"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# Check if Claude CLI is installed
# Try multiple ways to find claude (handles aliases, PATH, and direct installation)
CLAUDE_CMD=""

if command -v claude &> /dev/null; then
CLAUDE_CMD="claude"
elif [ -f "$HOME/.claude/local/claude" ]; then
CLAUDE_CMD="$HOME/.claude/local/claude"
elif [ -f "/usr/local/bin/claude" ]; then
CLAUDE_CMD="/usr/local/bin/claude"
fi

if [ -z "$CLAUDE_CMD" ]; then
echo "⚠️ Claude CLI not found."
echo ""
echo "📦 Installing Claude CLI..."
echo ""

# Install Claude CLI using official installer
echo "Installing Claude CLI..."
curl -fsSL https://claude.ai/install.sh | bash

# Add to PATH if not already there
if ! command -v claude &> /dev/null; then
export PATH="$HOME/.claude/local:$PATH"

# Add to shell profile
SHELL_PROFILE=""
if [ -f "$HOME/.zshrc" ]; then
SHELL_PROFILE="$HOME/.zshrc"
elif [ -f "$HOME/.bashrc" ]; then
SHELL_PROFILE="$HOME/.bashrc"
elif [ -f "$HOME/.bash_profile" ]; then
SHELL_PROFILE="$HOME/.bash_profile"
fi

if [ -n "$SHELL_PROFILE" ]; then
if ! grep -q "/.claude/local" "$SHELL_PROFILE"; then
echo 'export PATH="$HOME/.claude/local:$PATH"' >> "$SHELL_PROFILE"
echo "✅ Added Claude CLI to PATH in $SHELL_PROFILE"
fi
fi
fi

# Verify installation
if command -v claude &> /dev/null; then
CLAUDE_CMD="claude"
echo ""
echo "✅ Claude CLI installed successfully!"
echo ""
elif [ -f "$HOME/.claude/local/claude" ]; then
CLAUDE_CMD="$HOME/.claude/local/claude"
echo ""
echo "✅ Claude CLI installed successfully!"
echo ""
else
echo ""
echo "❌ Claude CLI installation failed."
echo "Please install manually from: https://claude.ai/download"
echo ""
echo "After installing, run this to apply:"
echo " claude 'Read ~/.claude/skills/root-ventures-apply/prompt.txt then I want to apply'"
echo ""
exit 1
fi
fi

# Launch Claude with the skill pre-loaded
sleep 1
exec "$CLAUDE_CMD" "Read ~/.claude/skills/root-ventures-apply/prompt.txt"
;;

*)
echo ""
echo "❌ Invalid choice. Please run again and enter 1 or 2."
echo ""
exit 1
;;
esac
2 changes: 2 additions & 0 deletions vui/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
Loading