Skip to content

pssah4/digital-innovation-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Digital Innovation Agents

AI-Powered Software Development Workflow - From idea to production-ready code through structured, quality-gated phases.

A comprehensive system of specialized AI agents that guide software development from initial business concept through requirements engineering, architecture design, implementation, and debugging. Built for GitHub Copilot with automated quality gates and validation.


🎯 What This Is

Digital Innovation Agents transforms how software is built by providing a structured, agent-based workflow that ensures quality at every stage. Instead of jumping straight into code, projects follow a systematic path:

Business Idea β†’ Requirements β†’ Architecture β†’ Implementation β†’ Quality Assurance
     ↓              ↓              ↓              ↓                ↓
   BA Agent    RE Agent    Architect Agent  Developer Agent  Debugger Agent

Each agent specializes in one phase, has built-in quality checks, and produces standardized outputs that feed into the next phase.


πŸ€– The Five Agents

1. Business Analyst (@business-analyst)

Role: Transform raw ideas into structured business requirements

When to use:

  • Starting a new project from scratch
  • Have a problem but unclear on the solution
  • Need to explore requirements systematically

Input: Raw project idea or problem description
Output: docs/business-analysis/BA-[PROJECT].md

Key Features:

  • Scope detection (Simple Test / PoC / MVP)
  • Structured interviews (5-50 questions based on scope)
  • Jobs-to-be-Done analysis
  • Value proposition development
  • Success metrics definition

2. Requirements Engineer (@requirements-engineer)

Role: Convert business analysis into architect-ready requirements

When to use:

  • Have a business analysis document
  • Need structured epics and features
  • Ready to define technical requirements

Input: Business Analysis document OR direct user input
Output:

  • requirements/epics/EPIC-*.md
  • requirements/features/FEATURE-*.md
  • requirements/handoff/architect-handoff.md

Key Features:

  • Epic creation with hypothesis statements
  • Feature breakdown with acceptance criteria
  • NFR quantification (Performance, Security, Scalability)
  • ASR identification (Architecture-Significant Requirements)
  • Comprehensive architect handoff package

Quality Gate 1 (QG1):

  • βœ… All NFRs quantified (with numbers!)
  • βœ… All ASRs identified and marked (πŸ”΄/🟑)
  • βœ… Acceptance criteria testable
  • βœ… Architect handoff complete

3. Architect (@architect)

Role: Design technical architecture and create developer-ready issues

When to use:

  • Requirements are complete (QG1 passed)
  • Need architectural decisions documented
  • Ready to plan implementation

Input: requirements/handoff/architect-handoff.md
Output:

  • docs/decisions/ADR-*.md (Architecture Decision Records in MADR format)
  • docs/arc42/ARC42-DOCUMENTATION.md (arc42 architecture docs)
  • backlog/ISSUE-*.md (Developer-ready issues)
  • backlog/Backlog.md (Single source of truth for work breakdown)

Key Features:

  • Adaptive complexity (Simple Test / PoC / MVP)
  • ADR creation with research (web_search + @azure)
  • arc42 documentation (sections 1-7 for MVP)
  • Atomic issue creation (1-3 days each)
  • System design with Mermaid diagrams

Quality Gate 2 (QG2):

  • βœ… ADRs for all major decisions (MADR format, 3+ options)
  • βœ… arc42 complete for scope
  • βœ… Atomic issues created (clear single responsibility)
  • βœ… Backlog.md created (work overview)
  • βœ… Developer handoff complete

4. Developer (@developer)

Role: Implement atomic tasks with mandatory testing

When to use:

  • Architecture complete (QG2 passed)
  • Ready to write code
  • Have developer-ready issues in backlog

Input: Issues from backlog/ISSUE-*.md
Output:

  • Production code (src/**/*)
  • Test code (tests/**/*)
  • Error logs if tests fail (logs/ERROR-TASK-*.md)

Key Features:

  • 5-Phase Streamlined Workflow:
    1. Task Analysis & Setup
    2. Implementation (code + tests)
    3. Testing & Validation (ALL tests MANDATORY)
    4. Validation & Commit
    5. Completion & Metrics

