Files
librefang-registry/hands
Evan 05bdf02169 feat(workflows): expand template library from 9 to 22 + multiline string cleanup (#36)
* feat(workflows): add 13 workflow templates across engineering, business, and productivity

Engineering:
- bug-triage: reproduce path → root cause → fix plan
- api-design: resource model → endpoints → OpenAPI spec
- incident-postmortem: timeline → RCA → full postmortem report
- test-generation: code analysis → edge cases → full test suite
- refactor-plan: smell analysis → prioritised opportunities → migration plan

Business:
- competitor-analysis: profiles → SWOT → strategy report
- product-spec: problem definition → user stories → full PRD
- market-research: landscape → segments → research report

Productivity/Thinking:
- meeting-summary: raw notes → structured summary → follow-up email
- decision-matrix: criteria → weighted scoring → recommendation memo
- learning-plan: gap analysis → roadmap → week-1 day-by-day plan
- job-application: job analysis → tailored resume → cover letter → interview prep
- blog-post: research → outline → draft → SEO optimisation

Closes #1912 on librefang/librefang

* fix(workflows): overhaul existing 9 templates

- data-pipeline: redesigned — original 'extract from URL' step was
  broken (LLMs cannot fetch URLs); replaced with paste-data approach
  (profile → clean_transform → analyse) with analysis_goal parameter
- translate-polish: added target_language and register parameters;
  added back-translation step for accuracy verification
- weekly-report: added team/audience parameters, richer extraction
  step, added Metrics and Notes sections
- content-pipeline: added audience/tone parameters, added outline step
  between research and writing
- content-review: fix category 'content' → 'creation'
- customer-support: fix category 'support' → 'business'

* style(workflows): convert all prompt_template strings to TOML multiline syntax

Replace \n escape sequences with real newlines using triple-quote
multiline strings ("""...""") across all 22 workflow templates.
No content changes — formatting only.

* style(hands): replace \n escape in reddit writer format example with multiline code block
2026-04-01 18:21:09 +08:00
..

Hands

Hand definitions for LibreFang. Hands are the user-facing "apps" -- higher-level application bundles that package an agent with tools, settings, dashboard metrics, and dependency requirements.

"You have many hands helping you." -- Hands are how LibreFang users interact with specialized capabilities.

Structure

hands/
├── browser/
│   ├── HAND.toml    # Hand definition
│   └── SKILL.md     # Expert knowledge for the agent
├── trader/
│   ├── HAND.toml
│   └── SKILL.md
└── ...

HAND.toml Format

id = "hand-id"                   # Must match directory name
name = "Hand Name"
description = "What this hand does"
category = "productivity"         # communication | content | data | development |
                                  # devops | finance | productivity | research | social
icon = "🔧"
tools = ["tool1", "tool2"]

[routing]
aliases = ["activate phrases"]
weak_aliases = ["keyword hints"]

[[requires]]                      # External dependencies
key = "python3"
requirement_type = "binary"
check_value = "python3"

[[settings]]                      # User-configurable options
key = "headless"
setting_type = "toggle"
default = "true"

[agent]                           # The agent powering this hand
name = "hand-agent"
module = "builtin:chat"
system_prompt = """..."""

# Optional: i18n for name, description, category, and settings
# Supported languages: zh, ja, ko, es, fr, de
[i18n.zh]
name = "浏览器 Hand"
description = "自主网页浏览器"
category = "生产力"

[i18n.zh.settings.headless]      # Per-setting label/description translation
label = "无头模式"
description = "在后台运行浏览器"

[dashboard]                       # Dashboard metrics
[[dashboard.metrics]]
label = "Tasks Completed"
memory_key = "metric_key"
format = "number"

Current Hands (14)

Hand Category Description
analytics data Data analytics, visualization, dashboards, and automated reporting
apitester development API testing, endpoint discovery, load testing, and regression detection
browser productivity Web navigation, form filling, and multi-step web tasks
clip content Turns long-form video into short clips with captions and thumbnails
collector data Intelligence collection, change detection, and knowledge graphs
devops development CI/CD management, infrastructure monitoring, and incident response
lead data Lead generation, enrichment, scoring, and scheduled delivery
linkedin communication LinkedIn content creation, networking, and engagement
predictor data Signal collection, calibrated predictions, and accuracy tracking
reddit communication Subreddit monitoring, content posting, and engagement tracking
researcher productivity Deep research, cross-referencing, fact-checking, and reports
strategist productivity Market research, competitive analysis, and strategic planning
trader data Market intelligence, multi-signal analysis, and risk management
twitter communication Twitter/X content creation, scheduling, and performance tracking

Adding a New Hand

  1. Create hands/<name>/HAND.toml and SKILL.md (expert knowledge for the agent)
  2. Ensure id matches the directory name
  3. Run python scripts/validate.py
  4. Submit a PR

See CONTRIBUTING.md for the full guide.