How to Build an AI Multi-Agent Team That Automatically Generates Company Websites: A Complete ClawTeam Setup Guide
If you’ve ever built a website for a business, you know how tedious the process is — gathering materials, researching keywords, writing copy, coding pages, checking links. Every step takes time, and doing them all at once feels impossible.
That’s exactly the problem ClawTeam is designed to solve: multiple AI agents working in parallel, like a real team, each handling a different part of the job automatically.
This guide walks through the complete process of setting up ClawTeam on Windows from scratch and using it to automatically generate a static business website.
What Is ClawTeam?
ClawTeam is an open-source CLI tool developed by the Data Intelligence Lab at the University of Hong Kong (HKUDS). The core idea is straightforward: a Leader AI Agent automatically assembles a team of sub-agents, assigns tasks, monitors progress, and coordinates results.
You define the goal. The agent team handles everything else.
It supports Claude Code, Codex, OpenClaw, nanobot, and other mainstream CLI agents. Each agent gets its own isolated workspace via Git Worktree, so parallel workstreams don’t collide.
Project repository: github.com/HKUDS/ClawTeam
One Thing Windows Users Must Know Before Starting
ClawTeam depends on tmux and Linux system calls (such as fcntl). It cannot run directly in a native Windows environment.
If you try running it in PowerShell, you’ll immediately hit this error:
ModuleNotFoundError: No module named 'fcntl'
This isn’t a bug — it’s a design constraint. The only reliable solution is to run ClawTeam inside WSL2 (Windows Subsystem for Linux).
Setting Up the Environment: Step by Step
Step 1: Check Your WSL Status
Open PowerShell and list installed WSL distributions:
wsl --list --verbose
If you only see docker-desktop, you don’t have a usable Linux environment yet and will need to install Ubuntu.
Step 2: Install Ubuntu (On a Drive With Enough Space)
The C drive tends to fill up quickly. Installing Ubuntu on a secondary drive is the smarter move:
# Install Ubuntu
wsl --install -d Ubuntu --no-launch
# Export to your preferred drive
mkdir F:\WSL\Ubuntu
wsl --export Ubuntu F:\WSL\Ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu F:\WSL\Ubuntu F:\WSL\Ubuntu.tar
Then launch Ubuntu:
wsl -d Ubuntu
Step 3: Install tmux
Once inside WSL:
sudo apt-get update && sudo apt-get install -y tmux
tmux -V # Should output tmux 3.x
Step 4: Install Node.js and Claude Code
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
# Install the LTS version of Node.js
nvm install --lts
node --version # Confirm the installation
# Install Claude Code
npm install -g @anthropic-ai/claude-code
claude --version # Should display the version number
Step 5: Install ClawTeam
cd /mnt/f/python_workspace/ClawTeam # Replace with your actual project path
pip install -e . --break-system-packages --ignore-installed
# Verify
clawteam --help
If you see the full command list, the installation is complete.
Troubleshooting Common Issues
Issue 1: WSL Disk Space Is Full
Alpine Linux defaults to roughly 130MB of disk space, which fills up fast. The fix is to switch to Ubuntu (as described above) or clear the package cache:
rm -rf /var/cache/apk/*
Issue 2: tmux Sessions Disappear Immediately
This happens when Claude Code encounters a “Do you trust this folder?” prompt and exits because no one responds. Two fixes:
Pre-trust the working directory manually:
mkdir -p /root/.clawteam/workspaces/seo-site/parser
cd /root/.clawteam/workspaces/seo-site/parser
claude # Enter manually and confirm the trust prompt
Fix the permissions in settings.json:
cat > ~/.claude/settings.json << 'EOF'
{
"permissions": {
"allow": [
"Bash(*)",
"Read(*)",
"Write(*)",
"Edit(*)"
]
}
}
EOF
Issue 3: Windows Claude Code Won’t Work Inside WSL
Even if Claude Code is already installed on Windows, WSL can’t reuse it — Windows Node.js can’t correctly resolve WSL paths. The cleanest solution is to install a separate Node.js and Claude Code stack inside WSL. They won’t interfere with each other.
Issue 4: Git Worktree Branch Already Exists
If a previous agent wasn’t cleaned up properly, re-spawning will throw:
fatal: a branch named 'clawteam/seo-site/parser' already exists
Delete the leftover branch:
git -C /your/project/path branch -D clawteam/seo-site/parser
Real-World Use Case: Generating a Static Business Website With an AI Team
The Goal
Input: A mix of company materials (PDF, Word, Excel, TXT files)
Output: A search-engine-ready static English website (HTML)
How the Team Is Structured
Company files (input/)
↓
Parser Agent → Extract structured company data → company_data.json
↓
SEO Agent → Keyword strategy, page titles, internal linking → seo_strategy.json
GEO Agent → JSON-LD Schema, FAQ pairs → geo_assets.json (runs in parallel with SEO)
↓
Writer Agent → Generate English copy for all pages → page_copy.json
↓
Frontend Agent → Assemble everything into a complete HTML website
↓
Auditor Agent → Validate meta tags, Schema markup, links, alt text
Execution: Command by Command
Prepare the directory structure:
mkdir -p /mnt/f/python_workspace/seo-project/input
mkdir -p /mnt/f/python_workspace/seo-project/output
# Place all company material files into the input/ folder
Create the team:
clawteam team spawn-team seo-site \
-d "Generate SEO/GEO optimized static HTML website from company files" \
-n leader
Launch the Parser Agent:
clawteam spawn tmux claude --team seo-site --agent-name parser \
--task "Read ALL files in /mnt/f/python_workspace/seo-project/input/. \
Extract: company name, tagline, products/services, unique selling points, team info, \
contact details, certifications, and case studies. \
Output structured JSON to /mnt/f/python_workspace/seo-project/company_data.json"
Once company_data.json is generated, launch the SEO and GEO Agents in parallel:
clawteam spawn tmux claude --team seo-site --agent-name seo \
--task "Read company_data.json. Create an SEO strategy covering: target keywords, \
title tags, meta descriptions, H1/H2/H3 heading structure, internal linking plan, \
and URL slugs. Output to seo_strategy.json"
clawteam spawn tmux claude --team seo-site --agent-name geo \
--task "Read company_data.json. Generate GEO assets: JSON-LD schema markup \
(Organization, Product, FAQ, BreadcrumbList), 20+ FAQ pairs optimized for \
AI citation, and clear entity definitions. Output to geo_assets.json"
Launch the Writer Agent:
clawteam spawn tmux claude --team seo-site --agent-name writer \
--task "Read company_data.json and seo_strategy.json. Write English copy for \
5 pages: index, about, services, faq, and contact. Each page needs an H1, \
supporting H2/H3 subheadings, body copy, and a call-to-action. \
Tone: professional and conversion-focused. Output to page_copy.json"
Launch the Frontend Agent:
clawteam spawn tmux claude --team seo-site --agent-name frontend \
--task "Read all JSON files in seo-project/. Build a complete static HTML website \
in output/. Requirements: responsive layout using CSS Grid and Flexbox, \
embed all JSON-LD in the <head>, include meta tags and Open Graph tags, \
optimize for Core Web Vitals, generate sitemap.xml and robots.txt, \
and interlink all 5 pages."
Launch the Auditor Agent:
clawteam spawn tmux claude --team seo-site --agent-name auditor \
--task "Audit the website in output/. Verify: each page has a unique title, \
meta description, and H1; JSON-LD validates correctly; all internal links work; \
images have alt text; mobile viewport is set; no duplicate content exists. \
Output an audit_report.md and fix any issues found."
Monitor progress:
# Terminal kanban board
clawteam board show seo-site
# Or launch the web dashboard
clawteam board serve --port 8080
# Open http://localhost:8080 in your browser
Final Output Structure
output/
├── index.html # Homepage
├── about.html # About Us
├── services.html # Products & Services
├── faq.html # FAQ (core GEO page)
├── contact.html # Contact
├── sitemap.xml # Sitemap for search engines
├── robots.txt # Crawler directives
└── assets/
└── style.css # Stylesheet
How ClawTeam Compares to Other Multi-Agent Frameworks
| Dimension | ClawTeam | Other Frameworks |
|---|---|---|
| Who operates it | The AI agents themselves | Humans write orchestration code |
| Infrastructure needed | File system + tmux | Redis, message queues, databases |
| Agent compatibility | Any CLI agent | Usually framework-specific |
| Workspace isolation | Git Worktree (real branches) | Containers or virtual environments |
| Setup effort | pip install + one prompt | Docker + YAML + cloud configuration |
Frequently Asked Questions
Do I need to know how to code to use ClawTeam?
The commands in this guide are copy-paste level. What matters more is understanding the overall workflow — you don’t need to read or write any code yourself.
How do agents share information with each other?
Primarily through shared JSON files on the filesystem. ClawTeam also has a built-in messaging system: clawteam inbox send. Each agent has a unique identity and can send messages directly to any other agent by name.
What happens if an agent fails midway?
You can restart individual agents without affecting work that’s already been completed. ClawTeam tracks task states — pending, in_progress, completed, and blocked — so you always know where things stand.
Will the generated website need manual editing?
The Auditor Agent automatically catches and fixes the most common issues. For specific requirements — brand colors, custom fonts, particular page layouts — specify them in the Frontend Agent’s task description upfront.
Does ClawTeam support languages other than English?
Yes. Change the language requirement in each agent’s task description and the framework handles the rest. There are no built-in language restrictions.
Can I use this workflow for other types of websites, not just company pages?
Absolutely. The same team structure works for landing pages, product pages, documentation sites, or any content that can be derived from structured source materials. Adjust the agent tasks to match what you’re building.
Final Thoughts
ClawTeam’s real value isn’t just “faster content generation.” It’s about breaking a complex, multi-person project into a set of parallel, automated tasks — and then getting out of the way.
For teams that regularly need to build company websites, landing pages, or content hubs from existing materials, this workflow pays dividends once it’s running smoothly. The initial setup on Windows is genuinely tedious, especially the WSL configuration and tmux trust issues. But those are one-time problems. Once the environment is stable, the day-to-day experience is clean.
If you run into issues along the way, ClawTeam’s GitHub Issues and Discussions pages are reasonably active. The troubleshooting section in this guide also covers the most common failure points based on real setup experience — not theoretical ones.

