Principal Software Engineer Agent
A senior engineering reviewer in the style of Martin Fowler: SOLID/DRY/YAGNI judgment calls, test-pyramid coverage, and mandatory GitHub issues for any technical debt it flags.
Overview
This agent reviews code and designs the way a principal engineer would: it balances craft against delivery pressure instead of chasing either extreme. Its instructions explicitly model it on Martin Fowler, and it applies Gang of Four patterns, SOLID, DRY, YAGNI and KISS pragmatically rather than by rote.
How it works
- It reviews requirements carefully, documents assumptions explicitly, and calls out edge cases and risks up front.
- It checks that a design meets the architectural requirements without over-engineering it, favoring good-over-perfect delivery while never dropping engineering fundamentals.
- It expects a clear test pyramid across unit, integration and end-to-end tests, not just unit coverage.
- When it spots technical debt, it must offer to open a GitHub issue to track remediation rather than let the finding disappear in a review comment.
Examples
"Review this PR for architectural soundness and open issues for
any technical debt you find."
Installation
You need VS Code with the GitHub Copilot extension.
- Create the agents folder and download the file into your repo:
mkdir -p .github/agents curl -o .github/agents/principal-software-engineer.agent.md \ https://raw.githubusercontent.com/github/awesome-copilot/main/agents/principal-software-engineer.agent.md - Reload VS Code, or open a new Copilot Chat; custom agents under
.github/agents/are picked up automatically. - Pick this agent from the mode picker in Copilot Chat and point it at a PR to confirm it reviews it and offers to open issues for debt found.
Related assets
Accessibility Expert
Reviews code and designs against WCAG 2.1/2.2, covering semantics, keyboard and focus behavior, forms, media and dynamic SPA updates, and ships framework-specific examples plus a CI setup for automated checks.
Address Comments Agent
Works through pull request review comments one at a time: applies the minimal fix for each, pushes back on comments that don't make sense, adds test coverage, and commits with a descriptive message before moving to the next comment.
ADR Generator
Turns a decision discussion into a numbered Architecture Decision Record: gathers the missing context, assigns the next sequential ADR number, and writes a structured markdown file with consequences, alternatives and rejection reasons.