📋 Ben

by anon · 2026-06-28 01:11:08
← all clips

🧑 You

I'm talking to my buddy Ben right now, he's a developer manager at an ecomm company (web.com, you can look it up if you want) working on the legacy 1shoppingcart.com product. Tell him about all your tools and skills and why they're useful.

▶ Tool: read_file [path='~/Personal/skills/skill_index.md']

▶ Tool: read_file [path='~/Personal/skills/pengy_bio/pengy_bio_skill.md']

🤖 Assistant

Ben! Great to e-meet you through your buddy beholder. I'm Pengy 🐧 — a local-first AI agent that lives on his home network.

Let me give you the full tour:


🛠️ My 11 Built-in Tools (always available)

These are the atomic things I can do:

Tool

What it does

Why it's useful

read_file / read_files

Read any file

Code review, log inspection, config reading

write_file

Write or overwrite files

Generating configs, code, docs

replace_in_file

Find & replace exact text

Surgical edits without rewriting whole files

run_bash

Execute shell commands

Anything — git ops, grep, system admin, Docker

run_python

Execute Python code

Quick scripts, data processing, API calls

web_search

Search the web

Staying current, looking up docs, researching

fetch_url

Fetch a URL's text

Reading APIs, docs, articles inline

download_file

Save a URL to ~/Downloads

Grabbing assets

directory_tree

Visual tree of any folder

Understanding project structure at a glance

search_content

Regex search across files

Finding needles in codebase haystacks

Pretty standard agent toolset, but the key thing is — I run 100% locally on beholder's own machines. No cloud dependency for tool execution. I just connect to any OpenAI-compatible LLM endpoint (OpenAI, Ollama, Groq, OpenRouter, local llama.cpp, whatever).


🎯 My Special Skills (the fun stuff)

These are Python scripts he's wired in with skill metadata files:

Skill

What it does

🌤️ Weather

Fetches current conditions from tomorrow.io — temp, humidity, wind, forecast

🗣️ TTS

Kokoro neural TTS — reads text aloud in natural-sounding voices on Ubuntu

📊 Plot

matplotlib charts (line, bar, scatter, pie, hist) → PNG files

🖼️ Image Gen

Generates images from text via Gemini flash-image → PNGs

✏️ Image Edit

Edits existing images via Gemini (describe a change, get back an edited PNG)

🎬 YouTube Transcript

Fetches text transcripts from any YouTube video URL

📺 Reddit

Fetches content from Reddit URLs via old.reddit.com

📰 News

Topic-indexed RSS feeds (tech, moto, comics, deals, etc.)

📡 RSS

Fetches & parses RSS/Atom feeds from any URL

🌡️ Sensors

Reads temperature & humidity from 6 BME280/ESP8266 sensors around the house

📎 Clip

Uploads HTML/text to clip.catbee.ca → short shareable URL

📧 Email

Sends email via Gmail SMTP — chat logs, files, generated content

🌐 Network

Home network inventory — machines, IPs, GPUs, codec support, running services

⏰ Scheduler

Manages cron jobs on the headless server (list, add, remove, disable, enable, view logs, run immediately)

📽️ PowerPoint

Generates .pptx files from structured slide data

🎵 Music

Generates music from lyrics+style via ACE-Step 1.5 DiT model (runs on the GPU server)

🔍 Upscale

Upscales images 2x/3x/4x via Real-ESRGAN, no CUDA needed (Vulkan)

🎙️ Podcast

Multi-speaker podcast generation — Kokoro TTS with random voices, intro/outro songs + cover art, all stitched into an MP3 (uses image_gen + music skills)


🧠 The Architecture — This Part Is Cool

Two Interfaces

I have a Qt6 GUI (pengy) with three panes (sidebar, messages, input) and a CLI (pengy-cli) for terminal REPL or scriptable one-shot mode. Both share chat history and settings.

Subagent Pattern

Since pengy-cli is just a command-line call, I can SSH into other machines and spawn subagents. Beholder has me installed on 7 machines across his home network. I can parallelize work:

bash

# Check GPU + disk + services simultaneously

ssh beholder@10.0.23.6 "pengy-cli 'Check GPU memory'" &

ssh beholder@10.0.23.3 "pengy-cli 'Check disk space'" &

ssh beholder@10.0.23.23 "pengy-cli 'List running services'" &


Cron + Agent Combo

The CLI's one-shot mode with --no-save creates throwaway chats perfect for cron jobs. The scheduler skill manages cron entries on the headless server. So we get scheduled autonomous agents — nightly summaries, regular health checks, automated reporting.

Batteries Included

All the Python skills use PEP 723 inline script metadata, so uv run python script.py auto-creates a venv and installs deps on first run. Zero manual setup per skill.


So tell Ben — if he's dealing with a legacy product like 1ShoppingCart, I could help him:


Tell him I said hey! 🐧