Notes from the field — cloud, GitHub, AI agents
Hi, I’m Anton Sizikov. I write about shipping software in the age of AI.
Hi, I’m Anton.
I write about cloud engineering, GitHub, and the tooling/process behind shipping software.
If you’re new here, you might want to start with About — otherwise, the latest posts are right below.
Context Engineering: An Interactive Tutorial
In my day-to-day work I spend quite a lot of time talking to engineers about AI coding agents. And one thing that keeps coming up is context engineering — people sort of know the term, but struggle to apply it in practice.
Read postThe archive
Copilot Content Exclusions: Four Layers of Defense
So you’ve set up content exclusion rules for your GitHub Copilot. Sensitive files — billing data, credentials, proprietary algorithms — are blocked from …
Building and Testing Custom Agents
Building custom agents for GitHub Copilot (or any other AI assistant for that matter) sounds fun until you hit the reality of testing them. Let me walk you …
Building Skills: How to Write a Good Agent Skill
Let’s talk about Agent Skills.
My GitHub Copilot-Powered Development Workflow
Throughout 2025, I’ve been experimenting with various ways to organize my development workflow with coding agents, trying to maximize the satisfaction of …
GitHub Copilot Customization: Instructions, Prompts, Agents and Skills
We’re approaching the end of 2025, this has been a year of agents, for sure.
Monitoring GitHub Copilot Adoption with Metrics
Introduction Since GitHub released the Copilot usage metrics dashboard and API in public preview back in October, I’ve been spending a lot of time helping …
Hey Copilot!
So, you’ve got an idea of a new app or a web site, that you wish to build with GitHub Copilot.
Teaching GitHub Copilot New SQL Dialects with Reusable Prompts
Have you ever struggled with GenAI tools generating incorrect or unusable code for your internal SDK or API?
GitHub Container Registry. Keeping traffic below the spending limit.
GitHub Container Registry is a great service. It’s free for public repositories and it’s integrated with GitHub Actions. Unfortunately, it’s …
Integration tests for .NET CLI tools
I’ve spent Saturday evening working on a small project. I’ve built a .NET clone of tree utility. You know, the one that renders a nice tree view for …
Configure WSL2 limits on Windows 10
WSL2 on Windows 10 has some issues, but I still prefer it to run my docker containers locally.
Configure CD for Azure WebApp with Terraform Provider for Octopus Deploy
In this post, I’m going to configure the continuous delivery process for Azure WebApp (Azure Function in this case, but that’s pretty much the same) …
Using GitHub Container Registry with Kubernetes
GitHub Container Registry was introduced on the 1st of September 2020. It’s still in the Beta stage, so it’s rather not recommended to use it in …
Docker image tests
Today we’re going to set up a CI/CD GitHub Action with a Container Structure Test step which will help us to enforce the certain quality policies for the …
Fix console logs for Azure Functions running in a Docker container
Local development of C# Azure Functions on macOS is still a bit painful. Even the simple-ish logging might cause issues. Let’s assume that we have Azure …
Provision your Azure environment with Terraform and Octopus Deploy
My current project has reached the point where we have to manage our infrastructure in a more organized way rather than ad-hoc manual configurations.
Investigating unexpected MSBuild behavior
Recently I took latest changes from git, merged dev to my current branch and decided to run few integration tests. You know, just to be sure.
Write code for the reviewer, not for the compiler
I’ve been doing code reviews on a daily basis for several years for now. This activity is very different from what I do as a developer.
Dev environment 2016. Windows.
I’ve changed a job last month and had to build up my dev environment from scratch again. While doing that I decided to write down some thoughts about it. …
Thoughts on C# 7 Local Functions
Frankly when I first saw that C# 7 will come with new local functions I thought that that’s just a nice and a compact way of defining local helpers. In …
CatLight
It’s hard to imagine modern development without continuous integration and unit-tests.
C# 7 features preview
Last week my twitter feed exploded with lots of entries about Microsoft //Build 2016 conference. As it’s one of the most important events for .NET dev …
Fully automated Continuous Integration for your Open Source library for free
This is a long title. Well, the post is going to be long as well.
How to convince Linus Torvalds to contribute to your project
Look at all those famous people committing to some random developer’s boring repository.
GitHub Deployment statuses
It’s very important to collect and track as much information as you can about your system. We have logging, monitoring, reports and analytics. All the systems …
Avoid typing user name when committing to GitHub repository
I use different accounts and different computers to work with GitHub repositories, so sometimes I face the situation when I don’t have my SSH key …
ReSharper Annotations. Can it be null?
Hi, ReSharper is doing a great job when it comes to semantics of your code and control flow graph analysis. The special edge case I want to talk about is …
Reactive Extensions. API client with Cache-Aside & Refresh-Ahead strategy. Part 2.
Hi, In the previous post I told you how to implement the Reactive API client with caching. Well, to prove that our code works we might want to have some unit …
AsyncSuffix ReSharper extension
There is a tendency in a .NET world to build asynchronous CPU-bound or I/O-related API. We also can see that some APIs support both asynchronous and synchronous …
Reactive Extensions. Api client with Cache-Aside & Refresh-Ahead strategy. Part 1.
Hi, Today I want to talk about the development of the api client library. Let’s say it is an imaginary GitHub RESTful API that returns user’s rating. To make …
Sharing ReSharper settings and Live Templates
In my previous post, I’ve described how to create your own Live Templates for ReSharper. Today I’m going to tell you how to share your ReSharper …
Custom live templates for ReSharper
Hi! As a .NET developer I’m enjoying using an intelligent plug-in for Visual Studio which is called ReSharper. It saves me time, provides me with static …
Keeping the repository interface clean
The repository pattern is being blamed quite often. The most popular reason for that is an uncontrolled growth of the interface.
Hello World
I’m not sure if I can be more hipster, but now I have a blog which is hosted by GitHub Pages and served by Jekyll. Yeah, I had to install Python and Ruby …