Kaspars Dambis

Kaspars Dambis

@kaspars.damb.is

Full stack maker of things with passion for #web, #electronics, #sustainable living, #buildingscience, #passivehouse, #personalfinance and teaching. Find me at https://kaspars.net and https://wpelevator.com

141 followers154 following423 posts

Pretty cool to see your WordPress site as a connector in the Claude mobile app. It is a streamable-http MCP server by Agent Pilot plugin combined with OAuth Pilot for seamless auth. Also works with the official MCP-adapter feature plugin.

With Agent Pilot you can create and manage agent skills in WordPress (just like blog posts) and publish them as standard Agent Plugins. Now with OAuth Pilot you get one-click authentication for all the MCP clients (Claude, ChatGPT, etc). No more application passwords!

The OpenAI batch API is pretty cool at 50% of the cost. Great for large scale tasks such as captioning 42k images with gpt-5-mini. Here is what I learned:

1. there is an org-level cap of 5M enqueued tokens per model so you need to throttle the uploads to stay below that. Not sure why they don't take care of that internally;

2. each batch upload must be below 200MB of so I had to create 75 JSONL files (multiple JSON objects per line) for 42k images resized to 1536px on the long edge.

Turns out the AI models that generate embedding vectors from images directly are BAD at capturing the image contents, so I had to first generate captions and then generate the embeddings for the captions instead.

The FAIR standard (created for WordPress and built on AT protocol) would be perfect for distributing agent plugins since it covers everything from versioning, signing, discovery and packaging. Now the Agent Plugin project is trying really hard to figure this out github.com/agentplugins...

github.comagentplugins agent-plugins-spec · DiscussionsExplore the GitHub Discussions forum for agentplugins agent-plugins-spec. Discuss code, ask questions & collaborate with the developer community.

Trying out Agent Pilot WordPress plugin prototype to self-host host AI skills. Let's you manage and publish agent skills without having to figure out Git or GitHub.

What would be your preferred interface for creating agent skills in WordPress? a) all front-matter fields in the editor area (ACF-style), or b) all front-matter fields in the sidebar panel?

Agent skills and instructions need a CMS so that teams can collaborate on these critical assets without having to learn git and cli tooling. WordPress is a CMS. Can we make it do this?

Check your AI tool memories (under ~/.codex/memories and ~/.claude/projects). I find that most of them are actually polluting the context and not helping.

the no-tool and no-rag approach of claude code feels to be wasting tokens and working through things slower. what's your experience? same model in cursor is way faster and productive.

Would you trust AI to run this? Will it actually apply those single quotes when running it? It created the ~ directory itself during previous runs so it is trying to clean up.

Pull requests require that we trust the code offered for merging. Yes, we can ask AI to review the code but there is still a lot of risk associated with it. As humans we can reliably control only the inputs to the AI models which is the issue or feature request describing the desired outcomes.

changelog.comchangelog.com

Funny how macOS search (both Finder and Spotlight) is so bad that I don’t even think of using it. Imagine how bad AI would do if it couldn’t search properly. Are there recent Mac apps that are trying to solve this?

Somebody should unleash AI agents on the WP trac backlog, have it track all steering decisions and see where we land. We sure could get a core committer skill out this 😅

Spent the Saturday afternoon exploring ways to add surrogate-key (also known as cache tags) support for Nginx fastcgi cache which is otherwise great with state-while-revalidate support, etc.

Considered creating an Nginx module but there don't appear to be any hookable events when the cache files are written. The idea would be too keep an index of tags mapped to cache files on disk and have a route for invalidating by tags.

A sidecar approach might work better but it would require polling for filesystem changes and parsing the cache files which do have the response headers in there.

The Connectors screen in WP 7.0 would really benefit from encrypted options unless we want to expose those API keys to anyone with access to wp-admin/options.php

ChatGPT wouldn't do it, Claude wouldn't do it. Eventually tried Perplexity and it was able to generate notes with correct code snippets from my WordPress course videos. Amazing since it didn't have to invent anything -- just capture everything I said and include the relevant code snippets.

The trick was to create 1 FPS videos with full audio so that it still has access to full video contents and audio but with ~5% of the file size. Worked great.

WordPress block development with breakpoint debugging for JS is a life-changer! So is PHP breakpoints, to be honest. Instead of hunting for the correct file in the browser console, you just add breakpoints in VS Code and it automatically stops JS at that point to show you the full state.

When can we reasonably expect all macOS apps to use the correct squircle radius? I can't believe VSCode and Google Chrome are still different from the Finder or any of the built-in apps...

I can't believe I'm discovering the Apple Shortcuts just now. In one click it can now get my computer ready for screen recording -- it opens VS Code, web browser + recording app, and resizes the windows to fit a specific aspect ratio. The app is bundled with every Mac and iPhone since 2021.

Can AI help optimize your landing pages from actual user session data? We enabled user session recording using PostHog (which uses rrweb behind the scenes), and drove Meta ads to the page. Then used AI to extract those 36k+ events into a single file and asked it to analyze the results.

Here is what it said: "Why Users Reach the Price but Don’t Buy These are clear, recurring behavioral patterns that explain why purchases stall near the end — even when traffic quality and checkout functionality are fine. This is not a traffic problem. This is late-funnel decision friction."

Turns out that building a "Clear formatting" feature for the WordPress block editor is more difficult than I imagined. Many blocks have the inner content as part of the `content` attribute but things get difficult with RichText, for example. Do you have a solution for this?

Trying to find an alternative to Screen Time for kids on macOS since it’s completely unreliable and the UX is terrible. AdGuard/PiHole with a macos user profile that enforces DNS seems like one option. Need to be local and selfhosted. Suggestions?

After sunsetting a VPS that was used for backup of other VPSes, I decided to have #restic send everything to a restic-rest instance (as docker container) on my #homelab NAS over #wireguard. Amazing how restic can backup to so many destinations (s3, sftp, http) over so many transports.

Add logging to my kitchen-sink WordPress plugin with handlers for error_log() and Query Monitor. Nice to have info/debug level data while developing and warnings+ on PROD. How are you handling this in your plugins?

Did you know that HTTP3 is already supported by 92% of browsers and can offer 10-20% performance improvements (mostly to LCP) especially for mobile users? Nginx added support for HTTP/3 two years ago in version 1.25.0 so it is available in most recent Linux distributions.