By paulingalls
Automate Extreme Programming (XP) workflows: decompose plans into sprint stories, manage git branches/PRs/merges with reviews, enforce TDD gates and code quality checks, run retrospectives, select work modes, and track velocity across sessions.
System context analyst. Reads codebase structure, CLAUDE.md, and key source files to produce system_context.json — a thorough description of the product, its architecture, and technical constraints. Invoke via /xp-system-context skill, not directly.
Branch-close reviewer. Reviews the diff between a close source branch and its merge target before /xp-sprint-close, /xp-plan-close, /xp-free-close, or /xp-story-close merges. Bash is available for diff capture and read-only inspection (gh pr view, git log, grep); the prompt forbids mutating commands. Mode-aware focus (sprint/plan/free/story). Invoke via the close skills, not directly.
Independent code reviewer. Reviews changes through XP value lenses and holds /simplify accountable for skipped findings. Spawned by /xp-quality-review.
SMM curator. Reads structured curation data and applies LLM judgment to curate Intent, Constraints, Risks, and Wisdom pillars. Invoked by /xp-kickoff via the Agent tool after work selection; SMM_DIR and CURATION_INPUT are injected through the SubagentStart hook.
XP plan reviewer. Highest-leverage review -- checks plan size, TDD ordering, milestone boundaries, decision conflicts. Use after planning completes. Invoke via /xp-review-plan skill, not directly.
Verify acceptance criteria for in-progress stories. Present criteria, guide e2e test execution, mark stories done or deferred, update sprint.json.
Analyze plan steps, decide execution mode (solo vs CLI teammates), and either proceed solo or spawn teammates for parallel execution. Auto-run after planning completes.
User-invoked end-of-session cleanup. Drafts a session_summary event, force-closes/defers open questions, bulk-drops likely-addressed concerns and debts, and prints an honesty-signal count of SMM events not yet linked to a commit.
Push the current free branch, fork xp-close-reviewer for free-mode review, and merge into the primary integration branch with cleanup. Used for ad-hoc work performed outside a sprint or plan; degrades gracefully when gh is unavailable.
Session start orchestrator. Sequences retrospective, sprint setup, work selection, and housekeeping. Use at the start of every session.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools
██╗ ██╗██████╗ █████╗ ██████╗ ███████╗███╗ ██╗████████╗███████╗
╚██╗██╔╝██╔══██╗ ██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝██╔════╝
╚███╔╝ ██████╔╝══════███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ ███████╗
██╔██╗ ██╔═══╝ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ╚════██║
██╔╝ ██╗██║ ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ███████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝
XP-Agents is a Claude Code plugin that makes your agents — solo or in teams — write better software through XP practices. Command hooks enforce deterministic rules. Plugin subagents provide judgment-based guidance. A broadcast event log keeps every agent aligned. Zero config. Install and go.
Agents are non-deterministic, dishonest, lazy and they constantly cheat, all in their unshakable desire to achieve their goal. They ignore what you tell them, they think instructions are for the weak. They do things their own way.
Kind of like humans.
Over 25 years I've been running, hiring and working with engineers. Messy, spectrumy, brilliant, strange. They run the gamut. But one thing has constantly brought them together into a powerful team, and those are the values and discipline of Extreme Programming.
So, as Agents become more and more human like, using some of the same practices with them just made sense. This plugin is my attempt to coral them into a working team, first as a teammate of me (solo agent) and then as teammates of each other (CLI teammates running in parallel worktrees).
So, give it a shot and drop me an issue. I'd love to hear what you think...
Paul, the human theoretically in charge..;)
What it does: Command hooks fire automatically on tool calls — blocking conflicts, enforcing TDD, running linters, and tracking status. Plugin subagents provide strategic guidance: a plan reviewer validates plans and a retrospective analyst surfaces cross-session learning. Inline skills handle work selection, quality review, sprint planning, and SMM curation. Everything is broadcast through a shared event log visible to every agent.
How it works: Deterministic enforcement (tests, lint, conflicts, security) lives in command hooks — they fire every time. Judgment work (plan analysis, retrospectives, quality review) lives in plugin subagents and inline skills, triggered by hook nudges or stop gates.
Who it's for: Anyone using Claude Code — solo agents benefit from the quality review, retrospectives, and TDD enforcement. Teams benefit from the broadcast coordination layer that keeps every agent aligned.
From within a Claude Code session:
# Add the marketplace
/plugin marketplace add paulingalls/xp-agents
# Install
/plugin install xp-agents@xp-agents
Or from your terminal (skips the interactive scope picker):
# Add the marketplace
claude plugin marketplace add paulingalls/xp-agents
# Install at user scope (available across all projects)
claude plugin install xp-agents@xp-agents --scope user
# Or install at project scope (shared with team via .claude/settings.json)
claude plugin install xp-agents@xp-agents --scope project
For local development, use --plugin-dir (session-only, not persisted):
claude --plugin-dir /path/to/xp-agents/plugins/xp-agents
Requirements: Python 3.11+ on PATH. macOS or Linux. Zero external packages.
Scopes: User scope makes xp-agents available on all your projects. Project scope shares it with your team via version control. Both work with CLI teammates — the SMM is stored in CLAUDE_PLUGIN_DATA (shared across worktrees).
For teams: Add this to your project's .claude/settings.json so teammates can discover the plugin:
{
"extraKnownMarketplaces": {
"xp-agents": {
"source": { "source": "github", "repo": "paulingalls/xp-agents" }
}
}
}
Each person installs individually. The marketplace entry is just discovery.
First session:
$ claude
> Starting session...
[xp-agents] Initializing SMM for project... ✓
[xp-agents] Kickoff required — run /xp-kickoff
> /xp-kickoff
[xp-agents] First session — no retrospective data.
[xp-agents] What are your goals for this session?
> "Build a REST API for user management with auth and role-based access."
[xp-agents] Goal recorded.
[xp-agents] Running housekeeping — curating Shared Mental Model...
[xp-agents] SMM curated. Process guide loaded. Ready to work.
npx claudepluginhub paulingalls/xp-agents --plugin xp-agentsUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions