Owning the output when you use AI agents
Saying 'my agent did it' can make it easier to distance ourselves from the work we submit. I'm looking at ownership of that output and where delegating to agents overlaps with leadership.
Experimenting with automatic memory in Codex and Claude
After rewriting my skills and clearing memory, Codex and Claude felt better to use. My next experiment is to disable automatic memory, informed by research on context and memory poisoning.
Using banked Codex usage resets
How I redeemed a promotional Codex usage reset in July 2026, what changed in my usage balance, and why the value depended on when I used it.
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.
Explaining the engineering work behind AI-generated prototypes
AI can shorten the path to a working prototype. I think developers need to make the remaining work on reliability, security, and maintainability clearer when discussing delivery.
Managing OpenClaw From My Mac Without Running It Locally
I edit OpenClaw scripts and configuration on my Mac, then use an SSH wrapper to test and run them on the homebox server that holds the services and runtime state.
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.
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.
Comparing AI responses to a plaintext-secrets request
GPT-5.2 refused a request to write deployment secrets into a script, while Claude 4.5 Sonnet complied. What that interaction changed about how I assess agent behaviour.
Upgrading Angular from 13 to 21 with GitHub Copilot CLI
The workflow I use to upgrade Angular one major version at a time with GitHub Copilot CLI, including build checks and common migration errors.
Video: My development workflow with GitHub Copilot and Gemini
The recording of my SSW Brisbane User Group talk, covering how I divide development work between AI tools and run Copilot CLI in a Docker sandbox.
My "Meta-Prompt" for Codebase Investigations with Copilot CLI and copilot_here
The prompt and directory-mount setup I use to produce structured codebase investigation reports with GitHub Copilot CLI.
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.
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.
Architecting C# Domain Models for Human and AI Collaboration
I went down a rabbit hole of extreme encapsulation in C# only to find a more pragmatic path. Discover the journey from a complex domain model to a simpler one that provides powerful guardrails for AI development tools like GitHub Copilot.
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.