Tabstack + OpenClaw sitting in a tree

TL;DR: I built a skill to hook OpenClaw up to Tabstack - and it seems like a pretty great upgrade to the web fetch tool it comes with out of the box. Oh yeah, and OpenClaw is not nearly as scary as the headlines make it out to be.

What's Tabstack?

For a bunch of months now, I've been working on a project called Tabstack. Haven't written much about it here yet, but I probably should start.

Tabstack is a kind of swiss-army knife API for accessing web content, extracting structured data, and performing actions. It's a bit like a headless browser in the cloud, but with a focus on being easy to use and integrate with other tools and agents.

Tabstack logo — white text and stacked-bars icon on a dark background with pink particle effects

Dipping a digit into OpenClaw

It's that last part - agents - that led me to check out this OpenClaw thing that has apparently been driving folks to buy pallet-loads of Mac Minis and destroy their inboxen. This thing reads like one of the most sensational Rube Goldberg assemblages of foot-guns I've ever heard of, so I'd kind of been avoiding it.

OpenClaw logo — a red crab-like mascot with the tagline "The AI that actually does things"

Nonetheless, I've been curious, and my team at work has wondered if Tabstack might fit somewhere into the OpenClaw ecosystem. So I decided to check it out.

With an abundance of caution, I installed it on a VM on its own VLAN and hooked it up to a self-hosted Mattermost instance for messaging. And there, it was just... fine. It didn't blow anything up or go rampant or take over my home automation system.

I wouldn't say it's a pinnacle of user-friendliness. But, if you don't give it the keys to your life or install sketchy skills, it doesn't do much.

Building a Tabstack skill

But, speaking of skills, I tried building one to hook it up to Tabstack:

The skill consists basically of a little script wrapper around the Tabstack API and a manual written in Markdown to tell the LLM how to use it.

This works surprisingly well: the agent was able to use Tabstack to fetch web content, including restaurant menus as PDFs, and answer questions. It was almost able to make a reservation for me - but Tabstack doesn't support authentication or managing personal data yet, so that was a stopping point. Still, it was pretty impressive to see it figure out how to use the API and get useful information back.

Asking the agent about best cocktail bars in Portland, it responds with research from Tabstack The agent lists award-winning and notable Portland cocktail bars with descriptions Asking for Scotch Lodge's address, then asking about Teardrop Lounge and its drinks menu The agent fetches the Teardrop Lounge drinks menu and displays the Bright and Crisp cocktail section Continuing the drinks menu with the Arid and Aromatic and Supple and Herbal sections More of the menu showing the Rich and Robust cocktail section The Spicy and Bold cocktail section of the menu The Deep and Dark cocktail section, plus a note about beer and wine availability Asking about reservations — the agent checks Resy and finds available time slots for Friday The agent navigates to Resy to attempt booking but hits a limitation around personal data entry

ClawHub: suspicious patterns

I also tried uploading the skill to ClawHub as lmorchard/tabstack. It's apparently a wretched hive of scum and villainy, for all the press I've seen about malicious skills. They seem to be trying to deal with that, but the systems seem to be chock-full of false positives - it flagged mine as suspicious:

ClawHub page for the Tabstack skill showing a "suspicious patterns detected" warning banner despite a benign OpenClaw security scan

And when I went to file an appeal, I found their GitHub Issues overflowing:

ClawHub GitHub Issues page showing 528 open issues, nearly all false positive flag appeals

So anyway, this has been a neat experiment, and it seems like Tabstack could be a pretty useful tool for OpenClaw agents. Despite the warnings, I promise it doesn't try to steal your apes. If you're interested in trying it out, the code is there on GitHub and it's pretty easy to set up.

blog comments powered by Disqus
Miscellanea for 2026-03-13 Next