This project reflects my personal journey as someone who always wanted programming skills to build useful tools but never developed the necessary expertise. AI pair programming has finally made creating usable applications accessible without requiring extensive upfront skill development. However, working with AI LLMs is quirky and difficult because they can completely derail. I'm trying different methods of "guiding," "coaching," "steering," and limiting the LLM. I've had some interesting experiments with RooCode and Cursor using AI roles. Recently I took another shot at it with Claude Code roles. I've packaged the work and put it on GitHub here. It is not quite where I want it to be yet, but I do see this as one of the viable methods for keeping the LLM on track and it's a nice start. Feel encouraged to use it and I welcome feedback here or you can look me up on LinkedIn: https://www.linkedin.com/in/dimitrigeelen/.
40-60% Performance Improvement with Claude Code Agents! This project now features an advanced agent system with:
- β‘ Parallel Processing: Up to 10 concurrent agents
- π― Isolated Contexts: No performance degradation in long sessions
- π§ Optimized Models: Sonnet for complex tasks, Haiku for simple ones
- π§ Granular Permissions: Each agent has specific tool access
Is a role-based development framework using evidence-based development principles and specialized AI workflows. This project demonstrates a systematic approach to building software using specialized AI agents for different aspects of development.
This framework is designed to improve AI-human pair programming outcomes by providing structured, evidence-based workflows that reduce frustration and increase productivity through clear role definitions and measurable results.
STEP 1 - clone Repo
If you want the repository contents to go directly into your current directory (without creating a subfolder), you can use:
git clone https://github.com/DimitriGeelen/1000-AI-Roles.git .The . at the end tells git to clone into the current directory. Note that your current directory should be empty for this to work properly.
If you want to create a new project folder and clone the repository into it:
mkdir my-project && cd my-project && git clone https://github.com/DimitriGeelen/1000-AI-Roles.git .This command does three things in sequence:
mkdir my-project- Creates a new directory called "my-project"cd my-project- Changes into that directorygit clone ... .- Clones the repository contents directly into the current directory (the dot at the end means "current directory")
Replace my-project with whatever you want to name your project folder. The && operators ensure each command only runs if the previous one succeeds.
STEP 2 - start claude code
by typing in claude at the command prompt
or
if you need to install claude first follow the instructions here: https://docs.anthropic.com/en/docs/claude-code/setup
STEP 3 - Use the Advanced Agent System
π― Recommended: Just start working! Claude automatically suggests the right agent for your task:
- Start describing your project β Claude suggests: "I recommend using the project-initiator agent"
- Need requirements? β Claude suggests: "Let's use the requirements-collector agent"
- Ready to code? β Claude suggests: "Time for the coder agent"
Legacy Option: Use slash commands /roles + ENTER to see available commands, or type directly like /project-initiator
p.s. some pointers to deal with quirkiness, aim to refine this a the next release.
For now, I suggest to skip the architect role unless you wan enterprise grade architecture.
---Architecture bloat: when LLM veers of into architecture bloat use the phase: adhere to our claude.md! --> Build the minimum first. Start with the simplest version that could possibly work - strip everything down to just the essential core functionality!
--- Cheating and Lying LLM: When the LLM is faking result and claiming features have been build and successfully tested, use the phrase: adhere to our claude.md! --> "Show me the data" protocol. When claiming any development work is complete, the AI must present specific technical metrics from the running system: performance benchmarks, error rates, resource utilization, throughput measurements, or system reliability data. Claims like "this feature works" or "implementation is finished" are inadmissible without real-world operational evidence!
- Human decides, AI provides proof: Product Owner makes decisions based on concrete, measurable evidence
- Default to instrumentation: Every code delivery includes logging, metrics, and monitoring hooks
- "Show me the data" protocol: All development work must be backed by real-world operational evidence
- Build the minimum first: Start with the simplest version that could possibly work
- Validate before adding: Every enhancement must be earned through evidence from real usage
This project implements a Role-based development system where specialized AI agents handle different aspects of software development. Each role has specific responsibilities, success metrics, and handoff procedures.
Agent Invocation Pattern: When you need specialized expertise, Claude will suggest using a specific agent:
Claude: "This project needs clear requirements. I recommend using @requirements-collector to gather your needs first"
User: @requirements-collector
During development of this role-based system, we researched Claude Code's native capabilities for role invocation patterns and discovered important insights:
-
@role Pattern Not Native: The
@roleinvocation pattern described in our CLAUDE.md is a custom specification that doesn't align with Claude Code's standard functionality. -
Claude Code Native Patterns:
- Slash Commands:
/command-nameformat using.mdfiles in.claude/commands/directory - File Tagging:
@filenamefor referencing files and context inclusion - Sub-Agent Tasks: Uses
Tasktool to spawn specialized autonomous agents
- Slash Commands:
-
Alternative Implementation Options:
- Option A: Convert each role to individual slash commands (e.g.,
/requirements-collector) - Option B: Create a
/rolescommand that lists all available development roles - Option C: Implement as workflow documentation that Claude follows contextually
- Option A: Convert each role to individual slash commands (e.g.,
This project now implements three approaches:
Agent System (Recommended): Enhanced Claude Code agents with advanced capabilities
- Agent Files: 10 specialized agents in
.claude/agents/directory with YAML configuration - Benefits: Isolated contexts, parallel processing (up to 10 concurrent), optimized model selection
- Performance: 40-60% improvement in long development sessions vs slash commands
- Invocation: Claude automatically suggests appropriate agents based on context
Slash Commands (Legacy):
- Individual role commands:
/project-initiator,/requirements-collector,/mvp-specialist,/architect, etc. - Role listing command:
/rolesto see all available roles - Located in
.claude/commands/directory for backward compatibility
Contextual Workflow Guidance (Fallback):
- Claude recognizes role requests based on CLAUDE.md instructions
- Roles can be invoked through natural language (e.g., "I need the requirements collector role")
- Each role follows its defined custom instructions and success metrics
- β
Create Slash Commands:
ImplementCOMPLETED.claude/commands/directory with individual role commands - MCP Integration: Potentially integrate with Model Context Protocol for advanced agent orchestration
- Workflow Automation: Build automated handoff procedures between roles using Claude Code's Task delegation
This hybrid approach maintains the sophisticated role-based development system while working within Claude Code's architectural constraints.
Simply describe what you want to build - Claude intelligently suggests the right agent:
You: "I want to build a task management app"
Claude: "I recommend using the project-initiator agent to transform this idea into a structured project brief"
You: "Use project initiator agent"
β Specialized agent launches with optimized context
- π― project-initiator - Transform ideas into actionable briefs
- π requirements-collector - Gather comprehensive requirements
- πͺ mvp-specialist - Define core value proposition
- ποΈ architect - Design system architecture
- π planner - Break down implementation tasks
- π€ pseudo-coder - Design logic and algorithms
- π§ͺ tdd-evidence-specialist - Create comprehensive tests
- π» coder - Implement clean, modular code
- π documentation-writer - Create user-focused docs (Haiku-optimized)
- π git-mate - Handle version control workflows
- Clone the repository - The
.claude/commands/directory contains all role definitions - List available roles: Type
/rolesto see all available development roles - Start with discovery: Use
/project-initiatorto transform ideas into actionable project briefs - Gather requirements: Use
/requirements-collectorto gather comprehensive needs - Define MVP scope: Use
/mvp-specialistto focus on core value proposition - Design architecture: Use
/architectto create technical system design - Plan implementation: Use
/plannerto break down into executable tasks - Implement with evidence: Follow the chain
/pseudo-coderβ/tdd-evidence-specialistβ/coder
If slash commands aren't working (e.g., /roles shows /permissions instead):
Common Solutions:
- Verify working directory: Ensure you're in the project root directory (
/opt/1000-AI-Roles) - Check command discovery: Type just
/to see if any commands load in the typeahead menu - Restart Claude session: Use
/clearto refresh the session and reload commands - Try permissions workaround: Run
claude --dangerously-skip-permissions(not actually dangerous) - Verify file structure: Commands should be
.mdfiles in.claude/commands/directory
Known Issues:
- Claude may not recognize dot-directories (
.claude) intermittently (Issue #697) - Commands may need session restart to be discovered
- Editing commands within a session should update them automatically
Verification Steps:
- Commands should appear in typeahead when typing
/ - Check that
.claude/commands/contains the 10.mdfiles - Ensure repository is committed (commands need to be tracked files)
Sources: Claude Code Issues, Claude Code Best Practices
- Start with discovery: "I need the project initiator role" to transform ideas into project briefs
- Gather requirements: "I need the requirements collector role" to gather comprehensive needs
- Define MVP scope: "Use the mvp specialist role" to focus on core value proposition
- Design architecture: "I need the architect role" to create technical system design
- Plan implementation: "Use the planner role" to break down into executable tasks
- Implement with evidence: Follow the implementation chain with corresponding role requests
βββ CLAUDE.md # Claude Code guidance and project instructions
βββ AI-Roles.md # Complete role definitions and custom instructions
βββ README.md # This file - project overview and role calling guide
βββ core-principles.md # Core development principles
βββ role-template.md # Standardized template for role development
βββ .claude/
βββ agents/ # Agent system (RECOMMENDED)
β βββ architect.md # Solution architect agent with YAML config
β βββ coder.md # Code implementation agent
β βββ documentation-writer.md # Documentation agent (Haiku optimized)
β βββ git-mate.md # Git workflow agent
β βββ mvp-specialist.md # MVP strategy agent
β βββ planner.md # Task planning agent
β βββ project-initiator.md # Project discovery agent
β βββ pseudo-coder.md # Logic design agent
β βββ requirements-collector.md # Requirements gathering agent
β βββ tdd-evidence-specialist.md # TDD testing agent
βββ commands/ # Slash commands (Legacy support)
βββ roles.md # List all available roles (/roles)
βββ project-initiator.md # Project discovery specialist (/project-initiator)
βββ requirements-collector.md # Requirements specialist (/requirements-collector)
βββ mvp-specialist.md # MVP strategist (/mvp-specialist)
βββ architect.md # Solution architect (/architect)
βββ planner.md # Task planner (/planner)
βββ pseudo-coder.md # Logic designer (/pseudo-coder)
βββ tdd-evidence-specialist.md # TDD specialist (/tdd-evidence-specialist)
βββ coder.md # Code implementer (/coder)
βββ documentation-writer.md # Documentation specialist (/documentation-writer)
βββ git-mate.md # Git workflow specialist (/git-mate)
All project documentation follows version control with structured tracking:
| File | Purpose | Version |
|---|---|---|
| CLAUDE.md | Claude Code guidance and workflow | 1.1 |
| AI-Roles.md | Role-based development system | 1.0 |
| README.md | Project overview and role calling | 1.0 |
| core-principles.md | Development principles | 1.0 |
This project follows evidence-based development principles. All contributions must include:
- Measurable success criteria
- Operational validation strategy
- Real-world system behavior evidence
- Comprehensive test coverage
For more details, see CLAUDE.md for complete development workflow and AI-Roles.md for role-specific instructions.