RSSAmplifier

Blog

Ken Muse

Discover Azure, DevOps, and development insights with Ken Muse, a DevOps Architect at GitHub and 4x Microsoft Azure MVP

kenmuse.comRSS feed ↗274 posts

Latest posts

Make Agent Skill Scripts Load Efficiently in GitHub Copilot

Learn how a SKILL.md path convention helps GitHub Copilot resolve bundled scripts before execution, avoiding a failed call and an extra model turn.

The Million-Token Context Myth: Bigger Isn't Better

Bigger context windows can still fail. Learn why effective context size, retrieval quality, and task design matter more than the headline token limit.

When an AI Agent Escapes: Securing Your Dev Environment

A real AI-agent escape shows how to protect your dev environment with sandboxes, limited credentials, egress controls, approvals, and logs.

Why Reusing AI Instructions Costs You More Tokens

That 'see other file' line in your skill isn't free -- it triggers extra turns, extra tokens, and the model may never even load the referenced file.

Why AI Agents Are Bad at Scoring and How to Fix It

Asking an AI model to create numeric scores is unreliable and risky. Learn how to make your model generate scores that are repeatable, reliable, and comparable.

What Your AI Agent Really Did Behind the Scenes

The agent succeeded -- or did it? Learn to see what really happened -- skipped skills, extra subagents, and guardrail detours -- so you can improve reliability.

Isolating GitHub Copilot With Docker Sandboxes

Give GitHub Copilot its own microVM with a firewall and monitoring so that you can worry less about what your AI is doing.

Guaranteed Copilot Context with Hooks

Skills are optional -- the model decides when to load them. Hooks aren't: they fire automatically. Learn how that injects exactly the right context every time.

Dynamic Instructions for Copilot

Keep Copilot skills small -- use a script to deliver only the instructions that match your version and license, and why that demands supply-chain caution.

Decoding Copilot Token Costs Using VS Code

Learn to read VS Code's Copilot token logs and calculate the exact AIC cost of each request step by step.

Hiding Lines from a Git Diff

Tired of noisy diffs full of auto-generated timestamps? Learn two Git configuration steps to filter the noise and keep code reviews focused.

Why Your Copilot Instructions Don't Need a Folder Map

VS Code's Copilot automatically injects your workspace structure into every chat. Here's how that could make your folder map instructions redundant.

Understanding Agentic Memory in GitHub Copilot

Learn how agentic memory helps AI coding assistants retain context across sessions, with a look at memory types and Copilot's implementation.

Multiple Subagents: The Surprising Reasons It Works

Learn why using multiple AI subagents improves results through cleaner context, natural output diversity, sharper task prompts, and adversarial reviews.

Pinning VS Code Extensions to Fight Supply Chain Attacks

Pin VS Code extension versions in dev containers to prevent supply chain attacks. Treat extension updates like dependency upgrades -- deliberate and reviewed.

Rootless Docker and Its Hidden Security Trade-Offs

Explore how rootless Docker uses user namespaces, why kernel developers have concerns about the attack surface, and what unconfined flags really disable.

How Docker Uses Root Privileges

Trace how Docker's daemon, socket, image builds, and BuildKit all rely on root-level Linux kernel privileges.

Building Container Isolation From the Linux Kernel Up

Build container isolation from scratch with Linux namespaces and cgroups to understand the kernel features Docker uses.

How Temperature, Top-K, Top-P, and Min-P Control LLM Output

Learn how temperature, Top-K, Top-P, and Min-P control LLM output by shaping the probability distribution models use to select the next token.

Workspace vs Worktree Isolation in Copilot CLI

Run Copilot CLI sessions in parallel without repo chaos. Learn when to use workspace or worktree isolation, then review, merge, and clean up safely.

Why Focused AI Agents Get Better Coding Results

Learn why focused AI agents outperform generalists. All about why tokens, context windows, progressive disclosure, and splitting planning improves results.

A Chef's Guide to Customizing GitHub Copilot

A kitchen analogy that makes it easier to know when to use Copilot's customization features: instructions, prompts, agents, skills, MCP, hooks, and plugins.

Creating Agent Plugins for VS Code and Copilot CLI

Package and share Copilot customizations with agent plugins -- build a plugin, create a marketplace, and install it in VS Code or the CLI.

