Developer Team PersonaPack¶
The developer-team PersonaPack provides a 2-pizza software development team (7 agents) that collaborates on a single GitHub repository. Each agent has a distinct role, schedule, and set of responsibilities — coordinating through GitHub issues, pull requests, and code reviews.
Agents¶
| Agent | Role | Schedule | Skills |
|---|---|---|---|
| Tech Lead | Triages issues, reviews architecture, coordinates team, merges PRs | Every 2h | github-gitops, code-review, software-dev |
| Backend Dev | Implements server-side features, APIs, business logic | Sweep 1h | github-gitops, code-review, software-dev |
| Frontend Dev | Implements UI components, styling, client-side logic | Sweep 1h | github-gitops, code-review, software-dev |
| QA Engineer | Writes tests, finds bugs, validates coverage | Sweep 45m | github-gitops, code-review, software-dev |
| Code Reviewer | Reviews all PRs for correctness, security, performance | Sweep 30m | github-gitops, code-review, software-dev |
| DevOps Engineer | Maintains CI/CD, Dockerfiles, deployment configs | Sweep 2h | github-gitops, code-review, software-dev |
| Docs Writer | Updates documentation, READMEs, changelogs | Weekdays 6pm | github-gitops, code-review, software-dev |
Prerequisites¶
- GitHub token: A personal access token or GitHub App with
reposcope, stored as a Kubernetes secret namedgithub-gitops-token - AI provider: An API key for OpenAI, Anthropic, Azure, or Ollama
Quick Start¶
Via the TUI (recommended)¶
- Navigate to the Personas tab (press
1) - Select
developer-teamand press Enter - Choose your AI provider and paste an API key
- Complete the GitHub authentication wizard
- Confirm — the controller creates all 7 instances and schedules
Via kubectl¶
# 1. Apply the PersonaPack
kubectl apply -f config/personas/developer-team.yaml
# 2. Create the AI provider secret
kubectl create secret generic dev-team-openai-key \
--from-literal=OPENAI_API_KEY=sk-... \
-n sympozium-system
# 3. Create the GitHub token secret
kubectl create secret generic github-gitops-token \
--from-literal=GH_TOKEN=ghp_... \
-n sympozium-system
# 4. Activate the pack
kubectl patch personapack developer-team -n sympozium-system --type=merge -p '{
"spec": {
"enabled": true,
"authRefs": [{"provider": "openai", "secret": "dev-team-openai-key"}]
}
}'
How the Team Coordinates¶
Agents coordinate entirely through GitHub:
- Tech Lead triages issues by adding role labels (
backend,frontend,qa,devops,docs) - Developers pick up issues matching their role label
- Each agent creates a branch following the convention
sympozium/<role>/<issue>-<description> - Code Reviewer reviews all PRs labelled
sympoziumand leaves structured feedback - QA Engineer validates PRs for test coverage and opens follow-up PRs for missing tests
- Tech Lead merges approved PRs and posts status updates on tracking issues
Branch naming convention¶
sympozium/backend/<issue>-<desc> # Backend work
sympozium/frontend/<issue>-<desc> # Frontend work
sympozium/devops/<issue>-<desc> # CI/CD and infra
sympozium/docs/<issue>-<desc> # Documentation
sympozium/qa/<issue>-<desc> # Test additions
sympozium/fix/<issue>-<desc> # Bug fixes
Deduplication¶
Before creating issues or PRs, agents check for existing work:
gh pr list --repo "$REPO" --label "sympozium" --state open
gh issue list --repo "$REPO" --label "sympozium" --state open
If another agent has already opened a PR for the same issue, they review it instead of duplicating work.
Skills¶
The developer-team pack uses three skills:
| Skill | Purpose |
|---|---|
github-gitops |
GitHub CLI access (gh), git operations, PR/issue management |
code-review |
Structured code review methodology, security patterns, Go-specific review |
software-dev |
Development workflow (clone, branch, code, test, PR), team coordination patterns |
software-dev skill¶
The software-dev SkillPack (config/skills/software-dev.yaml) is a new skill created for this pack. It teaches agents how to:
- Clone and branch from the target repository
- Explore and understand an unfamiliar codebase
- Write clean commits with conventional commit messages
- Open well-structured PRs that reference issues
- Coordinate with other team members via GitHub
- Review code and leave constructive feedback
It uses the same github-gitops sidecar image (which includes gh, git, bash, and jq).
Customisation¶
Targeting a specific repository¶
Set the target repository via skill params when creating instances manually:
spec:
skills:
- skillPackRef: github-gitops
params:
targetRepository: "myorg/myrepo"
defaultBranch: "main"
prLabels: "sympozium,automated"
prReviewers: "platform-team"
When using the TUI onboarding wizard, you'll be prompted for the target repository.
Disabling individual agents¶
You can disable specific agents without removing the entire pack:
kubectl patch personapack developer-team --type=merge -p '{
"spec": {
"excludePersonas": ["docs-writer", "devops-engineer"]
}
}'
Or toggle them in the TUI by pressing Enter on the pack and using Space to toggle agents.
Adjusting schedules¶
Edit the PersonaPack YAML to change intervals:
Integration Test¶
An end-to-end integration test simulates the full team workflow on a real GitHub repository:
# Requires GITHUB_TOKEN with repo scope
GITHUB_TOKEN=ghp_... bash test/integration/developer_team_test.sh
The test: 1. Tech Lead creates a tracking issue 2. Backend Dev creates a Dockerfile and opens a PR 3. DevOps Engineer creates docker-compose + CI workflow and opens a PR 4. Docs Writer updates the README and opens a PR 5. Code Reviewer reviews all 3 PRs 6. QA Engineer validates the Dockerfile with a structured checklist 7. Tech Lead posts a final coordination status update
All actions happen on the real repository using the gh CLI — the same tooling the agents use in production.
Helm¶
The developer-team pack is included in the Helm chart and installed by default:
The pack is installed in a disabled state. Activate it via the TUI or kubectl after setting up auth.