🐍 Personal AI agent in pure Python — OpenClaw reimagined. Memory, RAG, skills marketplace, cron, voice. Telegram/Discord/WhatsApp/Web. Works with DeepSeek, Claude, Gemini, Kimi, GLM, Ollama.
Manage Trello boards, lists, and cards via the Trello REST API. Use when: user asks to create/move/list Trello cards, check board status, manage task lists, or organise project work in Trello. NOT for: Notion databases (use notion skill), GitHub issues (use github skill), or local task lists.
Modify the agent's personality and role (persona.md). Use when: user wants to change agent personality, communication style, focus area, or specialization. NOT for: changing user name or core identity (use changesoul), or first-time setup (use onboarding).
Modify pythonclaw.json configuration at runtime. Use when: user wants to set API keys, tokens, change LLM provider, adjust web port, or update any config value. NOT for: editing code, changing soul/persona files, or modifying skill files.
Modify the agent's core identity (soul.md). Use when: user wants to change their name, core values, language preference, or fundamental agent behavior. NOT for: changing personality/style (use changepersona), first-time setup (use onboarding), or API/config (use changesetting).
Track and display LLM token usage, costs, and model statistics. Use when: user asks about token usage, API costs, how many messages were sent, or model performance stats. NOT for: changing the model or provider (use changesetting), or viewing conversation content (use sessionlogs).
First-time setup wizard that collects user name, agent personality, focus area, and language preference, then writes soul.md and persona.md. Use when: agent starts for the first time with no soul/persona configured, or user says reconfigure, setup, change my agent. NOT for: incremental edits to persona or soul (use…
Generate random numbers, UUIDs, passwords, or pick random items from a list. Use when: user needs a random integer/float, UUID, password, or random choice from options. NOT for: cryptographic randomness, shuffling large datasets, or seeded/reproducible randomness.
Search and analyse your own conversation history from session files. Use when: user references older conversations, asks what was said before, or needs historical context from past sessions. NOT for: current session messages (already in context), non-session files, or external logs.
Get current date, time, timezone, Unix timestamp, or convert between timezones. Use when: user asks what time it is, what date today, timezone conversion, or Unix timestamp. NOT for: scheduling/calendar logic, cron syntax, or historical date arithmetic.
Translate text between 100+ languages with automatic source detection. Use when: the user asks to translate text, detect a language, or work with multilingual content. NOT for: translating code/documentation in bulk, summarization, or rewriting text in the same language.
Summarize or extract text from URLs, articles, PDFs, and local files. Use when: user asks to summarize a link, article, web page, or document, or asks 'what is this link about?'. NOT for: YouTube transcripts (use youtube skill), full document editing, or real-time news (use news skill).
Advanced web search using the Tavily API via built-in websearch tool. Use when: the user asks to search the web, look up current events, find real-time info, research a topic, check facts, or retrieve data from the internet. NOT for: scraping specific page content (use webscraper), calling APIs (use httprequest).