Your experience is a runtime dependency
AI agents are already very capable, but they don't automatically have the judgement that makes you effective in your current role. Skills and agent instructions are how you package that experience so the agent can use it.
Getting cmux to hand HTML files back to my real browser
cmux 0.64.5 flipped the default for opening local HTML files: they now preview inside cmux instead of launching your system browser. One settings key flips it back.
Migrating from Ghostty to cmux
cmux is built on libghostty and reads my existing ~/.config/ghostty/config, so the move from Ghostty was effectively a relaunch. Here is what it actually got me: workspaces with PR status in the sidebar and an embedded browser for opening plans and PRs next to the terminal that owns them.
Making Claude’s research cache an on-demand skill
I kept my research cache and skills, but removed the global trigger that made Claude load them on every task. Here is what worked, what added friction, and why I now invoke research when needed.
Building a custom Claude Code status line
Claude Code gives you a JSON blob and a shell script hook. I used it to build a multi-line status line with repo info, GitButler branches, cost tracking, and rate limits in one session.
Ghostty tab titles from git repo names
Using a zsh hook and Ghostty configuration to show the git repo name in terminal tab titles.
My dotfiles setup: how I manage my dev environment
I've been asked about my dotfiles a few times, so here's the full breakdown — GNU Stow for symlinks, multi-identity Git, 1Password SSH, AI agent configs, and a bunch of shell tricks I've picked up along the way.
Migrating my terminal setup to Ghostty, Zinit, and Starship with Claude
How I used Claude Code to migrate my terminal and shell configuration, preserve my existing integrations, and check the result.
AI as an abstraction layer: reviewing outcomes and implementation
How AI-assisted development compares with earlier abstractions such as SMTP libraries, and why I expect more of our work to involve specifying and verifying outcomes.
Fixing iTerm2 Initial Directory: When the UI fails, use the Shell
Using iTerm2’s Send text at start setting to open new terminal sessions in a chosen working directory when the Initial Directory setting does not take effect.
Clearing GitHub Copilot CLI context between tasks
When a Copilot CLI conversation accumulates unrelated task history, I start a new context and give it a brief based on the current code.
Creating custom GitHub Copilot chat modes in VS Code
How I use task-specific chat modes for issue writing, planning, tests and backlog analysis, with Markdown templates to adapt to a project.
Upgrading My Wife's Portfolio to TinaCMS with the GitHub Copilot CLI
Using GitHub Copilot CLI to integrate TinaCMS into my wife's portfolio, including JSON content schemas, visual editing and repository instructions.
Building a portfolio site with Gemini, GitHub Spark and Copilot
How I used Gemini for the specification, GitHub Spark for a React frontend, and Copilot for refactoring and parallel development on a portfolio site.
My AI-Powered Workflow: Building a Full-Stack App with ChatGPT and GitHub Copilot
How I used ChatGPT to plan a URL shortener, assigned the implementation to GitHub Copilot, and reviewed the resulting pull requests.
The Conprism: The Illusion of Precision in Estimates and Star Ratings
Why I prefer estimates and rating scales that acknowledge uncertainty, with examples from T-shirt sizing, planning poker and five-point feedback.
I Let Copilot Refactor My App, So You Don't Have To (The Wrong Way)
I had a seemingly simple refactoring task on a sample project and I thought, "Let's get GitHub Copilot to do the heavy lifting!". What followed was a spiral into chaos that taught me a crucial lesson about using AI the smart way.
A Guide to Mastering GitHub Copilot on github.com
Unlock a new level of productivity by moving beyond the IDE and mastering GitHub Copilot directly on github.com. This guide covers the essential techniques for setting up, creating effective requests, parallelizing your work, and mastering the feedback loop.
Redesigning My Blog with an AI-Powered Workflow
My blog needed a facelift. Instead of weeks of manual CSS changes, I used Gemini for planning and GitHub Copilot for execution to completely redesign my site. Here's how the AI-assisted process worked.
From Conversation to Documentation: A Modern Dev Workflow with AI
We solve complex problems and then face the daunting task of writing documentation. What if the documentation wrote itself? Discover a workflow that turns a simple conversation with an AI into polished ADRs and blog posts, saving you hours.
Goodbye Microsoft Teams bar... Hello Productivity
We've all been there, you're in a meeting, you start sharing your screen and things are going great... next up you need to do something at the top of your screen and you can't because the Microsoft Teams bar is in the way. You can't move it, you can't hide it, you can't do anything about it. Or can you?
GitHub Projects and Issues
Are you tired of your average planning tools? Take a look at what you could be using if you switched to GitHub Projects and Issues 😉
Set which chrome profile for Visual Studio to use
At MVP Summit this year one of the valuable things I learnt (which I can share ) was from Colin Dembovsky (ALM MVP) which was Using Chrome to Solve Identity Hell. Now I knew chrome profiles existed but never thought of using them to solve the problem of different identities, in-private mode was a way of doing things but you always lost that when closing the session so wasn't that great. Not going to talk much about that here, you can read his post to find out more.
SQL Prompt 6.4 Release
I used to highlight a bunch of text (a couple of statements) then press F5 to execute that statement. With this new release you are able to easily execute the current statement by pressing Shift + F5.