What Are Hands?
Hands are OpenFang’s core innovation — pre-built autonomous capability packages that run independently, on schedules, without you having to prompt them. Traditional agents wait for you to type something. Hands work for you.A Hand is not just an agent — it’s a complete capability bundle: manifest, system prompt, skills, tools, requirements, settings schema, and dashboard metrics.
Hands vs Regular Agents
Example: Lead Generation Hand
Example: Lead Generation Hand
You activate the Lead Hand once:From that moment:
- It runs daily at 6 AM
- Scrapes your ICP (Ideal Customer Profile) from web sources
- Enriches prospects with company data, social profiles, and contact info
- Scores each lead 0-100 using your criteria
- Deduplicates against your existing database
- Delivers a CSV/JSON report to your configured channel (Telegram, email, etc.)
The 7 Bundled Hands
OpenFang ships with 7 production-ready Hands:Clip Hand
Category: Content
Takes YouTube URLs, downloads videos, identifies highlights, cuts vertical shorts with captions/thumbnails, adds AI voice-over, publishes to Telegram/WhatsApp. 8-phase pipeline. Supports FFmpeg, yt-dlp, 5 STT backends.
Takes YouTube URLs, downloads videos, identifies highlights, cuts vertical shorts with captions/thumbnails, adds AI voice-over, publishes to Telegram/WhatsApp. 8-phase pipeline. Supports FFmpeg, yt-dlp, 5 STT backends.
Lead Hand
Category: Productivity
Daily prospect discovery matching your ICP. Enriches with web research, scores 0-100, deduplicates, delivers qualified leads. Builds ICP profiles over time.
Daily prospect discovery matching your ICP. Enriches with web research, scores 0-100, deduplicates, delivers qualified leads. Builds ICP profiles over time.
Collector Hand
Category: Security
OSINT-grade intelligence gathering. Monitors companies/people/topics continuously. Change detection, sentiment tracking, knowledge graph construction, critical alerts.
OSINT-grade intelligence gathering. Monitors companies/people/topics continuously. Change detection, sentiment tracking, knowledge graph construction, critical alerts.
Predictor Hand
Category: Data
Superforecasting engine. Collects signals from multiple sources, builds calibrated reasoning chains, makes predictions with confidence intervals, tracks accuracy using Brier scores. Has contrarian mode.
Superforecasting engine. Collects signals from multiple sources, builds calibrated reasoning chains, makes predictions with confidence intervals, tracks accuracy using Brier scores. Has contrarian mode.
Researcher Hand
Category: Productivity
Deep autonomous researcher. Cross-references multiple sources, evaluates credibility using CRAAP criteria, generates cited reports with APA formatting, supports multiple languages.
Deep autonomous researcher. Cross-references multiple sources, evaluates credibility using CRAAP criteria, generates cited reports with APA formatting, supports multiple languages.
Twitter Hand
Category: Communication
Autonomous Twitter/X account manager. Creates content in 7 rotating formats, schedules posts for optimal engagement, responds to mentions, tracks performance. Has approval queue.
Autonomous Twitter/X account manager. Creates content in 7 rotating formats, schedules posts for optimal engagement, responds to mentions, tracks performance. Has approval queue.
Browser Hand
Category: Productivity
Web automation agent. Navigates sites, fills forms, clicks buttons, handles multi-step workflows. Uses Playwright bridge with session persistence. Mandatory purchase approval gate.
Web automation agent. Navigates sites, fills forms, clicks buttons, handles multi-step workflows. Uses Playwright bridge with session persistence. Mandatory purchase approval gate.
Hand Definition (HAND.toml)
Every Hand is defined by aHAND.toml manifest:
Hand Settings Schema
Hand Settings Schema
Settings are typed and validated before activation:At activation time, the kernel:
- Validates user-provided settings against the schema
- Resolves provider environment variables (e.g.,
GROQ_API_KEYfor a Groq option) - Injects a settings block into the agent’s system prompt
- Stores the config in the Hand instance
Hand Lifecycle
1
Discovery
User browses available Hands in the dashboard or CLI:Output:
2
Requirement Validation
Before activation, OpenFang checks all requirements:
- Binary requirements: Checks if
ffmpeg,whisper, etc. are on PATH - API key requirements: Checks if environment variables are set
- Env var requirements: Validates custom env vars
HAND.toml.3
Configuration
User provides settings in the activation modal (web UI) or via CLI flags:
4
Agent Spawning
The kernel:
- Creates a new
HandInstancewith a unique UUID - Resolves settings into a prompt block and env var list
- Spawns an agent using the Hand’s
agenttemplate - Injects the settings prompt block into the system prompt
- Grants the agent access to specified tools and skills
- Stores the instance in the Hand registry
5
Autonomous Execution
The Hand runs on its defined schedule (e.g., daily, hourly). The kernel sends the configured trigger message to the agent, which processes it through the normal agent loop.
6
Dashboard Updates
After each run, the Hand writes metrics to its structured memory:The dashboard queries these keys and formats them according to the
dashboard.metrics schema.7
Pause/Resume
Users can pause a Hand without losing state:Paused Hands remain in the registry but don’t execute on schedule.
Hand Instance Management
Skill Injection
Hands can bundle a SKILL.md file with domain expertise. At runtime, this is injected into the agent’s context:Guardrails & Approval Gates
Some Hands have mandatory approval gates for sensitive actions:Browser Hand Purchase Protection
Browser Hand Purchase Protection
The Browser Hand has a built-in purchase detector:Before any purchase-like action:
- Agent pauses execution
- Sends approval request to user via configured channel
- Waits for explicit
approveordenyresponse - Times out after 5 minutes if no response
Twitter Hand Approval Queue
Twitter Hand Approval Queue
Every tweet goes into an approval queue before posting:Output:Approve individually or in batch:
Custom Hands
You can build your own Hands:1
Create HAND.toml
2
Add SKILL.md (optional)
Create a
SKILL.md file with domain expertise. This will be injected into the agent’s context at runtime.3
Test Locally
4
Publish to FangHub
Dashboard Metrics
Hands define custom metrics that appear in the dashboard:number: Raw integer displayduration: Formats seconds as “2h 15m”bytes: Formats bytes as “1.5 GB”currency: Formats as “$12.50”percent: Formats 0.85 as “85%“
Next Steps
Build a Hand
Step-by-step guide to creating your first Hand
Hand API Reference
Full API documentation for Hand management
Security
Understand guardrails and approval gates
Agent Lifecycle
Learn how Hand agents are spawned and managed