pangoleen

PyClaw — Development skill for Claude Code

Development community

Minimal OpenClaw implementation in Python (~500 lines).

How to install PyClaw

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

What PyClaw does

Minimal OpenClaw implementation in Python (~500 lines).

Alternatives in Development

  • Template Skill — Minimal skeleton for a new skill project structure 97.5k ★
  • T3code — A minimal web GUI for coding agents 7.9k ★
  • Call Me — Minimal plugin that lets Claude Code call you on the phone 2.5k ★

README

PyClaw

I was fascinated by [OpenClaw](https://openclaw.ai/) and its potential, but wanted to deeply understand how it worked. So I built this.

PyClaw is a minimal educational implementation of OpenClaw in Python (~500 lines) that uses WhatsApp for interactions. Clean, readable code — simplicity and clarity over features.

PyClaw in action

**Design philosophy:** At every decision point, we chose the simplest option that works:

  • Polling instead of webhooks — no server needed, just a loop
  • SQLite instead of a database server — zero setup, single file
  • Per-folder isolation instead of complex permissions — Claude just runs in different directories

Architecture Overview

┌─────────────┐      ┌─────────────┐      ┌─────────────┐
│  WhatsApp   │ ───▶ │   SQLite    │ ───▶ │  Poll Loop  │
│  (Neonize)  │      │  (messages) │      │ (every 2s)  │
└─────────────┘      └─────────────┘      └──────┬──────┘
                                                  │
                     ┌────────────────────────────┘
                     ▼
              ┌─────────────┐     ┌─────────────────┐
              │  Registered │ NO  │                 │
              │    chat?    │────▶│     Skip        │
              └──────┬──────┘     └─────────────────┘
                     │ YES
                     ▼
              ┌─────────────┐     ┌─────────────────┐
              │  @PyClaw    │ NO  │                 │
              │  trigger?   │────▶│     Skip        │
              └──────┬──────┘     └─────────────────┘
                     │ YES
                     ▼
              ┌─────────────┐      ┌─────────────┐
              │ Claude SDK  │ ───▶ │  WhatsApp   │
              │ (in folder) │      │  Response   │
              └─────────────┘      └─────────────┘

What Does a Personal AI Assistant Need?

Before diving into code, let's think about what we're building:

1