Hussein-Abdallah

Agentville — Development skill for Claude Code

Development community

Agentville shows your Claude Code sessions as little robots in a cozy illustrated town.

How to install Agentville

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Hussein-Abdallah/Agentville and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Agentville does

Agentville shows your Claude Code sessions as little robots in a cozy illustrated town. Each robot walks to the building for the folder it’s working in, shows what it’s doing in a speech bubble, and waves (with a notification) when it needs you. Runs locally: Claude Code hooks feed a Node + TypeScript service and a PixiJS page.

Alternatives in Development

  • Speech — Generate spoken audio from text using OpenAI's API with built-in voices 14.6k ★
  • Gastown Setup — Bootstrap a new Gas Town installation, optionally with the wbern/gastown-me-and-my-crew preset for manual-mode 168 ★
  • Google Tts — Text-to-speech narration and podcast generation using Google Cloud TTS 159 ★

README

Agentville

Your Claude Code sessions as little robots in a cozy town. Each robot walks to the building for the folder it's working in, shows what it's doing in a speech bubble, and waves (with a notification) when it needs you. Everything runs on your Mac.

First time

Needs Node.js 18 or newer (`node -v` to check; install from nodejs.org if missing).

git clone https://github.com/Hussein-Abdallah/Agentville.git
cd Agentville
npm install
npm run hooks:install     # connects Claude Code to Agentville (once)

`hooks:install` adds small hooks to `~/.claude/settings.json` (a backup is saved next to it first). They cover every Claude Code session on this Mac: terminal, VS Code and the desktop app. Each hook just sends the event to Agentville on your machine. It never blocks or slows Claude, and does nothing if Agentville isn't running.

After updating Agentville, run `npm run hooks:install` again to get any new hooks. It replaces Agentville's entries (backup first) and leaves your other hooks alone.

Every day

In the Agentville folder:

npm start                 # builds and opens http://localhost:4917

Then use Claude Code as usual. Each session appears as a robot. Sessions that were already open when you installed the hooks show up on their next action, with no restart.

Command What it does
npm start Build the app and run Agentville (opens the browser)
npm run simulate Send fake Claude Code events, to see it working without Claude
npm test Run the tests (Node's test runner; no server, sound or notification needed)
npm run typecheck Type-check the page, the service and the tests
npm run hooks:status Show whether the hooks are installed
npm run hooks:uninstall Remove the hooks from Claude Code (backup saved first)
npm run dev + npm run serve Development: live-reloading UI (port 5173) plus the service (port 4917)

Open `http://localhost:4917/?demo` (or the app with