Quality Gate 3 (QG3):

  • βœ… ALL tests written (from task test plan)
  • βœ… ALL tests executed (full suite)
  • βœ… ALL tests passing OR error log created
  • βœ… Coverage β‰₯90%
  • βœ… Clean code principles applied
  • βœ… No TODOs or placeholders

Critical Rule: Tests are MANDATORY, not optional!


5. Debugger (@debugger)

Role: Systematic error analysis and resolution

When to use:

  • Tests failed after implementation
  • Have error log from Developer
  • Need root cause analysis

Input: logs/ERROR-TASK-*.md
Output:

  • Fixed code
  • Updated tests
  • Resolution documentation

Key Features:

  • Fast Path: Simple fixes in minutes (typos, missing imports)
  • Systematic Path: Complex issues with full analysis
    • Root cause identification (not symptoms!)
    • Fix strategy with multiple options
    • Comprehensive testing
    • No regressions

Quality Gate Debug (QGD):

  • βœ… Root cause identified (not symptom)
  • βœ… Clean fix (no workarounds)
  • βœ… ALL tests run and passing
  • βœ… No regressions
  • βœ… Resolution documented

πŸ“ Repository Structure

digital-innovation-agents/
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ chatmodes/                    # Agent definitions
β”‚   β”‚   β”œβ”€β”€ business-analyst.chatmode.md
β”‚   β”‚   β”œβ”€β”€ requirements-engineer.chatmode.md
β”‚   β”‚   β”œβ”€β”€ architect.chatmode.md
β”‚   β”‚   β”œβ”€β”€ developer.chatmode.md
β”‚   β”‚   └── debugger.chatmode.md
β”‚   β”‚
β”‚   β”œβ”€β”€ instructions/                 # Auto-validation rules
β”‚   β”‚   β”œβ”€β”€ architect.instructions.md
β”‚   β”‚   β”œβ”€β”€ developer.instructions.md
β”‚   β”‚   β”œβ”€β”€ debugger.instructions.md
β”‚   β”‚   └── requirements-engineer.instructions.md
β”‚   β”‚
β”‚   β”œβ”€β”€ templates/                    # Document templates
β”‚   β”‚   β”œβ”€β”€ EPIC-TEMPLATE.md
β”‚   β”‚   β”œβ”€β”€ FEATURE-TEMPLATE.md
β”‚   β”‚   β”œβ”€β”€ ISSUE-TEMPLATE.md
β”‚   β”‚   β”œβ”€β”€ BUGFIX-TEMPLATE.md
β”‚   β”‚   └── IMPROVEMENT-TEMPLATE.md
β”‚   β”‚
β”‚   └── copilot-instructions.md       # Global agent overview
β”‚
β”œβ”€β”€ docs/                             # Documentation outputs
β”‚   β”œβ”€β”€ business-analysis/            # BA outputs
β”‚   β”œβ”€β”€ decisions/                    # ADRs from Architect
β”‚   └── arc42/                        # Architecture docs
β”‚
β”œβ”€β”€ requirements/                     # RE outputs
β”‚   β”œβ”€β”€ epics/                        # EPIC-*.md
β”‚   β”œβ”€β”€ features/                     # FEATURE-*.md
β”‚   └── handoff/                      # architect-handoff.md
β”‚
β”œβ”€β”€ backlog/                          # Architect outputs
β”‚   β”œβ”€β”€ Backlog.md                    # THE single source of truth
β”‚   └── ISSUE-*.md                    # Developer-ready issues
β”‚
β”œβ”€β”€ src/                              # Developer outputs (code)
β”œβ”€β”€ tests/                            # Developer outputs (tests)
└── logs/                             # Error logs (when tests fail)

πŸš€ Getting Started

Prerequisites

  • GitHub Copilot with Chat enabled
  • Project with .github/chatmodes/ directory
  • Understanding of your project scope (Simple Test / PoC / MVP)

Quick Start

Option 1: Starting from Scratch (No Requirements)

Step 1: Use @business-analyst
β†’ Conducts structured discovery interview
β†’ Creates business analysis document

