Anthropic Announce Plugins for Claude Code
Another day, another agentic coding tool feature. Anthropic have released plugin support for Claude Code. Plugins are simply packaged collections of extensions that Claude Code already supports; custom slash commands, hooks, subagents, and MCP servers.
I appreciate that it’s an open ecosystem of plugins marketplaces, but of course, the same way you would with MCP servers, vet the plugins you install and make good use of Claude Code’s permission system.
I can see this being useful for teams. There’s an example of specifying in a repository’s
.claude/settings.jsonfile which plugins should be installed automatically. Working in a large engineering organisation (1,000+ engineers), I’m seeing examples of teams sharing instruction files locally (in addition to those that are versioned in the repos), but I’ve yet to see an example where “best practice” instructions and extensions are published more broadly within the organisation. We’re all still finding our way and I’ll always encourage demoing how we’re working with our tools to one another.I also learned that as of v1.0.123 (we’re at v2.0.13 today), Claude Code has a SlashCommand tool, which allows your slash commands to be invoked by Claude Code if they’re deemed appropriate, and you’re able to suggest them anywhere you’re providing instructions (e.g. CLAUDE.md). Neat.
A Plugin of My Very Own
I had to give the new feature a whirl and …
A Custom UI for Eight Ball MCP
Today’s goal was to get a custom UI up and running in ChatGPT for the Eight Ball MCP server that I built a couple of days ago. It was one of those sessions where if I’d just cracked open and consumed the OpenAI Apps SDK documentation, worked studiously through an example, and made the tweaks myself, I’d have been done in a fraction of the time. Sometimes the coding agents have me tearing my hair out and feeling like I need a small vacation … to, ideally, some place without access to AI.
The key documents that I referenced in my request were the ‘Set up your server’ and ‘Build a custom UX’ pages and the examples repo. Noting that I’ll need to spend more time with these documents as I didn’t fully follow everything going on.
Claude Code was running me around in circles and so I decided to spin up Codex CLI. It had been a while. After figuring out how to get it to search the web (those
curlcalls it was constructing tipped me off that something was amiss) by updating~/.codex/config.toml, I presented it with my goal and was left blown away by the detailed plan! I set it to work, and 9 minutes later, it came back with a solution that was guaranteed to work. It didn’t.After banging away for a while, and left with a tangle of React code and complex build steps, I returned to Claude Code and asked it to pare things back to a simple HTML and vanilla JS interface that I could reason about easily.
Longing For Local …
My First MCP Server
Inspired by OpenAI’s Apps SDK announcement, I challenged myself to deploy a toy MCP server on Cloudflare Workers. Why Cloudflare? I’m attracted by their documentation, developer tooling, I admire their thought leadership on security, a team I work with is migrating part of their infrastructure over to Cloudflare, and it all just feels very approachable (compared with say AWS, which is where I have most of my experience).
As a child of the 80s, I recall being mesmerised by the divinatory powers of the Magic 8 Ball, answering my every yes-no question with an air of nonchalance and confidence. I hadn’t seen an MCP version out in the wild, so why not create one?
If you’re looking for an approachable read on MCP servers, I’d recommend https://fly.io/blog/mcps-everywhere/.
How Did I Get Started?
I read through Cloudflare’s MCP primer and then moved on to their ‘Build a Remote MCP server’ tutorial.
I fired up Claude Code, prompted it with my plan (including all 20 responses from the original toy!), pointed it at some demo code that uses GitHub for auth, and asked that the MCP server supported both HTTP+SSE (now deprecated, but still in use by clients) and the Streamable HTTP transport that appears to have become the standard and a useful simplification (SSE now optional).
Testing with
npx @modelcontextprotocol/inspector@latestlocally was super helpful!The MCP server extends Cloudflare’s
McpAgentclass from their Agents SDK …OpenAI DevDay 2025
Yesterday was the OpenAI DevDay 2025. The opening keynote was live streamed on YouTube.
At the 03:43 mark, I was able to confirm that Sam Altman was again wearing the Adidas Ultraboost DNA × LEGO Colors Shoes. I do wonder how many pairs of these shoes he has stashed away!
I also enjoyed the snake countdown animation that the live stream kicked off with. I’m a sucker for ASCII and Unicode art and appreciated the creative use of characters such as § (Unicode U+00A7).
The moment celebrating the developers in the room who had passed “tokens processed” thresholds was interesting. Given the obvious link to electricity consumption, I do wonder if some of them squirmed in their seats. Assuming a fixed energy efficiency, the goal is clearly to process fewer tokens in exchange for a similar amount of value.
There was a live Codex demo that gave off strong (and likely unintentional) surveillance vibes. As someone who’s dabbled in controlling DMX devices in the past, the light show was a little underwhelming, but they avoided the kind of demo disaster we were treated to by Zuck recently at Meta Connect 2025. The demo gods also delivered a Ghostty update prompt that popped up at the start of the same demo.
Key Takeaways
- Apps SDK - Third parties can now get their apps into ChatGPT. It’s launching with a limited set of pilot partners, but developers can start building with the Apps SDK preview.
- AgentKit - A set of tools to build, deploy, and optimise agents. …
Hello World
I’ve long toyed with the idea of a personal blog and hold a tremendous respect for those who share freely, and better still, share something noteworthy for interested readers. What held me back? The million things clawing for my own attention? The notion that my thoughts are unoriginal and / or unworthy of another’s attention? The discomfort in sharing publicly and the burdensome worry that I might be judged? A little bit of all of those things I suppose!
What Changed?
What changed? Generative AI, GenAI for short. I use tools like ChatGPT, GitHub Copilot, Claude Code daily, and finding myself increasingly dependent on them for my work. I’d consider myself a cautious proponent. As a people leader, I’ll talk about practising and continuing to develop the ability to learn, think critically, and take sound decisions. The reality is that I’m not practising enough.
We’re in danger of outsourcing our thinking to AI. Exercising the mind by committing to daily, focused reading and writing allows us to retain the ability to think for ourselves. Yesterday, I read an article about the countdown to AI usurping us in the workforce and it inspired me to get started. The real danger, the article pressed, is that we’ll lose our ability to think deeply and both reading and writing are essential enabling components of thought.
Out in the Open
While I have no intention to share my posts in public forums, there’s just something about the act of …