Workflow Design for GitHub Copilot Agent Mode #192838
Replies: 1 comment
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Product Feedback
💬 Feature/Topic Area
Copilot Agentic Workflows
Body
Workflow Design for GitHub Copilot Agent Mode — Lessons from Real Use
The Actual Problem
GitHub Copilot agent mode (VS Code 1.100+) is already capable: it runs tools autonomously, self-corrects compile errors, supports subagents and lifecycle hooks. It's not a "reactive chatbot" anymore.
The problem I ran into wasn't that Copilot was weak — it was that every session starts from scratch:
Compared to Claude Code where
CLAUDE.mdis read every session, Copilot has no equivalent by default. But here's what I realized: what Claude Code has by design, Copilot can be built explicitly.The Solution: 2 Repos
1.
copilot-workspace-setup— A workspace template with context injection, persistent memory, agent pipeline, and lifecycle hooks.2.
mcp-error-learning— An MCP server that accumulates knowledge from bug history and fixes, so the Debugger agent doesn't "forget" between sessions.This works with both the VS Code extension (agent mode) and GitHub Copilot CLI.
Component 1: Context System
2-tier instruction system — instructions load automatically, no manual prompting needed:
Stack-specific rules only load when the agent works with the matching file type. No context pollution with irrelevant rules.
Component 2: Persistent Memory
.context/is the project's long-term memory. Auto-injected every session via theSessionStarthook:The three index files describe and link only — the agent reads the index first, then loads detail files when needed. Context stays lean as the project grows.
Component 3: Agent Pipeline
9 agents organized in 3 groups:
Pipeline agents (
user-invocable: false— coordinator calls only):planner— analyze tasks, create task breakdownimplementer— write code following stack conventionstc-writer— write test casesqa-tester— run tests, analyze failures, fix, re-runCoordinator (
user-invocable: true):oryn-dev— orchestrates the full pipeline, enforces Plan→Implement→Test→Commit→LogOn-demand (
user-invocable: true):architect— pre-project system design (see below)debugger— bug fixing + MCP error learningcode-reviewer— PR review + inline commentssecurity-auditor— OWASP Top 10 scanquick— simple tasks that don't need the pipelineLifecycle hooks (4 events):
Starting a New Project
This is the part I find most important for getting the most out of this repo.
Before running
oryn-dev, I runarchitectto produce a blueprint:architectanalyzes from 4 lenses, each reading the output of the previous:Why does conflict detection emerge naturally? Because each lens must read the previous lens's output to do its own job. The API Surface lens can't design correct endpoints without knowing the DB schema. The shared filesystem (
.context/plans/) acts as a natural message bus.After reviewing Open Questions and confirming:
You don't need to do anything during the pipeline. Review when there's a result.
Error Learning MCP
Every bug fix is temporary knowledge — Debugger fixes it today, encounters a similar bug next month in a different module, and has no memory of the previous solution.
mcp-error-learningaddresses this:Phase 1 (current): SQLite local, single project. Enough to validate the concept — needs more time to accumulate data to measure real-world effectiveness.
Adding Project-Specific Agents
The agents in this template are general-purpose. For projects with specific workflows, you can add custom agents to
.github/agents/in your project.When to create a new agent vs. use
quick:quickMinimal template — create
.github/agents/<name>.agent.md:Real example —
migration-reviewerfor a Django project:This agent is invoked directly with
#migration-reviewer— no need to declare it inoryn-devsince users call it manually.If you want
oryn-devto call it automatically in the pipeline (e.g., after every implementation), add it to theagents:list andhandoffs:inoryn-dev.agent.md.Full File Structure
Requirements
Getting Started
Open Questions I Don't Have Answers To
architectagent produce system design quality good enough to use as a blueprint, or does it need significant manual editing?Feedback — positive or negative — welcome.
Repos:
Beta Was this translation helpful? Give feedback.
All reactions