mirror of
https://github.com/github/awesome-copilot.git
synced 2026-08-14 21:26:54 +00:00
Simplify AI Team Orchestration workflow 🤖 (#2439)
* Simplify AI Team Orchestration workflow Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Clarify recovery context sources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
0648d53070
commit
7968055c17
@@ -1,48 +1,13 @@
|
||||
# Anti-Patterns
|
||||
|
||||
Lessons learned from real multi-agent projects. Each anti-pattern was encountered at least once and caused real problems.
|
||||
|
||||
## Git & Branching
|
||||
|
||||
| Don't | Do Instead | Why |
|
||||
|-------|------------|-----|
|
||||
| Rebase feature branches | Regular merge | Rebase rewrites history and loses commits. When multiple chats contribute to a branch, rebase causes cascading regressions. |
|
||||
| Squash merge PRs | Regular merge | Squash hides individual commits, making it impossible to revert a single fix. |
|
||||
| Use worktrees on shared branches | Separate clones | Worktrees share the git index. Parallel teams stepping on each other's staging area causes confusion. |
|
||||
| Push directly to main | Feature branch → PR → merge | Direct pushes bypass review and can't be reverted cleanly. |
|
||||
| Force push (`--force`) | Fix forward or revert | Force push destroys remote history that other teams may have pulled. |
|
||||
|
||||
## Team Roles
|
||||
|
||||
| Don't | Do Instead | Why |
|
||||
|-------|------------|-----|
|
||||
| Producer writes code | Producer only plans, merges, files issues | When the coordinator starts coding, they lose track of the big picture. Fixes in the producer chat often conflict with dev team work. |
|
||||
| One agent does everything | Separate agents for dev, QA, coordination | Context isolation prevents cross-contamination. QA shouldn't have edit tools. |
|
||||
| Skip the brainstorm | Run brainstorm → plan → execute | Jumping straight to code produces generic results. Brainstorms surface edge cases early. |
|
||||
| Vague brainstorm prompts ("you are the team") | Name each agent with distinct perspective | Named agents with defined tendencies produce real debate. Generic prompts produce bland consensus. |
|
||||
|
||||
## Sprint Management
|
||||
|
||||
| Don't | Do Instead | Why |
|
||||
|-------|------------|-----|
|
||||
| Batch "fix everything" commits | One commit per fix with issue reference | Batch commits make it impossible to track what was fixed. If one fix causes a regression, you can't revert just that fix. |
|
||||
| Keep bugs only in chat | File GitHub Issues | Chat context dies when the conversation ends. Issues persist across all chats and teams. |
|
||||
| Skip handoff docs (done.md) | Mandatory done.md + PROJECT_BRIEF update | Without handoff docs, the next chat starts blind. It may overwrite work or duplicate effort. |
|
||||
| Skip progress tracker | Update progress.md after each phase | Without a progress tracker, context overflow recovery is impossible. The new chat doesn't know where the old one left off. |
|
||||
| Rush the AI with time pressure | "Take your time, do it right" | Time pressure makes the LLM skip edge cases, write less tests, and produce lower quality code. "No rush" produces better results. |
|
||||
|
||||
## Testing & QA
|
||||
|
||||
| Don't | Do Instead | Why |
|
||||
|-------|------------|-----|
|
||||
| Merge before testing | Playtest → file issues → fix → merge | Merging untested code creates a broken main branch. QA can't test against a moving target. |
|
||||
| QA modifies source code | QA only files issues, dev team fixes | QA fixes often miss context and introduce new bugs. Separation of concerns. |
|
||||
| Close issues without verification | Dev fixes → QA verifies → close | Self-closing issues skips verification. The fix might not actually work. |
|
||||
|
||||
## Context & Communication
|
||||
|
||||
| Don't | Do Instead | Why |
|
||||
|-------|------------|-----|
|
||||
| Assume chats share memory | Files are the shared memory | Each chat is a fresh context. PROJECT_BRIEF.md and progress.md are the only things that survive. |
|
||||
| Keep decisions in conversation | Write decisions to files | Decisions made in chat are lost when the chat closes. Write to docs/ or GitHub Issues. |
|
||||
| Relay raw error logs between teams | Summarize and file as GitHub Issue | Raw logs waste context tokens. Summarize: component, steps, expected, actual. |
|
||||
| Avoid | Prefer | Why |
|
||||
|---|---|---|
|
||||
| One agent owns planning, implementation, testing, and approval | Keep Producer, Dev, and optional QA responsibilities distinct | Independent perspectives reduce blind spots without requiring ceremony for every change. |
|
||||
| Hardcoded tool or model allowlists | Inherit the developer's enabled tools and selected model | Extensions and MCP tools remain available without plugin updates. |
|
||||
| A mandatory process for every change | Scale planning, review, and QA to risk | Small changes stay fast; high-impact changes receive more scrutiny. |
|
||||
| Universal Git command recipes | Follow repository contribution and branch policy | Projects use different remotes, protections, and merge strategies. |
|
||||
| Rewriting shared history or discarding unknown work | Preserve work and coordinate destructive actions | Parallel sessions and contributors may depend on existing state. |
|
||||
| Large plans that duplicate project documentation | Record only outcomes, constraints, decisions, and next actions | Concise context is easier to maintain and recover. |
|
||||
| Bugs and decisions kept only in chat | Use the repository's issue tracker and durable context | Future sessions can discover them. |
|
||||
| QA fixes application source | QA reports behavior; Dev implements fixes | Separation preserves independent verification. |
|
||||
| Treating every automated suggestion as a requirement | Assess relevance, confidence, scope, and practical risk | Review should improve the product, not expand scope without limit. |
|
||||
|
||||
Reference in New Issue
Block a user