A GitHub repository template featuring a virtual scrum team of AI agents that collaborate through text files and PRs. Perfect for learning Agile workflows, experimenting with AI-assisted development, or bootstrapping new projects with built-in quality gates.
- 6 AI Agent Personas — Product Owner, Scrum Master, Tech Lead, DevOps Engineer, QA Engineer, Security Engineer
- Collaborative Review System — Agents communicate through markdown files and PRs
- Human-AI Pairing — Join the virtual team as a contributor and collaborate with agents
- Production-Ready Template — Community health files, CI/CD, security policies included
- Fully Customizable — Modify personas, add new agents, or adapt for your workflow
- Click "Use this template" on GitHub
- Clone your new repository
- Start collaborating with the virtual team!
git clone https://github.com/YOUR_USERNAME/starter-copilot-repo.git
cd starter-copilot-repo| Agent | Role | Specialty |
|---|---|---|
@product-owner |
Product Owner | Backlog prioritization, shipping decisions, ROI analysis |
@scrum-master |
Scrum Master | Facilitation, blocker removal, team health |
@tech-lead |
Tech Lead | Architecture, code quality, technical decisions |
@devops-engineer |
DevOps Engineer | CI/CD, infrastructure, reliability |
@qa-engineer |
QA Engineer (SDET) | Test automation, quality gates, bug detection |
@security-engineer |
Security Engineer | Vulnerability scanning, compliance, secure coding |
Edit .github/scrum/discussions/current.md to start a new topic:
### Topic: Add user authentication feature
**Status**: IN_PROGRESS
#### @human (You!)
> I'd like to add OAuth2 authentication. What should we consider?
#### @product-owner
> *Awaiting review...*In VS Code with GitHub Copilot Chat, mention an agent:
@product-owner Review this feature request and provide acceptance criteria
Or ask for a full team review:
@scrum-master Facilitate a team discussion on the authentication feature
Copy agent responses into the discussion file or their individual review files:
.github/scrum/reviews/product_owner_review.md.github/scrum/reviews/tech_lead_review.md.github/scrum/reviews/security_review.md
The @scrum-master synthesizes feedback and the @product-owner makes the final call:
## Decision Queue
| Item | Proposed By | Status | Blocker |
|------|-------------|--------|---------|
| Add OAuth2 | @human | APPROVED | None |├── README.md # You are here!
├── LICENSE # MIT License
├── .gitignore # Comprehensive ignore patterns
├── requirements.txt # Python dependencies (if needed)
│
├── .github/
│ ├── agents/ # Copilot agent definitions
│ │ ├── product_owner.agent.md
│ │ ├── scrum_master.agent.md
│ │ ├── tech_lead.agent.md
│ │ ├── devops_engineer.agent.md
│ │ ├── qa_engineer.agent.md
│ │ └── security_engineer.agent.md
│ │
│ ├── scrum/ # Team collaboration files
│ │ ├── discussions/
│ │ │ └── current.md # Active sprint discussion
│ │ └── reviews/ # Individual agent reviews
│ │ ├── product_owner_review.md
│ │ ├── scrum_master_review.md
│ │ ├── tech_lead_review.md
│ │ ├── devops_review.md
│ │ ├── qa_review.md
│ │ └── security_review.md
│ │
│ ├── workflows/ # GitHub Actions
│ │ ├── ci.yml # Continuous integration
│ │ └── devops-agent.yml # Weekly automated reviews
│ │
│ ├── CONTRIBUTING.md
│ ├── CODE_OF_CONDUCT.md
│ ├── SECURITY.md
│ └── copilot-instructions.md # Copilot context for repo
│
└── scripts/
├── automation/
│ └── devops_agent.py # Automated maintenance script
└── personas/ # Source of truth for personas
├── README.md
├── persona_product_owner.json
├── persona_scrum_master.json
├── persona_tech_lead.json
├── persona_devops_engineer.json
├── persona_qa_engineer.json
└── persona_security_engineer.json
A[Human creates feature request] --> B[@product-owner reviews value]
B --> C[@tech-lead reviews architecture]
C --> D[@security-engineer reviews risks]
D --> E[@qa-engineer defines test plan]
E --> F[@scrum-master synthesizes feedback]
F --> G[@product-owner approves/rejects]
G --> H[Human implements with @devops-engineer]
H --> I[PR created & merged]
You (in Copilot Chat):
@tech-lead I'm considering using JWT for authentication.
What are the trade-offs vs session-based auth?
@tech-lead responds:
ARCHITECTURE REVIEW:
JWT vs Session-Based Authentication:
| Aspect | JWT | Sessions |
|--------|-----|----------|
| Scalability | Stateless | Requires session store |
| Security | Can't revoke easily | Server-controlled |
| Complexity | Token refresh logic | Simpler |
RECOMMENDATION: For a new project, start with sessions
unless you need microservices or mobile apps.
❓ QUESTION FOR @security-engineer: What's our token
expiry policy if we go with JWT?
- Create persona in
scripts/personas/persona_<role>.json - Create agent in
.github/agents/<role>.agent.md - Add review file in
.github/scrum/reviews/<role>_review.md - Update
.github/copilot-instructions.mdwith the new role
Edit .github/workflows/devops-agent.yml to change the schedule:
on:
schedule:
- cron: '0 3 * * 1' # Every Monday at 03:00 UTC| Document | Purpose |
|---|---|
| Contributing Guide | How to contribute |
| Code of Conduct | Community standards |
| Security Policy | Vulnerability reporting |
| Personas README | Persona schema & details |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Start a discussion with the virtual team
- Implement changes based on team feedback
- Open a PR and let agents review!
MIT License — see LICENSE for details.
Q: Do I need GitHub Copilot to use this?
A: The agents work best with GitHub Copilot Chat, but you can manually role-play the personas using the JSON definitions.
Q: Can I use this for a real project?
A: Absolutely! Add your source code to src/ and customize the agents for your domain.
Q: How do I add my own persona?
A: Copy an existing persona JSON, modify it, and create a matching agent.md file.
Built with for humans and AI working together