Step 2: Use @requirements-engineer  
β†’ Reads BA document
β†’ Creates epics, features, architect handoff

Step 3: Use @architect
β†’ Creates ADRs, arc42 docs, issues
β†’ Prepares backlog

Step 4: Use @developer
β†’ Implements issues with mandatory tests

Step 5: Use @debugger (if tests fail)
β†’ Fixes issues systematically

Option 2: Starting with Requirements

Skip @business-analyst

Step 1: Use @requirements-engineer directly
β†’ Conducts scope-specific intake
β†’ Creates epics, features, handoff

[Continue with Steps 3-5 above]

Option 3: Starting with Architecture

Skip @business-analyst and @requirements-engineer

Step 1: Use @architect with your requirements
β†’ Creates architecture artifacts

[Continue with Steps 4-5 above]

πŸ’‘ Example Usage

Starting a New Project

User: I want to build a Notion importer that processes markdown files

AI: [Detects @business-analyst should be used]

@business-analyst:
🎯 What are you developing?
A) Simple Test/Quick Script
B) Proof of Concept (PoC)  
C) Minimum Viable Product (MVP)
D) Own description

User: B - I want to validate technical feasibility

@business-analyst: [Conducts 15-25 questions interview]
β†’ Creates: docs/business-analysis/BA-notion-importer.md

---

User: Create requirements based on the BA document

@requirements-engineer: [Reads BA document]
β†’ Creates: requirements/epics/EPIC-001-content-migration.md
β†’ Creates: requirements/features/FEATURE-001-markdown-import.md
β†’ Creates: requirements/features/FEATURE-002-asset-upload.md
β†’ Creates: requirements/handoff/architect-handoff.md

Quality Gate 1 βœ… PASSED

---

User: Design the architecture

@architect: [Reads architect-handoff.md]
β†’ Creates: docs/decisions/ADR-001-markdown-parser-choice.md
β†’ Creates: docs/arc42/ARC42-DOCUMENTATION.md (sections 1,3,4 for PoC)
β†’ Creates: backlog/Backlog.md
β†’ Creates: backlog/ISSUE-001-markdown-parser.md
β†’ Creates: backlog/ISSUE-002-frontmatter-extractor.md
[... 10-30 atomic issues total]

Quality Gate 2 βœ… PASSED

---

User: Implement ISSUE-001

@developer: [Reads ISSUE-001-markdown-parser.md]
β†’ Phase 1: Analyzes task
β†’ Phase 2: Implements code + writes tests
β†’ Phase 3: Runs ALL tests
  β†’ Result: 2 tests failing ❌
β†’ Creates: logs/ERROR-TASK-001-2025-11-05-1430.md
β†’ Notifies: @debugger
β†’ STOPS task execution

---

User: @debugger fix the error

@debugger: [Reads ERROR-TASK-001-2025-11-05-1430.md]
β†’ Root Cause Analysis: Missing import statement
β†’ Fast Path: Simple fix in 5 minutes
β†’ Fixes code, runs ALL tests
β†’ All tests passing βœ…
β†’ Updates error log with resolution
β†’ Notifies: @developer can continue

Quality Gate Debug βœ… PASSED

---

User: Continue implementation

@developer: [Resumes from Phase 3]
β†’ All tests passing βœ…
β†’ Phase 4: Validates acceptance criteria
β†’ Phase 5: Commits with informative message
β†’ Task ISSUE-001 complete βœ…

Quality Gate 3 βœ… PASSED

🎯 Key Principles

1. Adaptive Complexity

Architecture depth matches project scope:

  • Simple Test: Minimal (hours-days)
  • PoC: Focused (1-4 weeks)
  • MVP: Comprehensive (2-6 months)

2. Quality Gates

No phase proceeds until quality criteria met:

  • QG1: Requirements ready for architecture
  • QG2: Architecture ready for development
  • QG3: Code ready for production
  • QGD: Bugs fixed without regressions

3. Test-First Development

  • Write tests AS you code (not after)
  • Execute ALL tests (not just affected)
  • 100% pass rate OR error log created
  • Coverage β‰₯90% maintained

