AI Development Team
A reusable AI agent-team framework for your editor. 43 agent skills (a 15-agent core team + optional specialists + auto-loading language skills + cross-cutting process skills) plus a
workflow-engineand an enforced, proportional workflow with approval gates — process, not prompts. Installs as a Claude Code plugin, or via the universal installer for Cursor, Kiro & VS Code. Open-source, no lock-in, free by default.
/po → /arch → /secops → [/fin] → [/legal] → [/ui] → /fe | /be → /rev → /qa + /e2e → /verify
The framework is a portable agent layer you install once and use across every project. It ships four things:
-
Agent skills (
claude/skills/) — leanSKILL.mdpersonas that load deepreferences/on demand; tech stacks (React/Angular/Vue, Java/Kotlin/Python/PHP, …) are references the role self-routes to, not separate agents. Core languages (Rust, Java, TypeScript; SQL with Postgres/MySQL/Oracle/SQLite branches) are the deliberate exception: knowledge skills inclaude/skills/development/languages/that auto-load from context whenever that language is written or reviewed — no persona, no command. -
The
workflow-engine— a skill that classifies each change and refuses to skip a required gate. -
workflow.yaml— a versioned workflow definition, right-sized to the change viasolo→small-team→regulatedpresets. -
Distribution — a Claude Code plugin (declare it once per project; the commit SHA is the version, so every push is an update), or
install.sh, which wires the skills, commands and templates into whichever editor(s) you use. -
Process, not prompts. Gates are enforced by the engine, not left to a model's memory — and right-sized so a typo isn't treated like a feature.
-
Roles, not micro-agents. Each agent is a role persona; technology stacks are references the role loads on demand.
-
OSS-first, no lock-in. Zero paid accounts by default: file-based tickets + a markdown knowledge base. Jira/Confluence, MCP memory, and design tools are optional overlays.
vs. a single "do everything" agent
| One mega-prompt | AI Dev Team | |
|---|---|---|
| Process | hope it remembers | enforced gates that can refuse to proceed |
| Right-sizing | same weight for a typo and a feature | proportional (change-class + presets) |
| Expertise | one generalist | role specialists + on-demand stack references |
| Lock-in | often tool-specific | vendor-neutral, 4 editors, free defaults |
Relationship to Praxis
The agent skills in this repo are the shared agent layer — installed globally and used by every project, including its sibling Praxis (an open agent-memory runtime) and a separate governed knowledge backend, which live in their own separate repositories.
This framework stays focused on the durable, reusable layer: the agent skills, the workflow engine, the workflow definition, the templates, and the installer. Product-specific surfaces (dashboards, knowledge backends, memory runtimes) live in Praxis and a separate knowledge backend, not here. The earlier dashboard product that this repo once carried has been set aside — see ARCHIVE.md.
Team at a Glance
MANAGEMENT LAYER
┌─────────────────────┬─────────────────────┐
│ │ │
┌──────▼──────┐ ┌───────▼───────┐ ┌──────▼──────┐
│ PRODUCT │ │ SCRUM │ │ BUSINESS │
│ OWNER │ │ MASTER │ │ ANALYST │
│ /po /max │ │ /sm /luda │ │ /ba /anna │
└──────┬──────┘ └───────┬───────┘ └──────┬──────┘
└─────────────────────┼─────────────────────┘
│
ARCHITECTURE LAYER
┌─────────────────────┼─────────────────────┐
┌──────▼──────────┐ ┌────────▼────────┐
│ SOLUTION │ │ SECURITY │
│ ARCHITECT │ │ ENGINEER │
│ /arch /jorge │ │ /secops /soren │
└──────┬──────────┘ └────────┬────────┘
└─────────────────────┬─────────────────────┘
│
DEVELOPMENT LAYER
┌───────────────────────┼───────────────────────┐
┌──────▼────────┐ ┌────────▼─────────┐ ┌────────▼────────┐
│ BACKEND │ │ FRONTEND │ │ DEVOPS │
│ DEVELOPER │ │ DEVELOPER │ │ ENGINEER │
│ /be /james │ │ /fe /finn │ │ │
└──────┬────────┘ └────────┬─────────┘ └─────────────────┘
│ │
│ QUALITY LAYER │
▼ ▼
┌──────────────┐ ┌───────────────┐ ┌───────────────┐
│ CODE │ │ QA ENGINEER │ │ E2E TESTER │
│ REVIEWER │ │ /qa /rob │ │ /e2e /adam │
│ /rev │ └───────────────┘ └───────────────┘
└──────────────┘
SPECIALIST LAYER
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ UI/UX │ │ACCOUNTANT │ │ LEGAL │ │ MARKETING │
│ /ui /aura │ │ /fin /inga│ │/legal/alex│ │ /mkt /apex│
└───────────┘ └───────────┘ └───────────┘ └───────────┘
Quick Start
1. Install
Claude Code — as a plugin (recommended). Nothing to clone, and no ~/.claude setup: declare
it per project and it reaches every session, including cloud sessions and anyone else who clones
the repository.
// <your-project>/.claude/settings.json
{
"extraKnownMarketplaces": {
"aidevteam": {
"source": { "source": "github", "repo": "olehsvyrydov/AI-development-team" }
}
},
"enabledPlugins": { "ai-dev-team@aidevteam": true }
}
Trust the directory when prompted; the plugin installs on the next session. Verify with
claude plugin details ai-dev-team, which lists the component inventory and its token cost.
Skills arrive namespaced — ai-dev-team:arch, ai-dev-team:rev — and the short aliases (/arch,
/rev) keep working. The always-on contract ships as the ai-dev-team skill; a plugin cannot
install a global CLAUDE.md, so that skill carries what a session needs to know about how work
runs here.
To try it before declaring it: claude --plugin-dir ./claude from a clone of this repository.
Any editor — the installer. Still supported, and the only path for Cursor, Kiro and VS Code.
git clone https://github.com/olehsvyrydov/AI-development-team.git
cd AI-development-team
./install.sh # interactive: pick your editor(s)
The universal installer wires up whichever editors you choose and emits the right config for each — no lock-in:
| Editor | What it installs |
|---|---|
| Claude Code | .claude/skills + .claude/commands + CLAUDE.md |
| Cursor | .cursor/rules/ai-dev-team.mdc + AGENTS.md |
| Kiro | .kiro/steering/ai-dev-team.md + AGENTS.md |
| VS Code (Copilot) | .github/copilot-instructions.md + AGENTS.md |
./install.sh --editors=all --preset=solo --yes # non-interactive (preset: solo|small-team|parallel-team|regulated)
./install.sh --editors=claude --scope=user # global ~/.claude (Claude Code)
./install.sh --dry-run # preview, change nothing
./install.sh --link # symlink content (dev mode)
./install.sh --uninstall # remove what it installed
Optional advanced Claude backends (Atlassian, memory MCP, hooks): scripts/setup-claude-backends.sh.
2. Verify
# In Claude Code:
/agents # List the team (15 core + specialists)
/po # Start with Product Owner
/arch # Get architecture review
What Gets Installed
As a plugin, nothing is copied into your project. The repository is the plugin:
AI-development-team/
├── .claude-plugin/
│ └── marketplace.json # the catalogue — points at ./claude
└── claude/ # ← the plugin root
├── .claude-plugin/
│ └── plugin.json # the manifest. `version` is deliberately omitted,
│ # so the commit SHA is the version and every push
│ # is an update
├── skills/ # loaded as ai-dev-team:<name>, short aliases intact
├── commands/
├── templates/
└── workflow/
CLAUDE.md and AGENTS.md at the plugin root are readable mirrors — a plugin cannot load either,
so the always-on contract ships as the ai-dev-team skill instead.
Via install.sh, content is copied (or symlinked with --link) into the target scope. Only
skills/, commands/, templates/ and workflow/ are deployed; the instructions file is
generated at the destination:
~/.claude/
├── CLAUDE.md # generated pointer (TDD workflow, approval gates)
├── TEAM_WORKFLOW.md # Complete team process documentation
│
├── skills/ # 43 agent skill files (15 core + specialists + language + process skills)
│ ├── management/ # Product Owner, Scrum Master, Business Analyst
│ ├── architecture/ # Solution Architect, GraphQL Developer
│ ├── development/
│ │ ├── backend/ # Java/Spring, Kotlin, PHP/Laravel, Python/FastAPI
│ │ ├── frontend/ # React/Next.js, Angular, Vue, Flutter
│ │ ├── languages/ # Rust, Java, TypeScript, SQL (auto-loading knowledge skills, no persona)
│ │ └── mobile/ # Native iOS/Android
│ ├── quality/
│ │ ├── review/ # Full-stack, Backend, Frontend, PHP reviewers
│ │ ├── testing/ # QA, E2E (Playwright/Detox), BDD/Cucumber, unit testers
│ │ └── verify/ # Completion auditor (gate)
│ ├── operations/ # DevOps, SecOps, MLOps, SRE, Terraform
│ ├── design/ # UI/UX Designer, UX Research, JavaFX Designer
│ ├── compliance/ # Accountant, Legal (generic + UK regional variants)
│ ├── marketing/ # Product Marketing Strategist
│ ├── specialized/ # Technical Writer, Kai (self-improving meta-agent)
│ │
│ ├── ai-dev-team/ # ─┐ cross-cutting process skills — judgement, not a role.
│ ├── workflow-engine/ # │ They sit at the top level because they apply across
│ ├── fid-lifecycle/ # │ every role: the gate contract, the always-on framework
│ ├── verify-landed/ # │ contract, work-item lifecycle, proving a change landed,
│ ├── review-tier/ # │ how much review to buy, which model tier to spend,
│ ├── model-selection/ # │ how to investigate, how to audit a grounded answer,
│ ├── research-method/ # │ and how to run a PR to a mergeable state.
│ ├── answer-audit/ # │
│ ├── parallel-delivery/ # │ claiming, isolating and reporting back a ticket
│ └── pull-request/ # ─┘ worked by a separate session.
│
├── commands/ # 50 slash commands
│ ├── [role-based] # /po, /sm, /ba, /arch, /fe, /be, /rev, /qa, /e2e ...
│ ├── [persona aliases] # /max, /luda, /jorge, /finn, /james, /adam ...
│ └── [utility] # /agents, /bug, /issue, /memory, /all, /kai ...
│
├── templates/ # 6 document templates
│ ├── adr-template.md # Architecture Decision Records
│ ├── user-story-template.md # User stories with Given/When/Then AC
│ ├── sprint-template.md # Sprint planning & tracking
│ ├── code-review-template.md # Structured code review reports
│ ├── investigation-report-template.md
│ └── retrospective-template.md
│
└── workflow/ # workflow.yaml + schema + optional MCP adapters
Agent Reference
Core Agents
| Command | Alias | Role | Key Expertise |
|---|---|---|---|
/po |
/max |
Product Owner | Vision, backlog, user stories, prioritization |
/sm |
/luda |
Scrum Master | Board integrity checks, AC refinement, team orchestration |
/ba |
/anna |
Business Analyst | Market research, requirements, gap analysis |
/arch |
/jorge |
Solution Architect | System design, patterns (CQRS, Saga), ADRs |
/fe |
/finn |
Frontend Developer | React 19, Next.js, TypeScript, TailwindCSS |
/be |
/james |
Backend Developer | Java 21+, Spring Boot 4, Kotlin, reactive APIs |
/rev |
— | Code Reviewer | Quality, security, style, requirements validation |
/qa |
/rob |
QA Engineer | Test case design, BDD specs, exploratory testing |
/e2e |
/adam |
E2E Tester | Playwright, Detox, performance testing |
/ui |
/aura |
UI/UX Designer | Design systems, Figma-to-code, accessibility |
/secops |
/soren |
Security Engineer | OWASP, threat modeling, Zero Trust, supply chain |
/fin |
/inga |
UK Accountant | Tax planning, VAT, R&D credits, MTD compliance |
/legal |
/alex |
UK Legal Counsel | GDPR, contracts, employment law, compliance |
/mkt |
/apex |
Marketing Strategist | GTM strategy, positioning, content, SEO |
/devops |
— | DevOps Engineer | Terraform, Kubernetes, GitHub Actions, Docker |
Both naming conventions work:
/arch(role-based, primary) and/jorge(persona alias) invoke the same agent.
On-Demand Specialists
These aren't part of the core 15 — they load on demand when their discipline is in play (invoke directly, or a core agent routes to them).
| Command | Role | Key Expertise |
|---|---|---|
/ai |
AI/LLM Application Engineer | RAG, agents, prompt engineering, evals, tool use, guardrails |
/mlops |
MLOps Engineer | Model serving, ML/AI pipelines, deployment & monitoring |
/data |
Data Engineer | ETL/ELT, dbt, warehouses, streaming, orchestration |
/dba |
Database Administrator | Schema design, indexing, query tuning, safe migrations |
/sre |
SRE / Observability | SLOs, monitoring, alerting, incident response, runbooks |
/perf |
Performance Engineer | Web Vitals, profiling, caching, load testing, budgets |
/android |
Native Mobile — Android | Kotlin, Jetpack Compose, Play delivery |
/ios |
Native Mobile — iOS | Swift, SwiftUI, App Store delivery |
/ux |
UX Researcher | Interviews, usability testing, personas, journey maps |
/tw |
Technical Writer | API docs, Javadoc/JSDoc, READMEs, diagrams, onboarding |
Two special-purpose agents are documented in their own sections: /kai (self-improving meta-agent) and /verify (completion auditor / workflow gate).
Process Skills
Role agents cover who does the work. These cover how it is decided, checked and paid for.
They live at the top level of claude/skills/ and self-trigger from their descriptions — you
rarely invoke them by name, but knowing they exist lets you reach for one deliberately.
| Skill | Load it when |
|---|---|
workflow-engine |
Before any task and before every handoff — the gate contract. It may refuse to proceed past an unmet gate |
ai-dev-team |
The always-on contract: principles, process, git conventions. What a global CLAUDE.md used to carry |
fid-lifecycle |
Moving work Backlog → design doc / epic → tickets → Done without orphans or two disagreeing records |
verify-landed |
After any behaviour-changing edit, before calling a fix done. Removing nothing breaks nothing — a green build is not evidence your change exists |
review-tier |
Before spending a review. Classifies the diff, picks the shape, and refuses to review a branch whose free gates are not green |
model-selection |
Before delegating work. Go cheaper when a mechanical verifier exists downstream; spend when this output is the last line of defence |
research-method |
A question that needs measuring rather than deciding, and writing the result so it survives a hostile reader |
answer-audit |
Checking a retrieval-grounded answer, assuming it is wrong until each claim is proven verbatim against a source |
pull-request |
Running a PR to a mergeable state — resolving every review thread, checking runs by SHA rather than the summary |
parallel-delivery |
Claiming a ticket for cross-session delivery, before creating its workspace/branch, or reporting it back — the claim protocol, workspace isolation, and the report-back contract |
The rule they exist to enforce: a ticket is Done only when its negative criteria are met — the guard, the refusal, the "cannot bypass" — and each names the symbol that enforces it. Happy paths ship; the things that stop bad outcomes do not, unless someone checks.
Technology Extensions
These activate alongside core agents when working with specific technologies:
| Skill | Extends | Technology |
|---|---|---|
| Angular Developer | Frontend | Angular 21, Signals, NgRx SignalStore |
| Vue Developer | Frontend | Vue 3, Composition API, Pinia, Nuxt 3 |
| Flutter Developer | Frontend | Flutter/Dart, Riverpod, Material 3 |
| Kotlin Developer | Backend | Kotlin 2.1, Coroutines, KMP |
| Quarkus Developer | Backend | Quarkus, Panache, GraalVM Native |
| FastAPI Developer | Backend | Python FastAPI, async, Pydantic v2 |
| Laravel Developer | Backend | PHP/Laravel, Eloquent, Filament, Livewire 3 |
| Spring Kafka | Backend | Kafka 4.x, Reactor Kafka, DLT/retry |
| JavaFX Developer | Desktop | JavaFX 21+, FXML, Scene Builder |
| GraphQL Developer | Architect | Apollo, Federation, DataLoader |
| Terraform Specialist | DevOps | Multi-cloud IaC, state management |
| Cucumber BDD | E2E Tester | Gherkin, step definitions, Cucumber-JVM/JS |
| HMRC API | Backend | UK Making Tax Digital, OAuth2 Gateway |
| Backend Reviewer | Reviewer | Java/Kotlin focus, Checkstyle, SonarQube |
| Frontend Reviewer | Reviewer | TypeScript focus, ESLint, accessibility |
| PHP Reviewer | Reviewer | PHP/Laravel focus, PHPStan, Psalm |
| Backend Tester | Tester | JUnit 5, Testcontainers, StepVerifier |
| Frontend Tester | Tester | Jest, React Testing Library, Vitest |
| JavaFX Designer | UI Designer | JavaFX CSS, FXML layouts |
| UK Accountant | Accountant | UK-specific tax, HMRC, IR35 |
| UK Legal Counsel | Legal | English & Welsh Law, GDPR UK |
| UK Self-Employment | UK Accountant | SA103, Class 4 NI, MTD quarterly |
Workflow
Development Sequence
Every feature follows this pipeline:
1. /po + /ba → Define vision, write user stories with behavioral AC
2. /arch → Architecture review and ADR (when triggered)
3. /secops → Security review (safety override — never skipped for size)
4. [/fin] → Finance review (if payments, billing, tax)
5. [/legal] → Legal review (if GDPR, privacy, contracts)
6. [/ui] → UI design (if frontend feature)
7. /fe or /be → TDD implementation (tests first, then code)
8. /rev → Code review (quality + security + requirements)
9. /qa + /e2e → Test case design + automated E2E tests
Approval Gates
Gates are proportional — the workflow-engine decides which apply per change-class / trigger / preset (a typo isn't a feature). Security gates are a safety override: triggered by risk, never skipped for being "small".
| Gate | Agent | When Required |
|---|---|---|
| Architecture | /arch |
When triggered (new system / dependency / boundary) or forced by preset |
| Security | /secops |
When triggered (auth / secrets / PII / external input) — never skipped for size |
| Finance | /fin |
Payments, billing, VAT, tax features |
| Legal | /legal |
GDPR, privacy, contracts, employment |
| UI Design | /ui |
Frontend features |
TDD (Mandatory)
All development follows strict Test-Driven Development:
- Red — Write failing tests that define expected behavior
- Green — Write minimum code to pass tests
- Refactor — Clean up while keeping tests green
- Commit — Git commit after successful test run
Bug Workflow
/bug Login button doesn't work on mobile Safari
Creates a structured investigation → reproduction test → TDD fix → code review → E2E test.
Jira & Confluence (optional overlay)
By default the team is file-based — Backlog.md tickets + a markdown knowledge base, zero paid accounts. Jira/Confluence are an optional overlay: enable them in workflow.yaml and connect the Atlassian MCP server:
claude mcp add --scope user --transport http atlassian https://mcp.atlassian.com/v1/mcp
- Jira: Kanban board for issue tracking, ticket lifecycle, sprint management
- Confluence: Architecture decisions, security reviews, investigation reports, sprint documentation
- Git conventions: Branch names (
feature/PROJ-123-description), commit messages (PROJ-123: Implement feature)
Optional Add-Ons
Multi-LLM Consultation (/all)
Query multiple frontier models from within Claude Code and get consensus, divergent views, and synthesized recommendations.
/all Should we use event sourcing for our payment system?
/all Review this architecture for scalability issues
Routes through OpenRouter (single API key for all models) with direct OpenAI fallback.
cd multi-llm/mcp
python3 -m venv .venv && .venv/bin/pip install -e .
claude mcp add --scope user multi-llm \
-e OPENROUTER_API_KEY=<your-key> \
-- /path/to/multi-llm/mcp/.venv/bin/python3 -m consult_mcp
See: Multi-LLM Guide
Self-Improving Meta-Agent (/kai)
Kai promotes working-rules you have already approved into permanent SKILL.md updates. It emits a diff and stops — it never applies, stages, or commits a change.
Its input is working-rules you have already approved — from whatever the project uses: an
agent-memory MCP server, a file the team maintains, or nothing at all. Kai names no product and
depends on none; concrete backends are optional adapters documented in
claude/skills/specialized/kai/references/rule-sources.md. Kai reads only the approved rules,
drops any that are project-specific, duplicated or too vague, and proposes the rest.
/kai # review all approved rules, propose what qualifies
/kai --skill <path> # restrict to rules routing to one skill
/kai --audience reviewer # restrict by audience (reviewer|developer|tester|all)
Pipeline: session → rules mined automatically → you approve → Kai filters for universality → diff for review → you apply it, or you do not.
With no backend connected, /kai reports that there are no approved rules and stops. It does not
invent them.
Extending the Framework
Adding a New Agent
-
Create a skill directory under the appropriate category:
claude/skills/development/backend/go/go-developer/SKILL.md -
Follow the SKILL.md format (YAML frontmatter + structured Markdown sections):
--- name: go-developer description: "Senior Go Developer with 8+ years systems programming experience" --- # Go Developer ## Trigger Use when working with Go code, services, or CLI tooling. ## Context You are a Senior Go Developer... ## Expertise ### Modern Go - Goroutines, channels, context propagation ... ## Anti-Patterns - Never discard a returned error ... -
Create a slash command in
claude/commands/go.md -
Re-install / update:
./install.sh(idempotent)
For a core language rather than a role, use the knowledge-skill pattern instead — see claude/skills/development/languages/ (Rust, SQL): no persona, no command; the frontmatter description auto-triggers from context and the role agents route into it. The recipe is in CONTRIBUTING.md under "Add a language skill".
Adding a New Technology to an Existing Agent
Edit the relevant SKILL.md and add a new subsection under ## Expertise. Skills should contain universal, reusable knowledge — no project-specific references, ticket IDs, or sprint numbers.
Requirements
| Component | Required | Version |
|---|---|---|
| Claude Code | Yes | Latest |
| Python | For Multi-LLM only | 3.11+ |
| OpenRouter API key | For Multi-LLM only | Pay-per-use |
The core framework (15-agent core team + optional specialists) works with just Claude Code — no additional dependencies.
Documentation
| Guide | Description |
|---|---|
| Team Workflow | Complete phase-by-phase development process |
| Context Persistence | Session continuity notes |
| Multi-LLM Guide | /all command, model registry, API setup |
| Skill Extension | Adding new technologies and agents |
| Agent Communication | Handoff specs, artifact flow between agents |
| Archive | What was set aside (the DART dashboard product) and where to find it |
Version History
See CHANGELOG.md for full details.
| Version | Date | Changes |
|---|---|---|
| 5.3.0 | 2026-08-09 | Language skills — Rust, SQL (Postgres/MySQL/Oracle/SQLite), Java, TypeScript as auto-loading knowledge skills with reviewer passes; /arch design-for-predictability deliverables (contract sheets, state tables, FMEA, test-case-first); CI runs the framework gates on every PR |
| 5.2.0 | 2026-08-03 | Plugin distribution (claude/ is the plugin root; SHA is the version); ai-dev-team contract skill + pull-request skill; /kai re-based on human-approved rules from any backend; /retro removed; /sm re-scope wired to its triggers; root AGENTS.md untracked |
| 5.1.0 | 2026-06-14 | Reference libraries (ai-engineer, architect, data/mlops/dba); /tw + /mlops wired up; roster reconciled to core 15; knowledge-backend naming generalized; DART dashboard + RAG subsystem + migration scripts removed |
| 5.0.0 | 2026-06-06 | OSS-first release — proportional workflow engine, 48→29 roster, universal multi-editor installer, pluggable adapters |
| 4.1.0 | 2026-02-24 | Kai meta-agent, multi-LLM consultation, migration scripts |
| 4.0.0 | 2025-01-02 | Restructured for easy ~/.claude deployment, installer |
| 3.1.0 | 2024-12-27 | Approval gates, design verification |
| 3.0.0 | 2024-12-26 | TDD workflow, unified QA agents |
| 2.0.0 | 2024-12-25 | Performance testing modules |
| 1.0.0 | 2024-12-23 | Initial release with 15 agents |
Contributing
- Fork the repository
- Create a feature branch
- Install in dev mode:
./install.sh --link - Make changes to skills in
claude/skills/ - Submit a pull request
See Skill Extension Guide for detailed contribution guidelines.
License
MIT License — See LICENSE file for details.
No comments yet
Be the first to share your take.