Beyond MCP: AI Extension APIs in VS Code

Explore VS Code's AI extension APIs and when these APIs make sense over using a standalone MCP server.

Adding an MCP Server to a VS Code Extension

Learn how to embed an MCP server in a VS Code extension to take your development work to the next level.

GitHub Agentic Workflows Bring AI Agents to Actions

Explore GitHub's new Agentic Workflows -- AI coding agents in GitHub Actions with defense-in-depth security and natural language automation.

Getting Better AI Results With Deterministic Context and MCP

Transform unpredictable AI behavior into reliable results using MCP tools for deterministic context.

What Is MCP and Why Do Developers Care?

Discover Model Context Protocol (MCP), the open standard that lets AI models connect directly to your databases, APIs, and tools for deterministic results.

Configuring GitHub Runners With a Dotfiles Action

Transform your dotfiles repo into a GitHub Action that secures runners without tokens or manual cloning.

Storing Data in Git Objects With Notes

Learn how to use Git notes to attach metadata like build results or review comments to commits without rewriting history or breaking signatures.

Why Your Perforce Branch History Is Missing in Git

Your Perforce branch history vanishes in Git because Git has no place to store it -- here's why and how to help your team adapt.

Understanding How Git Merges Work

Demystifying Git merges -- from merge commits and fast-forwards to rebases and cherry-picks. Learn what's really happening under the hood.

Saying Goodbye to 2025 And Welcoming 2026

Reviewing another year of blogging and celebrating growth, community connections, and the road ahead in 2026.

Understanding How Git Stores Data

A deep dive into Git's internal storage model -- how blobs, trees, and commits work together to track your code's history without a traditional database.

Deploying Services on GitHub Runner Custom Images

Deploy persistent services on custom GitHub runner images to speed up builds, reduce egress costs, and cut external dependencies.

Caching Repositories on GitHub Runner Custom Images

Cache large repositories on custom GitHub runner images to speed up clones from minutes to seconds using Git reference clones.

Masking Sensitive Information on GitHub Runner Custom Images

Learn the best way to protect sensitive information from leaking into the logs on GitHub runner custom images during both build-time and run-time.

Using GitHub Custom Images with OIDC

Learn how to use OIDC tokens in GitHub Actions custom images to authenticate with private container registries without storing credentials.

Pre-Caching Docker Images on GitHub Runner Custom Images

Discover how to improve GitHub Actions performance and drastically cut the time and bandwidth required to use Docker images in your workflows.

Using GitHub Custom Images for Workflow Validation

Use pre-job scripts in custom runner images to enforce workflow validation and ensure only approved workflows run on your GitHub Actions runners.

Layering Approaches for Secure Secrets

Learn to layer secret management techniques through practical examples that build defense-in-depth security for GitHub Actions, containers, and more.

More Ways to Secure Secrets

Move beyond static credentials with federated auth, managed identities, and secret vaults -- learn the tradeoffs and security considerations.

Securing Access to Secrets

Explore practical approaches to storing secrets securely, from files to HSMs, with real-world hardening strategies you can implement today.

Custom GitHub Runner Images With Pre- and Post-Job Scripts

Learn how to capture custom GitHub-hosted runner images, add pre- and post-job hooks, and make them part of your daily workflows.

Using Azure Flexible Federation With GitHub Actions

Use Azure flexible federated identity credentials with GitHub Actions to secure your workflows with custom OIDC claims approval expressions.

How I Avoided Shai-Hulud's Second Coming (Part 2)

How signed commits and repository protections completed my defense against the Shai-Hulud supply chain attack.

How I Avoided Shai-Hulud's Second Coming (Part 1)

Simple security practices that protected my dev environment from the Shai-Hulud supply chain attack -- and how you can use them too.

Understanding IPv6: From GitHub's IPs to Kubernetes and ARC

Learn how IPv6 affects your DevOps workflows, from GitHub's IP ranges to Kubernetes networking, Docker containers, and the latest ARC improvements.

The Hidden Danger in Git Ref Names

A Halloween lesson: how a weaponized Git branch name let attackers inject code via a GitHub expression and the simple steps you can take to block it.

The Key to a Secure CI/CD Process

Learn how to create a secure CI/CD pipeline by starting with securing your most important asset: your people.