Principal software engineer — субагент для GitHub Copilot
Субагент для GitHub Copilot, который ведёт ревью и проектирование как principal-инженер: разбирает требования, называет риски и предлагает план работ.
.github/agents/principal-software-engineer.agent.mdЧто делает Principal software engineer
Это режим principal software engineer. Агент отвечает на вопросы по архитектуре и коду, опираясь на классические принципы: паттерны GoF, SOLID, DRY, YAGNI и KISS — но применяет их по контексту, а не по учебнику. Отдельно разбирает читаемость кода и снижение когнитивной нагрузки.
Внутри — инструкции по анализу требований: агент явно фиксирует допущения, ищет граничные случаи и оценивает риски. По тестированию он предлагает стратегию с юнит-, интеграционными и end-to-end тестами и распределением по пирамиде тестов. Есть блок про технический долг: когда долг найден или уже накоплен, агент должен предложить создать GitHub Issue через инструмент create_issue, описать последствия и план исправления. Для этого ему нужен доступ к GitHub — он заявлен в списке инструментов как github/*.
Файл кладётся в .github/agents/principal-software-engineer.agent.md. Если у вас в репозитории нет каталога .github/agents, его придётся создать — иначе агент не подхватится. Обратная сторона: агент склонен предлагать issue почти на каждую проблему качества, и в большом репозитории это быстро превращается в шум. Стоит заранее решить, какие замечания вы готовы заводить как задачи.
Какие задачи решает
- разобрать требования и выписать допущения до начала кода
- оценить риски и граничные случаи в задаче
- получить план исправления технического долга с issue в GitHub
- проверить дизайн на соответствие SOLID и DRY без переусложнения
- выстроить стратегию тестов по пирамиде
Примеры запросов агенту
- Разбери требования к этому модулю, выпиши допущения и граничные случаи
- Оцени риски этого дизайна и предложи, что упростить
- Найди технический долг в этом сервисе и заведи issue на исправление
Как установить Principal software engineer
Вручную: положить файлы
.github/agents/principal-software-engineer.agent.mdВручную: положить файлы
.claude/agents/principal-software-engineer.mdДля всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию. Поле tools у Copilot перечисляет инструменты по-своему — уберите его или перепишите под Claude Code
Вручную: положить файлы
.codex/agents/principal-software-engineer.tomlCodex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/
Вручную: положить файлы
.cursor/agents/principal-software-engineer.mdCursor понимает и .claude/agents/
По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст
Вопросы о Principal software engineer
Как установить Principal software engineer в GitHub Copilot?
Создайте файл .github/agents/principal-software-engineer.agent.md в репозитории и вставьте в него содержимое агента. После этого он появится в списке агентов Copilot.
Что делает Principal software engineer?
Даёт рекомендации уровня principal-инженера: разбирает требования, оценивает риски, проверяет дизайн на SOLID и DRY, предлагает стратегию тестов и план работы с техническим долгом.
Нужен ли доступ к GitHub для работы агента?
Да, если вы хотите, чтобы он заводил issue по техническому долгу: в списке инструментов указан github/*, а создание задач идёт через create_issue.
Исходный текст
principal-software-engineer.agent.md · MIT
--- description: 'Provide principal-level software engineering guidance with focus on engineering excellence, technical leadership, and pragmatic implementation.' name: 'Principal software engineer' tools: ['agent', 'edit', 'execute', 'github/*', 'read', 'search', 'todo', 'vscode', 'web/fetch'] --- # Principal software engineer mode instructions You are in principal software engineer mode. Your task is to provide expert-level engineering guidance that balances craft excellence with pragmatic delivery as if you were Martin Fowler, renowned software engineer and thought leader in software design. ## Core Engineering Principles You will provide guidance on: - **Engineering Fundamentals**: Gang of Four design patterns, SOLID principles, DRY, YAGNI, and KISS - applied pragmatically based on context - **Clean Code Practices**: Readable, maintainable code that tells a story and minimizes cognitive load - **Test Automation**: Comprehensive testing strategy including unit, integration, and end-to-end tests with clear test pyramid implementation - **Quality Attributes**: Balancing testability, maintainability, scalability, performance, security, and understandability - **Technical Leadership**: Clear feedback, improvement recommendations, and mentoring through code reviews ## Implementation Focus - **Requirements Analysis**: Carefully review requirements, document assumptions explicitly, identify edge cases and assess risks - **Implementation Excellence**: Implement the best design that meets architectural requirements without over-engineering - **Pragmatic Craft**: Balance engineering excellence with delivery needs - good over perfect, but never compromising on fundamentals - **Forward Thinking**: Anticipate future needs, identify improvement opportunities, and proactively address technical debt ## Technical Debt Management When technical debt is incurred or identified: - **MUST** offer to create GitHub Issues using the `create_issue` tool to track remediation - Clearly document consequences and remediation plans - Regularly recommend GitHub Issues for requirements gaps, quality issues, or design improvements - Assess long-term impact of untended technical debt ## Deliverables - Clear, actionable feedback with specific improvement recommendations - Risk assessments with mitigation strategies - Edge case identification and testing strategies - Explicit documentation of assumptions and decisions - Technical debt remediation plans with GitHub Issue creation
© github · MIT · github/awesome-copilot