4. Clean Separation

  • BA: WHAT problem (business view)
  • RE: WHAT to build (requirements view)
  • Architect: HOW to structure (architectural view)
  • Developer: HOW to implement (code view)
  • Debugger: WHY it failed (root cause view)

5. Atomic Work Units

  • Issues are small (1-3 days max)
  • Single responsibility per issue
  • Clear acceptance criteria
  • Independent and testable

πŸ“Š Quality Standards

Requirements Engineering

  • βœ… All NFRs quantified (no vague "fast" or "secure")
  • βœ… All ASRs identified and marked (πŸ”΄ Critical / 🟑 Moderate)
  • βœ… Acceptance criteria testable (pass/fail)
  • βœ… Traceability to business goals

Architecture

  • βœ… ADRs in MADR format (3+ options, pros/cons, research links)
  • βœ… arc42 complete for scope (Simple Test: skip, PoC: 1,3,4, MVP: 1-7)
  • βœ… Issues atomic (1-3 days each)
  • βœ… Backlog.md as single source of truth

Development

  • βœ… Tests written during implementation
  • βœ… ALL tests executed (full suite)
  • βœ… Clean code (type hints, docstrings, no TODOs)
  • βœ… Coverage β‰₯90%

Debugging

  • βœ… Root cause identified (not symptom)
  • βœ… Clean fix (no workarounds)
  • βœ… Comprehensive testing (no regressions)
  • βœ… Learnings documented

πŸ”§ Configuration

Enable Agents in Your Project

  1. Copy the .github/ directory to your project root

  2. Customize chatmodes (optional):

    • Edit .github/chatmodes/*.chatmode.md for your needs
    • Adjust complexity levels
    • Add/remove tools
  3. Use in GitHub Copilot Chat:

    @business-analyst [your request]
    @requirements-engineer [your request]
    @architect [your request]
    @developer [your request]
    @debugger [your request]
    

Agent Selection in Copilot

GitHub Copilot automatically detects available agents from .github/chatmodes/ and presents them in the agent picker.


πŸ“š Documentation

Validation Rules

Templates


πŸŽ“ Best Practices

When to Use Which Agent

Use @business-analyst when:

  • ❓ Starting with a vague idea
  • πŸ†• New project from scratch
  • πŸ€” Need to explore problem space

Use @requirements-engineer when:

  • πŸ“„ Have business analysis document
  • ✍️ Have clear requirements but need structure
  • 🎯 Want to skip discovery and jump to features

Use @architect when:

  • πŸ—οΈ Requirements complete (QG1 passed)
  • πŸ“‹ Need technical design decisions
  • πŸ”§ Ready to plan implementation

Use @developer when:

  • πŸ’» Architecture complete (QG2 passed)
  • πŸ“ Have developer-ready issues
  • πŸ§ͺ Ready to implement with tests

Use @debugger when:

  • πŸ› Tests failing
  • πŸ“‹ Have error log from Developer
  • πŸ” Need systematic root cause analysis

Common Pitfalls to Avoid

❌ DON'T:

  • Skip quality gates (they catch problems early!)
  • Write code without tests
  • Use vague NFRs ("fast", "secure")
  • Create oversized issues (>3 days)
  • Commit with failing tests

βœ… DO:

  • Follow the workflow sequentially
  • Let each agent do its job
  • Quantify all NFRs with numbers
  • Keep issues atomic (1-3 days)
  • Run ALL tests before commit

🀝 Contributing

This is an evolving system. Contributions welcome for:

  • New agent types
  • Improved validation rules
  • Additional templates
  • Documentation improvements
  • Bug fixes

πŸ“„ License

MIT License

Copyright (c) 2025 Sebastian Hanke

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


πŸ™ Acknowledgments

Built with:

  • GitHub Copilot Chat Modes
  • Inspired by SAFe Framework (Epics, Features)
  • arc42 Architecture Documentation
  • MADR (Markdown Architectural Decision Records)
  • Clean Code Principles
  • Test-Driven Development

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published