Skip to main content

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. This is not a chatbot. This is an agent that wakes up at 6 AM, researches your competitors, builds a knowledge graph, scores the findings, and delivers a report to your Telegram before you’ve had coffee. Traditional agent frameworks wait for you to type something. Hands work for you.

How Hands Work

Each Hand bundles four components:
  1. HAND.toml — Manifest declaring tools, settings, requirements, and dashboard metrics
  2. System Prompt — Multi-phase operational playbook (500+ word expert procedures)
  3. SKILL.md — Domain expertise reference injected into context at runtime
  4. Guardrails — Approval gates for sensitive actions (e.g., Browser Hand requires approval before any purchase)
All compiled into the binary. No downloading, no pip install, no Docker pull.

The 7 Bundled Hands

Clip Hand

Turns long-form videos into viral short clips with captions, thumbnails, and optional AI voice-over. 8-phase pipeline with FFmpeg + yt-dlp + 5 STT backends.

Lead Hand

Discovers prospects matching your ICP, enriches them with web research, scores 0-100, deduplicates, and delivers qualified leads daily.

Collector Hand

OSINT-grade intelligence collector. Monitors targets continuously with change detection, sentiment tracking, and knowledge graph construction.

Predictor Hand

Superforecasting engine. Makes calibrated predictions with confidence intervals and tracks its own accuracy using Brier scores.

Researcher Hand

Deep autonomous researcher. Cross-references multiple sources, evaluates credibility using CRAAP criteria, generates cited reports.

Twitter Hand

Autonomous Twitter/X manager. Creates content in 7 rotating formats, schedules posts, responds to mentions, tracks performance.

Browser Hand

Web automation agent. Navigates sites, fills forms, handles multi-step workflows with mandatory purchase approval gate.

Hands Comparison Table

HandCategoryWhat It DoesRuns On ScheduleRequires API Key
ClipContentVideo → viral shortsNo (on-demand)Optional (STT/TTS)
LeadDataLead generationYes (daily/weekly)No
CollectorDataIntelligence monitoringYes (hourly-weekly)No
PredictorDataForecasting & predictionsYes (weekly/monthly)No
ResearcherProductivityDeep research reportsNo (on-demand)No
TwitterCommunicationSocial media managementYes (1-5x daily)Yes (Twitter API)
BrowserProductivityWeb automationNo (on-demand)No

Activating Hands

# Activate a Hand — it starts working immediately
openfang hand activate researcher

# Check status
openfang hand status researcher

# Activate with custom settings
openfang hand activate lead --settings "target_industry=SaaS,company_size=startup"

# Pause without losing state
openfang hand pause lead

# See all available Hands
openfang hand list

# View Hand configuration
openfang hand info clip

Managing Hands

Configuration

Each Hand exposes configurable settings in its HAND.toml manifest. You can update these via:
  • CLI: openfang hand configure researcher --set research_depth=exhaustive
  • Dashboard: Navigate to Hands → [Hand Name] → Settings
  • Config file: Edit ~/.openfang/hands/[hand-id].toml

Scheduling

Hands create their own schedules based on their configuration:
# View all scheduled tasks
openfang hand schedules

# Manually trigger a scheduled Hand
openfang hand run lead

# Disable scheduling (manual-only mode)
openfang hand configure lead --set delivery_schedule=manual

Dashboard Metrics

Every Hand tracks its own performance metrics:
# View Hand metrics
openfang hand metrics researcher

# Reset metrics
openfang hand reset-metrics researcher
Metrics are also visible in the web dashboard at http://localhost:4200/hands.

Building Custom Hands

You can create your own Hands by defining a HAND.toml manifest:
id = "analyst"
name = "Financial Analyst Hand"
description = "Autonomous stock market analyst"
category = "finance"
icon = "📈"
tools = ["web_fetch", "web_search", "memory_store", "knowledge_add_entity"]

[[settings]]
key = "target_stocks"
label = "Target Stocks"
description = "Comma-separated ticker symbols to monitor"
setting_type = "text"
default = "AAPL,GOOGL,MSFT"

[agent]
name = "analyst-hand"
module = "builtin:chat"
provider = "default"
model = "default"
max_tokens = 16384
temperature = 0.3
system_prompt = """You are Financial Analyst Hand..."""

[dashboard]
[[dashboard.metrics]]
label = "Stocks Analyzed"
memory_key = "analyst_hand_stocks_analyzed"
format = "number"
Place your HAND.toml in ~/.openfang/hands/analyst/HAND.toml and optionally add a SKILL.md for domain expertise. Then activate it:
openfang hand load analyst
openfang hand activate analyst

Publishing to FangHub

Share your custom Hands with the community:
# Package your Hand
openfang hand package analyst

# Publish to FangHub
openfang hand publish analyst --public

# Install a community Hand
openfang hand install fanghub:seo-optimizer

Best Practices

The 7 bundled Hands are battle-tested and cover most common use cases. Start here before building custom Hands.
For Hands that can take consequential actions (Browser, Twitter), use approval mode to review actions before they execute.
Scheduled Hands can rack up LLM costs. Set budget limits in your config and monitor the dashboard regularly.
Hands work best when their prompts follow a clear multi-phase structure. Study the built-in Hands for reference.
Don’t cram everything into the system prompt. Extract reference knowledge, templates, and examples into SKILL.md files.

Next Steps

Researcher Hand

Deep autonomous research with CRAAP source evaluation

Lead Hand

Automated lead generation on a schedule

Clip Hand

Turn videos into viral shorts

Browser Hand

Web automation with safety guardrails

Build docs developers (and LLMs) love