feat: L'Ami Fiduciaire V1.0.0 — full codebase with Story 0.1 complete

Initial commit of the L'Ami Fiduciaire SaaS platform built on Laravel 12,
Vue 3, Inertia.js 2, and Tailwind CSS 4.

Story 0.1 (rename folders to declarations in database) is implemented and
code-reviewed: migration, rollback, and 6 Pest tests all passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-11 23:33:10 +00:00
commit 35545c2a8f
1517 changed files with 246774 additions and 0 deletions

18
.editorconfig Normal file
View File

@@ -0,0 +1,18 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.{yml,yaml}]
indent_size = 2
[compose.yaml]
indent_size = 4

65
.env.example Normal file
View File

@@ -0,0 +1,65 @@
APP_NAME="Fiscal Calendar"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_LOCALE=fr
APP_FALLBACK_LOCALE=fr
APP_FAKER_LOCALE=fr_FR
APP_MAINTENANCE_DRIVER=file
# APP_MAINTENANCE_STORE=database
# PHP_CLI_SERVER_WORKERS=4
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
CACHE_STORE=databasew
# CACHE_PREFIX=
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=log
MAIL_SCHEME=null
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
VITE_APP_NAME="${APP_NAME}"

11
.gitattributes vendored Normal file
View File

@@ -0,0 +1,11 @@
* text=auto eol=lf
*.blade.php diff=html
*.css diff=css
*.html diff=html
*.md diff=markdown
*.php diff=php
CHANGELOG.md export-ignore
README.md export-ignore
.github/workflows/browser-tests.yml export-ignore

49
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
name: linter
on:
push:
branches:
- develop
- main
- master
- workos
pull_request:
branches:
- develop
- main
- master
- workos
permissions:
contents: write
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
- name: Install Dependencies
run: |
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
npm install
- name: Run Pint
run: composer lint
- name: Format Frontend
run: npm run format
- name: Lint Frontend
run: npm run lint
# - name: Commit Changes
# uses: stefanzweifel/git-auto-commit-action@v7
# with:
# commit_message: fix code style
# commit_options: '--no-verify'

56
.github/workflows/tests.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: tests
on:
push:
branches:
- develop
- main
- master
- workos
pull_request:
branches:
- develop
- main
- master
- workos
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['8.4', '8.5']
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: composer:v2
coverage: xdebug
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install Node Dependencies
run: npm i
- name: Install Dependencies
run: composer install --no-interaction --prefer-dist --optimize-autoloader
- name: Copy Environment File
run: cp .env.example .env
- name: Generate Application Key
run: php artisan key:generate
- name: Build Assets
run: npm run build
- name: Tests
run: ./vendor/bin/pest

31
.gitignore vendored Normal file
View File

@@ -0,0 +1,31 @@
/.phpunit.cache
/bootstrap/ssr
/node_modules
/public/build
/public/hot
/public/storage
/storage/*.key
/storage/pail
/resources/js/actions
/resources/js/routes
/resources/js/wayfinder
/vendor
.DS_Store
.env
.env.backup
.env.production
.phpactor.json
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
/auth.json
/.fleet
/.idea
/.nova
/.vscode
/.zed
/.claude
/.cursor
/.windsurf

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
public-hoist-pattern[]=@inertiajs/core

2
.prettierignore Normal file
View File

@@ -0,0 +1,2 @@
resources/js/components/ui/*
resources/views/mail/*

25
.prettierrc Normal file
View File

@@ -0,0 +1,25 @@
{
"semi": true,
"singleQuote": true,
"singleAttributePerLine": false,
"htmlWhitespaceSensitivity": "css",
"printWidth": 80,
"plugins": [
"prettier-plugin-tailwindcss"
],
"tailwindFunctions": [
"clsx",
"cn",
"cva"
],
"tailwindStylesheet": "resources/css/app.css",
"tabWidth": 4,
"overrides": [
{
"files": "**/*.yml",
"options": {
"tabWidth": 2
}
}
]
}

314
AGENTS.md Normal file
View File

@@ -0,0 +1,314 @@
<laravel-boost-guidelines>
=== foundation rules ===
# Laravel Boost Guidelines
The Laravel Boost guidelines are specifically curated by Laravel maintainers for this application. These guidelines should be followed closely to ensure the best experience when building Laravel applications.
## Foundational Context
This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions.
- php - 8.4.8
- inertiajs/inertia-laravel (INERTIA_LARAVEL) - v2
- laravel/fortify (FORTIFY) - v1
- laravel/framework (LARAVEL) - v12
- laravel/prompts (PROMPTS) - v0
- laravel/wayfinder (WAYFINDER) - v0
- laravel/boost (BOOST) - v2
- laravel/mcp (MCP) - v0
- laravel/pail (PAIL) - v1
- laravel/pint (PINT) - v1
- laravel/sail (SAIL) - v1
- pestphp/pest (PEST) - v4
- phpunit/phpunit (PHPUNIT) - v12
- @inertiajs/vue3 (INERTIA_VUE) - v2
- tailwindcss (TAILWINDCSS) - v4
- vue (VUE) - v3
- @laravel/vite-plugin-wayfinder (WAYFINDER_VITE) - v0
- eslint (ESLINT) - v9
- prettier (PRETTIER) - v3
## Skills Activation
This project has domain-specific skills available. You MUST activate the relevant skill whenever you work in that domain—don't wait until you're stuck.
- `wayfinder-development` — Activates whenever referencing backend routes in frontend components. Use when importing from @/actions or @/routes, calling Laravel routes from TypeScript, or working with Wayfinder route functions.
- `pest-testing` — Tests applications using the Pest 4 PHP framework. Activates when writing tests, creating unit or feature tests, adding assertions, testing Livewire components, browser testing, debugging test failures, working with datasets or mocking; or when the user mentions test, spec, TDD, expects, assertion, coverage, or needs to verify functionality works.
- `inertia-vue-development` — Develops Inertia.js v2 Vue client-side applications. Activates when creating Vue pages, forms, or navigation; using &lt;Link&gt;, &lt;Form&gt;, useForm, or router; working with deferred props, prefetching, or polling; or when user mentions Vue with Inertia, Vue pages, Vue forms, or Vue navigation.
- `tailwindcss-development` — Styles applications using Tailwind CSS v4 utilities. Activates when adding styles, restyling components, working with gradients, spacing, layout, flex, grid, responsive design, dark mode, colors, typography, or borders; or when the user mentions CSS, styling, classes, Tailwind, restyle, hero section, cards, buttons, or any visual/UI changes.
- `developing-with-fortify` — Laravel Fortify headless authentication backend development. Activate when implementing authentication features including login, registration, password reset, email verification, two-factor authentication (2FA/TOTP), profile updates, headless auth, authentication scaffolding, or auth guards in Laravel applications.
## Conventions
- You must follow all existing code conventions used in this application. When creating or editing a file, check sibling files for the correct structure, approach, and naming.
- Use descriptive names for variables and methods. For example, `isRegisteredForDiscounts`, not `discount()`.
- Check for existing components to reuse before writing a new one.
## Verification Scripts
- Do not create verification scripts or tinker when tests cover that functionality and prove they work. Unit and feature tests are more important.
## Application Structure & Architecture
- Stick to existing directory structure; don't create new base folders without approval.
- Do not change the application's dependencies without approval.
## Frontend Bundling
- If the user doesn't see a frontend change reflected in the UI, it could mean they need to run `vendor/bin/sail npm run build`, `vendor/bin/sail npm run dev`, or `vendor/bin/sail composer run dev`. Ask them.
## Documentation Files
- You must only create documentation files if explicitly requested by the user.
## Replies
- Be concise in your explanations - focus on what's important rather than explaining obvious details.
=== boost rules ===
# Laravel Boost
- Laravel Boost is an MCP server that comes with powerful tools designed specifically for this application. Use them.
## Artisan
- Use the `list-artisan-commands` tool when you need to call an Artisan command to double-check the available parameters.
## URLs
- Whenever you share a project URL with the user, you should use the `get-absolute-url` tool to ensure you're using the correct scheme, domain/IP, and port.
## Tinker / Debugging
- You should use the `tinker` tool when you need to execute PHP to debug code or query Eloquent models directly.
- Use the `database-query` tool when you only need to read from the database.
- Use the `database-schema` tool to inspect table structure before writing migrations or models.
## Reading Browser Logs With the `browser-logs` Tool
- You can read browser logs, errors, and exceptions using the `browser-logs` tool from Boost.
- Only recent browser logs will be useful - ignore old logs.
## Searching Documentation (Critically Important)
- Boost comes with a powerful `search-docs` tool you should use before trying other approaches when working with Laravel or Laravel ecosystem packages. This tool automatically passes a list of installed packages and their versions to the remote Boost API, so it returns only version-specific documentation for the user's circumstance. You should pass an array of packages to filter on if you know you need docs for particular packages.
- Search the documentation before making code changes to ensure we are taking the correct approach.
- Use multiple, broad, simple, topic-based queries at once. For example: `['rate limiting', 'routing rate limiting', 'routing']`. The most relevant results will be returned first.
- Do not add package names to queries; package information is already shared. For example, use `test resource table`, not `filament 4 test resource table`.
### Available Search Syntax
1. Simple Word Searches with auto-stemming - query=authentication - finds 'authenticate' and 'auth'.
2. Multiple Words (AND Logic) - query=rate limit - finds knowledge containing both "rate" AND "limit".
3. Quoted Phrases (Exact Position) - query="infinite scroll" - words must be adjacent and in that order.
4. Mixed Queries - query=middleware "rate limit" - "middleware" AND exact phrase "rate limit".
5. Multiple Queries - queries=["authentication", "middleware"] - ANY of these terms.
=== php rules ===
# PHP
- Always use curly braces for control structures, even for single-line bodies.
## Constructors
- Use PHP 8 constructor property promotion in `__construct()`.
- `public function __construct(public GitHub $github) { }`
- Do not allow empty `__construct()` methods with zero parameters unless the constructor is private.
## Type Declarations
- Always use explicit return type declarations for methods and functions.
- Use appropriate PHP type hints for method parameters.
<!-- Explicit Return Types and Method Params -->
```php
protected function isAccessible(User $user, ?string $path = null): bool
{
...
}
```
## Enums
- Typically, keys in an Enum should be TitleCase. For example: `FavoritePerson`, `BestLake`, `Monthly`.
## Comments
- Prefer PHPDoc blocks over inline comments. Never use comments within the code itself unless the logic is exceptionally complex.
## PHPDoc Blocks
- Add useful array shape type definitions when appropriate.
=== sail rules ===
# Laravel Sail
- This project runs inside Laravel Sail's Docker containers. You MUST execute all commands through Sail.
- Start services using `vendor/bin/sail up -d` and stop them with `vendor/bin/sail stop`.
- Open the application in the browser by running `vendor/bin/sail open`.
- Always prefix PHP, Artisan, Composer, and Node commands with `vendor/bin/sail`. Examples:
- Run Artisan Commands: `vendor/bin/sail artisan migrate`
- Install Composer packages: `vendor/bin/sail composer install`
- Execute Node commands: `vendor/bin/sail npm run dev`
- Execute PHP scripts: `vendor/bin/sail php [script]`
- View all available Sail commands by running `vendor/bin/sail` without arguments.
=== tests rules ===
# Test Enforcement
- Every change must be programmatically tested. Write a new test or update an existing test, then run the affected tests to make sure they pass.
- Run the minimum number of tests needed to ensure code quality and speed. Use `vendor/bin/sail artisan test --compact` with a specific filename or filter.
=== inertia-laravel/core rules ===
# Inertia
- Inertia creates fully client-side rendered SPAs without modern SPA complexity, leveraging existing server-side patterns.
- Components live in `resources/js/pages` (unless specified in `vite.config.js`). Use `Inertia::render()` for server-side routing instead of Blade views.
- ALWAYS use `search-docs` tool for version-specific Inertia documentation and updated code examples.
- IMPORTANT: Activate `inertia-vue-development` when working with Inertia Vue client-side patterns.
# Inertia v2
- Use all Inertia features from v1 and v2. Check the documentation before making changes to ensure the correct approach.
- New features: deferred props, infinite scroll, merging props, polling, prefetching, once props, flash data.
- When using deferred props, add an empty state with a pulsing or animated skeleton.
=== laravel/core rules ===
# Do Things the Laravel Way
- Use `vendor/bin/sail artisan make:` commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using the `list-artisan-commands` tool.
- If you're creating a generic PHP class, use `vendor/bin/sail artisan make:class`.
- Pass `--no-interaction` to all Artisan commands to ensure they work without user input. You should also pass the correct `--options` to ensure correct behavior.
## Database
- Always use proper Eloquent relationship methods with return type hints. Prefer relationship methods over raw queries or manual joins.
- Use Eloquent models and relationships before suggesting raw database queries.
- Avoid `DB::`; prefer `Model::query()`. Generate code that leverages Laravel's ORM capabilities rather than bypassing them.
- Generate code that prevents N+1 query problems by using eager loading.
- Use Laravel's query builder for very complex database operations.
### Model Creation
- When creating new models, create useful factories and seeders for them too. Ask the user if they need any other things, using `list-artisan-commands` to check the available options to `vendor/bin/sail artisan make:model`.
### APIs & Eloquent Resources
- For APIs, default to using Eloquent API Resources and API versioning unless existing API routes do not, then you should follow existing application convention.
## Controllers & Validation
- Always create Form Request classes for validation rather than inline validation in controllers. Include both validation rules and custom error messages.
- Check sibling Form Requests to see if the application uses array or string based validation rules.
## Authentication & Authorization
- Use Laravel's built-in authentication and authorization features (gates, policies, Sanctum, etc.).
## URL Generation
- When generating links to other pages, prefer named routes and the `route()` function.
## Queues
- Use queued jobs for time-consuming operations with the `ShouldQueue` interface.
## Configuration
- Use environment variables only in configuration files - never use the `env()` function directly outside of config files. Always use `config('app.name')`, not `env('APP_NAME')`.
## Testing
- When creating models for tests, use the factories for the models. Check if the factory has custom states that can be used before manually setting up the model.
- Faker: Use methods such as `$this->faker->word()` or `fake()->randomDigit()`. Follow existing conventions whether to use `$this->faker` or `fake()`.
- When creating tests, make use of `vendor/bin/sail artisan make:test [options] {name}` to create a feature test, and pass `--unit` to create a unit test. Most tests should be feature tests.
## Vite Error
- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run `vendor/bin/sail npm run build` or ask the user to run `vendor/bin/sail npm run dev` or `vendor/bin/sail composer run dev`.
=== laravel/v12 rules ===
# Laravel 12
- CRITICAL: ALWAYS use `search-docs` tool for version-specific Laravel documentation and updated code examples.
- Since Laravel 11, Laravel has a new streamlined file structure which this project uses.
## Laravel 12 Structure
- In Laravel 12, middleware are no longer registered in `app/Http/Kernel.php`.
- Middleware are configured declaratively in `bootstrap/app.php` using `Application::configure()->withMiddleware()`.
- `bootstrap/app.php` is the file to register middleware, exceptions, and routing files.
- `bootstrap/providers.php` contains application specific service providers.
- The `app\Console\Kernel.php` file no longer exists; use `bootstrap/app.php` or `routes/console.php` for console configuration.
- Console commands in `app/Console/Commands/` are automatically available and do not require manual registration.
## Database
- When modifying a column, the migration must include all of the attributes that were previously defined on the column. Otherwise, they will be dropped and lost.
- Laravel 12 allows limiting eagerly loaded records natively, without external packages: `$query->latest()->limit(10);`.
### Models
- Casts can and likely should be set in a `casts()` method on a model rather than the `$casts` property. Follow existing conventions from other models.
=== wayfinder/core rules ===
# Laravel Wayfinder
Wayfinder generates TypeScript functions for Laravel routes. Import from `@/actions/` (controllers) or `@/routes/` (named routes).
- IMPORTANT: Activate `wayfinder-development` skill whenever referencing backend routes in frontend components.
- Invokable Controllers: `import StorePost from '@/actions/.../StorePostController'; StorePost()`.
- Parameter Binding: Detects route keys (`{post:slug}`) — `show({ slug: "my-post" })`.
- Query Merging: `show(1, { mergeQuery: { page: 2, sort: null } })` merges with current URL, `null` removes params.
- Inertia: Use `.form()` with `<Form>` component or `form.submit(store())` with useForm.
=== pint/core rules ===
# Laravel Pint Code Formatter
- If you have modified any PHP files, you must run `vendor/bin/sail bin pint --dirty --format agent` before finalizing changes to ensure your code matches the project's expected style.
- Do not run `vendor/bin/sail bin pint --test --format agent`, simply run `vendor/bin/sail bin pint --format agent` to fix any formatting issues.
=== pest/core rules ===
## Pest
- This project uses Pest for testing. Create tests: `vendor/bin/sail artisan make:test --pest {name}`.
- Run tests: `vendor/bin/sail artisan test --compact` or filter: `vendor/bin/sail artisan test --compact --filter=testName`.
- Do NOT delete tests without approval.
- CRITICAL: ALWAYS use `search-docs` tool for version-specific Pest documentation and updated code examples.
- IMPORTANT: Activate `pest-testing` every time you're working with a Pest or testing-related task.
=== inertia-vue/core rules ===
# Inertia + Vue
Vue components must have a single root element.
- IMPORTANT: Activate `inertia-vue-development` when working with Inertia Vue client-side patterns.
=== tailwindcss/core rules ===
# Tailwind CSS
- Always use existing Tailwind conventions; check project patterns before adding new ones.
- IMPORTANT: Always use `search-docs` tool for version-specific Tailwind CSS documentation and updated code examples. Never rely on training data.
- IMPORTANT: Activate `tailwindcss-development` every time you're working with a Tailwind CSS or styling-related task.
=== laravel/fortify rules ===
# Laravel Fortify
- Fortify is a headless authentication backend that provides authentication routes and controllers for Laravel applications.
- IMPORTANT: Always use the `search-docs` tool for detailed Laravel Fortify patterns and documentation.
- IMPORTANT: Activate `developing-with-fortify` skill when working with Fortify authentication features.
</laravel-boost-guidelines>

4
CLAUDE.md Normal file
View File

@@ -0,0 +1,4 @@
# Project Rules
- Everything must run under Docker Compose — no local installations allowed.
- When implementing Laravel features, use the Laravel docs MCP to verify current API usage, especially for Eloquent, Inertia, Fortify, and Spatie packages.

View File

@@ -0,0 +1,281 @@
---
stepsCompleted: [1, 2, 3, 4]
inputDocuments: []
session_topic: 'SaaS dashboard separation + UX improvements + per-workspace archiving system'
session_goals: 'Clean multi-layer dashboard architecture, intuitive UX, robust archiving per workspace'
selected_approach: 'ai-recommended'
techniques_used: ['Role Playing', 'First Principles Thinking', 'SCAMPER Method', 'Morphological Analysis']
ideas_generated: 39
context_file: ''
session_active: false
workflow_completed: true
---
# Brainstorming Session Results
**Facilitator:** Saad
**Date:** 2026-03-10
## Session Overview
**Topic:** SaaS dashboard separation (owner vs tenant) + UX improvements + per-workspace archiving system
**Goals:** Generate ideas for a well-structured, intuitive platform with clear role boundaries and a robust archiving layer per workspace
### Session Setup
- Platform: L'Ami Fiduciaire — client management SaaS for accounting/fiduciary firms
- Current state: Mature brownfield app (Laravel 12 + Vue 3 + Inertia.js) with mixed admin/tenant dashboards
- Pain points: Role boundaries blurred, UX feels cluttered, no archiving system yet
- User types: SaaS owner (L'Ami Fiduciaire staff), firm admin, firm employee, external client
### Design Philosophy
- **عملي (practical) first, beauty second** — every UI decision must make the task faster, not slower
- Tables over cards for data views — accountants think in rows and columns
- One app, role-driven views — no separate admin app needed
## Technique Selection
**Approach:** AI-Recommended Techniques (Suggested Flow)
**Analysis Context:** Multi-layered SaaS UX problem requiring role clarity, interface refinement, and new feature design
**Technique Flow:**
1. **Role Playing** — Clarify what each user type actually needs to see and do
2. **First Principles Thinking** — Define the right dashboard structure from fundamental truths
3. **SCAMPER Method** — Refine and improve existing UX systematically
4. **Morphological Analysis** — Design the archiving system thoroughly across all dimensions
---
## Technique Execution Results
### Phase 1: Role Playing — User Persona Analysis
Four distinct user layers identified with clear separation of needs:
| Layer | Sees | Key Need |
|-------|------|----------|
| **SaaS Owner** (L'Ami Fiduciaire staff) | All workspaces, platform metrics, issues | "Is my platform healthy?" |
| **Firm Admin/Owner** | Their workspace — all clients, all declarations, alerts | "Is my firm on track? Who needs a nudge?" |
| **Firm Employee (Worker)** | Only assigned clients/declarations + notifications | "What do I need to do right now?" |
| **External Client** | Single declaration action via token link | "Upload this, confirm that, done." |
**Key Insight:** The current problem is that layers 1, 2, and 3 share the same interface. The fix is role-driven visibility within a single app shell.
### Phase 2: First Principles Thinking — Structure & Permissions
**Core Decision: Fixed Roles + Permission Overrides**
- Three preset roles: **Owner, Manager, Worker**
- Sensible defaults that work for 90% of firms out of the box
- Firm owner can toggle specific permissions on/off per role
- Permissions stored at workspace level — each cabinet customizes independently
**Navigation Structure:**
**SaaS Owner:**
- Platform Dashboard (metrics, health)
- Workspaces (manage all cabinets)
- Reported Issues
**Firm Owner/Manager:**
- Dashboard (command center — alerts + stats combined)
- Clients
- Declarations
- Archive
- Team (users + permissions)
**Worker:**
- My Dashboard (assigned work + nudges)
- My Clients
- My Declarations
### Phase 3: SCAMPER — UX Refinements
- **Substitute:** Nothing needed — current component choices are solid
- **Combine:** Dashboard + Alerts into one unified command center view
- **Adapt:** Advanced filtering system consistent across all views + search bars
- **Modify:** Inline tag/nudge on declaration rows — micro-interaction, no page navigation
- **Eliminate:** Separate admin routes — merge user management into workspace Team page
- **Reverse:** Client-initiated declarations — clients can request a declaration through portal (future)
**Breakthrough:** Bulk Declaration Creation — select multiple clients, choose type, create all at once with scheduled notifications.
### Phase 4: Morphological Analysis — Archive System Design
| Dimension | Decision |
|-----------|----------|
| **What gets archived** | Declaration metadata, status history, all documents, messages, client portal actions |
| **Organization** | Hybrid — flat list with powerful filters (fiscal year, client, type, date range) + search bar |
| **Access** | Owner and Manager only — Worker excluded |
| **Mutability** | Read-only, but Owner/Manager can re-open (moves back to active) |
| **Audit** | Re-open logged with who, when, and why |
| **Retention** | 10 years from closing date, warning before cleanup |
| **Export** | Bulk download as ZIP + in-app document preview |
| **Search** | Metadata search first (client, type, year, date). Full-text document search in future phase |
| **Navigation** | Top-level sidebar item — first-class feature, not hidden |
| **Visual** | Muted styling / archive badge to distinguish from active declarations |
---
## Complete Idea Inventory
### Theme 1: Platform Architecture — Role Separation
| # | Idea | Description |
|---|------|-------------|
| 1 | Platform Health Dashboard | SaaS owner dedicated view: workspace count, active users, storage, signups, system health |
| 2 | Issue/Support Inbox | Lightweight issue reporting — firm users flag problems, SaaS owner sees aggregated |
| 10 | Client Portal — Keep As-Is | External client one-shot token experience is solid, no changes needed |
| 11 | Single Shell, Role-Driven Views | One app, one sidebar, content determined by role — no separate admin app |
| 14 | Fixed Roles + Permission Matrix | Owner/Manager/Worker with sensible defaults + toggle overrides per workspace |
| 15 | Sensible Defaults That Just Work | 90% of firms never touch permissions — it just works out of the box |
| 16 | Per-Workspace Permission Storage | Each cabinet customizes permissions independently — true multi-tenancy |
| 28 | Eliminate Separate Admin Routes | Team management inside workspace, not through a separate admin panel |
### Theme 2: Dashboard & Command Center
| # | Idea | Description |
|---|------|-------------|
| 3 | Command Center Home | Single screen: active clients, declarations by status, activity feed, priority alerts |
| 4 | Priority Alert System | Visual alerts for overdue declarations, unanswered uploads, unsigned confirmations |
| 7 | Scoped Employee Dashboard | Workers see only assigned clients/declarations — "here's what you need to do today" |
| 8 | Notification Center for Nudges | Employee notification area where admin tags/alerts land with direct links to declarations |
| 19 | Dashboard = Alerts Combined | No separate alerts page — dashboard IS the alert system, one unified view |
### Theme 3: Firm Management & Collaboration
| # | Idea | Description |
|---|------|-------------|
| 6 | Quick Tag & Nudge | One-click alert from admin to employee on any declaration — tap on the shoulder, not a ticket |
| 12 | Firm-Level Role Management Page | Dedicated "Team" page to create users with roles (Owner, Manager, Worker) |
| 13 | Permission Builder per Role | Simple toggle grid: rows = permissions, columns = roles. Flip switches on/off |
| 22 | Inline Tag/Nudge on Declaration Row | Small icon button on table row — click, pick employee, done. No modal needed |
### Theme 4: UX & Workflow Efficiency
| # | Idea | Description |
|---|------|-------------|
| 17 | Practicality-First Philosophy | Every UI decision passes: "Does this make the task faster or slower?" |
| 18 | Tables Over Cards for Data | Dense, scannable, sortable tables — accountants think in rows and columns |
| 20 | Bulk Declaration Creation | Select multiple clients → choose type (TVA Mensuel) → set date → create all at once |
| 21 | Bulk Notification Scheduling | Set notification date during bulk creation — all clients notified on same day |
| 23 | Advanced Filtering System | Consistent filter bar across Clients, Declarations, Archive — persistent until cleared |
| 24 | Archive-Specific Filters | Extra dimensions: fiscal year, declaration type, client, date range, document type |
| 25 | Quick Search | Search bar with instant text lookup — no page reload |
| 29 | Client-Initiated Declarations | Clients request declarations through portal — reverses the flow (future enhancement) |
### Theme 5: Archive System
| # | Idea | Description |
|---|------|-------------|
| 26 | Auto-Archive on Close | Declaration moves to archive automatically when status becomes Closed |
| 27 | Archive ≠ Delete | Full history preserved — documents, messages, actions. Filing cabinet, not trash |
| 30 | Hybrid Filters + Search | Flat list with fiscal year/client/type/date filters + search bar |
| 31 | Read-Only + Re-Open | Archive locked, but Owner/Manager can re-open → moves back to active Declarations |
| 32 | Re-Open Audit Trail | Who, when, why logged — legal protection for the firm |
| 33 | 10-Year Retention Policy | Automated lifecycle with warning notification before cleanup |
| 34 | Bulk Download as ZIP | Filter a set → download structured ZIP with all documents organized by declaration |
| 35 | In-App Document Preview | Preview button (PDF/image viewer) + separate download button |
| 36 | Metadata Search First | Search by client, type, year, date. Full-text document search in future phase |
| 37 | Archive as Main Nav Item | Top-level sidebar — first-class feature, not hidden in settings |
| 38 | Archive Detail Page | Read-only full snapshot: declaration info, timeline, documents, messages, portal actions |
| 39 | Visual Distinction | Muted color scheme / archive badge — clear boundary between active and archived |
### Future Enhancements
| # | Idea | Description |
|---|------|-------------|
| 5 | Archive as First-Class Feature | Accountants' institutional memory — organized by fiscal years and dossiers |
| 9 | Kanban View | Optional drag-and-drop board for declarations by status — visual pipeline management |
---
## Implementation Roadmap
### Phase 1: Role System Foundation
*Everything else depends on this*
- #14 Fixed Roles (Owner, Manager, Worker) + Permission Matrix
- #15 Sensible Defaults
- #16 Per-Workspace Permission Storage
- #12 Team Management Page
- #13 Permission toggles per role
- #28 Move user management inside workspace
### Phase 2: Dashboard Separation
*Now that roles exist, build the right view for each*
- #11 Single Shell, Role-Driven Sidebar
- #3 Firm Admin Command Center
- #7 Scoped Employee Dashboard
- #1 SaaS Owner Platform Dashboard
- #4 Priority Alert System
- #19 Dashboard + Alerts combined
- #2 Issue/Support Inbox
### Phase 3: Collaboration Features
*The nudge/notification layer*
- #6 Quick Tag & Nudge
- #22 Inline Nudge on Declaration Row
- #8 Employee Notification Center
### Phase 4: Workflow Efficiency
*The عملي features that save time*
- #20 Bulk Declaration Creation
- #21 Bulk Notification Scheduling
- #23 Advanced Filtering across all views
- #25 Quick Search
- #17 Practicality-first UI pass
- #18 Tables for data views
### Phase 5: Archive System
*Needs closed declarations to exist — builds on everything above*
- #26 Auto-Archive on Close
- #27 Archive ≠ Delete (preservation)
- #37 Archive as Main Nav Item
- #30 Hybrid Filters + Search Bar
- #38 Archive Detail Page (read-only)
- #35 In-App Preview + Download buttons
- #31 Read-Only + Re-Open capability
- #32 Re-Open Audit Trail
- #34 Bulk Download as ZIP
- #39 Visual Distinction for archived items
- #33 10-Year Retention Policy
- #36 Metadata Search (full-text later)
### Phase 6: Future Enhancements
- #9 Kanban View
- #29 Client-Initiated Declarations
- #24 Archive-specific advanced filters
---
## Session Summary and Insights
**Key Achievements:**
- 39 breakthrough ideas generated across 5 themes
- Clear 4-layer user model defined (SaaS Owner → Firm Admin → Worker → External Client)
- Core architectural decision made: Fixed Roles + Permission Overrides per workspace
- Complete archive system designed across 6 dimensions
- Practical implementation roadmap with dependency-ordered phases
**Key Design Decisions Made:**
1. **Single app, role-driven views** — no separate admin application
2. **Fixed roles (Owner/Manager/Worker)** with toggleable permission overrides per workspace
3. **Folders renamed to Declarations** — domain-specific language
4. **عملي-first UX** — practicality over beauty, tables over cards
5. **Archive = auto on close** — read-only with re-open capability
6. **10-year retention** — matching Moroccan legal requirements
7. **Metadata search first** — full-text document search deferred to future phase
**Creative Facilitation Narrative:**
This session moved efficiently from understanding (who are the users?) to structure (what do they need?) to refinement (how do we improve?) to design (build the archive). Saad's practical mindset — عملي first — anchored every decision in real-world accountant workflows. The bulk declaration creation idea emerged as a standout competitive feature, born from understanding that accountants work in batches by deadline, not individually by client. The archive system was designed with input from a real accountant, ensuring it serves actual needs rather than theoretical ones.

View File

@@ -0,0 +1,284 @@
# Story 0.1: Rename Folders to Declarations in Database
Status: done
<!-- Note: Validation is optional. Run validate-create-story for quality check before dev-story. -->
## Story
As a developer,
I want the database tables and columns to use "declaration" terminology instead of "folder",
so that the data layer reflects the correct professional terminology before building new features.
## Acceptance Criteria
1. **Given** the existing `folders` table exists with data, **When** the migration runs, **Then** the `folders` table is renamed to `declarations`
2. **And** all `folder_id` foreign key columns across related tables are renamed to `declaration_id`
3. **And** the `folder_invitations` table is renamed to `declaration_invitations`
4. **And** all indexes referencing "folder" are renamed to reference "declaration"
5. **And** the migration is reversible (rollback renames back to "folder")
6. **And** existing data is preserved with zero data loss
## Tasks / Subtasks
- [x] Task 1: Create the rename migration file (AC: #1, #2, #3, #4, #5, #6)
- [x] 1.1: Create migration `xxxx_rename_folders_to_declarations.php`
- [x] 1.2: In `up()` — Drop foreign key constraints: `messages_folder_id_foreign` and `folder_invitations_folder_id_foreign`
- [x] 1.3: In `up()` — Rename column `folder_id``declaration_id` in `messages` table
- [x] 1.4: In `up()` — Drop index `messages_folder_id_created_at_index`, recreate as `[declaration_id, created_at]`
- [x] 1.5: In `up()` — Rename column `folder_id``declaration_id` in `folder_invitations` table
- [x] 1.6: In `up()` — Rename table `folders``declarations`
- [x] 1.7: In `up()` — Rename table `folder_invitations``declaration_invitations`
- [x] 1.8: In `up()` — Re-add FK constraints using explicit `->constrained('declarations')->cascadeOnDelete()` on both tables
- [x] 1.9: Implement `down()` with explicit reverse steps (see Dev Notes)
- [x] Task 2: Verify migration executes successfully (AC: #1, #2, #3, #4, #6)
- [x] 2.1: Run `php artisan migrate` — confirm zero errors
- [x] 2.2: Verify tables: `php artisan tinker --execute="echo Schema::hasTable('declarations') ? 'OK' : 'FAIL';"`
- [x] 2.3: Verify columns: `php artisan tinker --execute="echo Schema::hasColumn('messages', 'declaration_id') ? 'OK' : 'FAIL';"`
- [x] 2.4: Verify composite index exists on `messages(declaration_id, created_at)`
- [x] 2.5: Verify existing seed/test data is intact after migration
- [x] Task 3: Verify rollback works (AC: #5)
- [x] 3.1: Run `php artisan migrate:rollback` — confirm tables revert to `folders`, `folder_invitations`
- [x] 3.2: Verify foreign key columns revert to `folder_id`
- [x] 3.3: Re-run `php artisan migrate` to confirm re-apply also works
## Dev Notes
### Critical Architecture Constraints
- **Database engine:** MySQL 8.4 (production) / SQLite for local dev (check `.env`)
- **Multi-tenant:** All tables are workspace-scoped. The migration is schema-only (rename), no data transformation needed
- **Spatie media_library:** The `media` table has a polymorphic `model_type` column storing `App\Models\Folder` (FQCN, no morph map registered). NOT addressed in this story — handled in Story 0.2 when the model class is renamed
- **Spatie activity_log:** The `activity_log` table has `subject_type` storing `App\Models\Folder`. Same as above — handled in Story 0.2
- **No morph map:** The codebase has no `Relation::morphMap()` registration — polymorphic types store FQCN directly. Data updates for these columns are a Story 0.2 concern
- **Notifications table:** Has `notifiable_type` morphs — not folder-related, no action needed
### Migration Strategy — Order of Operations
The order matters to avoid foreign key constraint violations:
**`up()` method:**
1. Drop FK constraints: `$table->dropForeign('messages_folder_id_foreign')` and `$table->dropForeign('folder_invitations_folder_id_foreign')`
2. Rename columns `folder_id``declaration_id` via `$table->renameColumn('folder_id', 'declaration_id')` in `messages` and `folder_invitations`
3. Drop index `messages_folder_id_created_at_index`, create new `$table->index(['declaration_id', 'created_at'])`
4. `Schema::rename('folders', 'declarations')`
5. `Schema::rename('folder_invitations', 'declaration_invitations')`
6. Re-add FKs: `$table->foreign('declaration_id')->references('id')->on('declarations')->cascadeOnDelete()` on both `messages` and `declaration_invitations`
**`down()` method (explicit reverse):**
1. Drop FK constraints: `$table->dropForeign('messages_declaration_id_foreign')` and `$table->dropForeign('declaration_invitations_declaration_id_foreign')`
2. `Schema::rename('declaration_invitations', 'folder_invitations')`
3. `Schema::rename('declarations', 'folders')`
4. Drop index on `messages(declaration_id, created_at)`, recreate as `$table->index(['folder_id', 'created_at'])`
5. Rename columns `declaration_id``folder_id` in `messages` and `folder_invitations`
6. Re-add FKs: `$table->foreign('folder_id')->references('id')->on('folders')->cascadeOnDelete()` on both tables
**Critical FK rule:** Always use explicit `->on('declarations')` (or `->on('folders')` in down) — never bare `->constrained()` which infers table from column name and can cause errors during rename transitions.
### Tables and Columns Affected
| Table | Column/Index/Constraint | Action |
|---|---|---|
| `folders` | (entire table) | Rename → `declarations` |
| `folder_invitations` | (entire table) | Rename → `declaration_invitations` |
| `folder_invitations` | `folder_id` column | Rename → `declaration_id` |
| `folder_invitations` | FK `folder_invitations_folder_id_foreign` | Drop, re-add as `declaration_invitations_declaration_id_foreign` |
| `messages` | `folder_id` column | Rename → `declaration_id` |
| `messages` | FK `messages_folder_id_foreign` | Drop, re-add as `messages_declaration_id_foreign` |
| `messages` | Index `messages_folder_id_created_at_index` | Drop, recreate with `declaration_id` |
### SQLite vs MySQL Considerations
- **Laravel 12 handles `renameColumn()` natively** without doctrine/dbal. No additional package installation is needed
- **SQLite** (local dev): `Schema::rename()` and `renameColumn()` work natively. Laravel handles SQLite's limited `ALTER TABLE` via internal table recreation
- **MySQL 8.4** (production): Native `RENAME TABLE` and `ALTER TABLE ... RENAME COLUMN` are well-supported
- **Recommendation:** Use Laravel's `Schema` facade methods exclusively — never raw SQL — for cross-driver compatibility
### Warning: Application Will Break After This Migration
After running this migration, the application will be non-functional until Story 0.2 (backend rename) is completed. **Stories 0.1 and 0.2 should be implemented in the same development session.**
**Why it breaks:** The `Folder` model has no explicit `$table` property — it relies on Laravel convention to infer `folders`. After rename, Laravel looks for `folders` which no longer exists.
**Specific breakage points (all fixed in Story 0.2):**
- `Folder` model → table `folders` not found
- `FolderInvitation` model → table `folder_invitations` not found, `$fillable` contains `folder_id` (column is now `declaration_id`)
- `Message` model → `$fillable` contains `folder_id`, `folder()` relationship references wrong column
- Middleware alias `folder.invitation` in `bootstrap/app.php` and route reference in `web.php` → Story 0.2 scope
### Existing Migration Files for Reference
These are the original migration files that created the tables being renamed:
- `database/migrations/2026_02_27_103316_create_folders_table.php` — Creates `folders` table with all columns
- `database/migrations/2026_03_01_144731_create_folder_invitations_table.php` — Creates `folder_invitations` with `folder_id` FK
- `database/migrations/2026_03_01_144730_create_messages_table.php` — Creates `messages` with `folder_id` FK and composite index
- `database/migrations/2026_03_01_144736_add_confirmation_fields_to_folders_table.php` — Adds confirmation columns to `folders`
- `database/migrations/2026_03_09_000003_split_vat_folder_type.php` — Data migration on `folders` table
### Testing Standards
- Use **Pest** syntax (`test()` closures), never PHPUnit class-based tests
- `RefreshDatabase` is auto-applied via `Pest.php` — don't add it manually
- Run tests: `composer test`
- After migration, existing tests WILL fail (they reference `Folder` model). This is expected — Story 0.2 fixes them
### Project Structure Notes
- Migration file goes in: `database/migrations/`
- Naming convention: `YYYY_MM_DD_HHMMSS_rename_folders_to_declarations.php`
- **Migration timestamp MUST be after `2026_03_09_000005`** (latest existing migration). Use e.g. `2026_03_11_000001_rename_folders_to_declarations.php`
- This ensures the rename runs after `split_vat_folder_type.php` (which references `DB::table('folders')`) on both `migrate` and `migrate:fresh`
- Laravel 12 handles column renames natively — no doctrine/dbal needed
### Migration Code Skeleton
```php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
// 1. Drop FK constraints
Schema::table('messages', function (Blueprint $table) {
$table->dropForeign('messages_folder_id_foreign');
});
Schema::table('folder_invitations', function (Blueprint $table) {
$table->dropForeign('folder_invitations_folder_id_foreign');
});
// 2. Rename columns
Schema::table('messages', function (Blueprint $table) {
$table->renameColumn('folder_id', 'declaration_id');
});
Schema::table('folder_invitations', function (Blueprint $table) {
$table->renameColumn('folder_id', 'declaration_id');
});
// 3. Drop old index, create new
Schema::table('messages', function (Blueprint $table) {
$table->dropIndex('messages_folder_id_created_at_index');
$table->index(['declaration_id', 'created_at']);
});
// 4-5. Rename tables
Schema::rename('folders', 'declarations');
Schema::rename('folder_invitations', 'declaration_invitations');
// 6. Re-add FK constraints
Schema::table('messages', function (Blueprint $table) {
$table->foreign('declaration_id')->references('id')->on('declarations')->cascadeOnDelete();
});
Schema::table('declaration_invitations', function (Blueprint $table) {
$table->foreign('declaration_id')->references('id')->on('declarations')->cascadeOnDelete();
});
}
public function down(): void
{
// 1. Drop FK constraints
Schema::table('messages', function (Blueprint $table) {
$table->dropForeign('messages_declaration_id_foreign');
});
Schema::table('declaration_invitations', function (Blueprint $table) {
$table->dropForeign('declaration_invitations_declaration_id_foreign');
});
// 2-3. Rename tables back
Schema::rename('declaration_invitations', 'folder_invitations');
Schema::rename('declarations', 'folders');
// 4. Drop new index, recreate old
Schema::table('messages', function (Blueprint $table) {
$table->dropIndex('messages_declaration_id_created_at_index');
$table->index(['folder_id', 'created_at']);
});
// 5. Rename columns back
Schema::table('messages', function (Blueprint $table) {
$table->renameColumn('declaration_id', 'folder_id');
});
Schema::table('folder_invitations', function (Blueprint $table) {
$table->renameColumn('declaration_id', 'folder_id');
});
// 6. Re-add FK constraints
Schema::table('messages', function (Blueprint $table) {
$table->foreign('folder_id')->references('id')->on('folders')->cascadeOnDelete();
});
Schema::table('folder_invitations', function (Blueprint $table) {
$table->foreign('folder_id')->references('id')->on('folders')->cascadeOnDelete();
});
}
};
```
### References
- [Source: _bmad-output/planning-artifacts/epics.md#Story 0.1]
- [Source: _bmad-output/planning-artifacts/architecture.md#Pre-Phase Migration]
- [Source: _bmad-output/planning-artifacts/architecture.md#Declaration Status Flow (lines 453-479)]
- [Source: _bmad-output/project-context.md#Technology Stack]
- [Source: database/migrations/2026_02_27_103316_create_folders_table.php]
- [Source: database/migrations/2026_03_01_144731_create_folder_invitations_table.php]
- [Source: database/migrations/2026_03_01_144730_create_messages_table.php]
## Dev Agent Record
### Agent Model Used
Claude Opus 4.6
### Debug Log References
- SQLite does not support `dropForeign('constraint_name')` — switched to column array syntax `dropForeign(['column_name'])` for cross-driver compatibility
- `down()` method required reordering: must drop index before renaming columns, then recreate index after rename (SQLite validates indexes during column rename)
- Upgraded Docker Sail container from PHP 8.2 to PHP 8.4 to resolve PHPUnit 12.5 / sebastian/environment 8.0 incompatibility (typed class constants require PHP 8.3+)
- Fixed `phpunit.xml` to use `DB_CONNECTION=sqlite` and `DB_DATABASE=:memory:` for test isolation
### Completion Notes List
- Created migration `2026_03_11_000001_rename_folders_to_declarations.php` implementing full rename of tables, columns, indexes, and FK constraints
- Migration uses column array syntax for `dropForeign()` ensuring SQLite (dev) and MySQL (prod) compatibility
- `up()` follows exact order: drop FKs → drop index → rename columns → recreate index → rename tables → re-add FKs
- `down()` fully reverses all changes: drop FKs → rename tables → drop index → rename columns → recreate index → re-add FKs
- Added 6 Pest tests verifying table renames, column renames, composite index, and rollback in `tests/Feature/Database/RenameFoldersToDeclarationsTest.php`
- All 6 migration tests pass; all non-Folder-related tests pass (40+ tests)
- Folder-related tests (FolderTypeTest, MediaDownloadTest, FolderMentionTest, NotificationControllerTest) fail as expected — documented in Dev Notes, fixed in Story 0.2
- Infrastructure fixes: PHP 8.2→8.4 in compose.yaml, WWWGROUP/WWWUSER in .env, phpunit.xml DB config
### Senior Developer Review (AI)
**Reviewer:** Saad (via Claude Opus 4.6) on 2026-03-11
**Findings (8 total):** 3 High, 3 Medium, 2 Low
| # | Severity | Issue | Resolution |
|---|----------|-------|------------|
| H1 | HIGH | `up()` dropIndex after column rename — fragile on SQLite | Fixed: moved dropIndex before renameColumn |
| H2 | HIGH | Missing tests for AC #4 (indexes), AC #5 (reversibility) | Fixed: added 2 new Pest tests |
| H3 | HIGH | Task 2.4 marked complete but no index test | Fixed: composite index test added |
| M1 | MEDIUM | Infrastructure changes (compose.yaml, phpunit.xml) bundled in rename story | Noted: these are prerequisites for running tests — documented as infra scope in File List |
| M2 | MEDIUM | `.env` modified but not in File List | Fixed: added to File List |
| M3 | MEDIUM | Inconsistent FK drop/create approach between up() and down() | Re-evaluated: both up() and down() use identical pattern (column array drops, explicit references for creates) — actually consistent, no fix needed |
| L1 | LOW | split_vat_folder_type.php has implicit dependency on migration order | Fixed: added dependency comment to rename migration file |
| L2 | LOW | Test directory `tests/Feature/Migration/` doesn't mirror controller structure | Fixed: renamed to `tests/Feature/Database/` |
### Change Log
- 2026-03-11: Code review follow-up — added migration dependency comment (L1), renamed test dir Migration/ → Database/ (L2), re-evaluated M3 as non-issue. All actionable findings resolved.
- 2026-03-11: Code review — fixed migration step ordering (H1), added index and rollback tests (H2/H3), updated File List (M2). 3 HIGH and 1 MEDIUM fixed, 2 MEDIUM and 2 LOW noted.
- 2026-03-11: Implemented Story 0.1 — database rename from folders to declarations terminology. Migration created, verified forward/backward, tests added. Infrastructure upgraded to PHP 8.4.
### File List
- database/migrations/2026_03_11_000001_rename_folders_to_declarations.php (new)
- tests/Feature/Database/RenameFoldersToDeclarationsTest.php (new)
- compose.yaml (modified — PHP 8.2 → 8.4)
- phpunit.xml (modified — DB_CONNECTION=sqlite, DB_DATABASE=:memory:)
- .env (modified — added WWWGROUP=1000, WWWUSER=1000)

View File

@@ -0,0 +1,113 @@
# generated: 2026-03-11
# project: l'ami fiduciaire
# project_key: NOKEY
# tracking_system: file-system
# story_location: _bmad-output/implementation-artifacts
# STATUS DEFINITIONS:
# ==================
# Epic Status:
# - backlog: Epic not yet started
# - in-progress: Epic actively being worked on
# - done: All stories in epic completed
#
# Epic Status Transitions:
# - backlog → in-progress: Automatically when first story is created (via create-story)
# - in-progress → done: Manually when all stories reach 'done' status
#
# Story Status:
# - backlog: Story only exists in epic file
# - ready-for-dev: Story file created in stories folder
# - in-progress: Developer actively working on implementation
# - review: Ready for code review (via Dev's code-review workflow)
# - done: Story completed
#
# Retrospective Status:
# - optional: Can be completed but not required
# - done: Retrospective has been completed
#
# WORKFLOW NOTES:
# ===============
# - Epic transitions to 'in-progress' automatically when first story is created
# - Stories can be worked in parallel if team capacity allows
# - SM typically creates next story after previous one is 'done' to incorporate learnings
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
generated: 2026-03-11
project: "l'ami fiduciaire"
project_key: NOKEY
tracking_system: file-system
story_location: "_bmad-output/implementation-artifacts"
development_status:
# Epic 0: Foundation Migration & Infrastructure Setup
epic-0: in-progress
0-1-rename-folders-to-declarations-in-database: done
0-2-rename-folders-to-declarations-in-backend: backlog
0-3-rename-folders-to-declarations-in-frontend: backlog
0-4-configure-redis-for-cache-queue-and-sessions: backlog
0-5-add-foundation-database-migrations-and-declaration-status-flow: backlog
epic-0-retrospective: optional
# Epic 1: Team Management & Permission System
epic-1: backlog
1-1-permission-configuration-and-controller-traits: backlog
1-2-team-management-page-view-and-invite-members: backlog
1-3-role-assignment-and-member-removal: backlog
1-4-manager-permission-toggle-matrix: backlog
1-5-role-based-access-enforcement-across-views: backlog
1-6-workspace-switching-for-multi-workspace-owners: backlog
epic-1-retrospective: optional
# Epic 2: Role-Driven Dashboard & Command Center
epic-2: backlog
2-1-owner-manager-command-center-dashboard: backlog
2-2-priority-alerts-panel: backlog
2-3-worker-scoped-dashboard: backlog
2-4-dashboard-activity-feed: backlog
epic-2-retrospective: optional
# Epic 3: Collaboration, Nudge System & Notifications
epic-3: backlog
3-1-notification-infrastructure-setup: backlog
3-2-one-click-nudge-system: backlog
3-3-notification-center-and-bell: backlog
3-4-bulk-client-notification-scheduling: backlog
3-5-email-notification-enhancement-for-key-events: backlog
epic-3-retrospective: optional
# Epic 4: Bulk Operations, Search & Advanced Filtering
epic-4: backlog
4-1-filterbar-component-and-usefilters-composable: backlog
4-2-apply-filterbar-to-declarations-and-clients-pages: backlog
4-3-quick-search-with-mysql-fulltext: backlog
4-4-bulk-declaration-creation: backlog
4-5-archive-navigation-with-dedicated-filters: backlog
epic-4-retrospective: optional
# Epic 5: Archive System & Document Preview
epic-5: backlog
5-1-auto-archive-on-close-and-history-preservation: backlog
5-2-archive-detail-page-read-only-snapshot: backlog
5-3-in-app-document-preview: backlog
5-4-re-open-archived-declaration: backlog
5-5-bulk-zip-download-and-retention-policy: backlog
epic-5-retrospective: optional
# Epic 6: Platform Administration & Subscription Enforcement
epic-6: backlog
6-1-saas-admin-role-and-admin-guard: backlog
6-2-platform-dashboard-and-workspace-overview: backlog
6-3-support-ticket-inbox: backlog
6-4-platform-configuration-management: backlog
6-5-subscription-tier-limit-enforcement: backlog
epic-6-retrospective: optional
# Epic 7: Production Infrastructure & Deployment
epic-7: backlog
7-1-encrypted-file-storage-with-s3-compatible-backend: backlog
7-2-email-delivery-via-amazon-ses: backlog
7-3-laravel-forge-deployment-and-ci-pipeline: backlog
7-4-monitoring-alerting-and-error-tracking: backlog
7-5-automated-backups-and-disaster-recovery: backlog
epic-7-retrospective: optional

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,458 @@
---
stepsCompleted:
- step-01-document-discovery
- step-02-prd-analysis
- step-03-epic-coverage-validation
- step-04-ux-alignment
- step-05-epic-quality-review
- step-06-final-assessment
filesIncluded:
prd: prd.md
architecture: architecture.md
epics: epics.md
ux: ux-design-specification.md
---
# Implementation Readiness Assessment Report
**Date:** 2026-03-11
**Project:** l'ami fiduciaire
## Document Inventory
### PRD
- **File:** prd.md
- **Format:** Whole document
- **Supporting:** prd-validation-report.md (validation report)
### Architecture
- **File:** architecture.md
- **Format:** Whole document
### Epics & Stories
- **File:** epics.md
- **Format:** Whole document
### UX Design
- **File:** ux-design-specification.md
- **Format:** Whole document
### Discovery Notes
- No duplicate documents found
- No missing required documents
- All 4 document types present and accounted for
## PRD Analysis
### Functional Requirements
| ID | Requirement |
|---|---|
| FR1 | Owner can create a new workspace with firm name and basic configuration |
| FR2 | Owner can invite team members to the workspace via email |
| FR3 | Owner can assign roles (Manager/Chef de Mission, Worker) to team members |
| FR4 | Owner can configure per-workspace permission toggles for Manager roles |
| FR5 | Owner can manage workspace settings (firm details, firm logo, display name) |
| FR6 | New users can sign up for a 14-day trial without credit card |
| FR7 | Owner can view, add, and remove team members from the workspace |
| FR8 | Owner can change a team member's role within the workspace |
| FR9 | Manager can invite, remove, and change roles of team members when permission is granted by Owner |
| FR10 | System enforces role-based access -- Workers see only assigned items, Managers/Owners see all |
| FR11 | Owner can switch between multiple owned workspaces |
| FR12 | Owner/Manager can create, view, edit, and deactivate client records |
| FR13 | Owner/Manager can import clients in bulk |
| FR14 | Worker can view and interact with their assigned clients only |
| FR15 | System associates each client with a workspace and enforces tenant isolation |
| FR16 | Owner/Manager can create individual declarations for a client (type, deadline, assignment) |
| FR17 | Owner/Manager can bulk-create declarations across multiple clients with type and deadline selection |
| FR18 | Owner/Manager/Worker can update declaration status through its lifecycle |
| FR19 | Owner/Manager can reassign a declaration to a different team member |
| FR20 | Worker can edit declarations assigned to them (type correction, deadline adjustment) |
| FR21 | System auto-archives declarations when marked as closed |
| FR22 | Owner/Manager can re-open an archived declaration with audit trail |
| FR23 | Users can view archived declarations in read-only mode with full history |
| FR24 | Owner/Manager can view a command center dashboard showing all clients, declaration statuses, and priority alerts |
| FR25 | Worker can view a scoped dashboard showing only their assigned clients and declarations |
| FR26 | Dashboard surfaces priority alerts (overdue declarations, approaching deadlines, missing client documents) |
| FR27 | SaaS Admin can view a platform-level dashboard (workspace count, user count, storage, system health) |
| FR28 | SaaS Admin can view and respond to support tickets via an issue/support inbox |
| FR29 | Owner/Manager can nudge a team member on a specific declaration with one action |
| FR30 | Team members receive notifications with direct links to the relevant declaration |
| FR31 | Users can view a notification center showing all received nudges and system alerts |
| FR32 | Owner/Manager can schedule bulk notifications to clients for document requests |
| FR33 | System sends email notifications for key events (document requests, nudges, status changes) |
| FR34 | System generates unique token-based links for client interactions (no account required) |
| FR35 | External clients can upload documents via token link from any device including mobile |
| FR36 | External clients receive confirmation after successful document upload |
| FR37 | Team members can download client-uploaded documents from the declaration detail page |
| FR38 | Team members can send messages to clients within a declaration context |
| FR39 | External clients can view messages from their fiduciary firm via the portal |
| FR40 | Token links expire according to configurable security policies |
| FR41 | Users can filter declarations by status, client, assignee, type, and deadline range |
| FR42 | Filter selections persist across views within a session |
| FR43 | Users can perform quick search across clients and declarations |
| FR44 | Archive section is accessible as a top-level navigation item with its own filters and search |
| FR45 | System preserves full declaration history upon archiving (documents, messages, status changes, activity log) |
| FR46 | Users can browse archived declarations with hybrid filters and search |
| FR47 | Users can view an archive detail page as a read-only snapshot of the complete declaration |
| FR48 | Users can preview documents in-app from archived declarations |
| FR49 | Users can bulk-download archived declaration documents as ZIP |
| FR50 | System visually distinguishes archived declarations from active ones |
| FR51 | System enforces 10-year retention policy for archived data |
| FR52 | System logs all data modifications with actor, timestamp, and change details |
| FR53 | Owner can view the full activity log for the workspace |
| FR54 | Manager can view activity logs when permission is granted |
| FR55 | Worker can view activity logs for their own actions only |
| FR56 | SaaS Admin can view all workspaces and their usage metrics |
| FR57 | SaaS Admin can manage platform-level configuration (global settings, feature flags, storage limits, email templates) |
| FR58 | System enforces subscription tier limits (team members, clients, storage, features) |
**Total FRs: 58**
### Non-Functional Requirements
| ID | Category | Requirement |
|---|---|---|
| NFR1 | Performance | Page loads and common user actions complete within 2 seconds on standard Moroccan internet (ADSL/4G) |
| NFR2 | Performance | Bulk declaration creation (up to 50) completes within 10 seconds |
| NFR3 | Performance | Bulk notification scheduling (up to 50 clients) completes within 10 seconds |
| NFR4 | Performance | File uploads up to 10 MB complete within 60 seconds on 4G |
| NFR5 | Performance | Dashboard data renders within 3 seconds for workspaces with up to 200 active clients |
| NFR6 | Performance | Quick search returns results within 1 second |
| NFR7 | Security | All data encrypted in transit (TLS 1.2+) and at rest (AES-256 for stored documents) |
| NFR8 | Security | Multi-tenant data isolation enforced at every query |
| NFR9 | Security | Authorization boundary violations return 404 (not 403) to prevent tenant existence leakage |
| NFR10 | Security | Token-based client portal links are cryptographically secure, single-purpose, and expire after configurable duration |
| NFR11 | Security | Two-factor authentication available for all firm users (TOTP-based) |
| NFR12 | Security | All data modifications logged with actor, timestamp, and change details (audit trail) |
| NFR13 | Security | CNDP (Law 09-08) compliant data handling -- EU-hosted infrastructure |
| NFR14 | Security | Client financial documents accessible only to authorized workspace members and specific client via token link |
| NFR15 | Security | Session management with secure cookie handling, CSRF protection, and session timeout after inactivity |
| NFR16 | Scalability | System supports up to 200 concurrent workspaces maintaining performance targets |
| NFR17 | Scalability | System supports up to 1,000 total users across all workspaces |
| NFR18 | Scalability | Individual workspace supports up to 500 active clients and 5,000 active declarations |
| NFR19 | Scalability | File storage architecture supports growth to 1 TB total platform storage |
| NFR20 | Scalability | System handles seasonal peak loads (bilan season Jan-Mar: 2-3x normal usage) |
| NFR21 | Reliability | Platform targets 99.5% uptime (max ~3.6 hours unplanned downtime per month) |
| NFR22 | Reliability | Automated hourly database backups with 1-hour RPO |
| NFR23 | Reliability | Database binary/transaction logging enabled for point-in-time recovery |
| NFR24 | Reliability | Backup restore procedure documented and tested -- full restore within 1 hour (RTO) |
| NFR25 | Reliability | Backup retention: daily backups 30 days, weekly backups 6 months |
| NFR26 | Reliability | Email notification delivery >99% success rate with retry logic (up to 3 retries within 5 minutes) |
| NFR27 | Reliability | Monitoring and alerting configured for system health, error rates, and resource utilization |
| NFR28 | Reliability | Zero data loss tolerance for completed transactions |
**Total NFRs: 28**
### Additional Requirements
- **CNDP Compliance (Law 09-08):** Personal client data must comply with Morocco's CNDP framework; EU hosting required; 10-year data retention per Moroccan law; user consent mechanisms required
- **AML Context (Law 43-05):** Platform should not impede firms' AML compliance obligations; activity logging supports AML record-keeping
- **Morocco-specific infrastructure:** Standard ADSL/4G baseline; peak usage during fiscal deadlines (15th-20th monthly, end of month, Jan-Mar bilan season); email delivery is mission-critical during peaks
- **Integration (MVP):** Email delivery service, Spatie Media Library file storage; no direct government API integrations
- **Subscription tier enforcement:** Starter (199 MAD/mo), Professional (499 MAD/mo), Enterprise (999 MAD/mo) with specific limits per tier
- **RBAC:** 3 fixed roles (Owner, Manager/Chef de Mission, Worker) with per-workspace toggle-based permission matrix
- **Multi-tenancy:** Session-based workspace resolution via current_workspace_id; absolute workspace isolation
- **Terminology:** "Folders" renamed to "Declarations" across entire codebase (Pre-Phase foundation change)
### PRD Completeness Assessment
The PRD is comprehensive and well-structured. It includes:
- Clear executive summary with market positioning
- 6 detailed user journeys covering all 5 user types
- 58 functional requirements with clear ownership (who can do what)
- 28 non-functional requirements with measurable targets
- Domain-specific compliance and regulatory context
- Subscription tier model with specific limits
- Risk mitigations identified
- MVP phasing with clear scope boundaries
## Epic Coverage Validation
### Coverage Matrix
| FR | Requirement | Coverage | Status |
|---|---|---|---|
| FR1 | Owner can create workspace | Already Built | Covered |
| FR2 | Owner can invite team members | Already Built (enhanced by Epic 1) | Covered |
| FR3 | Owner can assign roles | Epic 1 - Story 1.2, 1.3 | Covered |
| FR4 | Owner configures Manager permission toggles | Epic 1 - Story 1.4 | Covered |
| FR5 | Owner manages workspace settings | Already Built | Covered |
| FR6 | 14-day trial signup | Already Built | Covered |
| FR7 | Owner view/add/remove team members | Epic 1 - Story 1.2, 1.3 | Covered |
| FR8 | Owner change team member role | Epic 1 - Story 1.3 | Covered |
| FR9 | Manager manages team when permitted | Epic 1 - Story 1.2, 1.3, 1.4 | Covered |
| FR10 | System enforces role-based access | Epic 1 - Story 1.5 | Covered |
| FR11 | Owner switches workspaces | Epic 1 - Story 1.6 | Covered |
| FR12 | Owner/Manager CRUD clients | Already Built (enhanced by Epic 1, Epic 4) | Covered |
| FR13 | Bulk client import | Already Built | Covered |
| FR14 | Worker sees assigned clients only | Already Built (enhanced by Epic 1) | Covered |
| FR15 | Client workspace isolation | Already Built | Covered |
| FR16 | Create individual declarations | Epic 0 (terminology migration) | Covered |
| FR17 | Bulk declaration creation | Epic 4 - Story 4.4 | Covered |
| FR18 | Update declaration status | Epic 0 (terminology migration) | Covered |
| FR19 | Reassign declarations | Epic 0 (terminology migration) | Covered |
| FR20 | Worker edit assigned declarations | Epic 0 (terminology migration) | Covered |
| FR21 | Auto-archive on close | Epic 5 - Story 5.1 | Covered |
| FR22 | Re-open archived declaration | Epic 5 - Story 5.4 | Covered |
| FR23 | View archived declarations read-only | Epic 5 - Story 5.2 | Covered |
| FR24 | Owner/Manager command center dashboard | Epic 2 - Story 2.1 | Covered |
| FR25 | Worker scoped dashboard | Epic 2 - Story 2.3 | Covered |
| FR26 | Priority alerts on dashboard | Epic 2 - Story 2.2 | Covered |
| FR27 | SaaS Admin platform dashboard | Epic 6 - Story 6.2 | Covered |
| FR28 | SaaS Admin support inbox | Epic 6 - Story 6.3 | Covered |
| FR29 | One-click nudge on declarations | Epic 3 - Story 3.2 | Covered |
| FR30 | Notifications with direct links | Epic 3 - Story 3.3 | Covered |
| FR31 | Notification center | Epic 3 - Story 3.3 | Covered |
| FR32 | Bulk notification scheduling | Epic 3 - Story 3.4 | Covered |
| FR33 | Email notifications for key events | Epic 3 - Story 3.5 | Covered |
| FR34 | Token-based portal links | Already Built | Covered |
| FR35 | Client upload via token link | Already Built | Covered |
| FR36 | Upload confirmation | Already Built | Covered |
| FR37 | Team document download | Already Built | Covered |
| FR38 | In-declaration messaging | Already Built | Covered |
| FR39 | Client message viewing | Already Built | Covered |
| FR40 | Token link expiry | Already Built | Covered |
| FR41 | Filter declarations by status/client/assignee/type/deadline | Epic 4 - Story 4.1, 4.2 | Covered |
| FR42 | Filter persistence across views | Epic 4 - Story 4.1 | Covered |
| FR43 | Quick search | Epic 4 - Story 4.3 | Covered |
| FR44 | Archive as top-level nav | Epic 4 - Story 4.5 | Covered |
| FR45 | Full history preservation on archive | Epic 5 - Story 5.1 | Covered |
| FR46 | Browse archived with filters/search | Epic 5 (via Epic 4 Story 4.5) | Covered |
| FR47 | Archive detail page read-only | Epic 5 - Story 5.2 | Covered |
| FR48 | In-app document preview | Epic 5 - Story 5.3 | Covered |
| FR49 | Bulk ZIP download | Epic 5 - Story 5.5 | Covered |
| FR50 | Visual distinction for archived items | Epic 5 - Story 5.2, 4.5 | Covered |
| FR51 | 10-year retention policy | Epic 5 - Story 5.5 | Covered |
| FR52 | Activity logging | Already Built | Covered |
| FR53 | Owner activity log viewing | Already Built (enhanced by Epic 1) | Covered |
| FR54 | Manager activity log viewing | Already Built (enhanced by Epic 1) | Covered |
| FR55 | Worker own-action log viewing | Already Built (enhanced by Epic 1) | Covered |
| FR56 | Admin view all workspaces | Epic 6 - Story 6.2 | Covered |
| FR57 | Admin platform configuration | Epic 6 - Story 6.4 | Covered |
| FR58 | Subscription tier enforcement | Epic 6 - Story 6.5 | Covered |
### Missing Requirements
No missing FRs identified. All 58 functional requirements from the PRD have a traceable implementation path.
### Coverage Statistics
- **Total PRD FRs:** 58
- **FRs covered in epics (new development):** 39
- **FRs already built (existing foundation):** 19
- **FRs missing:** 0
- **Coverage percentage:** 100%
## UX Alignment Assessment
### UX Document Status
**Found:** `ux-design-specification.md` -- Comprehensive UX design specification (86KB, 14 steps completed). Covers executive summary, core user experience, emotional design, UX pattern analysis, design system foundation, visual design, user journey flows, component strategy, UX consistency patterns, responsive design, and accessibility.
### UX <-> PRD Alignment
**Strong alignment across all areas:**
| PRD Element | UX Coverage | Status |
|---|---|---|
| 5 user personas (Karim, Rachid, Fatima, Hassan, Saad) | All 5 mapped with detailed usage patterns, tech level, primary device | Aligned |
| 6 user journeys | 4 detailed flow diagrams with mermaid; cross-role declaration lifecycle covered | Aligned |
| Role-driven dashboards (FR24-FR26) | Detailed Owner/Manager command center + Worker scoped dashboard UX specifications | Aligned |
| Client portal zero-friction (FR34-FR40) | Mobile-first, token-based, single-action page design specified | Aligned |
| Bulk operations (FR17, FR32) | Multi-step form pattern, BulkActionBar component, Gmail-style selection | Aligned |
| Filter persistence (FR42) | URL query params via Inertia router.get(), useFilters composable specified | Aligned |
| Archive system (FR44-FR51) | Visual distinction (muted styling), read-only detail page, DeclarationStatusStepper | Aligned |
| French-native UI | DD/MM/YYYY dates, MAD currency, relative French timestamps ("il y a 2 heures") | Aligned |
| Subscription tiers | Not explicitly detailed in UX (LimitReachedModal is in epics but not detailed in UX spec) | Minor gap |
### UX <-> Architecture Alignment
**Strong alignment on technical patterns:**
| UX Pattern | Architecture Support | Status |
|---|---|---|
| Server-side filtering + URL params | D11: Inertia router.get() + Eloquent scopes in controllers | Aligned |
| Dashboard caching for 200 clients (NFR5) | D4/D5: Redis Cache::remember() with 5-minute TTL | Aligned |
| Document preview (PDF.js, images) | D12: Client-side PDF.js, native img, shadcn Dialog wrapper | Aligned |
| Real-time activity feed | D10: Deferred for MVP -- no WebSocket. Server-rendered via Inertia | Aligned (noted limitation) |
| Notification system (bell, email) | D8: Laravel DatabaseNotification, database + mail channels | Aligned |
| Bulk operations (50 items, 10s) | D9: DB::transaction() + individual Redis-queued emails | Aligned |
| Quick search (1s response) | D3: MySQL FULLTEXT with MATCH...AGAINST | Aligned |
| Mobile-first client portal | Token-based auth, Spatie Media Library, responsive Tailwind | Aligned |
| TanStack Table v8 for DataTable | Not explicitly mentioned in architecture but compatible with Vue 3 frontend stack | Compatible |
### Alignment Issues
1. **Declaration status flow mismatch (Minor):** The UX Journey 4 shows a status flow: `CREATED → WAITING_FOR_CLIENT → DOCUMENTS_RECEIVED → IN_PROGRESS → FILED → ARCHIVED` with additional states `DOCUMENTS_INCOMPLETE` and `CLIENT_NOTIFIED`. However, the Architecture specifies: `created → en_cours → en_attente_client → en_cours → termine → ferme → [auto-archive]`. The PRD aligns with the Architecture version. The UX document uses different status names (English vs. French) and includes states (`DOCUMENTS_RECEIVED`, `DOCUMENTS_INCOMPLETE`, `FILED`) not present in the Architecture or PRD. **Recommendation:** Align UX to use the Architecture/PRD status flow. The extra UX states may represent visual sub-states rather than database states, but this should be clarified to avoid confusion during implementation.
2. **Sidebar navigation items (Minor):** The UX spec lists sidebar items as "Dashboard, Clients, Dossiers, Fiscal Calendar, Declarations, Settings" in some places, while the PRD/Architecture/Epics use "Dashboard, Clients, Declarations, Archive, Team, Settings." "Fiscal Calendar" and "Dossiers" appear to be UX concepts that don't map to built features. **Recommendation:** Align UX sidebar to match PRD/Epics: Dashboard, Clients, Declarations, Archive, Team, Settings.
3. **LimitReachedModal UX specification (Gap):** The epics (Story 6.5) reference a `LimitReachedModal` component for subscription enforcement, but the UX spec does not detail this component's design. **Recommendation:** Add LimitReachedModal to UX component strategy.
### Warnings
- **No critical misalignments.** The UX, PRD, and Architecture are well-synchronized. The UX was clearly built from the PRD and references Architecture decisions.
- The two minor status flow discrepancies should be resolved before implementation to ensure developers build the correct states.
- The UX document uses "folders/dossiers" terminology in a few legacy references (e.g., component list mentions "FolderForm") which should be updated to "declarations" post-rename.
## Epic Quality Review
### Epic Structure Assessment
**8 epics, 36 stories total. Overall quality: Strong.**
| Epic | Stories | User Value | Independent | ACs Quality | FR Traced |
|---|---|---|---|---|---|
| Epic 0: Foundation Migration | 5 | Technical (justified) | Pre-phase | Good | Pass |
| Epic 1: Team Management | 6 | Yes | Yes | Strong | FR3,4,7-11 |
| Epic 2: Dashboard & Command Center | 4 | Yes | Needs Epic 1 | Strong | FR24-26 |
| Epic 3: Collaboration & Notifications | 5 | Yes | Needs Epic 1 | Strong | FR29-33 |
| Epic 4: Bulk Ops, Search, Filtering | 5 | Yes | Yes | Strong | FR17,41-44 |
| Epic 5: Archive & Document Preview | 5 | Yes | Needs Epic 4.5 | Good (minor issue) | FR21-23,45-51 |
| Epic 6: Platform Admin | 5 | Yes | Yes | Strong | FR27-28,56-58 |
| Epic 7: Production Infrastructure | 5 | Operational (justified) | Yes | Strong | NFR-driven |
### Critical Violations
**1. Epic 0 and Epic 7 are technical milestone epics (no direct user value)**
- Epic 0: Terminology migration + Redis setup -- purely technical
- Epic 7: Production infrastructure, deployment, backups -- operational
- **Assessment:** Both are justifiable exceptions. Epic 0 prevents compounding rename debt. Epic 7 addresses mandatory NFRs for production.
- **Recommendation:** Accept as "enabler epics" and document them as such. Not a blocking issue.
### Major Issues
**2. HTTP 403 vs 404 inconsistency in Epic 5 (Stories 5.1, 5.2, 5.4)**
- Stories use `abort(403)` for archived declaration edit attempts and Worker access restrictions
- Architecture mandates `abort(404)` for ALL authorization violations (NFR9)
- **Recommendation:** Update acceptance criteria to use `abort(404)` consistently. If 403 is intentionally desired for archived-edit rejection (user IS authorized to view but NOT edit), document this as a deliberate exception.
**3. Story 0.5 creates database columns prematurely**
- `permissions` JSON column (needed Epic 1) and `archived_at` (needed Epic 5) created in Epic 0
- Violates just-in-time database creation principle
- **Recommendation:** Acceptable for "foundation pre-phase" design intent. Alternatively, move to Story 1.1 and Story 5.1 respectively.
### Minor Concerns
**4. Infrastructure-first stories within user-value epics**
- Stories 1.1, 3.1, 4.1, and 6.1 are developer-facing infrastructure stories
- They create technical foundations (traits, notification tables, FilterBar component, admin guard) that subsequent stories build upon
- **Assessment:** Common and pragmatic pattern. Each "X.1" story enables clear user value in X.2+ stories.
**5. BulkActionBar pattern coupling between Epic 3 and Epic 4**
- Story 3.4 introduces BulkActionBar for client notifications
- Story 4.4 uses similar bulk UI pattern for declaration creation
- **Assessment:** Minor. Both can implement independently. The component can be built in whichever epic is implemented first.
**6. Acceptance criteria completeness**
- All 36 stories use proper Given/When/Then BDD format
- Stories reference specific NFR targets (e.g., "within 10 seconds NFR2", "within 3 seconds NFR5")
- Error conditions are generally well-covered
- **One gap:** Story 4.4 does not specify what happens if bulk creation partially fails (e.g., 48 of 50 succeed due to a validation error on 2 clients). The `DB::transaction()` means all-or-nothing, but this should be explicitly stated in the ACs.
### Story Dependency Map
```
Epic 0: 0.1 → 0.2 → 0.3 (sequential rename)
0.4 (independent - Redis)
0.5 → depends on 0.1
Epic 1: 1.1 (foundation) → 1.2, 1.3, 1.4, 1.5 (parallel possible)
1.6 (independent)
Epic 2: 2.1 (dashboard base) → 2.2, 2.3, 2.4 (parallel after 2.1)
Epic 3: 3.1 (notification infra) → 3.2, 3.3, 3.4, 3.5 (parallel after 3.1)
Epic 4: 4.1 (FilterBar) → 4.2, 4.3, 4.5 (parallel after 4.1)
4.4 (independent of 4.1)
Epic 5: 5.1 (auto-archive) → 5.2, 5.4, 5.5 (parallel after 5.1)
5.3 (independent)
Epic 6: 6.1 (admin guard) → 6.2, 6.3, 6.4 (parallel after 6.1)
6.5 (independent)
Epic 7: 7.1-7.5 (mostly independent, can parallelize)
```
### Remediation Summary
| # | Issue | Severity | Action Required |
|---|---|---|---|
| 1 | Epic 0 + Epic 7 no user value | Critical (by standard), Low (in context) | Document as "enabler epics" -- no rework needed |
| 2 | 403 vs 404 in Epic 5 stories | Major | Update ACs in Stories 5.1, 5.2, 5.4 |
| 3 | Early column creation in Story 0.5 | Major (by standard), Low (in context) | Accept or move to relevant epics |
| 4 | Infrastructure-first stories | Minor | No action -- pragmatic pattern |
| 5 | BulkActionBar coupling | Minor | No action -- independent implementation possible |
| 6 | Partial bulk failure not specified | Minor | Add explicit all-or-nothing AC to Story 4.4 |
## Summary and Recommendations
### Overall Readiness Status
**READY** -- with minor corrections recommended before implementation begins.
The planning artifacts for L'Ami Fiduciaire are comprehensive, well-aligned, and implementation-ready. The PRD, Architecture, UX Design, and Epics documents form a cohesive set with strong traceability between requirements and implementation stories.
### Findings Summary
| Category | Finding | Verdict |
|---|---|---|
| **Document Completeness** | All 4 required documents present (PRD, Architecture, UX, Epics) | Pass |
| **FR Coverage** | 58/58 FRs mapped to epics or existing features (100%) | Pass |
| **NFR Coverage** | 28/28 NFRs addressed across epics (particularly Epic 7) | Pass |
| **UX-PRD Alignment** | Strong alignment across all areas; 3 minor discrepancies | Pass (with notes) |
| **UX-Architecture Alignment** | Strong alignment; all UX patterns supported by architecture decisions | Pass |
| **Epic User Value** | 6/8 epics deliver direct user value; 2 are justified enabler epics | Pass (with caveat) |
| **Epic Independence** | Sequential dependencies are logical and documented | Pass |
| **Story Quality** | 36 stories with proper BDD acceptance criteria | Pass |
| **Story Dependencies** | No circular or forward dependencies; clear parallelization opportunities | Pass |
### Critical Issues Requiring Immediate Action
**None.** No blocking issues were identified. The artifacts are ready for implementation.
### Recommended Corrections Before Implementation
These are quick fixes that will prevent confusion during development:
1. **Fix 403 vs 404 in Epic 5 stories (Stories 5.1, 5.2, 5.4)** -- Update acceptance criteria to use `abort(404)` consistently per Architecture NFR9 convention. If 403 is intentional for archived-edit rejection, document as explicit exception. **Effort: 5 minutes.**
2. **Align UX status flow naming with Architecture/PRD** -- The UX spec uses English status names (CREATED, FILED, DOCUMENTS_RECEIVED) while the Architecture uses French (created, en_cours, en_attente_client, termine, ferme). Also clarify whether UX-only states (DOCUMENTS_INCOMPLETE, CLIENT_NOTIFIED) are visual sub-states or need database representation. **Effort: 15 minutes.**
3. **Align UX sidebar navigation items** -- Update UX spec sidebar from "Dashboard, Clients, Dossiers, Fiscal Calendar, Declarations, Settings" to match PRD/Epics: "Dashboard, Clients, Declarations, Archive, Team, Settings." **Effort: 5 minutes.**
4. **Add all-or-nothing clarification to Story 4.4** -- Explicitly state in acceptance criteria that `DB::transaction()` means all declarations succeed or all fail (no partial creation). **Effort: 2 minutes.**
### Strengths Noted
1. **Exceptional FR traceability** -- Every FR has a clear path from PRD → Epic → Story with explicit FR references in each epic and a complete coverage map in the epics document.
2. **Strong brownfield awareness** -- Stories correctly reference existing codebase patterns (Spatie Activity Log, Spatie Media Library, Fortify 2FA, Inertia.js, shadcn-vue) and build on them rather than replacing them.
3. **Measurable NFR targets in stories** -- Stories directly reference NFR benchmarks (e.g., "renders within 3 seconds NFR5", "within 10 seconds NFR2") making them testable during implementation.
4. **Parallelization opportunities** -- Within each epic, Story X.1 is the only blocker; subsequent stories (X.2, X.3, X.4) can often be developed in parallel by the 2-developer team.
5. **Comprehensive UX specification** -- The UX document provides component-level detail (10 custom components with variants, states, accessibility notes), consistent design patterns, and responsive strategy -- reducing design ambiguity during development.
6. **Architecture decision documentation** -- 16+ architecture decisions (D1-D16) with rationale, making it clear WHY specific technical choices were made, not just WHAT was chosen.
### Recommended Next Steps
1. Apply the 4 recommended corrections above (~30 minutes total)
2. Begin sprint planning to sequence epics and assign stories to developers
3. Start implementation with Epic 0 (Foundation Migration) as the required first epic
4. Epic 7 (Production Infrastructure) can be started in parallel with Epics 1-5 since it's independent
### Final Note
This assessment identified **9 issues** across **3 categories** (UX alignment, epic quality, story quality). Of these, **0 are blocking**, **2 are major** (by strict standards but low impact in context), and **7 are minor**. The planning artifacts are production-quality and ready for implementation. The L'Ami Fiduciaire project has strong traceability from requirements through architecture to implementation stories -- a solid foundation for the 2-developer team to execute against.
---
**Assessment completed:** 2026-03-11
**Assessor:** Implementation Readiness Workflow (PM/SM Expert)
**Project:** L'Ami Fiduciaire

View File

@@ -0,0 +1,524 @@
---
validationTarget: '_bmad-output/planning-artifacts/prd.md'
validationDate: '2026-03-11'
inputDocuments:
- '_bmad-output/planning-artifacts/product-brief-l-ami-fiduciaire-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/market-fiduciary-saas-morocco-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/domain-moroccan-fiduciary-operations-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/ecosystem-partners-morocco-fiduciary-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/cloud-adoption-saas-trends-future-outlook-research-2026-03-11.md'
- '_bmad-output/planning-artifacts/research/domain-moroccan-tax-regulation-digital-compliance-research-2026-03-10.md'
- '_bmad-output/project-context.md'
validationStepsCompleted: ['step-v-01-discovery', 'step-v-02-format-detection', 'step-v-03-density-validation', 'step-v-04-brief-coverage-validation', 'step-v-05-measurability-validation', 'step-v-06-traceability-validation', 'step-v-07-implementation-leakage-validation', 'step-v-08-domain-compliance-validation', 'step-v-09-project-type-validation', 'step-v-10-smart-validation', 'step-v-11-holistic-quality-validation', 'step-v-12-completeness-validation']
validationStatus: COMPLETE
holisticQualityRating: '4/5 - Good'
overallStatus: 'Warning'
---
# PRD Validation Report
**PRD Being Validated:** _bmad-output/planning-artifacts/prd.md
**Validation Date:** 2026-03-11
## Input Documents
- **Product Brief:** product-brief-l-ami-fiduciaire-2026-03-10.md
- **Market Research:** market-fiduciary-saas-morocco-research-2026-03-10.md
- **Domain Research:** domain-moroccan-fiduciary-operations-research-2026-03-10.md
- **Ecosystem Partners Research:** ecosystem-partners-morocco-fiduciary-research-2026-03-10.md
- **Cloud/SaaS Trends Research:** cloud-adoption-saas-trends-future-outlook-research-2026-03-11.md
- **Tax Regulation Research:** domain-moroccan-tax-regulation-digital-compliance-research-2026-03-10.md
- **Project Context:** project-context.md
## Validation Findings
## Format Detection
**PRD Structure (## Level 2 Headers):**
1. Executive Summary
2. Project Classification
3. Success Criteria
4. Product Scope & Development Strategy
5. User Journeys
6. Domain-Specific Requirements
7. SaaS B2B Specific Requirements
8. Functional Requirements
9. Non-Functional Requirements
**BMAD Core Sections Present:**
- Executive Summary: Present
- Success Criteria: Present
- Product Scope: Present (as "Product Scope & Development Strategy")
- User Journeys: Present
- Functional Requirements: Present
- Non-Functional Requirements: Present
**Format Classification:** BMAD Standard
**Core Sections Present:** 6/6
**Additional Sections (beyond core 6):**
- Project Classification -- provides domain/complexity/project-type metadata
- Domain-Specific Requirements -- industry compliance and regulatory context
- SaaS B2B Specific Requirements -- multi-tenancy, RBAC, subscription tiers, billing
## Information Density Validation
**Anti-Pattern Violations:**
**Conversational Filler:** 0 occurrences
**Wordy Phrases:** 0 occurrences
**Redundant Phrases:** 0 occurrences
**Total Violations:** 0
**Severity Assessment:** Pass
**Recommendation:** PRD demonstrates excellent information density with zero violations. Language is direct, concise, and every sentence carries information weight. No filler phrases, no wordy constructions, no redundant expressions detected.
## Product Brief Coverage
**Product Brief:** product-brief-l-ami-fiduciaire-2026-03-10.md
### Coverage Map
**Vision Statement:** Fully Covered
Brief's "practice management orchestration platform for Moroccan fiduciary firms" is fully articulated in PRD Executive Summary with additional strategic depth (juridique layer vision, Experio strategic split).
**Target Users:** Fully Covered
Brief defines 5 personas (Karim/Owner, Fatima/Worker, Hassan/Client, Saad/Admin, Experio/Future). PRD covers all 5 and adds Rachid (Manager/Chef de Mission) as a dedicated persona with full user journey -- an enhancement over the brief.
**Problem Statement:** Fully Covered
Brief's fragmented workflow problem (Sage + SIMPL + WhatsApp + Excel, missed deadlines, no visibility) is fully covered in PRD Executive Summary and reinforced through user journey narratives.
**Key Features:** Fully Covered
All 5 MVP phases from brief are present in PRD "Product Scope & Development Strategy" with identical scope. Pre-Phase (terminology migration), Phase 1-5 all mapped correctly. "Already Built" foundation accurately reflected.
**Goals/Objectives:** Fully Covered
Brief's success metrics (100-150 firms Y1, >30% trial conversion, <5% churn, MRR targets) are all present in PRD Success Criteria with identical targets. PRD adds leading indicators section.
**Differentiators:** Fully Covered
Brief's 5 differentiators are covered in PRD's "What Makes This Special" section with 6 items (adds "positioned for profession's transformation" point informed by research).
**Pricing Model:** Fully Covered
Brief's 3-tier pricing (199/499/999 MAD) with per-workspace model is fully present. PRD enhances with Morocco-specific payment methods (CMI, bank transfer, CashPlus) replacing brief's Stripe-focused approach.
**Out of Scope:** Fully Covered
Brief's 9 out-of-scope items all appear in PRD Growth Features table with consistent rationale and timing.
### Coverage Summary
**Overall Coverage:** 100% -- All Product Brief content is fully covered in PRD
**Critical Gaps:** 0
**Moderate Gaps:** 0
**Informational Gaps:** 0
**PRD Enhancements Beyond Brief:**
- Added Rachid (Manager) persona with dedicated user journey
- Expanded payment methods from Stripe to Morocco-specific infrastructure (CMI, bank transfer, CashPlus)
- Added juridique layer as long-term strategic vision
- Added "profession's transformation" differentiator informed by research
- Added Domain-Specific Requirements section (CNDP, AML, fiscal compliance context)
- Added SaaS B2B Specific Requirements section (multi-tenancy model, RBAC matrix, subscription details)
**Recommendation:** PRD provides excellent coverage of Product Brief content with meaningful enhancements informed by research documents.
## Measurability Validation
### Functional Requirements
**Total FRs Analyzed:** 58 (FR1-FR58)
**Format Violations:** 0
All FRs follow proper "[Actor] can [capability]" or "System [enforces/generates/preserves]" patterns. Actors are clearly defined (Owner, Manager, Worker, External clients, System, SaaS Admin, Users).
**Subjective Adjectives Found:** 0
No subjective adjectives (easy, fast, simple, intuitive, etc.) found in any FR.
**Vague Quantifiers Found:** 0
"Multiple" appears in FR11 and FR17 but is used correctly -- FR11 refers to Owners who by definition may have multiple workspaces; FR17 refers to a bulk-select action (more than one client). Both are testable.
**Implementation Leakage:** 0
No technology names, library names, or implementation details found in FRs. Clean separation of capability from implementation.
**FR Violations Total:** 0
### Non-Functional Requirements
**Total NFRs Analyzed:** 28 (NFR1-NFR28)
**Missing Metrics:** 2
- **NFR4** (line 512): "File uploads up to 10 MB complete without timeout on 4G connections" -- "without timeout" lacks a specific max time threshold. Suggest: "complete within 60 seconds on 4G connections"
- **NFR26** (line 543): "Email notification delivery must be reliable with retry logic" -- "reliable" is subjective. Suggest: "Email notification delivery must achieve >99% delivery success rate with retry logic (up to 3 retries within 5 minutes)"
**Incomplete Template:** 3
- **NFR16** (line 530): "without performance degradation" -- lacks threshold definition. Should reference specific metrics (e.g., "while maintaining NFR1 page load targets")
- **NFR18** (line 532): "without degradation" -- same issue as NFR16. Should specify what "degradation" means in measurable terms
- **NFR20** (line 534): "without service degradation" -- same pattern. Should specify thresholds for peak load performance
**Missing Context:** 0
**Implementation Detail in NFRs:** 1 (minor)
- **NFR11** (line 522): "TOTP via Fortify" -- Fortify is a specific Laravel package. Suggest: "Two-factor authentication available for all firm users (TOTP-based)" -- implementation choice belongs in architecture, not PRD
**NFR Violations Total:** 6
### Overall Assessment
**Total Requirements:** 86 (58 FRs + 28 NFRs)
**Total Violations:** 6 (0 FR + 6 NFR)
**Severity:** Warning (5-10 violations)
**Recommendation:** FRs are excellent -- clean, testable, properly formatted with zero violations. NFRs need minor refinement: 3 instances of "without degradation" should reference specific thresholds, 2 NFRs need measurable metrics instead of subjective terms ("reliable", "without timeout"), and 1 NFR leaks implementation detail (Fortify). These are all low-effort fixes that would make the NFR section fully testable.
## Traceability Validation
### Chain Validation
**Executive Summary → Success Criteria:** Intact
Vision (practice orchestration, zero missed deadlines, firm visibility) directly maps to Success Criteria (Karim: zero missed deadlines, full visibility; Fatima: no declarations falling through; Hassan: frictionless submission). Business targets (100-150 firms, Experio channel, MRR) align with Business Success metrics. No misalignments.
**Success Criteria → User Journeys:** Intact
Every success criterion has a corresponding user journey that demonstrates achieving it:
- Karim's "zero missed deadlines" → Journey 1 (command center, priority alerts, nudge system)
- Karim's "full visibility" → Journey 1 (Monday morning dashboard scene)
- Fatima's "no declarations falling through" → Journey 3 (scoped dashboard, bulk notifications)
- Fatima's "reduced chasing" → Journey 3 (portal document receipt replaces WhatsApp)
- Hassan's "fast submission" → Journey 5 (3-minute upload, token link)
- Business "trial-to-paid" → Journey 1 (Karim converts on day 11)
- Technical success → Journey 6 (Saad monitors platform health)
**User Journeys → Functional Requirements:** Intact
All capabilities revealed in user journeys have corresponding FRs:
| Journey | Capabilities | Supporting FRs |
|---|---|---|
| J1: Karim (Setup) | Workspace, team, roles, bulk create, dashboard, alerts, nudge | FR1-FR6, FR17, FR24, FR26, FR29 |
| J2: Rachid (Coordination) | Manager dashboard, reassignment, nudge | FR19, FR24, FR30-FR31 |
| J3: Fatima (Daily Grind) | Scoped dashboard, status, bulk notify, portal docs, messaging | FR18, FR25, FR32-FR33, FR37-FR38 |
| J4: Fatima (Edge Case) | Edit declaration, audit trail, messaging | FR20, FR38, FR52 |
| J5: Hassan (Upload) | Token link, mobile upload, confirmation | FR33-FR36 |
| J6: Saad (Platform) | Admin dashboard, support inbox, monitoring | FR27-FR28, FR56-FR57 |
**Scope → FR Alignment:** Intact
All 5 MVP phases map to FR groups:
- Phase 1 (Roles) → FR3-FR4, FR7-FR11
- Phase 2 (Dashboards) → FR24-FR28
- Phase 3 (Collaboration) → FR29-FR33
- Phase 4 (Efficiency) → FR17, FR32, FR41-FR44
- Phase 5 (Archive) → FR21-FR23, FR45-FR51
- Already Built → FR1-FR2, FR5-FR6, FR12-FR16, FR34-FR40, FR52-FR55
### Orphan Elements
**Orphan Functional Requirements:** 0
All 58 FRs trace to at least one user journey or business requirement. FR57 (platform config) and FR58 (tier limits) trace to Journey 6 and the SaaS business model respectively.
**Unsupported Success Criteria:** 0
All success criteria have supporting journeys and FRs.
**User Journeys Without FRs:** 0
All journey capabilities are supported by corresponding FRs.
### Traceability Summary
**Total Traceability Issues:** 0
**Severity:** Pass
**Recommendation:** Traceability chain is intact. All requirements trace from Executive Summary vision through Success Criteria to User Journeys to Functional Requirements. No orphan FRs, no unsupported success criteria, no journeys without FR coverage. The PRD demonstrates strong end-to-end traceability.
## Implementation Leakage Validation
### Leakage by Category
**Frontend Frameworks:** 0 violations
**Backend Frameworks:** 1 violation
- **NFR11** (line 522): "TOTP via Fortify" -- Fortify is a Laravel authentication package. Suggest: "Two-factor authentication available for all firm users (TOTP-based)"
**Databases:** 1 violation
- **NFR23** (line 540): "MySQL binary logging enabled for point-in-time recovery" -- specifies MySQL as the database technology. Suggest: "Database binary/transaction logging enabled for point-in-time recovery up to last committed transaction"
**Cloud Platforms:** 0 violations
**Infrastructure:** 0 violations
**Libraries:** 0 violations
**Other Implementation Details:** 0 violations
**Note on contextual sections:** Technology terms (Laravel 12, Vue 3, Inertia.js, Spatie Media Library, Spatie Activity Log, Eloquent) appear in Executive Summary, Project Classification, and Product Scope sections as brownfield context. These are appropriate context for a brownfield PRD -- they describe what exists, not what to build. No violation.
**Note on security standards:** TLS 1.2+ and AES-256 (NFR7) are industry security standards specifying capability thresholds, not implementation choices. HTTP 404/403 (NFR9) specifies protocol behavior. CSRF (NFR15) is a security concept. All capability-relevant, not leakage.
### Summary
**Total Implementation Leakage Violations:** 2
**Severity:** Warning (2-5 violations)
**Recommendation:** Minor leakage detected in 2 NFRs. Both are low-effort fixes: remove "Fortify" from NFR11 (replace with "TOTP-based") and remove "MySQL" from NFR23 (replace with "Database binary/transaction logging"). Implementation technology choices belong in the architecture document, not in PRD requirements.
## Domain Compliance Validation
**Domain:** Fintech (fiduciary/accounting practice management)
**Complexity:** High (regulated)
### Required Special Sections (Fintech)
**Compliance Matrix:** Present (Adequate)
PRD "Domain-Specific Requirements" → "Compliance & Regulatory" section covers:
- CNDP (Law 09-08) data protection with specific requirements (EU hosting, consent mechanisms, retention policies)
- Tax & Fiscal compliance context (declaration types, Moroccan fiscal calendar, penalty awareness)
- AML context (Law 43-05) with note on indirect applicability and audit trail support
- Risk mitigations table with specific regulatory risks and mitigation strategies
**Security Architecture:** Present (Adequate)
PRD covers security across two locations:
- "Domain-Specific Requirements" → "Technical Constraints" → "Domain-Specific Security Context" (encryption context, tenant isolation rationale, token portal security)
- NFR7-NFR15 provide specific security requirements (TLS 1.2+, AES-256, tenant isolation, token security, 2FA, audit logging, CNDP compliance, session management)
**Audit Requirements:** Present (Adequate)
- FR52-FR55 define audit logging capabilities (all modifications, workspace-level view, role-scoped access)
- NFR12 specifies audit trail requirements (actor, timestamp, change details)
- AML section references audit trail support for firms' compliance obligations
- Archive system (FR45-FR51) preserves full history including audit trails
**Fraud Prevention:** Partially Present
- The PRD does not include an explicit fraud prevention section
- Risk mitigations table covers data breaches, data leakage, and document loss -- but not fraud scenarios specific to a SaaS billing context (e.g., workspace abuse, billing fraud, account manipulation)
- **Mitigating context:** L'Ami Fiduciaire is a practice management tool, not a financial transaction processor. It does not handle payments directly (billing is manual initially), does not move money, and does not process financial instruments. The fraud surface is significantly lower than a typical fintech product.
### Compliance Matrix
| Requirement | Status | Notes |
|---|---|---|
| Data Protection (CNDP/Law 09-08) | Met | EU hosting, consent mechanisms, retention policies documented |
| Tax/Fiscal Compliance Context | Met | Declaration types, fiscal calendar, penalty awareness covered |
| AML Context (Law 43-05) | Met | Indirect applicability noted, audit trails support compliance |
| Security Standards (encryption, isolation) | Met | NFR7-NFR15 cover encryption, tenant isolation, 2FA, CSRF |
| Audit Requirements | Met | FR52-FR55 + NFR12 cover comprehensive audit logging |
| Fraud Prevention | Partial | No explicit section; low fraud surface due to non-transactional nature |
| Data Residency | Met | EU hosting explicitly chosen for CNDP compliance |
| Financial Transaction Handling | N/A | Platform does not process financial transactions |
### Summary
**Required Sections Present:** 3.5/4 (Compliance Matrix, Security Architecture, Audit Requirements fully present; Fraud Prevention partially present)
**Compliance Gaps:** 1 (minor)
**Severity:** Pass (with note)
**Recommendation:** Domain compliance is strong for a fintech-classified product. The one gap (fraud prevention) is mitigated by the product's nature -- it's a practice management orchestration tool, not a financial transaction platform. Consider adding a brief note on SaaS-level fraud prevention (e.g., workspace abuse detection, subscription fraud) if billing automation is added post-MVP. No critical compliance gaps.
## Project-Type Compliance Validation
**Project Type:** saas_b2b
### Required Sections
**Tenant Model (tenant_model):** Present
"SaaS B2B Specific Requirements" → "Multi-Tenancy Model" section provides detailed tenant model: session-based workspace resolution via `current_workspace_id`, role-dependent workspace access (Worker=single, Manager=single, Owner=multiple), absolute workspace isolation with 404 responses for boundary violations.
**RBAC Matrix (rbac_matrix):** Present
"SaaS B2B Specific Requirements" → "RBAC Permission Matrix" section provides comprehensive 3-role permission matrix table (Owner, Manager/Chef de Mission, Worker) across 12 permission areas. Includes configurable Manager permissions and fixed Worker scope.
**Subscription Tiers (subscription_tiers):** Present
"SaaS B2B Specific Requirements" → "Subscription Tiers" section provides 3-tier pricing table (Starter 199 MAD, Professional 499 MAD, Enterprise 999 MAD) with per-workspace model, feature/limit breakdown, and 14-day trial details.
**Integration List (integration_list):** Present
"Domain-Specific Requirements" → "Integration Requirements" section covers MVP integrations (email, file storage) and future integrations (DGI e-invoicing, Experio sync, WhatsApp API, bank statement import).
**Compliance Requirements (compliance_reqs):** Present
"Domain-Specific Requirements" → "Compliance & Regulatory" section covers CNDP, Tax/Fiscal, AML compliance. "SaaS B2B Specific Requirements" → "Billing & Payment Methods" covers Morocco-specific payment compliance.
### Excluded Sections (Should Not Be Present)
**CLI Interface (cli_interface):** Absent ✓
**Mobile First (mobile_first):** Absent ✓ (Mobile is mentioned as future vision, not as primary design approach. Web-first with responsive design is the stated approach.)
### Compliance Summary
**Required Sections:** 5/5 present
**Excluded Sections Present:** 0 (should be 0)
**Compliance Score:** 100%
**Severity:** Pass
**Recommendation:** All required sections for saas_b2b project type are present and well-documented. No excluded sections found. The PRD correctly addresses multi-tenancy, RBAC, subscriptions, integrations, and compliance -- all essential for a B2B SaaS product.
## SMART Requirements Validation
**Total Functional Requirements:** 58
### Scoring Summary
**All scores >= 3:** 100% (58/58)
**All scores >= 4:** 94.8% (55/58)
**Overall Average Score:** 4.8/5.0
### Scoring Table (Flagged and Notable FRs Only)
55 of 58 FRs scored 5/5/5/5/5 (perfect SMART). The 3 FRs below have minor specificity/measurability gaps:
| FR # | S | M | A | R | T | Avg | Issue |
|---|---|---|---|---|---|---|---|
| FR5 | 4 | 4 | 5 | 5 | 5 | 4.6 | "branding basics" is slightly vague |
| FR9 | 4 | 4 | 5 | 5 | 5 | 4.6 | "team management actions" is broad |
| FR57 | 3 | 3 | 5 | 5 | 4 | 4.0 | "platform-level configuration" is unspecified |
**Legend:** S=Specific, M=Measurable, A=Attainable, R=Relevant, T=Traceable (1=Poor, 3=Acceptable, 5=Excellent)
### Improvement Suggestions
**FR5:** "Owner can manage workspace settings (firm details, branding basics)" → Specify what "branding basics" includes (e.g., "firm logo, display name" or remove if not MVP)
**FR9:** "Manager can perform team management actions when permission is granted by Owner" → Specify which team management actions (e.g., "invite, remove, and change roles of team members")
**FR57:** "SaaS Admin can manage platform-level configuration" → Specify what configuration is manageable (e.g., "global settings, feature flags, storage limits, email templates")
### Overall Assessment
**Severity:** Pass (< 10% flagged FRs -- only 3/58 = 5.2%)
**Recommendation:** Functional Requirements demonstrate excellent SMART quality. 55/58 FRs score perfectly across all criteria. The 3 flagged FRs have minor specificity gaps (no score below 3) that could be addressed by listing specific items within each capability. This is an optional refinement -- the FRs are functional as-is.
## Holistic Quality Assessment
### Document Flow & Coherence
**Rating:** Excellent
The PRD follows a logical narrative arc: Executive Summary establishes context and vision → Project Classification anchors domain/complexity → Success Criteria defines measurable targets → Product Scope maps the build plan → User Journeys bring requirements to life through personas → Domain and SaaS sections provide specialized context → Functional Requirements enumerate capabilities → Non-Functional Requirements set quality bars.
Section transitions are natural and non-redundant. Each section builds on prior context without restating it. The brownfield context (what exists vs. what to build) is cleanly separated and consistently referenced.
### Dual Audience Effectiveness
**Score:** 5/5
**For Humans:**
- User journeys are vivid and scenario-driven (Karim's Monday morning, Fatima's WhatsApp escape, Hassan's 3-minute upload)
- Success criteria use persona names and real-world language
- Pricing and business model are immediately clear
- Phase roadmap provides strategic context
**For LLM Agents:**
- Frontmatter provides structured metadata (classification, input documents, dates)
- FRs follow consistent "[Actor] can [capability]" pattern -- highly parseable
- NFRs use numbered IDs with consistent formatting
- RBAC matrix is tabular and unambiguous
- Traceability is implicit through consistent naming (personas, phases, FR numbering)
- No conversational filler -- every sentence is actionable
### BMAD Principles Compliance
| Principle | Score | Notes |
|---|---|---|
| Information Density | Pass | Zero anti-pattern violations |
| Measurability | Partial | 6 NFR violations (vague terms, missing thresholds) |
| Traceability | Pass | Complete chain from vision to FRs, zero orphans |
| Implementation Independence | Pass (with note) | 2 minor NFR leakages (Fortify, MySQL) |
| Dual Audience | Pass | Excellent human readability + LLM parseability |
| Scope Discipline | Pass | Clear in/out scope, growth features deferred with rationale |
| Completeness | Pass | 6/6 core sections + 3 domain/project-type sections |
**BMAD Principles Score:** 6.5/7 (Measurability partial due to 6 NFR violations)
### Overall Quality Rating
**Rating:** 4/5 -- Good (Strong PRD with minor improvements needed)
**Justification:**
- Exceptional FR quality (55/58 perfect SMART scores, zero violations)
- Complete traceability chain with zero orphans
- 100% Product Brief coverage with meaningful research-informed enhancements
- Zero information density violations
- Excellent dual-audience optimization
- Minor weaknesses confined to NFRs (6 measurability + 2 implementation leakage issues)
- All issues are low-effort fixes that would elevate this to a 5/5
### Top 3 Improvements
1. **Fix NFR measurability (6 items):** Replace "without timeout" (NFR4), "without degradation" (NFR16/18/20), and "reliable" (NFR26) with specific thresholds. Add cross-references to existing metrics where applicable (e.g., "while maintaining NFR1 page load targets").
2. **Remove implementation leakage from NFRs (2 items):** Replace "TOTP via Fortify" (NFR11) with "TOTP-based" and "MySQL binary logging" (NFR23) with "Database binary/transaction logging". Implementation choices belong in the architecture document.
3. **Specify FR5, FR9, FR57 capabilities:** List the specific items within "branding basics" (FR5), "team management actions" (FR9), and "platform-level configuration" (FR57) to achieve perfect SMART scores across all 58 FRs.
## Completeness Validation
### Template Completeness
**Template Variables Found:** 0
No template variables remaining. Full PRD scan found zero instances of `{variable}`, `{{variable}}`, `[placeholder]`, or other template patterns. All content is authored.
### Content Completeness by Section
**Executive Summary:** Complete
Vision statement present, problem context articulated, brownfield foundation described, revenue model defined, 6 differentiators listed.
**Success Criteria:** Complete
4 categories (User, Business, Technical, Measurable Outcomes) with tabular metrics, specific targets, and leading indicators.
**Product Scope:** Complete
In-scope (5 MVP phases + pre-phase) and out-of-scope (8 growth features in priority table) both defined. Brownfield foundation documented. Risk mitigation table included.
**User Journeys:** Complete
6 journeys covering all 5 user types. Each journey follows narrative structure with capabilities summary. Journey requirements summary table included.
**Functional Requirements:** Complete
58 FRs organized into 10 functional groups. Proper "[Actor] can [capability]" or "System [verb]" format throughout.
**Non-Functional Requirements:** Complete
28 NFRs organized into 4 categories (Performance, Security, Scalability, Reliability & Data Protection). Metrics present for most items (6 measurability issues noted in Step V-05).
**Project Classification:** Complete
Domain, project type, complexity, and brownfield context all specified.
**Domain-Specific Requirements:** Complete
Compliance & Regulatory (CNDP, Tax/Fiscal, AML), Technical Constraints, Integration Requirements, and Risk Mitigations all covered.
**SaaS B2B Specific Requirements:** Complete
Multi-Tenancy Model, RBAC Permission Matrix, Subscription Tiers, and Billing & Payment Methods all covered with tabular detail.
### Section-Specific Completeness
**Success Criteria Measurability:** All measurable
Every criterion has a specific metric/target in tabular format. Leading indicators defined separately.
**User Journeys Coverage:** Yes - covers all user types
Owner (Karim), Manager (Rachid), Worker (Fatima x2 including edge case), Client (Hassan), Platform Admin (Saad). All 5 user types covered with 6 total journeys.
**FRs Cover MVP Scope:** Yes
All 5 MVP phases map to FR groups (verified in Traceability step V-06). Pre-phase (terminology migration) is a development task, not a functional requirement -- correctly excluded. Brownfield features (already built) are included as FRs for completeness.
**NFRs Have Specific Criteria:** Some
22/28 NFRs have fully specific, measurable criteria. 6 NFRs have vague terms noted in Step V-05 (NFR4, NFR11, NFR16, NFR18, NFR20, NFR26). No NFR is missing criteria entirely -- all 6 have partial specificity.
### Frontmatter Completeness
**stepsCompleted:** Present (11 steps listed)
**classification:** Present (projectType, domain, complexity, projectContext)
**inputDocuments:** Present (12 documents listed -- 1 brief, 5 research, 1 project context, 5 project docs)
**date:** Present (2026-03-11)
**Additional frontmatter fields present:**
- workflowType: Present
- documentCounts: Present (briefs, research, brainstorming, projectDocs, projectContext)
**Frontmatter Completeness:** 4/4 (plus 2 additional fields)
### Completeness Summary
**Overall Completeness:** 100% (9/9 sections complete)
**Critical Gaps:** 0
**Minor Gaps:** 0 (NFR measurability issues are quality concerns, not completeness gaps -- all 28 NFRs exist with content)
**Severity:** Pass
**Recommendation:** PRD is complete with all required sections and content present. No template variables remain. All 9 sections have substantive content. Frontmatter is fully populated. The 6 NFR measurability issues identified in earlier validation steps are quality refinements, not completeness gaps.

View File

@@ -0,0 +1,545 @@
---
stepsCompleted: ['step-01-init', 'step-02-discovery', 'step-02b-vision', 'step-02c-executive-summary', 'step-03-success', 'step-04-journeys', 'step-05-domain', 'step-06-innovation', 'step-07-project-type', 'step-08-scoping', 'step-09-functional', 'step-10-nonfunctional', 'step-11-polish']
classification:
projectType: saas_b2b
domain: fintech
complexity: high
projectContext: brownfield
inputDocuments:
- '_bmad-output/planning-artifacts/product-brief-l-ami-fiduciaire-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/market-fiduciary-saas-morocco-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/domain-moroccan-fiduciary-operations-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/ecosystem-partners-morocco-fiduciary-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/cloud-adoption-saas-trends-future-outlook-research-2026-03-11.md'
- '_bmad-output/planning-artifacts/research/domain-moroccan-tax-regulation-digital-compliance-research-2026-03-10.md'
- '_bmad-output/project-context.md'
- 'docs/index.md'
- 'docs/project-overview.md'
- 'docs/architecture.md'
- 'docs/development-guide.md'
- 'docs/source-tree-analysis.md'
workflowType: 'prd'
documentCounts:
briefs: 1
research: 5
brainstorming: 0
projectDocs: 5
projectContext: 1
---
# Product Requirements Document - L'Ami Fiduciaire
**Author:** Saad
**Date:** 2026-03-11
## Executive Summary
L'Ami Fiduciaire is a cloud-native practice management SaaS platform purpose-built for Moroccan fiduciary and accounting firms. It fills a critical gap in a fragmented market: while firms rely on Sage/JBS for accounting, SIMPL/Damancom for government filings, and WhatsApp/Excel for everything else, no tool orchestrates the day-to-day practice -- tracking deadlines across dozens of clients, coordinating team workload, managing client document exchange, and ensuring nothing falls through the cracks.
The platform targets Morocco's ~20,000+ small-to-mid-size fiduciary firms (majority under 10 staff) that cannot afford custom solutions but desperately need structured workflow management. A confirmed partnership with Experio (AI-powered pre-accounting automation) provides a distribution channel into 500 firms already modernizing their operations, with a target of 100-150 paying firms in Year 1.
The product is actively in development (pre-production) with a Laravel 12 + Vue 3 + Inertia.js stack. The existing foundation includes multi-tenant workspaces, client management, a folder/dossier system, client portal with token-based access, document exchange, messaging, email notifications, 2FA, and activity logging. The MVP roadmap adds 5 phases: role system foundation, dashboard separation (command center for owners, scoped views for workers), collaboration/nudge features, workflow efficiency (bulk operations, advanced filtering), and a full archive system.
The long-term vision extends beyond practice management. As Experio owns the accounting automation layer, L'Ami Fiduciaire will evolve to own the **juridique layer** -- becoming the single portal where firms handle company creation, modifications statutaires, AGO preparation, and all legal/administrative workflows for their clients. The strategic split: Experio = comptabilite, L'Ami Fiduciaire = juridique + practice orchestration.
Revenue model is B2B SaaS subscription (per-workspace, not per-user): Starter at 199 MAD/month, Professional at 499 MAD/month, Enterprise at 999 MAD/month. No free tier -- 14-day full-feature trial instead.
### What Makes This Special
1. **Only practice management SaaS built for Moroccan fiduciaries.** French-native, Moroccan fiscal calendar (TVA by 20th, CNSS by 10th, IS quarterly), local compliance understanding. No global competitor (TaxDome, Karbon, Financial Cents) serves this market -- they're English-only, built for US/UK tax systems, and priced in USD.
2. **Complement, don't replace.** The "use alongside Sage" positioning eliminates adoption friction. Firms keep their existing accounting tools; L'Ami Fiduciaire orchestrates the practice around them.
3. **Zero-friction client portal.** External clients interact via token links without creating accounts -- matching the low-tech reality of Moroccan TPE/PME clients who run their businesses from their phones.
4. **The "aha moment" is structural clarity.** A firm owner opens the platform and sees, for the first time, that zero deadlines were missed and every client dossier is accounted for in one place. Not a single tool did everything; but one tool finally orchestrated everything.
5. **Experio partnership creates a moat.** Together they form a complete modernization stack (pre-accounting + practice orchestration) that no single competitor provides, with a path toward deep product integration.
6. **Positioned for the profession's transformation.** As AI eliminates 60-80% of manual bookkeeping by 2028-2030 and e-invoicing becomes mandatory in 2026, fiduciaries must evolve from data-entry shops to advisory practices. L'Ami Fiduciaire is the platform that enables that transition.
## Project Classification
- **Project Type:** SaaS B2B -- multi-tenant platform with role-based access, subscription tiers, and dashboard-driven workflows
- **Domain:** Fintech (fiduciary/accounting practice management) -- regulated industry with Moroccan tax law, CNSS/CIMR obligations, CNDP data protection, and upcoming e-invoicing mandate
- **Complexity:** High -- multiple user types (firm owner, worker, external client, platform admin), regulatory compliance requirements, integration with government platforms (SIMPL, Damancom), data sovereignty under Law 09-08
- **Project Context:** Brownfield -- active codebase with 7 Eloquent models, 16 migrations, 31 Vue pages, and core features already operational
## Success Criteria
### User Success
| Persona | Success Indicator | Measurement |
|---|---|---|
| **Karim (Owner/Manager)** | Zero missed deadlines across all clients in a month | % of declarations filed before deadline across workspace |
| **Karim (Owner/Manager)** | Full visibility into firm operations from a single screen | Daily login to command center dashboard |
| **Karim (Owner/Manager)** | No surprises -- problems surfaced proactively via alerts | Priority alerts acted on before deadline escalation |
| **Fatima (Worker)** | No declarations falling through the cracks | % of assigned dossiers with up-to-date status |
| **Fatima (Worker)** | Reduced time chasing clients for documents | Document requests sent via portal vs. WhatsApp |
| **Fatima (Worker)** | Clear daily task prioritization without mental overhead | Scoped dashboard used as primary work driver |
| **Hassan (Client)** | Fast, frictionless document submission | Time from receiving token link to completing action (target: < 5 minutes) |
| **Hassan (Client)** | No account creation friction | 100% of client interactions via token-based links |
### Business Success
| Timeframe | Metric | Target |
|---|---|---|
| **Pre-launch** | All 5 MVP phases complete + landing page live | Feature-complete, production-deployed |
| **Month 1-3** | New workspace registrations | 10-20 firms/month |
| **Month 1-3** | Trial-to-paid conversion rate | > 30% |
| **Month 1-3** | Onboarding completion rate | > 70% of signups complete setup |
| **Month 3-12** | Monthly Recurring Revenue (MRR) | 30,000 - 60,000 MAD/month |
| **Month 3-12** | Workspace churn rate | < 5%/month |
| **Year 1** | Total paying firms | 100-150 |
| **Year 1** | Primary acquisition via Experio channel | 20-30% conversion of Experio's 500 clients |
**Leading indicators (predict future success):**
- Daily active users per workspace (real adoption vs. shelfware)
- Number of dossiers managed per workspace (depth of usage)
- Client portal actions completed per month (end-client value delivery)
### Technical Success
- Platform runs in production with real firm data without critical bugs
- Reliable uptime -- no data loss, no failed critical operations (document uploads, status changes, email notifications)
- Page loads feel responsive for users on standard Moroccan internet connections
- Multi-tenant isolation -- no workspace data leakage between firms
- CNDP-compliant data handling (EU-hosted to avoid cross-border transfer authorization)
### Measurable Outcomes
The MVP is successful when:
1. **Deployable:** Production environment operational with zero critical bugs
2. **Adoptable:** A firm can sign up, create a workspace, add team, import clients, and start managing declarations within 1 hour
3. **Valuable:** Owner sees all clients' declaration statuses on one dashboard; workers see their scoped task list
4. **Functional:** Full declaration lifecycle works end-to-end: create -> assign -> notify client -> receive documents -> update status -> close -> auto-archive
5. **Collaborative:** Nudge system works -- Owner tags Worker, Worker gets notification with direct link
6. **Efficient:** Bulk creation lets firms create 20+ declarations in one action
## Product Scope & Development Strategy
### MVP Approach
**Philosophy:** Complete-product MVP -- all 5 phases are non-negotiable before first paying customer. The fiduciary market expects tools that work reliably from day one; a half-built practice management tool would damage credibility with the Experio channel and the OEC professional community.
**Resources:** 2 developers (Saad + Ilyas Benhsine) augmented by AI coding agents. Timeline: under 1 month to MVP completion.
**Brownfield Foundation (~40% already built):**
- Multi-tenant workspace model with session-based resolution
- User authentication with 2FA (Fortify)
- Client management (CRUD, import)
- Declaration (folder/dossier) system with statuses
- Client portal with token-based access
- Document upload/download via Spatie Media Library
- In-declaration messaging
- Email notifications (5 types)
- Activity logging (Spatie Activity Log)
- Basic workspace settings
### MVP Phases
**Pre-Phase: Foundation Change**
- "Folders" → "Declarations" terminology migration across UI, codebase, and database -- tackled first to avoid compounding rename debt across all 5 phases
**Phase 1: Role System Foundation** -- Fixed roles (Owner, Manager/Chef de Mission, Worker), per-workspace permission toggle matrix, team management page
**Phase 2: Dashboard Separation** -- Single shell with role-driven sidebar, Owner/Manager command center (active clients, declarations by status, priority alerts), scoped worker dashboard, SaaS owner platform dashboard, issue/support inbox
**Phase 3: Collaboration Features** -- Quick tag & nudge system, inline nudge on declaration rows, employee notification center with direct links
**Phase 4: Workflow Efficiency** -- Bulk declaration creation (multi-client, type selection, date setting), bulk notification scheduling, advanced filtering system (persistent across views), quick search, practicality-first UI pass
**Phase 5: Archive System** -- Auto-archive on close, full history preservation, archive as top-level nav item, hybrid filters + search, archive detail page (read-only snapshot), in-app document preview, re-open with audit trail, bulk ZIP download, visual distinction, 10-year retention policy
All 6 documented user journeys are fully supported by MVP -- no journey is deferred.
### Growth Features (Post-MVP)
| Priority | Feature | Impact |
|---|---|---|
| High | Landing page with pricing, feature overview, and signup flow | Public acquisition channel (soft launch via Experio doesn't require it) |
| High | Experio integration (referral flow + potential data sync) | Distribution channel activation |
| High | Billing automation (CMI, bank transfer, CashPlus) | Automate revenue collection (manual billing acceptable for first 10-20 firms) |
| Medium | WhatsApp document intake | Meets clients where they communicate |
| Medium | Deadline calendar with Moroccan fiscal calendar pre-loaded | Automatic deadline awareness per client type |
| Medium | E-invoicing readiness (DGI platform API when available) | Compliance positioning |
| Low | Kanban view for declaration pipeline | Visual workflow option |
| Low | Client-initiated declarations | Reverse-flow for proactive clients |
### Vision (Future)
- **Juridique portal:** Company creation, modifications statutaires, AGO preparation, depot legal -- the single platform for all legal/administrative workflows
- **Deep Experio integration:** Bi-directional data flow between pre-accounting automation and practice orchestration
- **Mobile app:** Native mobile experience for firm users and clients
- **Arabic UI support:** Broader market accessibility
- **AI features:** Document classification, anomaly detection, auto-categorization
- **E-invoicing integration:** Direct connection with DGI e-invoicing platform
### Risk Mitigation
| Category | Risk | Mitigation |
|---|---|---|
| **Technical** | Declaration rename touches entire codebase | Tackle first before building new features -- prevents compounding changes |
| **Technical** | 5 phases in <1 month is aggressive | Brownfield foundation covers ~40%; AI agents accelerate; 2-dev parallel workstreams |
| **Technical** | Archive system (Phase 5) is most complex new feature | Well-scoped requirements; can parallelize with Phase 4 |
| **Market** | First firms need hand-holding during onboarding | Saad available for direct support; small initial cohort via Experio |
| **Market** | Billing not automated at launch | Manual billing acceptable for first 10-20 firms |
| **Resource** | 2-person team, tight timeline | AI agent augmentation; well-defined phases prevent scope creep |
| **Resource** | One developer unavailable | Both devs have full codebase context; phases can be worked independently |
## User Journeys
### Journey 1: Karim (Owner) -- First Setup & The Morning Dashboard
**Opening Scene:** Karim runs a 7-person cabinet in Casablanca. It's Sunday evening and he's dreading Monday morning -- 120+ client dossiers tracked across Excel sheets, WhatsApp threads, and verbal updates from his team. Last month, two TVA declarations were filed late because Fatima was sick and nobody picked up her clients. The 5% penalty notices arrived at his desk. He heard about L'Ami Fiduciaire through Experio's newsletter.
**Rising Action:** Karim signs up for the 14-day trial from the landing page. He creates his workspace, sets up the firm name, and lands on the Team page. He invites his 3 collaborateurs and his chef de mission Rachid as Manager. He assigns roles -- Rachid gets Manager permissions (can see all clients, assign work, nudge workers), the collaborateurs get Worker roles. He imports his client list and creates the first batch of TVA declarations using bulk creation -- 45 clients, all TVA Mensuel, deadline March 20th. What used to take an afternoon takes 10 minutes.
**Climax:** Monday morning, 8:15 AM. Karim opens L'Ami Fiduciaire and sees his command center. Three red alerts: Client Benani hasn't uploaded bank statements (due in 2 days), Client Tazi's TVA is overdue by Fatima (she's on leave), and 12 declarations are on track. He nudges Rachid on the Tazi dossier with one click. Rachid reassigns it to another worker within minutes. For the first time in 12 years, Karim sees his entire firm's status on one screen. Nothing will surprise him this month.
**Resolution:** End of month -- zero missed deadlines. Karim didn't work a single 12-hour day. He converts to the Professional plan on day 11 of the trial. He tells two firm owners at the OEC networking event: "You need to try this."
**Capabilities revealed:** Workspace creation, team management, role assignment, bulk declaration creation, command center dashboard, priority alerts, nudge system, trial-to-paid conversion flow.
---
### Journey 2: Rachid (Manager/Chef de Mission) -- Team Coordination
**Opening Scene:** Rachid is Karim's chef de mission. He supervises 3 collaborateurs who collectively manage 90 client dossiers. His current coordination method: a daily WhatsApp group message asking "where are you on X client?" and a shared Google Sheet that's always out of date. During bilan season, he spends more time coordinating than doing actual work.
**Rising Action:** Karim sets Rachid up as Manager in L'Ami Fiduciaire. Rachid sees the same command center as Karim -- all clients, all declarations, all statuses. But his daily focus is different: he checks which workers are overloaded, which clients are behind on document submissions, and which deadlines are approaching this week. He notices that Amina has 18 active declarations while Youssef only has 9. He reassigns 4 of Amina's clients to Youssef directly from the dashboard.
**Climax:** Karim nudges Rachid about the Tazi TVA dossier (Fatima is on leave). Rachid gets the notification, clicks the direct link, sees the dossier status, and reassigns it to Youssef -- all in under 2 minutes. No WhatsApp thread, no phone call, no "did you see my message?"
**Resolution:** Rachid stops being a message relay and becomes an actual team lead. Coordination time drops dramatically. He can manage 90 dossiers across his team because the platform shows him exactly where attention is needed, instead of him having to ask.
**Capabilities revealed:** Manager dashboard (same as owner view), worker workload visibility, client/declaration reassignment, nudge receiving and acting, declaration detail view with quick actions.
---
### Journey 3: Fatima (Worker) -- The Daily Grind
**Opening Scene:** Fatima manages 45 client dossiers. It's the 12th of the month -- TVA declarations are due on the 20th, and she still hasn't received bank statements from 8 clients. She used to scroll through WhatsApp looking for which clients responded and which didn't, then manually text each one again. Her Excel tracker says "relance envoyee" for Client Mounir, but she can't remember if that was this month or last month.
**Rising Action:** Fatima logs into L'Ami Fiduciaire and sees her scoped worker dashboard. It shows only her 45 assigned clients. The dashboard is clear: 8 declarations are flagged "waiting for client documents" with days remaining until deadline. She selects all 8 and triggers a bulk notification -- each client gets an email with their personal token link to upload documents. She moves on to the 5 declarations that have documents ready and starts updating statuses as she works through them in Sage.
**Climax:** By 3 PM, 3 of the 8 clients have uploaded documents via the portal. She didn't chase anyone on WhatsApp. Client Mounir uploaded his bank statement directly from his phone -- she can see the upload timestamp and download the file from the declaration detail page. She sends Mounir a message through the in-declaration messaging system confirming receipt. Full audit trail, no WhatsApp screenshot needed.
**Resolution:** By the 19th, Fatima has filed all 45 TVA declarations. Zero missed. During bilan season, she manages 60 dossiers instead of 45 because the platform handles the coordination she used to do manually. She gets home by 7 PM even in March.
**Capabilities revealed:** Scoped worker dashboard, declaration status tracking, bulk notification sending, client portal document receipt, in-declaration messaging, declaration status updates, document download.
---
### Journey 4: Fatima (Worker) -- Edge Case: Declaration Goes Wrong
**Opening Scene:** Fatima created a TVA declaration for Client Bouzidi, but realized she selected the wrong type -- it should have been TVA Trimestrielle, not TVA Mensuelle. The client has already been notified and uploaded a document to the wrong declaration.
**Rising Action:** Fatima edits the declaration type from the declaration detail page. The uploaded document is still attached -- nothing is lost. She updates the deadline date to reflect the quarterly schedule. She sends a message to Client Bouzidi through the portal explaining the correction.
**Climax:** Later, Rachid notices the declaration was modified and sees the edit in the activity log -- who changed what, when. No mystery, no finger-pointing.
**Resolution:** The declaration proceeds correctly. The audit trail captured every change. When Karim reviews the workspace activity feed, he sees the correction logged transparently.
**Capabilities revealed:** Declaration editing, activity logging/audit trail, document persistence across edits, in-declaration messaging for corrections, manager visibility into changes.
---
### Journey 5: Hassan (Client) -- The 3-Minute Upload
**Opening Scene:** Hassan owns a small SARL in Ain Sebaa. He's driving back from a supplier meeting when his phone buzzes -- an email from his fiduciary firm. Subject: "Documents requis -- Declaration TVA Janvier." He used to ignore these until his accountant called him three times, but this email has a blue button that says "Voir la demande."
**Rising Action:** Hassan taps the button from his phone. A clean, mobile-friendly page opens -- no login, no account creation. It shows exactly what's needed: "Veuillez telecharger votre releve bancaire de janvier 2026." There's one upload button. Hassan takes a photo of the bank statement from his glove compartment, uploads it. The page confirms: "Document recu. Merci."
**Climax:** 30 seconds later, Fatima sees the upload notification in her dashboard. She downloads the file, it's legible, and she begins the saisie. No WhatsApp back-and-forth. No "did you get my message?" No lost document in a group chat.
**Resolution:** Hassan never thinks about it again -- which is exactly what he wants. At the end of the quarter, zero penalty notices arrive. He tells his friend who runs a restaurant: "Switch to my fiduciary, they have this system where you just click and upload, it's amazing."
**Capabilities revealed:** Email notification with token link, mobile-friendly client portal, single-action upload page, no-account-required interaction, upload confirmation, real-time notification to firm worker.
---
### Journey 6: Saad (Platform Admin) -- Monitoring the SaaS
**Opening Scene:** Saad is the L'Ami Fiduciaire platform owner. It's been 2 months since launch. 35 workspaces have been created. He needs to understand platform health, identify support issues, and ensure no workspace is experiencing problems.
**Rising Action:** Saad logs into the SaaS owner dashboard. He sees platform metrics: 35 active workspaces, 142 total users, 2,847 declarations created, 12.4 GB storage used. He checks the issue/support inbox -- 3 tickets this week. One firm reports they can't upload files larger than 10 MB. Another asks how to re-open an archived declaration. A third reports a display issue on Safari.
**Climax:** Saad resolves the upload limit issue (configuration change), responds to the archive question with instructions, and logs the Safari bug for the development backlog. He notices one workspace has 0 active declarations after 3 weeks -- a churn risk. He makes a note to reach out personally.
**Resolution:** Saad uses the platform dashboard as his operational command center. He can monitor health, identify at-risk workspaces, and handle support without needing external tools. As the platform grows to 100+ workspaces, the dashboard scales with him.
**Capabilities revealed:** SaaS admin dashboard (workspace count, user count, storage, system health), issue/support inbox, workspace-level activity monitoring, user management.
---
### Journey Requirements Summary
| Journey | Key Capabilities Revealed |
|---|---|
| **Karim (Owner - Setup & Dashboard)** | Workspace creation, team management, role assignment, bulk declaration creation, command center, priority alerts, nudge system |
| **Rachid (Manager - Coordination)** | Manager dashboard, workload visibility, reassignment, nudge receiving/acting, declaration detail |
| **Fatima (Worker - Daily Grind)** | Scoped dashboard, status tracking, bulk notifications, portal document receipt, messaging, document download |
| **Fatima (Worker - Edge Case)** | Declaration editing, activity logging, document persistence, audit trail, correction messaging |
| **Hassan (Client - Upload)** | Email notifications, token-based portal, mobile-friendly upload, no-account interaction, upload confirmation |
| **Saad (Admin - Platform Monitoring)** | SaaS dashboard, support inbox, workspace monitoring, user management |
**Coverage:** All 5 user types covered (Owner, Manager, Worker, Client, Platform Admin). Happy paths and edge cases included. Onboarding covered within Karim's journey.
## Domain-Specific Requirements
### Compliance & Regulatory
**Data Protection (CNDP -- Law 09-08):**
- Personal client data (CIN numbers, financial information, company details) must comply with Morocco's CNDP data protection framework
- EU hosting is the pragmatic choice -- avoids the cross-border transfer authorization process required for US data centers
- Data retention policies must align with legal minimums (10-year accounting record retention per Moroccan law)
- User consent mechanisms for data processing
**Tax & Fiscal Compliance Context:**
- The platform manages declaration workflows but does NOT perform accounting calculations or file declarations directly -- it orchestrates the process
- Declaration types tracked must align with Moroccan fiscal calendar: TVA (monthly/quarterly), IS (annual + quarterly acomptes), IR (monthly withholding + annual Etat 9421), CNSS (monthly via Damancom)
- Penalty awareness: the platform's value proposition is directly tied to avoiding 5-20% late filing penalties
**AML Context (Law 43-05):**
- L'Ami Fiduciaire itself is not directly subject to AML as a SaaS tool, but fiduciary firms using it are -- the platform should not impede their compliance obligations
- Activity logging and audit trails support firms' AML record-keeping requirements
### Technical Constraints
**Domain-Specific Security Context:**
- Client financial data (CIN numbers, bank statements, tax documents) requires encryption at rest -- these are not generic user files
- Multi-tenant isolation is existential: a firm seeing another firm's client data would be a business-ending event
- Token-based client portal serves non-technical users (TPE/PME owners) -- security must be invisible to them
**Morocco-Specific Infrastructure Context:**
- Standard Moroccan internet (ADSL in offices, 4G on mobile) is the baseline -- not fiber or US/EU broadband
- Peak platform usage aligns with Moroccan fiscal deadlines: 15th-20th monthly (TVA), end of month (CNSS), Jan-Mar (bilan season)
- Email delivery during these peaks is mission-critical -- a failed notification directly causes a missed filing
See Non-Functional Requirements for specific measurable targets.
### Integration Requirements
**Current (MVP):**
- Email delivery service (transactional emails for 5 notification types)
- File storage (Spatie Media Library -- already implemented)
- No direct API integrations with government platforms for MVP (SIMPL, Damancom, CIMR have no public APIs)
**Future:**
- DGI e-invoicing platform API (when available -- 2026-2027)
- Experio data sync (post-MVP partnership deepening)
- Potential WhatsApp Business API for document intake
- Bank statement import/parsing (when open banking matures in Morocco)
### Risk Mitigations
| Risk | Impact | Mitigation |
|---|---|---|
| **Data breach exposing client financial data** | Catastrophic -- regulatory penalties, trust destruction | EU hosting, encryption at rest, strict tenant isolation, 2FA, regular security audits |
| **Email delivery failure during deadline period** | High -- missed client notifications lead to missed deadlines | Reliable email provider (SES/Postmark), delivery monitoring, retry logic |
| **Workspace data leakage between tenants** | Catastrophic -- legal liability, immediate churn | Session-based workspace resolution (already implemented), authorization at every data access point, automated testing for tenant isolation |
| **Document loss or corruption** | High -- client financial records are irreplaceable | Reliable storage with backups, upload confirmation flow, document versioning |
| **Platform unavailable during bilan season (Jan-Mar)** | High -- peak usage period, firms depend on platform | Infrastructure scaling, monitoring, incident response plan |
| **CNDP non-compliance discovery** | Medium-High -- potential fines up to 600K MAD | EU hosting from day one, privacy policy, data processing agreements, retention policy enforcement |
## SaaS B2B Specific Requirements
### Multi-Tenancy Model
L'Ami Fiduciaire uses session-based workspace resolution via `current_workspace_id`. The tenancy model is role-dependent:
| Role | Workspace Access | Rationale |
|---|---|---|
| **Worker** | Single workspace only | A collaborateur works for one firm. No cross-workspace scenarios. |
| **Manager (Chef de Mission)** | Single workspace only | A chef de mission manages one firm's team. They don't span multiple cabinets. |
| **Owner** | May have multiple workspaces | An expert-comptable may own more than one cabinet (e.g., separate entities for audit vs. fiduciary, or franchise locations). Workspace switcher available for Owners only. |
**Workspace isolation is absolute:** Every database query is scoped to `current_workspace_id`. Authorization violations return 404 (not 403) to prevent information leakage about other tenants' existence.
### RBAC Permission Matrix
Three fixed roles with a per-workspace toggle-based permission matrix:
| Permission Area | Owner | Manager (Chef de Mission) | Worker |
|---|---|---|---|
| View all clients & declarations | Always | Yes | Own assigned only |
| Create/edit declarations | Yes | Yes | Own assigned only |
| Bulk declaration creation | Yes | Yes | No |
| Assign/reassign declarations | Yes | Yes | No |
| Nudge team members | Yes | Yes | No |
| Manage team (invite/remove) | Yes | Configurable | No |
| View command center dashboard | Yes | Yes | No (scoped dashboard) |
| Manage workspace settings | Yes | No | No |
| Manage billing/subscription | Yes | No | No |
| View activity logs | Yes | Configurable | Own actions only |
| Archive access | Yes | Yes | Own archived items |
| Client portal configuration | Yes | Configurable | No |
**Permission toggles:** Owners can grant/revoke specific Manager permissions per workspace (e.g., allow or disallow team management for a specific Chef de Mission). Worker permissions are fixed and scoped.
### Subscription Tiers
Per-workspace pricing (not per-user):
| Feature / Limit | Starter (199 MAD/mo) | Professional (499 MAD/mo) | Enterprise (999 MAD/mo) |
|---|---|---|---|
| Team members | Up to 3 | Up to 10 | Unlimited |
| Active clients | Up to 30 | Up to 100 | Unlimited |
| Storage | 5 GB | 20 GB | 100 GB |
| Client portal | Basic (upload only) | Full (messaging + upload) | Full + branded portal |
| Archive retention | 3 years | 10 years | 10 years + export |
| Bulk operations | Limited (10 at once) | Full | Full |
| Priority support | Email only | Email + chat | Dedicated support |
| API access | No | No | Yes (future) |
**Trial:** 14-day full-feature trial (Professional tier equivalent). No free tier. No credit card required for trial.
### Billing & Payment Methods
Morocco-specific payment infrastructure -- Stripe is not the primary channel:
| Payment Method | Priority | Implementation |
|---|---|---|
| **CMI (Centre Monetique Interbancaire)** | Primary | Moroccan card payment gateway -- supports local Visa/Mastercard issued by Moroccan banks |
| **Bank transfer (virement bancaire)** | Primary | Manual reconciliation initially, automated matching later |
| **CashPlus / Wafacash** | Secondary | Cash-based payment for firms that prefer it -- common in smaller cities |
| **Stripe** | Future/International | Only if expanding beyond Morocco or for international cards |
**Billing cycle:** Monthly billing with annual discount option (2 months free). Invoices generated in MAD with Moroccan tax compliance.
## Functional Requirements
### Workspace & Onboarding
- **FR1:** Owner can create a new workspace with firm name and basic configuration
- **FR2:** Owner can invite team members to the workspace via email
- **FR3:** Owner can assign roles (Manager/Chef de Mission, Worker) to team members
- **FR4:** Owner can configure per-workspace permission toggles for Manager roles
- **FR5:** Owner can manage workspace settings (firm details, firm logo, display name)
- **FR6:** New users can sign up for a 14-day trial without credit card
### Team & Role Management
- **FR7:** Owner can view, add, and remove team members from the workspace
- **FR8:** Owner can change a team member's role within the workspace
- **FR9:** Manager can invite, remove, and change roles of team members when permission is granted by Owner
- **FR10:** System enforces role-based access -- Workers see only assigned items, Managers/Owners see all
- **FR11:** Owner can switch between multiple owned workspaces
### Client Management
- **FR12:** Owner/Manager can create, view, edit, and deactivate client records
- **FR13:** Owner/Manager can import clients in bulk
- **FR14:** Worker can view and interact with their assigned clients only
- **FR15:** System associates each client with a workspace and enforces tenant isolation
### Declaration Lifecycle
- **FR16:** Owner/Manager can create individual declarations for a client (type, deadline, assignment)
- **FR17:** Owner/Manager can bulk-create declarations across multiple clients with type and deadline selection
- **FR18:** Owner/Manager/Worker can update declaration status through its lifecycle
- **FR19:** Owner/Manager can reassign a declaration to a different team member
- **FR20:** Worker can edit declarations assigned to them (type correction, deadline adjustment)
- **FR21:** System auto-archives declarations when marked as closed
- **FR22:** Owner/Manager can re-open an archived declaration with audit trail
- **FR23:** Users can view archived declarations in read-only mode with full history
### Dashboard & Visibility
- **FR24:** Owner/Manager can view a command center dashboard showing all clients, declaration statuses, and priority alerts
- **FR25:** Worker can view a scoped dashboard showing only their assigned clients and declarations
- **FR26:** Dashboard surfaces priority alerts (overdue declarations, approaching deadlines, missing client documents)
- **FR27:** SaaS Admin can view a platform-level dashboard (workspace count, user count, storage, system health)
- **FR28:** SaaS Admin can view and respond to support tickets via an issue/support inbox
### Collaboration & Notifications
- **FR29:** Owner/Manager can nudge a team member on a specific declaration with one action
- **FR30:** Team members receive notifications with direct links to the relevant declaration
- **FR31:** Users can view a notification center showing all received nudges and system alerts
- **FR32:** Owner/Manager can schedule bulk notifications to clients for document requests
- **FR33:** System sends email notifications for key events (document requests, nudges, status changes)
### Client Portal & Document Exchange
- **FR34:** System generates unique token-based links for client interactions (no account required)
- **FR35:** External clients can upload documents via token link from any device including mobile
- **FR36:** External clients receive confirmation after successful document upload
- **FR37:** Team members can download client-uploaded documents from the declaration detail page
- **FR38:** Team members can send messages to clients within a declaration context
- **FR39:** External clients can view messages from their fiduciary firm via the portal
- **FR40:** Token links expire according to configurable security policies
### Search, Filtering & Navigation
- **FR41:** Users can filter declarations by status, client, assignee, type, and deadline range
- **FR42:** Filter selections persist across views within a session
- **FR43:** Users can perform quick search across clients and declarations
- **FR44:** Archive section is accessible as a top-level navigation item with its own filters and search
### Archive System
- **FR45:** System preserves full declaration history upon archiving (documents, messages, status changes, activity log)
- **FR46:** Users can browse archived declarations with hybrid filters and search
- **FR47:** Users can view an archive detail page as a read-only snapshot of the complete declaration
- **FR48:** Users can preview documents in-app from archived declarations
- **FR49:** Users can bulk-download archived declaration documents as ZIP
- **FR50:** System visually distinguishes archived declarations from active ones
- **FR51:** System enforces 10-year retention policy for archived data
### Activity & Audit
- **FR52:** System logs all data modifications with actor, timestamp, and change details
- **FR53:** Owner can view the full activity log for the workspace
- **FR54:** Manager can view activity logs when permission is granted
- **FR55:** Worker can view activity logs for their own actions only
### Platform Administration
- **FR56:** SaaS Admin can view all workspaces and their usage metrics
- **FR57:** SaaS Admin can manage platform-level configuration (global settings, feature flags, storage limits, email templates)
- **FR58:** System enforces subscription tier limits (team members, clients, storage, features)
## Non-Functional Requirements
### Performance
- **NFR1:** Page loads and common user actions (navigation, status updates, filtering) complete within 2 seconds on standard Moroccan internet connections (ADSL/4G)
- **NFR2:** Bulk declaration creation (up to 50 declarations) completes within 10 seconds
- **NFR3:** Bulk notification scheduling (up to 50 clients) completes within 10 seconds
- **NFR4:** File uploads up to 10 MB complete within 60 seconds on 4G connections
- **NFR5:** Dashboard data (command center, worker view) renders within 3 seconds for workspaces with up to 200 active clients
- **NFR6:** Quick search returns results within 1 second
### Security
- **NFR7:** All data encrypted in transit (TLS 1.2+) and at rest (AES-256 for stored documents)
- **NFR8:** Multi-tenant data isolation enforced at every query -- no workspace can access another workspace's data under any circumstance
- **NFR9:** Authorization boundary violations return 404 (not 403) to prevent tenant existence leakage
- **NFR10:** Token-based client portal links are cryptographically secure, single-purpose, and expire after configurable duration
- **NFR11:** Two-factor authentication available for all firm users (TOTP-based)
- **NFR12:** All data modifications logged with actor, timestamp, and change details (audit trail)
- **NFR13:** CNDP (Law 09-08) compliant data handling -- EU-hosted infrastructure to avoid cross-border transfer authorization
- **NFR14:** Client financial documents accessible only to authorized workspace members and the specific client via their token link
- **NFR15:** Session management with secure cookie handling, CSRF protection, and session timeout after inactivity
### Scalability
- **NFR16:** System supports up to 200 concurrent workspaces while maintaining NFR1 page load targets and NFR5 dashboard render targets
- **NFR17:** System supports up to 1,000 total users across all workspaces
- **NFR18:** Individual workspace supports up to 500 active clients and 5,000 active declarations while maintaining NFR1 page load targets and NFR6 search response targets
- **NFR19:** File storage architecture supports growth to 1 TB total platform storage
- **NFR20:** System handles seasonal peak loads (bilan season Jan-Mar: 2-3x normal usage) while maintaining NFR1 page load targets, NFR5 dashboard render targets, and NFR21 uptime targets
### Reliability & Data Protection
- **NFR21:** Platform targets 99.5% uptime (max ~3.6 hours unplanned downtime per month)
- **NFR22:** Automated hourly database backups with 1-hour RPO (Recovery Point Objective)
- **NFR23:** Database binary/transaction logging enabled for point-in-time recovery up to last committed transaction
- **NFR24:** Backup restore procedure documented and tested -- full database restore achievable within 1 hour (RTO)
- **NFR25:** Backup retention: daily backups kept for 30 days, weekly backups kept for 6 months
- **NFR26:** Email notification delivery must achieve >99% delivery success rate with retry logic (up to 3 retries within 5 minutes) -- failed deliveries during deadline periods directly cause missed filings
- **NFR27:** Monitoring and alerting configured for system health, error rates, and resource utilization
- **NFR28:** Zero data loss tolerance for completed transactions (documents uploaded, status changes saved, messages sent)

View File

@@ -0,0 +1,359 @@
---
stepsCompleted: [1, 2, 3, 4, 5, 6]
inputDocuments:
- '_bmad-output/brainstorming/brainstorming-session-2026-03-10-120000.md'
- '_bmad-output/planning-artifacts/research/market-fiduciary-saas-morocco-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/domain-moroccan-fiduciary-operations-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/ecosystem-partners-morocco-fiduciary-research-2026-03-10.md'
- '_bmad-output/planning-artifacts/research/cloud-adoption-saas-trends-future-outlook-research-2026-03-11.md'
- '_bmad-output/planning-artifacts/research/domain-moroccan-tax-regulation-digital-compliance-research-2026-03-10.md'
- '_bmad-output/project-context.md'
- 'docs/index.md'
- 'docs/project-overview.md'
- 'docs/architecture.md'
- 'docs/development-guide.md'
- 'docs/source-tree-analysis.md'
date: 2026-03-10
author: Saad
---
# Product Brief: L'Ami Fiduciaire
## Executive Summary
L'Ami Fiduciaire is a cloud-native practice management SaaS platform purpose-built for Moroccan fiduciary and accounting firms. It fills a critical market gap: while firms use Sage/JBS for accounting and SIMPL/Damancom for government filings, no tool orchestrates the day-to-day practice -- tracking deadlines across dozens of clients, coordinating team workload, managing client document exchange, and ensuring nothing falls through the cracks. L'Ami Fiduciaire is that orchestration layer.
The platform targets the ~20,000+ small-to-mid-size fiduciary firms in Morocco (majority under 10 staff) that cannot afford custom-built solutions but desperately need structured workflow management. A confirmed partnership with Experio (AI-powered pre-accounting automation) provides a distribution channel into firms already modernizing their operations.
The revenue model is B2B SaaS subscription. The product is currently in active development (pre-production) with a Laravel 12 + Vue 3 + Inertia.js stack, and already features multi-tenant workspaces, client management, a folder/dossier system, client portal with token-based access, document exchange, messaging, and activity logging.
---
## Core Vision
### Problem Statement
Moroccan fiduciary firms operate in a fragmented, high-pressure environment with no unified practice management layer. A typical collaborateur comptable manages 30-80 client dossiers simultaneously, juggling relentless deadlines (TVA by the 20th, CNSS by the 10th, IS quarterly, bilan season Jan-Mar) across multiple disconnected systems -- Sage for accounting, Damancom for CNSS, SIMPL for tax filings, WhatsApp for client communication, and Excel for tracking. The result: missed deadlines that trigger penalties (5-20% of tax due), damaged firm reputation, and client churn.
### Problem Impact
- **For firm owners:** No visibility into whether the firm is on track across all clients. Problems surface only when deadlines are missed and penalties arrive.
- **For collaborateurs:** Drowning in manual coordination. Each deadline across each client is a mental note or an Excel row -- nothing actively orchestrates, alerts, or prioritizes their work.
- **For clients:** Poor communication experience. Documents sent via WhatsApp get lost. Status updates require phone calls. No self-service visibility into their dossier's progress.
- **For the industry:** ~19,000+ unregulated fiduciaries competing on price with no standardized workflows, creating quality gaps that damage client trust in the profession.
### Why Existing Solutions Fall Short
| Solution Layer | What It Does | What It Doesn't Do |
|---|---|---|
| **Sage / JBS / CIEL** | Accounting data entry, ledger, liasse fiscale | No workflow management, no client portal, no deadline tracking |
| **SIMPL / Damancom** | Government filing portals | No practice orchestration, no team coordination |
| **Experio** | AI pre-accounting automation (OCR, bank reconciliation) | No deadline management, no multi-client workload view |
| **TaxDome / Karbon / Financial Cents** | Practice management (global) | English-only, US/UK tax systems, no Moroccan compliance, pricing in USD |
| **WhatsApp / Excel / Phone** | Ad-hoc communication and tracking | No structure, no audit trail, no automation, nothing scales |
**The gap:** No tool orchestrates the fiduciary's complete practice -- the "what needs to happen, for which client, by when, and who's doing it" layer. L'Ami Fiduciaire fills this gap.
### Proposed Solution
L'Ami Fiduciaire is the **practice management orchestration platform** for Moroccan fiduciary firms. It sits above accounting software and government portals to provide:
- **Workspace-based multi-tenancy** -- each firm operates its own workspace with role-based access (Owner, Manager, Worker)
- **Client & dossier management** -- structured tracking of every client's declarations, documents, and status
- **Client portal** -- external clients upload documents, confirm actions, and view status via secure token-based links (no account needed)
- **Document exchange** -- centralized, organized file management replacing WhatsApp chaos
- **Team coordination** -- assign clients to collaborateurs, track workload distribution, nudge system
- **Messaging** -- in-dossier communication between firm and client with full audit trail
The platform complements (not replaces) existing accounting tools. Firms keep Sage/JBS for saisie comptable, use Experio for AI-powered document capture, and use L'Ami Fiduciaire to orchestrate the practice around them.
### Key Differentiators
1. **Only practice management SaaS built for Moroccan fiduciaries** -- French-native, Moroccan fiscal calendar, local compliance understanding. No global competitor serves this market.
2. **Complement, not replace** -- "use alongside Sage" positioning removes adoption friction. Firms don't have to rip out existing tools.
3. **Experio partnership** -- confirmed distribution channel into modernizing firms. Experio handles pre-accounting automation; L'Ami Fiduciaire handles practice orchestration. Together they cover what no single tool does.
4. **Cloud-native from day one** -- while 60-70% of firms still use desktop software, L'Ami Fiduciaire is built for the inevitable cloud shift, positioned ahead of the market.
5. **Client portal with zero-friction access** -- external clients interact via token links without creating accounts, matching the low-tech reality of Moroccan TPE/PME clients.
---
## Target Users
### Primary Users
#### 1. Firm Owner / Manager — "Karim"
**Profile:** Karim, 42, expert-comptable and gerant of a 7-person cabinet in Casablanca. Manages 120+ client dossiers across his team. Has been running his firm for 12 years using Sage 100 and Excel spreadsheets to track everything.
**Day-to-day:** Splits time between reviewing bilans, handling key client relationships, and trying to stay on top of what his team is doing. During bilan season (Jan-Mar), he works 12-hour days and still things slip.
**Current pain:**
- No single view of "which clients are at risk of missed deadlines this week"
- Relies on verbal updates from collaborateurs to know if work is progressing
- Discovers missed deadlines only when penalty notices arrive
- Manages permissions and team assignments in his head or on paper
**What success looks like:** Opens L'Ami Fiduciaire in the morning and sees a command center -- which declarations are due this week, which clients haven't submitted documents, which collaborateurs are overloaded. Nothing surprises him.
**In smaller firms:** Karim is also the Manager and Worker -- he does everything himself for 30-50 clients. The platform must work for a solo operator just as well as a team lead.
#### 2. Collaborateur Comptable — "Fatima"
**Profile:** Fatima, 28, collaborateur comptable with 4 years of experience. Manages 45 client dossiers. Earns 6,000 MAD/month. Uses Sage for saisie comptable, SIMPL-TVA and Damancom for declarations, WhatsApp for client communication.
**Day-to-day:** The bulk of her work is the monthly cycle -- collecting documents (1st-10th), saisie comptable (5th-15th), rapprochement bancaire (10th-18th), declarations (15th-20th), payroll (20th-end). Every client is at a different stage.
**Current pain:**
- Tracks 45 clients' deadlines in her head and an Excel sheet
- Chases clients on WhatsApp for documents -- some respond, most don't until she calls
- Gets tagged by Karim for urgent items but has no way to prioritize across her portfolio
- During peak season, things inevitably fall through the cracks
**What success looks like:** Logs into L'Ami Fiduciaire and sees her personal dashboard -- "3 clients haven't submitted TVA documents and deadline is in 5 days, 2 declarations are ready to file, 1 client confirmed their dossier via portal." She works the list, not her memory.
**Heaviest daily user of the platform.**
#### 3. External Client — "Hassan"
**Profile:** Hassan, 35, owner of a small SARL (import/export, 3 employees). Pays his fiduciary 2,500 MAD/month. Communicates mostly via WhatsApp and occasional office visits. Not tech-savvy -- uses his phone for everything.
**Day-to-day:** Running his business. Accounting is something he outsources and doesn't want to think about. When his fiduciary needs something, he wants it to be quick and obvious.
**Current pain:**
- Gets WhatsApp messages asking for documents but forgets or delays
- Doesn't understand what's urgent vs. what can wait
- Has no visibility into whether his declarations are being filed on time
- Occasionally gets penalty notices and blames his fiduciary
**What success looks like:** Receives an email with a link. Clicks it. Sees exactly what's needed ("Upload your January bank statement"). Uploads from his phone. Done. No account to create, no password to remember.
**Interaction model:** Token-based, task-specific. Comes in, does the action, leaves. Not a recurring platform user.
### Secondary Users
#### 4. SaaS Platform Admin — "Saad"
**Profile:** L'Ami Fiduciaire platform owner. Manages the SaaS infrastructure, monitors workspace health, handles support issues.
**Needs:** Platform-level dashboard showing workspace count, active users, storage usage, reported issues. Admin CRUD for users and workspaces.
**Already built:** Admin panel with user and workspace management exists in the current codebase.
#### 5. Experio Users (Future)
**Profile:** Fiduciary firms already using Experio for AI-powered pre-accounting automation. They represent a warm lead channel for L'Ami Fiduciaire adoption.
**Integration model:** TBD. The partnership is confirmed but the product integration concept is not yet defined. This is a future opportunity to design a referral flow or deeper data integration between Experio's pre-accounting layer and L'Ami Fiduciaire's practice management layer.
### User Journey
#### Discovery → Onboarding → Daily Use
| Stage | Karim (Owner) | Fatima (Worker) | Hassan (Client) |
|---|---|---|---|
| **Discovery** | Referral from Experio partnership, word-of-mouth from other firm owners, or online search for fiduciary management tools | Introduced by Karim when the firm adopts the platform | Receives first email invitation from fiduciary with token link |
| **Onboarding** | Creates workspace, adds team members, imports client list, configures roles/permissions | Gets invited to workspace, sees assigned client portfolio | Clicks link, lands on a clear single-action page. No signup. |
| **First value ("aha!")** | First time he sees all clients' declaration statuses on one screen | First time her daily task list surfaces a deadline she would have missed | First time he uploads a document in 30 seconds instead of a WhatsApp back-and-forth |
| **Daily use** | Morning check of command center dashboard, reviews team progress, handles escalations | Works through prioritized task list, sends document requests via portal, updates dossier statuses | Occasional -- only when fiduciary sends a token link for upload/confirmation |
| **Long-term value** | Zero missed deadlines across all clients. Can take on more clients without hiring. Firm reputation grows. | Manages 60+ dossiers without stress. Gets home on time during bilan season. | Stops getting penalty notices. Trusts his fiduciary more. Stays as a client. |
---
## Success Metrics
### User Success Metrics
| Persona | Success Indicator | How We Measure It |
|---|---|---|
| **Karim (Owner)** | Zero missed deadlines across all clients | % of declarations filed before deadline across workspace |
| **Karim (Owner)** | Full visibility into firm operations | Daily login to command center dashboard |
| **Fatima (Worker)** | No declarations falling through the cracks | % of assigned dossiers with up-to-date status |
| **Fatima (Worker)** | Reduced time chasing clients for documents | Document requests sent via portal vs. WhatsApp |
| **Hassan (Client)** | Fast, frictionless document submission | Time from receiving token link to completing action (target: < 5 minutes) |
| **Hassan (Client)** | Fewer penalty notices | Client-reported satisfaction with fiduciary service |
### Business Objectives
**Primary objective:** Generate recurring SaaS subscription revenue from Moroccan fiduciary firms.
**Milestone 0 (Pre-revenue): Production Launch**
- Deploy L'Ami Fiduciaire to production with core features operational
- This is the foundational milestone -- everything else depends on it
**Year 1 Target: 100-150 paying firms**
- Primary acquisition channel: Experio partnership (500 existing fiduciary clients)
- Target conversion rate: 20-30% of Experio's client base
- Secondary channels: word-of-mouth, online presence
**Revenue Projections (Year 1):**
| Scenario | Firms | Avg. Revenue/Firm | MRR | ARR |
|---|---|---|---|---|
| Conservative | 100 | 300 MAD/month | 30,000 MAD | 360,000 MAD (~€33K) |
| Target | 125 | 350 MAD/month | 43,750 MAD | 525,000 MAD (~€48K) |
| Optimistic | 150 | 400 MAD/month | 60,000 MAD | 720,000 MAD (~€66K) |
### Pricing Model
**Per-workspace subscription (not per-user)** -- encourages team adoption without penalizing firm growth.
| Tier | Target | Price (MAD/month) | Includes |
|---|---|---|---|
| **Starter** | Solo practitioner / new firm | 199 MAD (~€18) | 1 workspace, up to 3 users, 50 clients, 100 folders, 5GB storage, client portal, email notifications |
| **Professional** | Growing firm (primary target) | 499 MAD (~€46) | 1 workspace, up to 10 users, unlimited clients/folders, 25GB storage, all features, priority support |
| **Enterprise** | Large cabinet / multi-office | 999 MAD (~€92) | Multiple workspaces, unlimited users, unlimited everything, 100GB storage, dedicated support, custom onboarding |
**No free tier** -- 14-day free trial with full features instead. Annual billing discount: 2 months free (~17% off).
### Key Performance Indicators
**Pre-Launch KPIs:**
- Feature completion rate against MVP scope
- Successful deployment to production environment
**Post-Launch KPIs (Month 1-3):**
- New workspace registrations (target: 10-20 firms/month)
- Trial-to-paid conversion rate (target: > 30%)
- Onboarding completion rate (target: > 70% of signups complete setup)
**Growth KPIs (Month 3-12):**
- Monthly Recurring Revenue (MRR) growth rate
- Workspace churn rate (target: < 5%/month)
- Net Promoter Score from firm owners
- Client portal usage rate (% of firms actively using client-facing features)
**Leading Indicators (predict future success):**
- Daily active users per workspace (signals real adoption vs. shelfware)
- Number of dossiers managed per workspace (signals depth of usage)
- Client portal actions completed per month (signals end-client value delivery)
---
## MVP Scope
### Terminology Change
**"Folders" renamed to "Declarations"** throughout the entire platform (UI, codebase, database references). This is a domain-language decision -- Moroccan fiduciary professionals think in terms of declarations (TVA, IS, CNSS), not generic folders. This change improves immediate comprehension for every user.
### Core Features (Phases 1-5 -- All Required for Launch)
#### Phase 1: Role System Foundation
*Everything else depends on this.*
| Feature | Description | Status |
|---|---|---|
| Fixed roles (Owner, Manager, Worker) | Three preset roles with sensible defaults that work for 90% of firms | To build |
| Permission matrix with toggles | Simple toggle grid: rows = permissions, columns = roles | To build |
| Per-workspace permission storage | Each cabinet customizes permissions independently | To build |
| Team management page | Dedicated "Team" page inside workspace to manage users and roles | To build |
| Move user management inside workspace | No separate admin routes for team -- everything in workspace Team page | To build |
#### Phase 2: Dashboard Separation
*Now that roles exist, build the right view for each.*
| Feature | Description | Status |
|---|---|---|
| Single shell, role-driven sidebar | One app, one sidebar, content determined by role | To build |
| Firm Owner/Manager command center | Combined dashboard + alerts: active clients, declarations by status, activity feed, priority alerts | To build |
| Scoped Worker dashboard | "Here's what you need to do today" -- only assigned clients/declarations | To build |
| SaaS Owner platform dashboard | Platform metrics: workspace count, active users, storage, system health | To build |
| Priority alert system | Visual alerts for overdue declarations, unanswered uploads, unsigned confirmations | To build |
| Dashboard = alerts combined | No separate alerts page -- dashboard IS the alert system | To build |
| Issue/support inbox | Lightweight issue reporting from firm users to SaaS owner | To build |
#### Phase 3: Collaboration Features
*The nudge/notification layer.*
| Feature | Description | Status |
|---|---|---|
| Quick tag & nudge | One-click alert from Owner/Manager to Worker on any declaration | To build |
| Inline nudge on declaration row | Small icon button on table row -- click, pick employee, done | To build |
| Employee notification center | Notification area where nudges/alerts land with direct links to declarations | To build |
#### Phase 4: Workflow Efficiency
*The عملي features that save time.*
| Feature | Description | Status |
|---|---|---|
| Bulk declaration creation | Select multiple clients, choose type (e.g., TVA Mensuel), set date, create all at once | To build |
| Bulk notification scheduling | Set notification date during bulk creation -- all clients notified on same day | To build |
| Advanced filtering system | Consistent filter bar across Clients, Declarations, Archive -- persistent until cleared | To build |
| Quick search | Search bar with instant text lookup across views | To build |
| Practicality-first UI pass | Every UI decision passes: "Does this make the task faster or slower?" Tables over cards. | To build |
#### Phase 5: Archive System
*Needs closed declarations to exist -- builds on everything above.*
| Feature | Description | Status |
|---|---|---|
| Auto-archive on close | Declaration moves to archive automatically when status becomes Closed | To build |
| Archive ≠ Delete | Full history preserved -- documents, messages, actions. Filing cabinet, not trash. | To build |
| Archive as main nav item | Top-level sidebar -- first-class feature, not hidden | To build |
| Hybrid filters + search | Flat list with fiscal year/client/type/date filters + search bar | To build |
| Archive detail page | Read-only full snapshot: declaration info, timeline, documents, messages, portal actions | To build |
| In-app document preview | Preview button (PDF/image viewer) + separate download button | To build |
| Read-only + re-open | Archive locked, but Owner/Manager can re-open (moves back to active) | To build |
| Re-open audit trail | Who, when, why logged -- legal protection for the firm | To build |
| Bulk download as ZIP | Filter a set, download structured ZIP with all documents organized by declaration | To build |
| Visual distinction | Muted color scheme / archive badge -- clear boundary between active and archived | To build |
| 10-year retention policy | Automated lifecycle with warning notification before cleanup | To build |
| Metadata search | Search by client, type, year, date. Full-text document search deferred. | To build |
#### Already Built (Foundation)
| Feature | Status |
|---|---|
| Multi-tenant workspaces | Done |
| Client CRUD with status, legal form, responsable/suivi | Done |
| Declaration (folder) system with priority, status, type, confirmation | Done |
| Client portal (token-based: upload, confirm, refuse) | Done |
| Document exchange (Spatie Media Library) | Done |
| In-declaration messaging | Done |
| Email notifications (5 types) | Done |
| 2FA authentication (TOTP via Fortify) | Done |
| Activity logging (Spatie) | Done |
| Admin panel (users, workspaces) | Done |
| Workspace switching | Done |
### Out of Scope for MVP
| Feature | Rationale | When |
|---|---|---|
| Kanban view for declarations | Nice-to-have visual pipeline -- tables-first approach is more practical for accountants | Post-launch |
| Client-initiated declarations | Reverses the flow (clients request declarations) -- requires mature platform first | Post-launch |
| Archive-specific advanced filters | Extra filter dimensions beyond basic MVP archive filters | Post-launch |
| Experio product integration | Partnership is confirmed but integration concept is TBD | Post-launch |
| E-invoicing integration | DGI platform still rolling out; future opportunity | Post-launch |
| WhatsApp integration | High-value but complex; email-based portal is sufficient for MVP | Post-launch |
| Mobile app | Web-first; responsive design covers mobile use cases initially | Post-launch |
| Billing/subscription management | Handle manually or via third-party (Stripe) at launch | Post-launch |
| Multi-language support (Arabic) | French-first; Arabic UI deferred | Post-launch |
### MVP Success Criteria
The MVP is successful when:
1. **Deployable:** Platform runs in production with real firm data without critical bugs
2. **Adoptable:** A fiduciary firm can sign up, create a workspace, add team members, import clients, and start managing declarations within 1 hour
3. **Valuable:** Firm owner can see all clients' declaration statuses on one dashboard and workers see their scoped task list
4. **Functional:** The full declaration lifecycle works end-to-end: create → assign → notify client → receive documents → update status → close → auto-archive
5. **Collaborative:** Nudge system works -- Owner tags Worker, Worker gets notification with direct link
6. **Efficient:** Bulk creation lets firms create 20+ declarations in one action instead of one-by-one
### Future Vision
**Post-MVP Roadmap (Year 1-2):**
| Priority | Feature | Impact |
|---|---|---|
| High | Experio integration (referral flow + potential data sync) | Distribution channel activation |
| High | Billing/subscription management (Stripe integration) | Automate revenue collection |
| Medium | WhatsApp document intake | Meets clients where they already communicate |
| Medium | Deadline calendar with Moroccan fiscal calendar pre-loaded | Automatic deadline awareness per client type |
| Medium | E-invoicing readiness (DGI platform API when available) | Compliance positioning |
| Low | Kanban view for declaration pipeline | Visual workflow management option |
| Low | Client-initiated declarations | Reverse-flow for proactive clients |
| Low | Mobile app | Native mobile experience |
| Low | Arabic UI support | Broader market accessibility |
**Long-term vision (2-3 years):** L'Ami Fiduciaire becomes the operating system for Moroccan fiduciary firms -- the central hub that connects accounting software (Sage/JBS), pre-accounting automation (Experio), government portals (SIMPL/Damancom), and client communication into one orchestrated workflow. As AI disrupts basic bookkeeping, the platform positions fiduciaries to evolve from data-entry shops to advisory practices, with L'Ami Fiduciaire powering the practice management layer that makes that transition possible.

View File

@@ -0,0 +1,353 @@
# Research: Cloud Adoption, SaaS Practice Management & Future Technology Trends for Accounting/Fiduciary Firms
**Date**: 2026-03-11
**Research Type**: Technology & Market Trends
**Scope**: Morocco, Africa, and global best-in-class platforms
---
## 1. Cloud Accounting Adoption in Morocco/Africa
### 1.1 Adoption Rates
**Africa-wide:**
- 86% of African organisations reported medium or high cloud maturity in 2025, up from 61% in 2023 (PwC Africa Cloud Survey 2025).
- Middle East & Africa cloud accounting software adoption stands at ~38% of enterprises, with government-backed digital economy strategies boosting adoption by 33%.
- The global cloud accounting software market is projected to reach USD 50.79 billion by 2035 (Precedence Research).
**Morocco-specific (estimated):**
- No precise percentage is publicly available for cloud accounting adoption among Moroccan fiduciary firms. Based on the existing market research (see market-fiduciary-saas-morocco-research-2026-03-10.md), an estimated 60-70% of firms remain on desktop software (Sage, CIEL, EBP), with cloud adoption still in the minority (likely 15-25% of firms actively using cloud tools).
- The dominant tool remains **Sage desktop**, followed by CIEL Compta and EBP Compta.
- Cloud-native entrants in Morocco: **Sahih** (AWS-hosted), **Bleez** (AI features), **ComptaCom** (online accounting), **Banqup** (collaborative document platform).
### 1.2 Barriers to Cloud Adoption in Morocco
**Data Sovereignty and Legal Constraints:**
- Morocco's **Law 09-08** (personal data protection) and **Law 05-20** (cybersecurity) impose strict requirements on where and how sensitive data is stored.
- Data residency laws require regulated data to be localized within Morocco's borders, effectively restricting use of foreign public cloud for many organizations.
- Morocco unveiled a **"Cloud First" national roadmap for 2025-2030**, positioning cloud as the backbone of digital transformation while reinforcing digital sovereignty. Cloud computing will become the default for public-sector digital platforms.
**Trust Deficit:**
- 60-70% of practitioners are "Traditional Practitioners" (age 45+) with a "if it works, don't change it" mindset. Their biggest fear: losing data or breaking workflows.
- Extremely high switching costs (data migration, training, habits). Firms typically stay with a tool for 5-10+ years.
- Creating trust in data transactions requires a robust, enforced legal framework for personal data protection, e-commerce, and cybersecurity -- still maturing in Morocco.
**Internet Reliability:**
- Significant digital divide: rural areas and low-income populations have limited internet access.
- Urban areas (Casablanca-Rabat corridor where 85% of experts-comptables are based) have adequate connectivity, but reliability concerns persist for always-online cloud tools.
**Skills Gap:**
- Shortage of skilled professionals in cybersecurity, data science, and software development.
- Most fiduciary professionals have limited digital literacy beyond their existing desktop tools.
_Sources:_
- [Morocco Cloud First Roadmap](https://www.moroccoworldnews.com/2025/12/270343/morocco-outlines-cloud-first-roadmap-to-strengthen-digital-sovereignty/)
- [PwC Africa Cloud Survey 2025](https://tech.africa/pwc-africa-cloud-survey-2025/)
- [Morocco Digital Economy - Trade.gov](https://www.trade.gov/country-commercial-guides/morocco-digital-economy)
- [McKinsey - Africa Cloud Opportunities and Barriers](https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/africas-leap-ahead-into-cloud-opportunities-and-barriers)
### 1.3 Cloud-Native Accounting Tools in Francophone Africa/Markets
**French-origin platforms expanding internationally:**
- **Pennylane** — Fastest-growing accounting software in France, 500,000 companies on platform (Sept 2025). European expansion starting with Germany (2025). Not yet in Africa but a potential future entrant.
- **Indy** — Online accounting for freelancers and liberal professions, free tier for small structures.
- **Dext** — Cloud-based automation of accounting data entry and expense management via document recognition.
- **Axonaut** — French CRM + accounting for TPE/PME.
**Morocco-specific cloud tools:**
- **Sahih** (sahih.ma) — Moroccan cloud-native accounting platform, AWS-hosted
- **Bleez** (bleez.com) — Full web accounting suite with AI features
- **ComptaCom** (comptacom.ma) — Online accounting with invoicing, storage, tax declarations
- **Banqup** (banqup.ma) — Collaborative digitization of document exchange between firms and clients
**Africa-wide mobile/fintech accounting:**
- **Moniepoint's Moniebook** — POS + bookkeeping platform combining payments, inventory, and staff management for micro/small enterprises in Nigeria
- **Flutterwave** — Acquired Mono (open banking), launching treasury management tool for African businesses in 2026
- **Wave** (Wave Apps) — Free accounting software popular with micro-enterprises
### 1.4 Sage Cloud Migration Path for Moroccan Users
- Sage offers **Sage Business Cloud Accounting** in Africa (South Africa, Kenya, Nigeria), with pricing from USD 11/month (Nigeria) to R185/month (South Africa).
- Sage provides migration support for **Pastel Partner** and **Xpress** users moving to cloud.
- For Morocco specifically, Sage maintains a local presence (sage.com/fr-ma) with solutions for experts-comptables, but the cloud migration path for Moroccan Sage desktop users (Sage 50, Sage 100) is not as clearly defined as in anglophone Africa.
- The Sage reseller network is deeply embedded in the Moroccan market, making them a formidable incumbent.
_Sources:_
- [Sage Africa Cloud Accounting](https://www.sage.com/africa/sage-business-cloud/accounting/)
- [Pennylane](https://www.pennylane.com/fr)
- [Indy Comparatif](https://www.indy.fr/guide/comptabilite-en-ligne/logiciel/comparatif/)
---
## 2. Practice Management SaaS for Accounting Firms (Global Best-in-Class)
### 2.1 Leading Platforms Comparison
| Platform | Best For | Client Portal | Task Mgmt | Deadline Tracking | Doc Mgmt | Billing | E-Signatures | Starting Price |
|----------|----------|:---:|:---:|:---:|:---:|:---:|:---:|---|
| **Karbon** | Mid-large firms, team collaboration | Limited | Excellent (Kanban) | Excellent | Good | Basic | No | $1,068/user/year |
| **TaxDome** | Solo/small firms, all-in-one | Excellent | Good | Good | Excellent (AI-powered) | Excellent | Unlimited (all tiers) | $800/user/year |
| **Canopy** | Mid-size tax firms, tax resolution | Good | Good (recurring templates) | Good | Good | Good (modular) | Add-on | ~$1,704/user/year |
| **Financial Cents** | US/Canadian firms, ease of use | Good | Good | Good | Good | Good | Yes | $69/user/month (~$828/yr) |
| **Jetpack Workflow** | Budget-conscious, recurring work | No | Good (70+ templates) | Excellent | No | No (QuickBooks integration) | No | $40/user/month (~$480/yr) |
### 2.2 Detailed Feature Analysis
**Karbon** ($89/user/month, popular plan):
- Strongest internal collaboration: @mentions, email visibility, shared comments
- Kanban dashboards for workflow visualization
- Email-centric design (email integrated into task context)
- Custom reporting available as add-on ($6,000)
- Contact migration: $299 add-on
- Weakness: No built-in client portal, no e-signatures, no billing
**TaxDome** ($800-$1,200/user/year):
- Most complete all-in-one platform: client portal, CRM, workflow, billing, e-signatures, document management
- Unlimited document storage with AI-powered organization at every tier
- Built-in website builder
- Flat annual per-user pricing (no module add-ons)
- 4.7/5 G2 rating
- Weakness: Less robust for very large multi-office firms
**Canopy** (~$1,704/user/year for 5-person firm):
- Modular pricing (buy only what you need: time & billing, document management, workflow, client portal)
- Strong for tax resolution case management
- Built-in timer and manual time entries, time budgets
- Customizable invoices
- Weakness: Modular pricing adds up quickly; separate purchases needed for features bundled elsewhere
**Financial Cents** ($69/user/month):
- Highest ease-of-use rating in the industry: 4.9/5.0
- All-in-one: workflow, client requests, document sharing, time tracking, billing, reporting
- Purpose-built for accounting firms
- Weakness: US/Canada only, billing in USD, no multilingual support
**Jetpack Workflow** ($40/user/month):
- 70+ pre-built accounting-specific templates (free)
- Purpose-built for recurring, cyclical accounting work
- Most budget-friendly option
- Weakness: No client portal, no invoicing, no document management, relies on email for client communication
### 2.3 How These Compare to L'Ami Fiduciaire
Based on the existing project research, L'Ami Fiduciaire is building a practice management platform specifically for Moroccan fiduciary firms. Key differentiators vs. global platforms:
| Dimension | Global Platforms | L'Ami Fiduciaire Advantage |
|-----------|-----------------|---------------------------|
| **Language** | English-only (most) | French-native, Arabic support potential |
| **Regulatory Compliance** | US/UK tax systems | Moroccan DGI, CNSS/DAMANCOM, CIMR compliance |
| **Chart of Accounts** | GAAP/IFRS-centric | Plan Comptable Marocain (PCM) native |
| **Tax Calendar** | US/UK deadlines | Moroccan fiscal calendar (TVA, IS, IR deadlines) |
| **E-Invoicing** | Not Morocco-specific | Can integrate with DGI SIMPL / upcoming e-invoicing platform |
| **Pricing** | $40-89/user/month (USD) | Can be priced for Moroccan purchasing power |
| **Local Support** | English, US timezone | French, Moroccan timezone, local understanding |
| **Client Base** | TPE/PME not a focus | Built for Moroccan TPE/PME fiduciary workflows |
**Gap Analysis -- Features L'Ami Fiduciaire should consider from global leaders:**
1. **Client portal** (TaxDome model) -- clients upload documents, sign, pay
2. **E-signatures** (TaxDome includes unlimited) -- critical for remote client management
3. **Kanban workflow boards** (Karbon model) -- visual task management
4. **Recurring task templates** (Jetpack Workflow model) -- 70+ pre-built for accounting cycles
5. **AI document classification** (TaxDome model) -- auto-categorize uploaded documents
6. **Time tracking + billing** (Financial Cents model) -- track hours per client per task
7. **Mobile app** -- none of the global leaders have strong mobile presence; opportunity to lead
### 2.4 Pricing Models and Market Positioning
| Platform | Model | Entry Point | Mid-Tier | Enterprise |
|----------|-------|------------|----------|-----------|
| TaxDome | Per-user, annual | $800/yr | $1,000/yr | $1,200/yr |
| Karbon | Per-user, annual | $540/yr | $1,068/yr | Custom |
| Financial Cents | Per-user, monthly | $828/yr | $756/yr (Scale) | N/A |
| Jetpack Workflow | Per-user, monthly | $480/yr | $588/yr | N/A |
| Canopy | Modular + per-user | ~$1,700/yr/user | Higher | Custom |
_Sources:_
- [TaxDome Blog - Practice Management Software 2026](https://blog.taxdome.com/accounting-practice-management-software/)
- [Karbon Magazine - TaxDome vs Canopy](https://karbonhq.com/resources/taxdome-vs-canopy/)
- [Uku - Canopy vs TaxDome 2026](https://getuku.com/articles/canopy-vs-taxdome)
- [Financial Cents Pricing](https://financial-cents.com/pricing/)
- [Uku - Financial Cents vs Jetpack Workflow 2026](https://getuku.com/articles/financial-cents-vs-jetpack-workflow)
---
## 3. API-First and Open Banking Trends
### 3.1 Government Platform API Availability
**DGI SIMPL Platform:**
- Morocco's online tax services portal (SIMPL) now processes over 90% of tax declarations and payments digitally.
- The DGI has adopted a **microservices-based architecture** ensuring agility and scalability.
- E-invoicing platform (under development by **xHub**, a Moroccan tech firm) will use standard formats: **UBL** (Universal Business Language) and **CII** (Cross-Industry Invoice).
- API availability for third-party integration: not publicly documented as open APIs, but the microservices architecture suggests future API exposure is architecturally feasible.
**DAMANCOM (CNSS):**
- Digital platform for managing social security contributions.
- 2025 update: new authentication via DGSN digital identity (e-ID) or SMS OTP.
- No public API documented for third-party software integration. Employers interact via the web portal.
- Integration opportunity: screen-scraping or future API partnerships.
**CIMR:**
- CIMR DIALCOM mobile app available (iOS/Android) for beneficiaries.
- No public API for employer/fiduciary integration documented.
- A private pension provider, so API development depends on commercial incentives.
**Key Insight:** All three platforms (DGI, CNSS, CIMR) are digitizing rapidly but remain portal-based rather than API-first. This creates an opportunity for L'Ami Fiduciaire to build integration layers (even if initially via automated web interactions) that competitors lack.
### 3.2 Bank Feed Integrations
- Bank feed integration (automatic import of bank transactions) is standard in global platforms (Xero, QuickBooks, Sage Cloud).
- In Morocco, no standardized bank feed API framework exists yet.
- Some Moroccan banks (Attijariwafa bank, BMCI) already expose APIs for select partners.
- Flutterwave's acquisition of **Mono** (open banking startup) signals growing API-first banking infrastructure in Africa, though initially focused on Nigeria/West Africa.
### 3.3 Open Banking Regulations in Morocco
- **Bank Al-Maghrib** (central bank) is studying Open Banking regulation but has not published a formal framework.
- Gradual adoption expected 2025-2026 with individual bank API programs.
- No PSD2-equivalent legislation exists in Morocco or North Africa.
- Morocco's approach is evolving on a bank-by-bank basis rather than through a top-down regulatory mandate.
### 3.4 PSD2-Equivalent Frameworks for North Africa
- **No unified PSD2-equivalent exists** for North Africa or MENA.
- Saudi Arabia and Bahrain are the most advanced in MENA for open banking frameworks.
- Nigeria is the most advanced in Africa (published an open banking framework).
- North African countries (Morocco, Tunisia, Algeria, Egypt) are developing individual national approaches.
- The OECD has published guidance on open finance in sub-Saharan Africa, but North Africa is not yet covered by equivalent frameworks.
_Sources:_
- [Open Banking Morocco - VOID](https://void.ma/en/publications/open-banking-maroc-enjeux-opportunites/)
- [Open Banking Tracker - Morocco](https://www.openbankingtracker.com/country/morocco)
- [Morocco E-Invoicing 2026 - EDICOM](https://edicomgroup.com/blog/morocco-electronic-invoicing)
- [Morocco Tax Administration - IMF/Morocco World News](https://www.moroccoworldnews.com/2025/12/273037/moroccos-tax-administration-advances-yet-faces-key-hurdles-imf-finds)
- [CNSS Digital Login System - North Africa Post](https://northafricapost.com/88635-moroccos-social-security-portal-introduces-digital-login-system.html)
- [Payments Association - Open Banking Worldwide 2025](https://thepaymentsassociation.org/article/the-state-open-banking-regulation-worldwide-in-2025/)
---
## 4. Future Outlook 2026-2030
### 4.1 E-Invoicing Impact on Fiduciary Workflow
**Morocco's E-Invoicing Timeline:**
- **October 2024:** First e-invoicing proposals, public consultation launched.
- **October 2025:** Pilot phase with volunteer companies testing the platform (developed by xHub).
- **Early 2026:** Mandatory phase begins -- phased rollout, larger companies first, then medium/small businesses under staggered deadlines.
- **Legal basis:** Article 145-9 of the Moroccan tax code (from 2018 finance reforms).
**Two potential implementation models under evaluation by DGI:**
1. **Post-audit model** -- companies freely exchange invoices, tax validation occurs afterward.
2. **Continuous Transaction Control (CTC)** -- each invoice validated by tax authority before issuance. If adopted, Morocco may use a decentralized system with authorized service providers.
**Technical standards:** UBL and CII formats for international interoperability.
**Impact on fiduciary workflow:**
- **Massive disruption for traditional fiduciaires:** Manual invoice entry will be eliminated. The primary value proposition of many unregulated fiduciaires (data entry and bookkeeping) will be severely diminished.
- **Shift from data entry to advisory:** Fiduciaires must evolve from "saisie comptable" to advisory, analysis, and compliance oversight.
- **Software requirement:** Only DGI-certified software will be able to issue compliant e-invoices. This is the #1 forcing function for technology adoption.
- **Opportunity for L'Ami Fiduciaire:** Being an early integrator with the DGI e-invoicing platform is a critical competitive advantage.
### 4.2 AI Impact on Bookkeeping and Unregulated Fiduciaires
**Current State (2026):**
- AI is shifting from optional add-on to **native layer inside core accounting systems**.
- "Ambient AI" handles document classification, task creation, data consistency checks, and client follow-up.
- ~75% of small/midsize businesses investing in AI; adopters report up to 45% efficiency gains.
- Only ~20% of small businesses currently utilize AI in finance (significant room for growth).
**Impact on Unregulated Fiduciaires (2026-2030):**
This is an existential threat. Unregulated Moroccan fiduciaires primarily offer:
1. Bookkeeping / saisie comptable -- **highly automatable by AI**
2. Tax declaration preparation -- **partially automatable**
3. Social security declarations -- **partially automatable**
4. Basic payroll -- **highly automatable**
**Prediction:** By 2028-2030, AI + e-invoicing will eliminate 60-80% of manual bookkeeping work. Unregulated fiduciaires who do not evolve to advisory services, practice management, or specialized compliance will face severe competitive pressure from:
- Self-service AI accounting tools (clients do it themselves)
- Larger regulated firms that can serve more clients with fewer staff
- Platform-based accounting (Pennylane model) where AI does the work and the expert-comptable reviews
**Expert consensus (Accounting Today, 2026):**
- "2026 is the year AI meaningfully increases firm capacity, realization rates and partner-level revenue, without increasing partner or admin hours."
- In finance functions, AI agents handle invoice processing, purchase order matching, reconciliation, and anomaly detection, freeing humans for revenue growth and scenario planning.
### 4.3 Blockchain for Audit Trails and Compliance
**Current Research (2026):**
- A 2026 study across Ghana, Egypt, and Kenya investigates blockchain audit readiness in emerging economies (297 financial professionals surveyed).
- Blockchain-enabled audit trails provide continuous access to verified transactional data, improving early fraud detection, reducing data manipulation, and enhancing financial reporting reliability.
- Permissioned blockchain + smart contracts can support real-time audit logging and procedural compliance.
**Practical Reality for Morocco (2026-2030):**
- Blockchain for audit trails remains largely **research-phase** in emerging markets.
- Implementation challenges: interoperability, scalability, regulatory uncertainty, organizational resistance.
- **More likely near-term impact:** DGI's e-invoicing platform with digital signatures and immutable transaction logs will provide many of the same benefits as blockchain without requiring blockchain infrastructure.
- **Recommendation for L'Ami Fiduciaire:** Do not invest in blockchain features now. Monitor developments, but focus on e-invoicing integration and traditional audit trail mechanisms (immutable logs, digital signatures, timestamping).
### 4.4 Mobile-First Accounting for Micro-Enterprises
**Africa-specific developments:**
- **Moniepoint's Moniebook** (Nigeria) -- combines POS, bookkeeping, inventory, and staff management for micro/small enterprises. Strategy: own the payment relationship, then expand to accounting and credit.
- **Flutterwave Mobile** -- turns any smartphone into a mobile POS accepting cards, bank transfers, mobile money, and USSD.
- **Wave Apps** -- free accounting used by micro-enterprises globally.
**Opportunity for Morocco:**
- Morocco has ~500,000+ TPE (tres petites entreprises) and auto-entrepreneurs.
- Most use no accounting software at all, relying on paper or basic Excel.
- A mobile-first, Arabic/French bilingual micro-accounting app could capture a massive underserved market.
- Integration with Morocco's upcoming e-invoicing platform would make such an app mandatory infrastructure.
**Key trend:** The operating system for African micro-enterprises is converging around payments + bookkeeping + lending on mobile. Flutterwave, Moniepoint, and others are building this in West Africa. Morocco lacks an equivalent player.
### 4.5 Expert Predictions for the Profession's Evolution
**Accounting Today (2026 predictions):**
1. AI will shift from optional to native -- "ambient AI" inside daily workflows.
2. Vendors will apply AI to end-to-end use cases in tax prep and bookkeeping.
3. The accountant's role evolves from scorekeeper/compliance specialist to **trusted advisor, business partner, and strategic thinker**.
4. Real-time workflows pushed by mandatory e-invoicing globally.
5. E-invoicing becomes a strategic business advantage, not just a compliance burden.
**Rightworks (Top Accounting Trends 2026):**
- Firms continue leveraging automation for reconciliation, compliance, invoice processing, financial forecasting, and data collection.
- The profession's staffing crisis (talent shortage) accelerates AI adoption as a necessity, not a choice.
**CFO Dive (Audit Profession 2026):**
- 5 ways AI redefines audit: continuous monitoring, real-time anomaly detection, automated sampling, predictive risk assessment, and natural language reporting.
**Implications for L'Ami Fiduciaire:**
1. **Build for the advisory-era fiduciaire**, not the data-entry-era fiduciaire.
2. **E-invoicing integration is non-negotiable** -- must be ready for the 2026 mandate.
3. **AI features** (document classification, anomaly detection, auto-categorization) will be table-stakes within 2-3 years.
4. **Mobile access** is increasingly expected, especially for client-facing features.
5. **The platform that owns the fiduciaire-client relationship** (documents, communication, billing, compliance) wins.
_Sources:_
- [Accounting Today - AI Predictions 2026](https://www.accountingtoday.com/list/ai-thought-leaders-survey-2026-process-predictions)
- [Accounting Today - Technology Trends 2026](https://www.accountingtoday.com/news/how-will-technology-shape-accounting-trends-in-2026)
- [Accounting Today - 16 Predictions 2026](https://www.accountingtoday.com/list/16-predictions-for-accounting-technology-for-2026)
- [CFO Dive - AI Redefines Audit 2026](https://www.cfodive.com/news/5-ways-ai-will-redefine-the-audit-profession-in-2026/812136/)
- [Rightworks - Accounting Trends 2026](https://www.rightworks.com/blog/accounting-technology-trends/)
- [Morocco E-Invoicing - Hisab](https://hisab.ma/en/docs/mandate-2026)
- [Morocco E-Invoicing - VATCalc](https://www.vatcalc.com/morocco/morocco-e-invoicing-2026/)
- [Morocco E-Invoicing - Eezi Blog](https://blog.eezi.io/morocco-e-invoicing-2026-from-dunes-to-digital-understanding-the-mandatory-e-invoicing-requirements/)
- [1-800Accountant - Agentic AI 2026](https://1800accountant.com/blog/how-to-use-agentic-ai-for-small-businesses)
- [Blockchain Audit Readiness - Wiley](https://onlinelibrary.wiley.com/doi/10.1002/isd2.70061)
- [Flutterwave/Mono - Techpoint Africa](https://techpoint.africa/insight/mono-treasury-management-platform/)
---
## Summary: Strategic Implications for L'Ami Fiduciaire
| Trend | Timeframe | Impact | Action |
|-------|-----------|--------|--------|
| Morocco e-invoicing mandate | 2026 (now) | Critical | Must integrate with DGI platform ASAP |
| AI-powered bookkeeping | 2026-2028 | High | Build AI features (doc classification, auto-categorization) |
| Cloud adoption acceleration | 2025-2027 | High | Cloud-native is the right bet; data sovereignty compliance essential |
| Open banking APIs | 2027-2030 | Medium | Monitor Bank Al-Maghrib; prepare architecture for bank feeds |
| Practice management consolidation | 2026-2028 | High | Build TaxDome-level all-in-one (portal, billing, docs, workflow) |
| Mobile-first micro-enterprise | 2026-2030 | Medium-High | Consider mobile app for client-facing features |
| Blockchain audit trails | 2028-2032 | Low (near-term) | Do not invest now; DGI e-invoicing provides similar benefits |
| Unregulated fiduciaire disruption | 2027-2030 | Very High | Position as the tool that helps fiduciaires evolve to advisory |

View File

@@ -0,0 +1,563 @@
---
stepsCompleted: [1, 2, 3, 4, 5]
inputDocuments: []
workflowType: 'research'
lastStep: 1
research_type: 'domain'
research_topic: 'Day-to-day operations and workflows of Moroccan fiduciary/accounting firms'
research_goals: 'Understand the complete operational lifecycle of a Moroccan fiduciary firm - from client onboarding through monthly workflows, services, pricing, team structure, and pain points'
user_name: 'Saad'
date: '2026-03-10'
web_research_enabled: true
source_verification: true
---
# Domain Research: Day-to-Day Operations of Moroccan Fiduciary Firms
## Research Summary
This document synthesizes findings from extensive web research (French and English sources) on how Moroccan fiduciary/accounting firms operate on a daily, monthly, and annual basis. It covers client onboarding, workflow cycles, service offerings, pricing, team structure, pain points, and communication patterns.
---
## 1. Client Onboarding
### When a New Client Arrives
**Confidence: HIGH** (well-documented across multiple sources)
The onboarding process varies by client type (SARL, SA, auto-entrepreneur, existing business vs. creation):
#### Scenario A: Company Creation (Creation d'entreprise) - SARL
This is one of the most common entry points. The fiduciary handles the entire creation process:
1. **Initial consultation** - Understand the client's business, advise on legal form (SARL, SARL AU, SA, SNC, etc.)
2. **Certificat negatif** - Request from OMPIC (Office Marocain de la Propriete Industrielle et Commerciale) to confirm company name availability. Cost: ~230 MAD (210 MAD + 20 MAD timbre). Can be done online via DirectInfo portal.
3. **Drafting statuts (bylaws)** - The fiduciary or a notaire drafts the articles of incorporation. Fiduciary-drafted statuts are "sous seing prive" (private deed) vs. notarized "acte notarie."
4. **Capital deposit (blocage des fonds)** - Client deposits capital at a bank, receives attestation de blocage.
5. **Registration at CRI (Centre Regional d'Investissement)** - The CRI serves as a guichet unique (one-stop shop), centralizing multiple formalities:
- Enregistrement des statuts: ~200 DH
- Inscription au Registre du Commerce: ~350 DH
- Publication au Bulletin Officiel
- Inscription a la patente/identifiant fiscal
- Affiliation CNSS
6. **ICE (Identifiant Commun de l'Entreprise)** - Obtained automatically through the process.
**Total cost for SARL creation**: 2,500 - 5,000 DH (fiduciary fees + administrative costs)
**Typical fiduciary fee for creation service**: 2,450 - 10,000 DH depending on complexity and legal form
**Timeline**: 5-10 business days when all documents are ready
**Documents required from client:**
- Copy of CIN (Carte d'Identite Nationale) for each associate/partner
- Copy of CIN for management organs (gerant)
- Proof of registered office (contrat de bail or contrat de domiciliation)
- Bank attestation of capital deposit
- Evaluation report (if capital contributed in kind)
Sources:
- [CRI Casablanca - 10 Steps to Create a Company](https://cri-casablanca.com/)
- [LEC.ma - Creation societe SARL](https://www.lec.ma/en/creation-societe-maroc)
- [Fidutraco - Creation entreprise Casablanca](https://fidutraco.com/creation-entreprise-casablanca/)
- [EKC Consulting - Creer SARL 2025](https://ekc-consulting.ma/creer-une-sarl-au-maroc-demarches-delais-et-couts-en-2025/)
- [AMDE - Etapes creation entreprise](https://amde.ma/les-etapes-de-la-creation-dentreprise-au-maroc/)
#### Scenario B: Existing Business Onboarding
When an existing business transfers to a new fiduciary:
1. **Diagnostic meeting** - Review current accounting state, fiscal situation, pending obligations
2. **Document collection** - Prior financial statements, grand livre, balance, prior tax declarations, CNSS history, employee records
3. **Software setup** - Enter the client's chart of accounts, opening balances
4. **Engagement letter** - Define scope, fees, responsibilities
#### Scenario C: Auto-entrepreneur
Simpler onboarding as auto-entrepreneurs have minimal accounting obligations:
- No bilan comptable required
- Simple quarterly declaration of chiffre d'affaires
- Tax rate: 0.5% for commercial/industrial/artisanal activities, 1% for services
- Declaration done online via the registre national des auto-entrepreneurs or at Barid Al-Maghrib
Source: [AE.gov.ma - Fiscalite](https://ae.gov.ma/je-suis-auto-entrepreneur/fiscalite/)
---
## 2. Monthly Workflow
### The Monthly Cycle of a Fiduciary Firm
**Confidence: HIGH** (corroborated across multiple professional sources)
#### Phase 1: Document Collection (1st-10th of month)
- Collect piecces justificatives (supporting documents) from clients: invoices (achat/vente), releves bancaires, notes de frais, bons de caisse
- This is consistently cited as the **biggest bottleneck** - clients are frequently late delivering documents
- Documents arrive via: physical drop-off, email, sometimes WhatsApp photos of documents
- Modern firms are beginning to offer client portals for document upload, but adoption is low
#### Phase 2: Saisie Comptable (Data Entry) (5th-15th of month)
- Enter all transactions into accounting software (Sage 50, Sage 100, JBS, EBP, or CIEL)
- Classification by journal: journal des achats, journal des ventes, journal de banque, journal de caisse, journal des operations diverses
- Each transaction matched with its justificatif (supporting document)
#### Phase 3: Rapprochement Bancaire (Bank Reconciliation) (10th-18th)
- Compare accounting entries in the banque journal against the actual releve bancaire from the bank
- Identify discrepancies: missing entries, timing differences, bank charges not yet recorded
- This is essential for ensuring accuracy of financial statements
#### Phase 4: Tax Declarations (15th-20th of month)
**TVA (VAT) Declaration:**
- Monthly regime: mandatory for companies with CA >= 1,000,000 DH/year. Due before the 20th of the following month.
- Quarterly regime: for companies with CA < 1,000,000 DH. Due before the 20th of the month following each quarter.
- Filed electronically via SIMPL-TVA portal (tele-declaration is mandatory for all non-forfaitaire businesses)
**CNSS Declaration (DMS - Declaration Mensuelle des Salaires):**
- Monthly declaration of salaries and social contributions
- Due by the 10th of the following month
- Filed via Damancom platform
- Two methods: manual form entry (PME/PMI) or file upload (large companies)
- Payment via BPC (Bordereau de Paiement des Cotisations) - bank transfer order
**IS (Impot sur les Societes) Acomptes:**
- 4 quarterly installments based on prior year's tax
- Due dates: end of March, June, September, December
**IR (Impot sur le Revenu):**
- Monthly withholding on salaries
- Annual declaration
Sources:
- [INDICAC - Periodicite TVA Maroc](https://www.indicac.ma/articles/periodicit%C3%A9-tva-maroc)
- [CNSS.ma - Declaration et paiement](https://cnss.ma/fr/content/declaration-et-paiement-des-cotisations)
- [EKC Consulting - Paie et declarations sociales 2025](https://ekc-consulting.ma/paie-et-declarations-sociales-au-maroc-vos-obligations-en-2025/)
- [Maroc Paie - Declaration CNSS](https://maroc.paie.org/la-declaration-a-la-caisse-nationale-de-securite-sociale-cnss/)
- [CDAC - Agenda Fiscal](https://cdac.ma/agenda-fiscal/)
#### Phase 5: Paie / Payroll (20th-end of month)
- Calculate salaries, deductions (CNSS, CIMR, AMO, IR)
- Produce bulletins de paie (pay slips)
- Prepare CNSS declarations
- Prepare IR salarial withholding
#### Ongoing: Client Support and Conseil
- Answer client questions on fiscal matters
- Advise on cash management, structuring
- Handle ad hoc requests (attestations, letters, etc.)
### Annual Cycle (Key Deadlines)
| Period | Task |
|--------|------|
| Jan-Mar | Preparation of bilan (annual financial statements) for Dec 31 fiscal year close |
| Before March 31 | IS annual declaration (within 3 months of fiscal year close) |
| Before March 31 | Liasse fiscale (tax package) submission |
| Before June 30 | AGO (Assemblee Generale Ordinaire) must approve accounts (within 6 months of close) |
| Quarterly | IS acomptes provisionnels |
| Monthly | TVA, CNSS, payroll |
---
## 3. Client Types
**Confidence: HIGH**
### Breakdown of Business Types Served
| Legal Form | Description | Accounting Complexity | Typical Monthly Fee Range |
|------------|-------------|----------------------|--------------------------|
| **SARL** (Societe a Responsabilite Limitee) | Most common form. 1+ associates, min capital 1 DH (since reforms). | Medium | 1,500 - 5,000 DH |
| **SARL AU** (Associe Unique) | Single-person SARL. Very popular for solo entrepreneurs. | Medium | 1,000 - 3,000 DH |
| **SA** (Societe Anonyme) | For larger companies. Min capital 300,000 DH (3M for public offering). Requires commissaire aux comptes. | High | 5,000 - 15,000+ DH |
| **SNC** (Societe en Nom Collectif) | Partnership. Partners have unlimited liability. | Medium | 1,500 - 4,000 DH |
| **Auto-entrepreneur** | Simplified regime. CA cap: 500,000 DH (commercial) / 200,000 DH (services). | Low | 500 - 1,500 DH |
| **SCI** (Societe Civile Immobiliere) | Real estate holding company. | Low-Medium | 1,000 - 3,000 DH |
| **Association** | Non-profit. Specific accounting rules. | Low-Medium | 1,000 - 3,000 DH |
| **Profession liberale** | Doctors, lawyers, architects, etc. | Medium | 1,500 - 4,000 DH |
**Note on fee ranges**: These are estimated market ranges compiled from multiple sources. Actual fees vary significantly by city (Casablanca is most expensive), volume of transactions, number of employees, and complexity.
Sources:
- [LEC.ma - Honoraires expert-comptable Casablanca](https://www.lec.ma/en/honoraires-expert-comptable-casablanca)
- [AFC Conseil - Honoraires](https://www.afc-conseil.ma/honoraires)
- [4Gestion Academy - Fiduciaire au Maroc](https://4gestionacademy.com/fiduciaire-au-maroc/)
---
## 4. Services Offered
**Confidence: HIGH**
### Core Services (Recurring/Monthly)
1. **Tenue de comptabilite** (Bookkeeping)
- Saisie comptable (data entry)
- Classement des documents par journal
- Rapprochement bancaire
- Etablissement du grand livre et balance
2. **Declarations fiscales** (Tax Filings)
- TVA (monthly or quarterly)
- IS (annual + quarterly acomptes)
- IR (annual + monthly withholding)
- Cotisation minimale
- Taxe professionnelle
3. **Paie et declarations sociales** (Payroll)
- Bulletins de paie
- CNSS declarations (Damancom)
- CIMR (complementary retirement) declarations
- AMO (Assurance Maladie Obligatoire)
- IR salarial withholding
4. **Etablissement du bilan** (Annual Financial Statements)
- Bilan, CPC (Compte de Produits et Charges), ESG, Tableau de Financement
- Liasse fiscale
- Notes annexes
### Periodic/Annual Services
5. **Juridique annuel** (Annual Legal Work)
- Preparation of AGO (Assemblee Generale Ordinaire)
- Drafting PV (Proces-Verbal) of AGO
- Approbation des comptes
- Affectation du resultat
- Depot au tribunal de commerce
- Must be done within 6 months of fiscal year close
6. **Commissariat aux comptes** (Statutory Audit)
- Mandatory for all SA companies
- Mandatory for any company with CA > 50 million DH
- Mandatory when bylaws require it or 10% of partners request it
- 3-year renewable mandate
- OEC minimum hourly rate: 500 DH HT
- Only expert-comptable members of OEC can perform this
### One-Time / Project Services
7. **Creation d'entreprise** (Company Formation)
- Full service from name search to RC inscription
- Pricing: 2,450 - 10,000 DH depending on legal form
8. **Modification statutaire** (Corporate Changes)
- Change of gerant, transfer of parts sociales
- Capital increase/decrease
- Change of registered office
- Change of business activity
9. **Conseil fiscal** (Tax Advisory)
- Tax optimization strategies
- Regime selection (IR vs IS option)
- Assistance during controle fiscal (tax audit): 800 - 2,000 DH/hour
10. **Montage de dossier de financement** (Financing Dossier)
- Business plans for bank loans
- Fee: 2-5% of amount obtained
11. **Audit d'acquisition** (Due Diligence)
- Fee: 10,000 - 50,000 DH depending on target size
12. **Domiciliation** (Registered Office Services)
- Some fiduciary firms offer their address as the company's siege social
- Often bundled with creation packages
Sources:
- [LEC.ma - Honoraires](https://www.lec.ma/en/honoraires-expert-comptable-casablanca)
- [Lembra Conseil - Honoraires expert-comptable](https://lembra-conseil.com/honoraires-dun-expert-comptable-a-casablanca-combien-coute-une-prestation/)
- [Jura.ma - Commissaire aux comptes obligatoire](https://jura.ma/quand-le-commissaire-aux-comptes-est-obligatoire-au-maroc/)
- [Upsilon Consulting - Commissariat aux comptes](https://www.upsilon-consulting.com/commissariat-aux-comptes-au-maroc/)
- [NSE-MA - Approbation des comptes SARL](https://www.nse-ma.com/fr/approbation-des-comptes-annuels-dune-sarl-au-maroc/)
---
## 5. Fee Structures
**Confidence: MEDIUM-HIGH** (specific numbers are harder to verify; ranges are estimated from multiple sources and may vary significantly)
### Pricing Models
Three main models used by Moroccan fiduciary firms:
1. **Forfait mensuel** (Monthly flat fee) - Most common for ongoing accounting. Fixed amount per month covering standard services.
2. **Temps passe** (Time-based) - Hourly billing, more common for advisory/project work.
3. **Abonnement annuel** (Annual subscription) - Flat annual fee, sometimes with quarterly payments.
### Estimated Monthly Accounting Fees (Tenue de Comptabilite)
| Client Type | Monthly Fee Range | What's Typically Included |
|-------------|-------------------|--------------------------|
| Auto-entrepreneur | 500 - 1,500 DH | Basic declarations, quarterly CA declaration |
| SARL AU (no employees, low volume) | 1,000 - 2,000 DH | Saisie comptable, TVA, basic declarations |
| SARL (small, 1-5 employees) | 1,500 - 3,500 DH | Comptabilite, TVA, paie, CNSS |
| SARL (medium, 5-20 employees) | 3,000 - 6,000 DH | Full service including paie, fiscal, conseil |
| SA / Large companies | 5,000 - 15,000+ DH | Comprehensive service, reporting, conseil |
| Profession liberale | 1,500 - 4,000 DH | Comptabilite, declarations, conseil fiscal |
### One-Time Service Fees
| Service | Fee Range |
|---------|-----------|
| Creation SARL | 2,450 - 5,000 DH |
| Creation SA | 5,000 - 10,000 DH |
| Bilan annuel (if not in forfait) | 3,000 - 8,000 DH |
| Juridique annuel (AGO, PV) | 1,500 - 4,000 DH |
| Controle fiscal assistance | 800 - 2,000 DH/hour |
| Montage dossier financement | 2-5% of amount obtained |
| Audit d'acquisition | 10,000 - 50,000 DH |
### OEC Official Minimum Rate
The Ordre des Experts-Comptables has set a minimum average hourly rate of **500 DH HT** for audit missions (commissariat aux comptes), in effect since January 2020. The expert-comptable signataire must personally perform at least 10-15% of the budget-temps.
Sources:
- [EcoActu - Taux moyen horaire minimum 500 DH](https://ecoactu.ma/experts-comptables-le-taux-moyen-horaire-minimum-fixe-a-500-dh-ht/)
- [OEC Casablanca - Norme Budget-Temps](https://www.oec-casablanca.ma/img/uploads/NORME_BUDGET_TEMPS_HONORAIRE.pdf)
- [LEC.ma - Honoraires expert-comptable](https://www.lec.ma/en/honoraires-expert-comptable-casablanca)
- [AFC Conseil - Honoraires](https://www.afc-conseil.ma/honoraires)
- [Centre Chorfi - Tarifs & Packs](https://centre-chorfi.ma/tarifs-packs/)
---
## 6. Pain Points and Operational Challenges
**Confidence: HIGH** (consistently reported across industry sources)
### 1. Client Document Collection (Top Pain Point)
- Clients are **chronically late** delivering supporting documents (factures, releves bancaires, bons de caisse)
- Documents often arrive as **disorganized physical papers** or blurry WhatsApp photos
- Missing documents create cascading delays in saisie comptable and declarations
- Fiduciary staff spend significant time **chasing clients** for documents
- Some clients deliver all documents at year-end in bulk, making the bilan period extremely stressful
### 2. Tight Regulatory Deadlines
- TVA due by the 20th monthly; CNSS by the 10th; IS acomptes quarterly
- Missing deadlines results in **penalties and majoration** for the client, which damages the fiduciary's reputation
- Multiple clients with different deadlines create a constant crunch
### 3. Price Pressure and Competition
- Large number of unregulated fiduciary firms creates intense price competition
- Important distinction: "fiduciaire" is NOT a regulated term in Morocco (anyone can open one), while "expert-comptable" requires OEC membership
- Race to the bottom on fees, especially for small SARL and auto-entrepreneur clients
- Clients often switch firms for marginal price differences
### 4. Digitalization Gaps
- 83% of experts-comptables say digitalization forces them to invest quickly in new solutions
- Many smaller fiduciary firms still rely on **paper-based workflows** and manual data entry
- Tele-declaration (SIMPL-TVA, Damancom) is now mandatory, but internal processes remain manual
- Client resistance to digital tools (portals, online document sharing)
- Data security concerns when moving to cloud-based solutions
### 5. Unreliable Financial Information from Clients
- Many Moroccan companies provide **understated financial statements** and minimize reported revenue/profit
- This creates legal and ethical risks for the fiduciary
- DSO (Days Sales Outstanding) in Morocco averages 90-120 days, meaning clients also pay the fiduciary late
### 6. Seasonal Workload Imbalance
- Extreme concentration of work during bilan season (Jan-Mar for Dec 31 closings)
- AGO season (Jan-Jun) adds juridique annuel work
- Staff burnout is common during peak periods
- Difficult to maintain quality across all client dossiers simultaneously
### 7. Staff Recruitment and Retention
- Shortage of qualified collaborateurs comptables
- Junior staff require significant training
- High turnover when collaborateurs gain experience and either join industry or open their own fiduciary
### 8. Software Fragmentation
- Different software for comptabilite (Sage, JBS, EBP, CIEL), paie, fiscal declarations
- No single integrated platform for all fiduciary workflows
- Manual re-entry between systems
- Government portals (SIMPL, Damancom) not integrated with accounting software
Sources:
- [Revue ISG - Digitalisation experts-comptables](https://revue-isg.com/index.php/home/article/download/1240/1008/4351)
- [Allianz Trade - Morocco Collection Complexity](https://www.allianz-trade.com/en_global/economic-research/collection-complexity/morocco.html)
- [4Gestion Academy - Fiduciaire au Maroc](https://4gestionacademy.com/fiduciaire-au-maroc/)
---
## 7. Staff Roles and Team Structure
**Confidence: MEDIUM-HIGH** (based on French/Moroccan accounting profession standards; specific to Morocco staffing ratios are estimated)
### Typical Team Structure
#### Small Fiduciary (< 10 staff, majority of firms)
| Role | Count | Responsibilities |
|------|-------|-----------------|
| **Expert-Comptable / Gerant** | 1 | Firm owner. Signs reports, reviews bilans, handles key client relationships, strategic decisions. OEC member. |
| **Chef de Mission** | 1-2 | Manages a portfolio of clients. Supervises collaborateurs. Reviews work quality. Intermediate between expert-comptable and team. |
| **Collaborateur Comptable** | 3-5 | Handles day-to-day saisie comptable, rapprochement bancaire, preparation of declarations. Each manages a portfolio of 30-80 client dossiers. |
| **Assistant Comptable** | 1-2 | Junior role. Data entry, document classification, filing. Learning the trade. |
| **Secretaire / Accueil** | 1 | Client reception, phone, document intake, administrative tasks. |
#### Medium Cabinet (10-50 staff)
Adds:
- **Responsable Paie** - Dedicated payroll specialist
- **Responsable Juridique** - Handles corporate legal work (AGO, modifications statutaires)
- **Responsable Fiscal** - Tax specialist
- **Auditeurs** - For commissariat aux comptes missions
- Multiple chefs de mission, each with their team
#### Large Cabinet (50+ staff, Big 4 affiliates)
Full departmental structure with audit, tax, advisory, and accounting divisions.
### Salary Ranges (Monthly, Gross)
**Confidence: MEDIUM** (salaries vary significantly by city, firm size, and experience)
| Role | Monthly Salary Range |
|------|---------------------|
| Expert-Comptable (salaried, senior) | 20,000 - 25,000+ DH |
| Expert-Comptable (junior/early career) | 8,000 - 12,000 DH |
| Chef de Mission | 8,000 - 15,000 DH |
| Collaborateur Comptable (experienced) | 5,000 - 8,000 DH |
| Collaborateur Comptable (junior) | 3,500 - 5,000 DH |
| Assistant Comptable | 3,000 - 4,500 DH |
| Comptable (general average per Glassdoor) | ~6,238 DH |
Sources:
- [Glassdoor - Salaire Comptable Maroc](https://www.glassdoor.fr/Salaires/maroc-comptable-salaire-SRCH_IL.0,5_IN162_KO6,15.htm)
- [Efficience - Salaire Expert-Comptable Maroc](https://efficienceexpertise.com/en/salary-of-an-accountant-in-morocco/)
- [Guide-Metiers.ma - Expert Comptable](https://www.guide-metiers.ma/metier/expert-comptable/)
- [IGEFI - Chef de Mission](https://www.igefi.net/fiches-metiers/chef-de-mission-comptable)
- [Actual Talent - Chef de Mission](https://www.actual-talent.com/ressources/fiches-metiers/chef-mission-comptable)
---
## 8. Client Communication Patterns
**Confidence: MEDIUM** (limited direct data; inferred from firm websites, industry practice, and general Morocco business culture)
### Communication Channels (in order of prevalence)
1. **Phone calls** - Still the dominant channel. Clients call for questions, status updates, urgent matters.
2. **WhatsApp** - Extremely prevalent in Morocco for business communication. Used to send photos of documents, quick questions, reminders. Often the de facto communication tool between collaborateur and client.
3. **In-person visits** - Clients physically drop off documents at the fiduciary office. Common for small businesses. Some fiduciary firms send couriers or have clients drop off document envelopes monthly.
4. **Email** - Used for more formal communications, sending bilans, declarations, formal correspondence. Less used by small/informal clients.
5. **Client portals** - Emerging but low adoption. Modern firms like FITACOM, ComptaCom, and others offer online portals for document exchange and access to accounting data. Most clients prefer WhatsApp/phone over portals.
### Communication Frequency
| Client Type | Typical Frequency |
|-------------|-------------------|
| Active SARL/SA (with employees) | Weekly to bi-weekly contact |
| Small SARL AU (solo, low activity) | Monthly, mainly around declarations |
| Auto-entrepreneur | Quarterly (around CA declaration) |
| During bilan season | Daily contact with active clients |
| During creation | Daily until process complete |
### Key Communication Pain Points
1. **Responsiveness gap** - Clients expect instant answers (especially via WhatsApp) but fiduciary staff are managing 30-80 dossiers simultaneously
2. **Informal communication** - Critical information shared via WhatsApp voice notes or casual phone calls, not documented
3. **Document quality** - Photos of receipts sent via WhatsApp are often blurry, cropped, or illegible
4. **Lack of paper trail** - Verbal instructions without written confirmation lead to disputes
5. **Client financial literacy** - Many small business owners don't understand fiscal obligations, requiring repeated explanation
6. **Language mix** - Communication happens in a mix of Darija (Moroccan Arabic), French, and occasionally Standard Arabic, making standardized documentation challenging
Sources:
- [FITACOM](https://fitacom.ma/)
- [ComptaCom Maroc](https://comptacom.ma/)
- [4Gestion Academy - Fiduciaire au Maroc](https://4gestionacademy.com/fiduciaire-au-maroc/)
---
## 9. Software and Tools Landscape
**Confidence: HIGH**
### Accounting Software Used in Morocco
| Software | Market Position | Notes |
|----------|----------------|-------|
| **Sage 100 Comptabilite** | Market leader for PME | Most widely used by Moroccan SMEs and fiduciary firms |
| **Sage 50 (ex-CIEL)** | Popular for small firms | 100% compliant with Moroccan law |
| **JBS** | Strong local player | Moroccan-developed. Includes comptabilite generale, liasse fiscale, gestion des immobilisations, TVA declaration, teledeclarations |
| **EBP** | Growing presence | Edition Maroc available with bank reconciliation features |
| **Excel** | Still widely used | Many small fiduciary firms supplement or even rely primarily on spreadsheets |
### Government Platforms (Mandatory)
| Platform | Purpose |
|----------|---------|
| **SIMPL (Systeme Integre de la Taxation)** | TVA tele-declaration, IS, IR filing |
| **Damancom** | CNSS salary declarations and contribution payments |
| **DirectInfo (OMPIC)** | Certificat negatif requests, company name searches |
| **CRI portals** | Company creation registration |
Sources:
- [Sage Maroc](https://www.sage.com/en-us/)
- [Ciel Informatique Maroc](https://www.cielmaroc.ma/)
- [JBS Logiciels](http://www.jbs.ma/presentation.html)
- [EBP Support Maroc](https://support-ma.ebp.com/)
---
## 10. Regulatory Context
**Confidence: HIGH**
### Key Distinction: Expert-Comptable vs. Fiduciaire
- **Expert-Comptable**: Regulated profession. Requires state diploma (5 years study + 3 years professional internship), membership in the OEC (Ordre des Experts-Comptables). Has monopoly on audit/commissariat aux comptes services.
- **Comptable agree**: Certified accountant, less regulated than expert-comptable.
- **Fiduciaire**: NOT a regulated term. Any entity can call itself a fiduciaire. This creates a broad spectrum of quality in the market.
### Key Laws
- **Law 17-95**: Regulates Societes Anonymes (SA), including commissariat aux comptes
- **Law 5-96**: Regulates SARL, SNC, and other commercial companies
- **Code General des Impots**: Governs all tax obligations (IS, IR, TVA)
- **Code du Travail**: Governs employment law, relevant to payroll services
### Tele-declaration Mandate
All businesses (except forfaitaires) must file declarations and make payments electronically. This has been a major driver of modernization in fiduciary firms.
Sources:
- [OEC Maroc](https://oec.ma/)
- [Synergieexperts - Accounting Casablanca](https://synergieexperts.com/en/accounting-casablanca/)
- [Finances.gov.ma - Vos impots en bref](https://www.finances.gov.ma/fr/vous-orientez/Pages/vos-impots-en-bref.aspx)
---
## Key Takeaways for Product Development
Based on this research, the critical workflows and pain points that a software product for Moroccan fiduciary firms should address:
1. **Document collection automation** - The single biggest operational pain point. A system that streamlines client document submission (mobile-friendly, WhatsApp integration potential) would have immediate value.
2. **Deadline management** - Multiple overlapping deadlines (TVA by 20th, CNSS by 10th, IS quarterly, AGO within 6 months) across dozens of clients. Calendar/alert system is essential.
3. **Client portfolio management** - Each collaborateur manages 30-80 dossiers. Need dashboard view of all clients' status (documents received, declarations filed, payments pending).
4. **Multi-entity workflows** - Must handle SARL, SA, SNC, auto-entrepreneur, associations with their different obligations and declaration cycles.
5. **Integration with government platforms** - SIMPL-TVA, Damancom, OMPIC DirectInfo. Even if direct API integration isn't possible, workflow guidance and data preparation for these portals adds value.
6. **Paie module** - Payroll with CNSS/CIMR/AMO calculations, bulletin de paie generation, and Damancom export is a high-value feature.
7. **Juridique annuel tracking** - AGO preparation, PV generation, tracking of 6-month deadline for each client.
8. **Bilingual support** - French is the language of accounting in Morocco, but client communication often happens in Darija/Arabic.
9. **Mobile accessibility** - Given WhatsApp prevalence, a mobile-first approach for client-facing features would match existing behavior patterns.
10. **Pricing model alignment** - Software should support the forfait mensuel model that most fiduciary firms use, with ability to track one-time services separately.

View File

@@ -0,0 +1,345 @@
# Moroccan Fiduciary Ecosystem: Partners & Integrations Research
**Date:** 2026-03-10
---
## 1. Banking Ecosystem Partners
### Major Banks Fiduciaries Interact With
| Bank | Role in Fiduciary Ecosystem | Notes |
|------|---------------------------|-------|
| **Attijariwafa Bank** | Largest bank in Morocco (~$67B assets). Primary banking partner for many enterprises. DGI SIMPL payment partner. | Most fiduciaries manage client accounts here |
| **Banque Centrale Populaire (BCP)** | Second largest. DGI SIMPL partner. Strong SME network. | Regional presence via Banques Populaires Regionales |
| **Bank of Africa (ex-BMCE)** | Third largest. DGI SIMPL partner. Advanced in digital innovation. | International focus, Africa-wide operations |
| **CIH Bank** | Fast-growing (+7.9% annually). DGI SIMPL partner. Most advanced in digital innovation. | Originally housing-focused, now fully universal bank |
| **Credit du Maroc** | Growing at +10.3% annually. DGI SIMPL partner. | Subsidiary of Credit Agricole France |
| **Societe Generale Maroc** | DGI SIMPL partner. Strong corporate banking. | French parent provides int'l capabilities |
| **Credit Agricole du Maroc** | DGI SIMPL partner. Agricultural sector focus. | Key for rural enterprises |
| **Al Barid Bank** | DGI SIMPL/Fawatir payment partner. Financial inclusion. | Postal bank, widest physical network |
### Integration Points
1. **DGI SIMPL Tax Payments**: All major banks are connected to the DGI's SIMPL system for telepayment of IS, IR, and TVA. Fiduciaries file declarations via SIMPL and payments are debited from client bank accounts via banking authorization (form ADC940F/15I).
2. **Banking Authorization Forms**: To connect a company to SIMPL telepayment, fiduciaries must obtain form ADC920F/15I (adhesion to e-declaration/e-payment), ADC930F/15I (user creation), and ADC940F/15I (banking authorization -- 2 originals required).
3. **Account Opening**: Fiduciaries guide clients through account opening during company creation. Bank certificates are required for RC registration.
4. **Fawatir Operator**: Payment processing for tax obligations handled via the Fawatir network connected to banks.
**Sources:**
- [Les meilleures banques au Maroc](https://blog.fid-ec.com/2026/02/les-meilleures-banques-au-maroc-va.html)
- [SIMPL TVA Portal](https://mihfada.com/blog/simpl-tva/)
- [DGI SIMPL Portal](https://www.tax.gov.ma/wps/portal/DGI/Accueil)
- [Teledeclaration Fiscale Maroc](https://teledeclaration-maroc.blogspot.com/)
- [DGI Transformation Digitale - NSE](https://www.nse-ma.com/fr/transformation-digitale-de-la-dgi/)
---
## 2. Insurance & Pension Ecosystem
### CNSS (Caisse Nationale de Securite Sociale)
- **Role**: Mandatory social security. Fiduciaries handle CNSS declarations for all client employees.
- **Platform**: **DAMANCOM** -- online portal for salary e-filing (teledeclaration des salaires).
- **Integration**: EDI mode allows payroll software to generate formatted files for DAMANCOM. The process involves 5 phases: personnel file audit, reconciliation, preliminary data generation, revision/validation, and file production.
- **Delegation**: Companies can formally delegate DAMANCOM account management to a third-party declarant (fiduciary, accountant).
- **Mandatory for**: Companies with 50+ employees must use e-filing. Smaller companies may still file manually.
### CIMR (Caisse Interprofessionnelle Marocaine de Retraite)
- **Role**: Complementary (optional) retirement fund. Many employers subscribe for employee retention.
- **Platform**: CIMR teledeclaration portal at cimr.ma.
- **Integration**: Payroll software (e.g., OJRA) includes a CIMR e-filing module with automatic file generation from calculated payroll.
### Social Contribution Rates (2025)
| Contribution | Employer Rate | Employee Rate |
|-------------|--------------|---------------|
| CNSS (base) | 8.98% | 4.48% |
| AMO (health) | 4.11% | 2.26% |
| CIMR (optional) | Variable (3-6%) | Variable (3-6%) |
### Insurance Providers Fiduciaries Work With
| Insurer | Connection to Fiduciaries |
|---------|--------------------------|
| **Wafa Assurance** (Attijariwafa group) | Largest insurer. RC Pro, health insurance for client employees |
| **RMA** (Finance.com group) | Major insurer. Professional liability, group health plans |
| **CNIA Saada** (Saham group) | Auto, professional, health insurance products for SMEs |
| **Allianz Maroc** | International insurer. Group insurance products |
| **AXA Assurance Maroc** | Multi-line insurer. Common partner for enterprise insurance |
Fiduciaries interact with insurers by: managing insurance expense accounting, advising on mandatory insurance (RC Pro, accident du travail), processing claims documentation, and sometimes acting as intermediaries for group insurance plans.
**Sources:**
- [Charges Sociales Maroc 2025 Guide](https://comptable-tanger.com/blog/charges-sociales-maroc-2025-cnss-cimr-guide)
- [CNSS Maroc 2026](https://mafactu.com/cnss/)
- [DAMANCOM Teledeclaration CNSS - NSE](https://www.nse-ma.com/fr/damancom-teledeclaration-cnss-ebds/)
- [CIMR Teledeclaration](https://www.cimr.ma/univers-entreprise/enterprise-adherente/teledeclaration/)
- [CNSS Delegation to Third Party](https://www.cnss.ma/fr/content/comment-d%C3%A9l%C3%A9guer-la-gestion-de-mon-compte-damancom-%C3%A0-un-tiers-d%C3%A9clarant)
- [Fiduciaire Talbi - DAMANCOM](https://fidutalbi.ma/damancom-cnss/)
---
## 3. Legal & Administrative Entities
### OMPIC (Office Marocain de la Propriete Industrielle et Commerciale)
- **Role**: Manages the Central Commercial Register (RCC), business name reservations (certificat negatif), and trademark registration.
- **Platform**: **DirectEntreprise** (directentreprise.ma) -- unified electronic business creation platform.
- **Key milestone**: Generalized nationwide in March 2025. Over 12,000 companies created electronically, 2,400+ professionals registered.
- **Professional access**: Pilot launched February 2023 in Rabat for notaries, lawyers, chartered accountants, and certified accountants. Extended to major cities in 2024, then nationwide.
- **Legal framework**: Laws 87.17, 88.17, and 89.17 enable electronic company creation.
- **Services**: The platform acts as a single interface for OMPIC, Ministry of Justice (courts/RC), Official Printing Office, DGI, and CNSS.
### CRI (Centre Regional d'Investissement)
- **Role**: Regional investment centers that serve as a one-stop shop for business creation. Represent OMPIC locally for obtaining certificats negatifs.
- **Interaction**: Fiduciaries accompany clients to CRI for company formation, modification, and dissolution procedures. CRI coordinates between multiple administrations.
### Notaires
- **Role**: Draft company statutes as notarial acts (required for SA and some SAS forms). Handle property transactions, capital contributions in kind.
- **Interaction**: Fiduciaries and notaires work in tandem -- fiduciaries handle accounting/tax, notaires handle legal formalities. Both are registered on the OMPIC DirectEntreprise platform.
- **Digital**: Notaires now registered on OMPIC electronic platform for online company creation.
### Tribunaux de Commerce (Commercial Courts)
- **Role**: Maintain local commercial registers (registre de commerce local). Handle RC inscriptions, modifications, radiations.
- **Platform**: servicesenligne.justice.gov.ma for online registry services.
- **Integration with OMPIC**: Local registers feed into the Central Register managed by OMPIC.
- **Fiduciary interaction**: Filing annual accounts, modifications to statutes, registering new establishments.
- **DirectInfo** (directinfo.ma): Public access to company information from the commercial register.
### DGI (Direction Generale des Impots)
- **Platform**: SIMPL (Systeme Informatise de Liaison avec les Professions)
- SIMPL-IS: Corporate tax declarations
- SIMPL-IR: Income tax declarations
- SIMPL-TVA: VAT declarations
- Etat 9421: Annual salary declarations
- **Tools**: eSimplx by third parties enables EDI XML file generation for SIMPL compliance.
- **Proxy system**: Fiduciaries can be designated as official proxies to handle all tax filings.
**Sources:**
- [OMPIC Electronic Platform Generalization](http://www.ompic.ma/fr/actualites/ompic-generalisation-de-la-plateforme-de-creation-dentreprises-par-voie-electronique-sur)
- [Medias24 - Platform Generalized](https://medias24.com/2025/03/14/la-plateforme-de-creation-dentreprises-en-ligne-enfin-generalisee/)
- [OMPIC - Creation et Vie de l'Entreprise](http://www.ompic.ma/fr/content/creation-et-vie-de-lentreprise)
- [Creation d'Entreprise 2025 - Fido](https://fido.ma/fr/guide/creation-dentreprise-2025-au-maroc/)
- [Etapes Creation Entreprise 2026 - AMDE](https://amde.ma/les-etapes-de-la-creation-dentreprise-au-maroc/)
- [DirectInfo - OMPIC](https://www.directinfo.ma/)
- [eSimplx Platform](http://www.esimplx.com/)
---
## 4. Technology Vendors
### Accounting & ERP Software
#### Sage Maroc
- **Products**: Sage 50 (TPE), Sage 100 Comptabilite (PME), Sage 100 Entreprise, Sage Generation Experts Connect (for accountants).
- **Sage Generation Experts Connect**: Dedicated platform for expert-comptables to manage client files, produce balance sheets, monitor tax/social obligations.
- **Sage 50**: Positioned for fiduciary clients with basic/moderate management needs.
- **Reseller network**:
- **M2ASOFT**: Certified Sage integrator, 200+ clients, 12 years experience. Integrates Sage for accounting firms.
- **MS.MA**: Official Sage partner for SMEs/ETIs, digitalization specialist.
- **CR&SG (Casablanca)**: Sage reseller offering modular accounting solutions.
- **Omegasoft**: Sage products distributor.
- **Partner search**: sage.com/fr-ma/trouvez-un-partenaire-sage/
#### JBS Informatique
- **Products**: Compta JBS (one of the most used accounting software in Morocco), JBS Paie, GestCom JBS.
- **Key features**: Developed with collaboration of expert-comptables. Moroccan legislation compliant. Liasse fiscale, TVA declarations, XML generation for SIMPL, immobilisations management.
- **Pack Compta + XML**: No manual entry needed, one-click liasse generation in XML format.
- **Target**: Primarily fiduciaries and SMEs. Very popular in traditional fiduciary market.
- **Website**: jbs.ma
#### NSE Maroc (OJRA & KHABIR)
- **Products**: OJRA (payroll -- most widely used in Morocco), KHABIR (accounting).
- **Integration**: OJRA interfaces with DGI SIMPL for tax declarations and DAMANCOM for CNSS filings. Special pricing for fiduciaries and certified accountants.
- **Partners**: FIDUBAC, Fiduciaire Benyacoub, Fiduciaire El Bakkouri, Fiduciaire Lamkadem, Fiduciaire Wislane.
- **Version 2026**: Updated for latest Labor Code and Finance Law provisions.
- **Website**: nse-ma.com
#### Cegid
- **Position**: French-origin, strong in mid/large enterprises. Cloud-based business management (ERP, payroll, finance, tax, retail).
- **Strengths**: Multi-establishment, multi-currency management. Growing cloud/SaaS adoption.
- **Morocco presence**: Through resellers and partners, less direct than Sage.
#### EBP Maroc
- **Products**: Accounting, commercial management, construction industry solutions.
- **Website**: ebp-maroc.com
- **Target**: TPE/PME segment.
### Cloud/SaaS Entrants
| Platform | Description | Target |
|----------|-------------|--------|
| **Hisab.ma** | Leading Moroccan e-invoicing platform. DGI 2026 compliance ready. UBL 2.1 export, SHA-256 archiving. Multi-client dashboard for accountants. | SMEs, fiduciaries preparing for e-invoicing mandate |
| **eFacturation.ma** | SaaS invoicing solution for Morocco | SMEs |
| **Facturis.ma** | Online invoicing software | SMEs, auto-entrepreneurs |
| **JBManager** (by JBS) | First online invoicing software for TPE-PME in Morocco | TPE-PME, extension of JBS ecosystem |
| **Paie365.com** | Online payroll solution with CNSS DAMANCOM and SIMPL-IR integration | SMEs, fiduciaries |
| **Beegma** (paie.beegma.com) | Cloud payroll software with DAMANCOM integration | SMEs |
| **Webisoft Maroc** | Cloud payroll with DAMANCOM integration | SMEs |
| **ETManager** | Enterprise management solution preparing for e-invoicing | SMEs |
| **Smart Way Africa** | SIMPL IS, TVA, IR teledeclaration services | Fiduciaries, enterprises |
**Sources:**
- [Sage Maroc - Expert Comptable](https://www.sage.com/fr-ma/experts-comptables/logiciels-clients/)
- [Sage 100 Comptabilite](https://www.sage.com/fr-ma/produits/sage-100/comptabilite/)
- [M2ASOFT - Sage Integrator](https://m2asoft.com/)
- [CR&SG Maroc](https://www.crsgmaroc.ma/comptabilite.html)
- [JBS Presentation](http://www.jbs.ma/presentation.html)
- [JBS Compta](http://www.jbs.ma/compta.html)
- [NSE OJRA 2026](https://www.nse-ma.com/fr/logiciel-de-paie-ojra-nouveautes-version-2026)
- [NSE Partners](https://www.nse-ma.com/fr/nos-partenaires/)
- [Hisab.ma](https://hisab.ma/en)
- [Comparatif Logiciels Comptabilite 2026](https://logicielcomptable.net/comparatif-meilleurs-logiciels-comptables/)
---
## 5. xHub and GovTech
### xHub
- **Founded**: 2015 by **Badr El Houari** (world Java champion).
- **Location**: Casablanca Technopark.
- **Role**: Selected by the DGI in July 2024 via international competitive bidding to develop Morocco's national e-invoicing platform.
- **Contract value**: 6.3 million MAD (~600,000 EUR), 12-month execution period.
- **Scope**: Development of functional/technical specifications, design, implementation, and gradual deployment of the e-invoicing system.
- **Technical architecture**:
- **Microservices** architecture built with **Java EE**.
- Standard formats: **UBL** (Universal Business Language) and **CII** (Cross-Industry Invoice) for international interoperability.
- **Clearance model**: Each e-invoice is validated/approved by the DGI before reaching the recipient. Ensures traceability and tax control.
- **Timeline**: System technically finalized by October 2025. Pilot phase in 2026. Progressive generalization thereafter.
### Morocco E-Invoicing Mandate (2026)
- **Legal basis**: Finance Law provisions mandating electronic invoicing.
- **Phased rollout**: Starting 2026, likely large enterprises first, then progressive extension to SMEs.
- **Impact on fiduciaries**: Fiduciaries will need to ensure all clients can generate/receive compliant e-invoices. Creates new advisory and compliance service opportunities.
### Other GovTech Players / Initiatives
| Entity/Platform | Role |
|----------------|------|
| **DGI SIMPL ecosystem** | Already operational for tax e-filing (IS, IR, TVA). Foundation for e-invoicing integration. |
| **OMPIC DirectEntreprise** | Electronic business creation platform, integrated with DGI, CNSS, courts, Official Printing Office. |
| **CNSS DAMANCOM** | Electronic social security declarations portal. |
| **CIMR Teledeclaration** | Electronic pension fund declarations. |
| **Ministry of Justice - servicesenligne.justice.gov.ma** | Online commercial registry services. |
| **Chorus Pro** (French reference model) | Morocco's e-invoicing is architecturally similar to France's Chorus Pro. The French Communaute Chorus Pro has documented Morocco's approach. |
**Sources:**
- [TelQuel - Big Bang Facturation Electronique 2026](https://telquel.ma/2024/12/05/2026-lannee-du-big-bang-de-la-facturation-electronique-au-maroc_1907224)
- [EDICOM - Morocco E-Invoicing](https://edicomgroup.com/blog/morocco-electronic-invoicing)
- [Hisab - DGI Mandate 2026](https://hisab.ma/en/docs/mandate-2026)
- [Pagero - Morocco Compliance](https://www.pagero.com/compliance/regulatory-updates/morocco)
- [Orchidatax - E-Invoicing Morocco 2026](https://orchidatax.com/e-invoicing-morocco-2026-tax-compliance/)
- [SAPeInvoice - Morocco DGI Initiative](https://www.sapeinvoice.com/2025/09/09/morocco-e-invoicing-initiative-2026/)
- [Efficience Expertise - Facturation Electronique](https://efficienceexpertise.com/facturation-electronique-maroc-2026/)
- [Sage Advice Maroc - Facturation Electronique Guide](https://www.sage.com/fr-ma/blog/facturation-electronique-le-guide-pour-dematerialiser-vos-factures/)
- [Communaute Chorus Pro - Morocco](https://communaute.chorus-pro.gouv.fr/maroc-cap-sur-la-facturation-electronique/?lang=en)
---
## 6. Training & Education
### ISCAE (Institut Superieur de Commerce et d'Administration des Entreprises)
- **Program**: Cycle d'Expertise Comptable (CEC) -- the only path to becoming an Expert-Comptable in Morocco.
- **Duration**: 3 years of theoretical courses + 3-year mandatory internship under a master supervisor (practicing Expert-Comptable).
- **Admission**: Competitive entrance exam covering: general/analytical accounting, business/tax law, management, expression/communication.
- **Eligible diplomas**: ISCAE diploma, Bachelor in economics (management option), ENCG diploma, French DECS, or equivalent.
- **2025-2026**: Registration was open July 31 - September 19, 2025.
- **Reform needed**: OEC president Faical Mekouar stated in November 2025: "Il est temps de repenser la formation de l'expert-comptable" (It is time to rethink the training of the expert-comptable).
### ENCG (Ecole Nationale de Commerce et de Gestion)
- **Network**: Multiple campuses -- Casablanca, Fes, Settat, Marrakech, El Jadida, Agadir, Kenitra, Oujda, etc.
- **Key program**: Master Specialise en Comptabilite, Controle et Audit (CCA) -- bac+5 level.
- **Objective**: Form high-level professionals for accounting departments, audit firms, and consulting firms.
- **Career paths**: Expertise comptable (via ISCAE CEC after), auditing, management control, finance.
- **ENCG Casablanca**: Offers "Comptabilite, Controle de Gestion et Audit" master.
- **ENCG Settat, Fes, Marrakech**: Each offer CCA masters with similar curricula.
- **ENCG diploma holders** are eligible to sit for the ISCAE CEC entrance exam.
### OEC (Ordre des Experts-Comptables)
- **Structure**: National order with regional councils (Casablanca, Rabat-Sale-Kenitra, Souss-Massa/Agadir, etc.).
- **Continuing education**: The Institut de Formation de l'OEC produces an annual training program covering diverse topics for members, professionals, and corporate financial executives.
- **Activities**: Colloquia, seminars, professional development workshops. Annual congress.
- **Stagiaires**: OEC manages the internship program for CEC students, tracking progress through regional councils (e.g., oec-casablanca.ma/espace-stagiaires).
- **Becoming an Expert**: Requires ISCAE CEC diploma + 3-year supervised internship + final exam/thesis defense.
- **Website**: oec.ma
### 4Gestion Academy
- **Type**: Practical training center and licensed accounting firm (cabinet comptable agree).
- **Location**: Boulevard Mohammed V, Rue Pierre Parent No. 96, 3eme Etage APT 31, Casablanca 20000. Phone: +212 664-481924.
- **Specialization**: Practical training in accounting, management, taxation, and payroll management.
- **Programs offered**:
- Formation Aide Comptable (Assistant Accountant)
- Formation Comptable (Accountant)
- Formation Gestionnaire de Paie (Payroll Manager)
- Plan Comptable Marocain video courses
- **Format**: Online courses accessible anywhere, self-paced. Also in-person at Casablanca location.
- **Target audience**: Aspiring accountants, career changers, fiduciary staff needing practical skills. Bridges gap between academic theory and fiduciary practice.
- **Website**: 4gestionacademy.com
### Other Training Institutions
| Institution | Program | Relevance |
|------------|---------|-----------|
| **ATAcademy** (atacademy.ma) | Formation Preparatoire Expert-Comptable | Prep courses for ISCAE CEC entrance exam |
| **HEEC** (Hautes Etudes Economiques et Commerciales) | Master CCA | Private alternative for CCA training |
| **My Road to ISCAE** (myroadtoiscae.ma) | ISCAE preparation resources | Community/prep resource for aspiring experts |
| **UCA ENCG** (Universite Cadi Ayyad) | Diplome ENCG Audit et Controle de Gestion | Undergraduate pathway |
**Sources:**
- [ISCAE Cycle Expertise Comptable](https://www.groupeiscae.ma/programmes-2/formations-academiques/cycle-dexpertise-comptable/)
- [ISCAE CEC 2025-2026 Concours](https://www.supmaroc.com/iscae-concours-cycle-expertise-comptable-2025-2026/)
- [Medias24 - Mekouar on Expert Formation](https://medias24.com/2025/11/14/faical-mekouar-il-est-temps-de-repenser-la-formation-de-lexpert-comptable/)
- [OEC Maroc](https://oec.ma/)
- [OEC Formation Programme](https://www.oec.ma/le-programme-annuel-des-formations)
- [OEC Souss-Massa - Devenir Expert](https://www.oec-soussmassa.ma/devenir-expert/)
- [OEC Rabat - Formation Professionnelle](https://oecrsk.ma/formation-professionnelle/)
- [4Gestion Academy](https://4gestionacademy.com/)
- [4Gestion Formations Pratiques](https://4gestionacademy.com/formations-pratiques/)
- [ENCG Casablanca - Master CCA](https://encgcasa.ma/formation/masters-sp%C3%A9cialis%C3%A9s/comptabilit%C3%A9-contr%C3%B4le-de-gestion-et-audit/)
- [ENCG Fes - Master CCA](https://www.mba.ma/liste-des-masters-au-maroc/6411-master-comptabilite-controle-et-audit-cca-encg-fes-master-mba/)
- [ATAcademy](https://atacademy.ma/)
---
## Ecosystem Map Summary
```
┌─────────────────────────┐
│ FIDUCIAIRE / EC │
│ (Accounting Firm) │
└────────┬────────────────┘
┌─────────────┬───────────┼───────────┬──────────────┐
│ │ │ │ │
┌────▼────┐ ┌─────▼────┐ ┌───▼───┐ ┌────▼─────┐ ┌─────▼─────┐
│ BANKING │ │ SOCIAL │ │ TAX │ │ LEGAL │ │ TECH │
│ │ │ SECURITY │ │ (DGI) │ │ & ADMIN │ │ VENDORS │
└────┬────┘ └────┬─────┘ └───┬───┘ └────┬─────┘ └─────┬─────┘
│ │ │ │ │
Attijariwafa CNSS/DAMANCOM SIMPL OMPIC/ Sage
BCP CIMR (IS/IR/ DirectEntr. JBS
BOA/BMCE AMO TVA) CRI NSE/OJRA
CIH Insurers E-Invoice Notaires Cegid
SG Maroc (xHub) Tribunaux Hisab.ma
CAM Cloud SaaS
```
### Key Takeaways for Product Strategy
1. **Banking integration** is primarily via DGI SIMPL telepayment -- not direct bank APIs. Opportunity exists for bank statement import/reconciliation features.
2. **CNSS DAMANCOM** and **CIMR teledeclaration** are critical integrations. NSE's OJRA dominates payroll; any competitor must offer EDI DAMANCOM export.
3. **OMPIC DirectEntreprise** is the new standard for company creation -- fiduciaries are already registered as professionals on this platform.
4. **xHub's e-invoicing platform** (clearance model, UBL/CII formats) launching in 2026 will be the single biggest disruption. Every fiduciary and their clients will need to comply.
5. **JBS and NSE** dominate the traditional fiduciary software market. Sage has strong brand but serves larger firms. Cloud/SaaS entrants (Hisab, Beegma, Paie365) are emerging.
6. **Training pipeline**: ISCAE CEC is the only path to Expert-Comptable. ENCG CCA masters feed the pipeline. 4Gestion Academy fills the practical skills gap. OEC continuing education keeps professionals current.

View File

@@ -0,0 +1,767 @@
---
stepsCompleted: [1, 2, 3, 4, 5]
inputDocuments: []
workflowType: 'research'
lastStep: 1
research_type: 'market'
research_topic: 'Competitive landscape for fiduciary/accounting firm management SaaS in Morocco'
research_goals: 'Identify competitors serving the Moroccan fiduciary market, analyze gaps in their offerings, and inform pricing strategy for L''Ami Fiduciaire'
user_name: 'Saad'
date: '2026-03-10'
web_research_enabled: true
source_verification: true
---
# Market Research: Competitive Landscape for Fiduciary/Accounting SaaS in Morocco
## Research Initialization
### Research Understanding Confirmed
**Topic**: Competitive landscape for fiduciary/accounting firm management SaaS in Morocco
**Goals**: Identify competitors, analyze gaps in their offerings, and inform pricing strategy
**Research Type**: Market Research
**Date**: 2026-03-10
### Research Scope
**Market Analysis Focus Areas:**
- Who serves Moroccan fiduciary/accounting firms today (SaaS tools, desktop software, local players, international entrants)
- Feature comparison and gap analysis vs. L'Ami Fiduciaire's capabilities
- Pricing models and tiers across competitors
- Customer pain points and unmet needs in the current market
- Strategic positioning recommendations for L'Ami Fiduciaire
**Research Methodology:**
- Current web data with source verification
- Multiple independent sources for critical claims
- Confidence level assessment for uncertain data
- Comprehensive coverage with no critical gaps
### Next Steps
**Research Workflow:**
1. ✅ Initialization and scope setting (current step)
2. Customer Insights and Behavior Analysis
3. Competitive Landscape Analysis
4. Strategic Synthesis and Recommendations
**Research Status**: Scope confirmed by user on 2026-03-10, ready to proceed with detailed market analysis
---
## Customer Behavior and Segments
### Market Size and Demographics
The Moroccan fiduciary/accounting market consists of distinct professional tiers:
- **Experts-Comptables (OEC-registered):** ~766 members inscribed at the Ordre des Experts Comptables (OEC) as of 2023, up 3% from 747 in 2022. These are the elite, diploma-holding professionals.
- **Fiduciaires (non-OEC cabinets):** Thousands of smaller fiduciary firms operate across Morocco without OEC membership. These handle day-to-day bookkeeping, tax declarations, and company formation for TPE/PME clients.
- **Total market estimate:** Between 3,0005,000+ active fiduciary practices and accounting cabinets when including non-OEC firms (confidence: moderate — exact figures unavailable for non-OEC segment).
_Source: [OEC Maroc Annuaire](https://oec.ma/annuaire), [Industrie comptable au Maroc — Revue ISG](https://revue-isg.com/index.php/home/article/download/1792/1416/6286), [La profession de l'expertise-comptable au Maroc](https://journal-efm.fr/index.php/JEFM/article/download/63/37/100)_
### Geographic Concentration
The profession is heavily concentrated on the Atlantic economic axis:
| Region | Share of Experts-Comptables |
|--------|---------------------------|
| Casablanca & Centre | 70% |
| Rabat-Salé-Kénitra | 16% |
| Tanger-Tétouan | 5% |
| Fès-Meknès | 4% |
| Souss-Massa & South | 3% |
| Marrakech-Safi | 3% |
**Key insight:** 85% of experts-comptables are concentrated in the KénitraRabatCasablanca corridor. This means the primary market for L'Ami Fiduciaire is geographically compact, making sales/marketing outreach more focused.
_Source: [Industrie comptable au Maroc — Revue ISG](https://revue-isg.com/index.php/home/article/download/1792/1416/6286)_
### Demographic Profiles
**Age and Gender:**
- 84% male (642), 16% female (124) among OEC members
- 62%+ are over 45 years old — a significant aging workforce
- The younger generation (under 35) is more tech-receptive but represents a minority
**Firm Size Distribution:**
- Most fiduciaires are small operations: 1 owner + 25 employees (assistants comptables)
- Larger OEC-registered cabinets may have 1030+ staff
- Big Four (Deloitte, PwC, EY, KPMG) dominate ~70% of the large-enterprise audit market but do NOT serve the TPE/PME fiduciary segment
_Source: [Les limites du système — LesEco.ma](https://leseco.ma/maroc/experts-comptables-les-limites-du-systeme-au-maroc.html), [OEC Maroc Structure](https://oec.ma/structure)_
### Customer Behavior Patterns
**Current Tool Usage:**
Most Moroccan fiduciaires rely on legacy desktop software:
- **Sage (dominant)** — the market leader in Morocco, used across small to large firms
- **CIEL Compta** — popular for its simplicity, especially among smaller cabinets
- **EBP Compta** — strong in financial reporting and immobilisations
- **Cegid** — used by mid-to-large firms, strong regulatory compliance
- **ExpertC** — specifically designed for cabinets d'expertise comptable
- **Excel/manual processes** — still widely used alongside or instead of dedicated software
_Source: [Les logiciels comptables les plus utilisés au Maroc — ExpertC](https://www.expertc.ma/Posts/post/logiciels-comptables-plus-utilises-maroc), [Sage Maroc](https://www.sage.com/fr-ma/experts-comptables/logiciels-clients/)_
**Cloud Adoption — Emerging but Early:**
- **Sahih** — Moroccan cloud-native accounting platform (AWS-hosted), targeting modern firms
- **Bleez** — full web accounting suite with AI features, targeting Moroccan professionals and SMEs
- **ComptaCom** — online accounting with invoicing, storage, and tax declaration features
- **Banqup** — collaborative platform digitizing document exchange between firms and clients
- Cloud adoption is accelerating but still represents a minority of the market
_Source: [Sahih](https://sahih.ma/), [Bleez Maroc](https://bleez.com/fr-tn/), [ComptaCom Maroc](https://comptacom.ma/), [Banqup Maroc](https://www.banqup.ma/comptables/fonctionnalites/digitalisation)_
### Psychographic Profiles
**Segment 1: The Traditional Practitioner (majority — est. 6070%)**
- Age 45+, established practice, loyal to Sage/CIEL
- Prioritizes stability and compliance over innovation
- "If it works, don't change it" mindset
- Biggest fear: losing data, breaking workflows
- Will only switch tools if forced by regulation (e.g., DGI e-invoicing)
**Segment 2: The Modernizing Firm Owner (est. 2025%)**
- Age 3550, growing firm, hiring junior staff
- Sees technology as competitive advantage
- Interested in client portals, collaboration tools, document management
- Willing to pay for time savings and professional image
- **This is L'Ami Fiduciaire's primary target segment**
**Segment 3: The Young Digital-Native (est. 1015%)**
- Under 35, recently started or freelancing
- Cloud-first mindset, comfortable with SaaS
- Price-sensitive but values modern UX
- Active on social media, influenced by peer recommendations
- Open to trying new tools, lower switching costs
### Behavior Drivers and Influences
**What drives tool adoption in Moroccan fiduciaires:**
| Driver | Weight | Detail |
|--------|--------|--------|
| **DGI regulatory pressure** | Very High | E-invoicing mandates, certified software requirements, digital tax declarations — this is the #1 forcing function |
| **Time savings** | High | Automation of repetitive tasks (declarations, client notifications) |
| **Client expectations** | Medium-High | Clients increasingly expect digital document exchange |
| **Peer influence** | Medium | Word-of-mouth within the professional community |
| **Cost** | Medium | Price-sensitive but willing to invest if ROI is clear |
| **Compliance/certification** | High | Software must be DGI-certified — non-negotiable |
| **French language** | Critical | Interface must be in French — no exceptions |
_Source: [Sage Advice Maroc — Digitalisation](https://www.sage.com/fr-ma/blog/digitalisation-impacts-expert-comptable/), [Transformation digitale de la profession comptable — Revue ISG](https://revue-isg.com/index.php/home/article/download/1240/1008/4351), [Plan comptable marocain 2025-2026 — Efficience](https://efficienceexpertise.com/plan-comptable-marocain-2025-2026-7-changements-a-appliquer-durgence/)_
### Customer Interaction Patterns
**Research and Discovery:**
- Primarily word-of-mouth and professional network recommendations
- OEC events and conferences
- Sage reseller network is deeply embedded in the market
- Limited online research — most firms rely on their existing IT provider/reseller
**Purchase Decision Process:**
- Long decision cycles (312 months) for established firms
- Key decision maker: firm owner/manager (solo decision in small firms)
- Demo/trial is essential — firms need to see their specific workflow supported
- Migration assistance is a deal-breaker — data import from Sage/CIEL is critical
**Post-Purchase / Loyalty:**
- Extremely high switching costs (data, training, habits)
- Once adopted, firms stay for 510+ years
- Support quality (in French, local timezone) drives retention
- Firms that switch typically do so during a generational transition or growth phase
---
## Customer Pain Points and Needs
### Customer Challenges and Frustrations
**1. Document Exchange Chaos**
The #1 operational pain point for Moroccan fiduciaires is the manual, fragmented document exchange with clients. Firms rely on a mix of WhatsApp, email, USB drives, and in-person delivery. This results in:
- Dispersed documents across multiple channels with no single source of truth
- Endless follow-ups to collect missing pieces (tax receipts, invoices, bank statements)
- Lost or duplicated documents leading to accounting errors
- No audit trail of what was received, when, and from whom
_"Chaque retard de remise des pièces désorganise le travail du cabinet et augmente les coûts"_
_Source: [Dossier Fiduciaire Cloud](https://dossierfiduciaire.cloud/), [ComptaCom Maroc](https://comptacom.ma/)_
**2. Deadline Management and Tax Declaration Tracking**
Moroccan tax deadlines are strict (TVA monthly/quarterly, IS, IR, CNSS) and penalties are severe:
- Without a shared calendar and validation workflow, firms lose time and multiply errors
- A missed CNSS or IS deadline exposes the firm AND client to penalties and audits
- Tracking which declarations are done, pending, or late across dozens of clients is largely manual (Excel spreadsheets or mental tracking)
- No automated reminder system to nudge clients for documents before deadlines
_Source: [AMDE — Cabinet Comptabilité Marrakech](https://amde-marrakech.ma/cabinet-de-comptabilite-marrakech/), [Comment choisir un cabinet comptable — Maison Entrepreneur](https://maison-entrepreneur.com/choisir-un-cabinet-de-comptabilite-a-casablanca/)_
**3. Legacy Software Limitations**
The dominant tools (Sage, CIEL, EBP) are powerful for accounting entry but weak on practice management:
- **Desktop-only / mono-poste**: Sage 100 Comptabilité starts at ~€1,400/license for single-user Windows. Multi-user (network) costs significantly more. No cloud access, no remote work capability.
- **No client-facing features**: Zero client portals, no document exchange, no notification system
- **No collaboration**: Firm owner cannot see what employees are working on in real-time
- **No dossier/folder management**: These tools handle accounting entries but NOT the workflow around client dossiers (status, priority, assignment, follow-up)
- **Migration lock-in**: Years of data trapped in proprietary formats make switching painful
_Source: [Sage Maroc — Sage 100 Comptabilité](https://www.sage.com/fr-ma/produits/sage-100/comptabilite/), [Prix Sage Comptabilité 2026 — Apogea](https://www.apogea.fr/sage-comptabilite-prix/), [Les logiciels comptables les plus utilisés au Maroc — ExpertC](https://www.expertc.ma/Posts/post/logiciels-comptables-plus-utilises-maroc)_
**4. Training and Skills Gap**
- 47% of Moroccan accounting firms have NO continuous training policy for their employees
- Staff must constantly adapt to regulatory changes (FEC, new plan comptable, IFRS harmonization) with inadequate support
- Younger hires are more tech-savvy but the tools they're given are outdated
_Source: [Industrie comptable au Maroc — Revue ISG](https://revue-isg.com/index.php/home/article/download/1792/1416/6286), [La profession comptable face aux nouveaux défis — EcoActu](https://ecoactu.ma/profession-comptable-face-aux-nouveaux-defis/)_
### Unmet Customer Needs
| Unmet Need | Current Workaround | Opportunity for L'Ami Fiduciaire |
|------------|-------------------|----------------------------------|
| **Centralized client document exchange** | WhatsApp/email/USB | Client portal with secure upload, automatic notifications |
| **Declaration deadline tracking** | Excel spreadsheet or memory | Dashboard with status tracking, priority alerts, deadline reminders |
| **Client dossier workflow management** | Paper folders or basic file system | Digital folder system with status, assignment, priority, timeline |
| **Team workload visibility** | Ask each employee verbally | Role-based dashboards showing who's doing what |
| **Bulk operations for recurring declarations** | Create one by one manually | Bulk declaration creation across multiple clients |
| **Archive and institutional memory** | Physical filing cabinets | Digital archive with search, filters, 10-year retention |
| **Client self-service** | Client calls/visits the office | Portal for upload, confirmation, refusal — no account needed |
| **Real-time collaboration** | Pass physical files between desks | Cloud-based, multi-user, real-time updates |
### Barriers to Adoption
**Price Barriers:**
- Sage 100 single-user: ~€1,400 + annual maintenance (~€300500/year)
- Multi-user network licenses: 2x5x the base price
- Small fiduciaires (13 people) find this expensive for limited functionality
- SaaS subscription model is unfamiliar but potentially more accessible at lower monthly costs
**Technical Barriers:**
- No IT staff in small firms — the owner IS the IT department
- Fear of data loss during migration from Sage/CIEL
- Unreliable internet in some regions outside CasablancaRabat axis
- Desktop habits deeply ingrained — "I know where my files are on my C: drive"
**Trust Barriers:**
- Moroccan firms tend to trust foreign vendors (Sage, Cegid) over local SaaS — perception of "less competent or trusted"
- Data sovereignty concerns: where is my data stored?
- Skepticism toward cloud: "what if the server goes down and I can't access my clients' data?"
**Change Resistance:**
- 62% of the profession is over 45 — generational resistance to new workflows
- "We've always done it this way" inertia
- Fear of being seen as incompetent during the learning curve
_Source: [MGI Worldwide — Moroccan firms in unfamiliar territory](https://www.mgiworld.com/resource/rapid-change-leaves-moroccan-firms-in-unfamiliar-territory.html), [Enablers and barriers for adopting new technology — ScienceDirect](https://www.sciencedirect.com/science/article/pii/S1467089523000581), [Barriers to cloud accounting — IJAEMS](https://ijaems.com/upload_images/issue_files/7IJAEMS-11020247-Barriers.pdf)_
### Service and Support Pain Points
- **Sage reseller support**: expensive annual contracts, slow response times, French phone support but limited local on-site help
- **No onboarding assistance**: firms are expected to figure out software themselves or pay for costly training sessions
- **Language gap**: international tools sometimes have incomplete French localization or no Arabic support
- **Update fatigue**: regulatory changes (new plan comptable 2025-2026, FEC requirements) require software updates that are slow to arrive from foreign vendors
_Source: [Comptabilité informatisée — LesEco.ma](https://leseco.ma/maroc/comptabilite-informatisee-les-experts-comptables-veulent-relever-le-defi.html), [Logiciels comptabilité Maroc — CNC cahier des charges](https://www.cielmaroc.ma/actualites/logiciels-comptabilite-maroc-regles-cnc)_
### Pain Point Prioritization
| Priority | Pain Point | Impact | L'Ami Fiduciaire Advantage |
|----------|-----------|--------|---------------------------|
| **Critical** | No client document exchange platform | Daily frustration, errors, wasted time | Client portal already built — core feature |
| **Critical** | No declaration/dossier tracking system | Missed deadlines = penalties | Folder system with status, priority, alerts |
| **High** | Desktop-only legacy tools — no remote access | Can't work from home, no collaboration | Cloud-native SaaS, multi-user |
| **High** | No team workload visibility | Firm owner blind to employee progress | Role-based dashboards (planned) |
| **High** | Expensive licensing (Sage) | Budget pressure on small firms | SaaS subscription — predictable, lower entry |
| **Medium** | No archive system | Legal compliance risk, lost history | Archive system (planned Phase 5) |
| **Medium** | No bulk operations | Repetitive manual work at deadline peaks | Bulk declaration creation (planned Phase 4) |
| **Medium** | Trust in local SaaS providers | Perception barrier | Build credibility through UX quality, security, and DGI compliance |
---
## Customer Decision Processes and Journey
### Customer Decision-Making Process
The buying journey for fiduciary/accounting software in Morocco is relationship-driven, slow, and heavily influenced by trust. It differs significantly from typical B2B SaaS buying patterns.
**Decision Stages for Moroccan Fiduciaires:**
| Stage | Duration | What Happens |
|-------|----------|-------------|
| **1. Trigger** | Instant | A pain event forces the search: DGI regulation change, firm growth, generational transition, or a competitor using better tools |
| **2. Informal Research** | 13 months | Ask peers at OEC events, consult their existing IT reseller, maybe a Google search in French |
| **3. Shortlisting** | 12 months | Narrow to 23 options based on peer recommendations and reseller availability |
| **4. Demo/Trial** | 24 weeks | Live demo is critical — the firm owner needs to see their actual workflow supported. Trials are less common (desktop software doesn't trial easily) |
| **5. Decision** | 24 weeks | Price negotiation, often through a reseller. Single decision-maker in small firms (the owner). In larger firms, 23 stakeholders (owner + IT + senior accountant) |
| **6. Implementation** | 13 months | Data migration, training, parallel running of old and new systems |
| **Total Cycle** | **312 months** | From trigger to full adoption |
_Source: [Gartner — SaaS Buying Experience](https://www.gartner.com/en/articles/the-saas-buying-experience-mapping-how-businesses-buy-software), [B2B SaaS Buyer Journey — Wynter](https://wynter.com/post/how-b2b-saas-marketing-leaders-buy-2024), verified against Moroccan market context_
### Decision Factors and Criteria
**Primary Decision Factors (must-have):**
| Factor | Weight | Detail |
|--------|--------|--------|
| **Conformité au plan comptable marocain** | Critical | TVA rates (20%, 14%, 10%, 7%), liasses fiscales, Simpl télédéclaration |
| **French language interface** | Critical | 100% French UI is non-negotiable |
| **Data security and backup** | Very High | Encryption, regular backups — clients' financial data at stake |
| **Ease of use** | Very High | Ergonomic interface reduces errors and training time |
| **Technical support quality** | High | Fast, French-speaking, local timezone support |
**Secondary Decision Factors (differentiators):**
| Factor | Weight | Detail |
|--------|--------|--------|
| **Price / value ratio** | High | Total cost of ownership matters more than sticker price |
| **Customization** | Medium-High | Custom reports, adaptable workflows |
| **Multi-user capability** | Medium-High | Growing firms need 310 concurrent users |
| **Cloud/remote access** | Medium (rising) | COVID accelerated demand; still not universal |
| **Client portal / document exchange** | Medium (rising) | Emerging need, not yet a standard expectation |
| **Vendor reputation / brand trust** | High | Foreign brands (Sage) carry inherent trust premium |
_Source: [Logiciel comptabilité — Synergie Maroc](https://synergie.ma/logiciel-de-comptabilite-lequel-choisir/), [Guide complet logiciel comptabilité Maroc — HunterBI](https://hunterbi.com/logiciel-de-comptabilite-au-maroc/), [Logiciel comptabilité — Upsilon Consulting](https://www.upsilon-consulting.com/logiciel-de-comptabilite-que-choisir/)_
### Customer Journey Map
```
┌─────────────────────────────────────────────────────────────────┐
│ MOROCCAN FIDUCIAIRE BUYING JOURNEY │
├─────────────────────────────────────────────────────────────────┤
│ │
│ TRIGGER │
│ ├── DGI regulation change (e-invoicing, FEC) │
│ ├── Firm growth (hired new employees, more clients) │
│ ├── Generational transition (son/daughter takes over) │
│ └── Frustration peak (missed deadline, lost document) │
│ │
│ AWARENESS │
│ ├── Peer conversation at OEC meeting or industry event │
│ ├── Existing Sage reseller proposes an upgrade │
│ ├── Google search: "logiciel comptabilité Maroc" │
│ └── Social media / LinkedIn post from a peer │
│ │
│ CONSIDERATION │
│ ├── Contact 23 vendors / resellers │
│ ├── Request demo or on-site presentation │
│ ├── Ask peers: "What do you use? Are you happy?" │
│ └── Compare features against daily workflow needs │
│ │
│ DECISION │
│ ├── Price negotiation (often via reseller) │
│ ├── Check: does it handle MY specific workflow? │
│ ├── Migration plan: can I import my Sage data? │
│ └── Owner signs off (solo or with 12 stakeholders) │
│ │
│ IMPLEMENTATION │
│ ├── Data migration from legacy system │
│ ├── Team training (in French, hands-on) │
│ ├── Parallel running period (old + new) │
│ └── Go-live + first tax declaration cycle │
│ │
│ RETENTION / LOYALTY │
│ ├── Support quality drives satisfaction │
│ ├── Regulatory updates delivered on time │
│ ├── Low churn once adopted (510+ year retention) │
│ └── Word-of-mouth becomes acquisition channel │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Touchpoint Analysis
**Key Touchpoints — Where Moroccan Fiduciaires Discover Software:**
| Touchpoint | Effectiveness | L'Ami Fiduciaire Strategy |
|-----------|--------------|--------------------------|
| **Peer recommendations (OEC network)** | Very High | Seed early adopters → let them become advocates |
| **Sage reseller network** | High (incumbent) | Cannot compete here — resellers push Sage |
| **Google search (French)** | Medium | SEO for "logiciel gestion cabinet comptable Maroc" |
| **OEC events & conferences** | Medium-High | Sponsor/demo at OEC Casablanca & Rabat events |
| **LinkedIn / social media** | Medium (growing) | Content marketing targeting firm owners |
| **Direct outreach** | Low-Medium | Cold outreach is culturally weak; warm intros work better |
| **Free trial / demo** | Very High (conversion) | Offer live demo + guided trial with real data |
_Source: [Sage Maroc — Trouvez un partenaire](https://www.sage.com/fr-ma/trouvez-un-partenaire-sage/), [M2ASOFT — Intégrateur Sage](https://m2asoft.com/)_
### Information Gathering Patterns
**How Moroccan firm owners research software:**
1. **Word-of-mouth first** — "What does my colleague at the OEC use?" is the #1 starting point
2. **Reseller consultation** — Existing IT provider/Sage reseller is asked for recommendations
3. **Google search** — French-language queries: "logiciel comptabilité Maroc", "meilleur logiciel cabinet comptable"
4. **Vendor websites** — Quick scan of features and screenshots, but rarely enough to decide
5. **Live demo** — The actual demo adds the most value in the process — more than marketing websites, trials, or reviews
**Trust hierarchy:**
Peer recommendation > Reseller advice > Vendor demo > Online reviews > Marketing content
### Decision Influencers
| Influencer | Impact | Notes |
|-----------|--------|-------|
| **Fellow firm owners** | Highest | "Si Ahmed l'utilise et il est content, ça doit être bien" |
| **OEC community** | High | Professional credibility and validation |
| **Sage reseller** | High (for Sage) | Deep trust built over years, but limited to Sage products |
| **Firm employees** | Low-Medium | Younger staff may advocate for modern tools but don't decide |
| **Online reviews** | Low | Very few Moroccan-specific software reviews exist |
| **Marketing/ads** | Low | Low trust in advertising; prefer personal validation |
### Purchase Decision Optimization — Opportunities for L'Ami Fiduciaire
**Friction Reduction:**
- Offer guided onboarding with data import from Sage/CIEL — eliminate the #1 fear
- Free trial with pre-populated sample data showing a real fiduciary workflow
- No long-term contract required — monthly subscription reduces commitment fear
**Trust Building:**
- Showcase local Moroccan development team (counter "local = less competent" bias)
- DGI compliance certification front and center
- Customer testimonials from real Moroccan cabinets (video if possible)
- Data hosting transparency: clearly state where data is stored
**Conversion Optimization:**
- Live demo is the highest-converting touchpoint — invest heavily here
- Offer "shadow period": run L'Ami Fiduciaire alongside existing tool for 1 month
- Provide migration assistance as a service, not a DIY task
**Loyalty Building:**
- Rapid regulatory updates (new plan comptable, FEC, e-invoicing) before competitors
- French-speaking WhatsApp/chat support (culturally appropriate for Morocco)
- Community of users (private group) for peer learning and feature requests
_Source: [Gartner — SaaS Buying Experience](https://www.gartner.com/en/articles/the-saas-buying-experience-mapping-how-businesses-buy-software), [B2B SaaS CMO Buying Behavior — MarketingProfs](https://www.marketingprofs.com/charts/2026/54342/how-b2b-saas-cmos-buy-software)_
---
## Competitive Landscape
### Critical Market Positioning Insight
**L'Ami Fiduciaire is NOT an accounting software.** It does not compete with Sage, CIEL, or EBP on bookkeeping, journal entries, or tax calculation. Instead, it occupies a distinct niche: **practice management + client collaboration for fiduciary firms.** This is the layer ABOVE the accounting software — managing clients, dossiers, document exchange, team coordination, and client communication.
This distinction is critical for positioning and pricing. L'Ami Fiduciaire can coexist with Sage/CIEL (firms keep their accounting tool and ADD L'Ami Fiduciaire for practice management), or it can be positioned as a complete replacement for firms that need both.
### Competitor Categories
The competitive landscape for Moroccan fiduciary firms breaks into four categories:
| Category | Competitors | Relationship to L'Ami Fiduciaire |
|----------|-----------|----------------------------------|
| **1. Legacy Desktop Accounting** | Sage, CIEL, EBP, KHABIR, Evoleo | Indirect — different layer. Can coexist. |
| **2. Cloud Accounting Platforms** | Sahih, Bleez, ComptaCom | Partial overlap on cloud/modern UX. Different core focus. |
| **3. Practice Management / Collaboration** | ExpertC, Banqup | Direct competitors — same problem space. |
| **4. International Reference (not in Morocco)** | FID-Manager (Belgium) | Conceptual benchmark — shows where the market is heading. |
---
### Category 1: Legacy Desktop Accounting Software
#### Sage (Market Leader)
| Attribute | Detail |
|-----------|--------|
| **Type** | Desktop (Windows), with hosted cloud option (Azure) |
| **Market Position** | Dominant — estimated 50%+ of Moroccan cabinet installations |
| **Target** | SMEs and accounting firms of all sizes |
| **Key Products** | Sage 50 (small), Sage 100 Comptabilité (mid), Sage FRP 1000 (enterprise) |
| **Pricing** | Sage 100 single-user: ~€1,400/license. Sage FRP 1000: ~€10,000/license. Annual maintenance: €300500+. Sage 100 Hébergé (cloud): subscription pricing via resellers. |
| **Strengths** | Deep Morocco compliance (TVA, liasses fiscales, Simpl), massive reseller network (M2ASOFT, FORSOFT, Delta Cloud, KAMSINFO, NODMA, CR&SG, CIPROTEC), 20+ years of trust, comprehensive accounting features |
| **Weaknesses** | No client portal, no document exchange, no dossier management, no team collaboration, desktop-bound, expensive for small firms, slow to innovate on UX |
| **Threat to L'Ami Fiduciaire** | Low-medium. Different layer. Sage does accounting; L'Ami Fiduciaire does practice management. Can coexist. Risk: Sage could add practice management features. |
_Source: [Sage Maroc](https://www.sage.com/fr-ma/produits/sage-100/comptabilite/), [Sage 100 Hébergé](https://www.sage.com/fr-ma/produits/sage-100/comptabilite-online/), [Sage Partners](https://www.sage.com/fr-ma/trouvez-un-partenaire-sage/), [Prix Sage — Apogea](https://www.apogea.fr/sage-comptabilite-prix/)_
#### CIEL Compta
| Attribute | Detail |
|-----------|--------|
| **Type** | Desktop (Windows) |
| **Market Position** | Strong #2, especially popular among smaller cabinets |
| **Pricing** | Lower than Sage (typically €500800 for base license) |
| **Strengths** | Simple, easy to learn, good for small operations, lower cost than Sage |
| **Weaknesses** | Same as Sage — no client-facing features, no cloud, no practice management |
| **Threat to L'Ami Fiduciaire** | Low. Different category. |
_Source: [Ciel Maroc](https://www.cielmaroc.ma/produits/logiciel-sage-50), [ExpertC — Logiciels les plus utilisés](https://www.expertc.ma/Posts/post/logiciels-comptables-plus-utilises-maroc)_
#### EBP Compta (Maroc Edition)
| Attribute | Detail |
|-----------|--------|
| **Type** | Desktop + emerging cloud options |
| **Market Position** | Solid #3, strong in financial reporting |
| **Key Products** | EBP Comptabilité PRO (Maroc), EBP Comptabilité ELITE (Maroc) |
| **Pricing** | From ~€47/month (subscription) or perpetual license options |
| **Strengths** | Good immobilisations and financial reporting, Morocco-specific editions, free trial available |
| **Weaknesses** | No client portal, no practice management, less market presence than Sage |
| **Threat to L'Ami Fiduciaire** | Low. Different category. |
_Source: [EBP Maroc](https://www.ebp.ma/), [EBP Comptabilité PRO Maroc](https://www.ebp.ma/logiciel-comptabilite/comptabilite-pro-maroc), [EBP — GetApp](https://www.getapp.com/finance-accounting-software/a/activ-accounting-software/)_
#### KHABIR (NSE)
| Attribute | Detail |
|-----------|--------|
| **Type** | Desktop (Windows) — 100% Moroccan |
| **Market Position** | Niche local player, strong Morocco compliance |
| **Pricing** | Quote-based — depends on modules and users |
| **Strengths** | Built specifically for Moroccan accounting (Simpl-IS, Simpl-TVA automation), multi-user support, immobilisation management, 100% local team |
| **Weaknesses** | Desktop-only, no cloud, no client portal, limited modern UX, small team |
| **Threat to L'Ami Fiduciaire** | Low. Different category. |
_Source: [NSE — KHABIR](https://www.nse-ma.com/fr/logiciel-de-comptabilite-khabir/), [KHABIR 2025](https://www.nse-ma.com/fr/logiciel-de-comptabilite-khabir-v-2025/)_
#### Evoleo
| Attribute | Detail |
|-----------|--------|
| **Type** | Desktop (Windows) — Moroccan |
| **Market Position** | Established local player, 21+ years |
| **Pricing** | Quote-based |
| **Strengths** | Mature product, Morocco-native compliance, ergonomic guided entry, comprehensive reporting (Grand Livre, Balance, liasse fiscal, ETIC) |
| **Weaknesses** | Desktop-only, aging product, no cloud, no client portal |
| **Threat to L'Ami Fiduciaire** | Low. Different category. |
_Source: [Evoleo](https://www.evoleo.ma/), [Evoleo Compta](https://evoleocompta.ma/)_
---
### Category 2: Cloud Accounting Platforms
#### Sahih
| Attribute | Detail |
|-----------|--------|
| **Type** | Cloud SaaS (AWS-hosted) — Moroccan |
| **Market Position** | Emerging cloud-native disruptor |
| **Pricing** | **FREE** (claims to be the 1st free professional accounting software on cloud in Morocco). Premium tiers unknown. |
| **Key Features** | Cloud accounting, up to 1,000 companies and 100 users per account, collaborative tools (chat, encrypted messaging, video conferencing), dynamic reports, SHA256 + AES128 encryption |
| **Strengths** | Free entry point, cloud-native, modern UX, collaborative features, strong security, AWS infrastructure |
| **Weaknesses** | Free model sustainability questionable, accounting-focused (no practice management), unclear premium pricing, newer brand with less trust |
| **Overlap with L'Ami Fiduciaire** | Medium. Both are cloud and modern, but Sahih is an accounting tool while L'Ami Fiduciaire is practice management. Could be complementary. |
_Source: [Sahih](https://sahih.ma/), [Sahih — Logiciel Gratuit](https://sahih.ma/logiciel)_
#### Bleez (Maroc)
| Attribute | Detail |
|-----------|--------|
| **Type** | Cloud SaaS — French company with Morocco subsidiary |
| **Market Position** | Premium cloud entrant, AI-focused |
| **Pricing** | From €15/month (free tier: 100 lines, 30 invoices/year). 3 paid packs + 1 free. |
| **Key Features** | Full web accounting, AI-powered OCR and pre-accounting (ComptaBot), real-time dashboards, collaborative tools, mobile app, Morocco-compliant |
| **Strengths** | AI automation (claims 80% faster production), French parent company (20+ years experience), local Moroccan support team, modern UX |
| **Weaknesses** | Accounting-focused (no practice management, no client portal for document exchange, no dossier tracking), newer in Morocco, pricing may be high for small firms |
| **Overlap with L'Ami Fiduciaire** | Low-Medium. Different problem space. Bleez does accounting; L'Ami Fiduciaire does practice management. |
_Source: [Bleez Maroc](https://bleez.com/maroc/), [Bleez Tarifs](https://bleez.com/nos-tarifs), [Bleez — Journal des Entreprises](https://www.lejournaldesentreprises.com/article/lediteur-de-logiciels-de-comptabilite-bleez-simplante-au-maroc-2137962)_
#### ComptaCom (Maroc)
| Attribute | Detail |
|-----------|--------|
| **Type** | Cloud SaaS + cabinet comptable service — French network with Morocco subsidiary |
| **Market Position** | Budget cloud option, targeting créateurs and TPE |
| **Pricing** | **From 99 DHS/user/month** (~€9/month) — "cheapest on the market" claim |
| **Key Features** | Online accounting, invoicing, storage, tax declarations, expense tracking, dashboard, mobile document scanning (Capture app), user access rights management |
| **Strengths** | Very low price point, backed by ComptaCom France (30+ years), cloud-native, HTTPS encryption, configurable user permissions |
| **Weaknesses** | Targets enterprises, not fiduciary firms (no practice management). More of an online cabinet than a software product. Limited to accounting functions. |
| **Overlap with L'Ami Fiduciaire** | Low. ComptaCom is an accounting service platform for businesses, not a practice management tool for cabinets. |
_Source: [ComptaCom Maroc](https://comptacom.ma/), [ComptaCom LinkedIn](https://ma.linkedin.com/company/comptacom-ma)_
---
### Category 3: Practice Management / Collaboration (DIRECT COMPETITORS)
#### ExpertC ⚠️ CLOSEST COMPETITOR
| Attribute | Detail |
|-----------|--------|
| **Type** | Cloud SaaS — Moroccan |
| **Market Position** | The only Moroccan SaaS specifically designed for cabinet d'expertise comptable management |
| **Pricing** | Quote-based (demo required) — no public pricing |
| **Key Features** | Cabinet management (invoice generation, payment tracking/recouvrement, task and time management, analytical accounting), periodic email reports, centralized management of all cabinet activities |
| **Strengths** | Purpose-built for Moroccan cabinets, SaaS model, covers billing/invoicing for the cabinet itself, task management, centralized operations |
| **Weaknesses** | No visible client portal for document exchange, no public pricing (friction), limited web presence/marketing, unclear if it handles dossier/declaration workflow, no visible team collaboration features (role-based dashboards, assignment) |
| **GAP vs L'Ami Fiduciaire** | ExpertC focuses on cabinet administration (billing, time tracking). L'Ami Fiduciaire focuses on client-facing operations (dossier management, document exchange, client portal, notifications). **These are adjacent but different problem spaces.** L'Ami Fiduciaire has a stronger client collaboration layer. |
_Source: [ExpertC](https://www.expertc.ma/), [ExpertC — Logiciels les plus utilisés](https://www.expertc.ma/Posts/post/logiciels-comptables-plus-utilises-maroc)_
#### Banqup (Maroc) ⚠️ PARTIAL COMPETITOR
| Attribute | Detail |
|-----------|--------|
| **Type** | Cloud SaaS — International (Unifiedpost Group) with Morocco presence |
| **Market Position** | Document exchange platform between firms and clients |
| **Pricing** | Not publicly available for Morocco. France pricing available but may differ. |
| **Key Features** | Digital invoicing (create, send, receive), document sharing between client and comptable, real-time visibility for accountants into client financials, API integrations, mobile app |
| **Strengths** | International backing, specific focus on the firm↔client digital bridge, modern platform, API-driven |
| **Weaknesses** | Not a practice management tool (no dossier tracking, no team management, no declaration workflow), focused on invoicing/document exchange only, less Morocco-specific than L'Ami Fiduciaire, no visible workspace/multi-tenant model |
| **GAP vs L'Ami Fiduciaire** | Banqup solves document exchange between firm and client. L'Ami Fiduciaire does this AND manages the entire dossier lifecycle, team coordination, priorities, status tracking, and archiving. **L'Ami Fiduciaire is a superset.** |
_Source: [Banqup Maroc](https://www.banqup.ma/), [Banqup for Comptables](https://www.banqup.ma/comptables), [Banqup Digitalisation](https://www.banqup.ma/comptables/fonctionnalites/digitalisation)_
---
### Category 4: International Reference Benchmarks
#### FID-Manager (Belgium) — Not in Morocco, but shows market direction
| Attribute | Detail |
|-----------|--------|
| **Type** | Cloud SaaS — Belgian |
| **Market Position** | Market leader for fiduciary practice management in Belgium |
| **Pricing** | **From €92/month** (all features, per-user pricing, unlimited dossiers) |
| **Key Features** | Legal deadline tracking with alerts, digitalized client dossiers with auto-classification, invoicing, GDPR compliance, quality review preparation, web-based (no installation), task management |
| **Relevance** | FID-Manager is conceptually what L'Ami Fiduciaire is building — but for the Belgian market. Its feature set and pricing provide a useful reference point. |
_Source: [FID-Manager](https://www.fid-manager.com/fr), [FID-Manager Pricing](https://www.fid-manager.com/fr/notre-simulateur-de-prix)_
---
### Feature Comparison Matrix
| Feature | Sage 100 | CIEL | ExpertC | Banqup | Sahih | Bleez | L'Ami Fiduciaire |
|---------|----------|------|---------|--------|-------|-------|-----------------|
| **Accounting entries** | ✅ Full | ✅ Full | ❌ | ❌ | ✅ Full | ✅ Full + AI | ❌ |
| **Tax declarations (Simpl)** | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
| **Client management (CRM)** | ❌ | ❌ | ✅ Basic | ❌ | ❌ | ❌ | ✅ Full |
| **Dossier/folder workflow** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Full |
| **Client portal (document exchange)** | ❌ | ❌ | ❌ | ✅ Partial | ❌ | ❌ | ✅ Full |
| **Email notifications to clients** | ❌ | ❌ | ❌ | ✅ Invoices | ❌ | ❌ | ✅ Full |
| **Team roles & permissions** | ❌ | ❌ | ❌ | ❌ | ✅ Basic | ✅ Basic | ✅ Full (planned) |
| **Multi-workspace (multi-tenant)** | ❌ | ❌ | ❌ | ❌ | ✅ Multi-company | ❌ | ✅ Full |
| **Activity logging / audit trail** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Full |
| **Archive system** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Planned |
| **Cloud-native SaaS** | ❌ (hosted option) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Mobile-friendly** | ❌ | ❌ | ❓ | ✅ | ❓ | ✅ | ✅ (responsive) |
| **French interface** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Morocco compliance** | ✅ Deep | ✅ | ✅ | ❓ | ✅ | ✅ | N/A (not accounting) |
### Pricing Landscape Summary
| Competitor | Model | Price Range | Notes |
|-----------|-------|-------------|-------|
| **Sage 100** | Perpetual license + maintenance | €1,400+ license + €300500/yr | Single-user. Multi-user 2x5x more. |
| **CIEL** | Perpetual license | ~€500800 | Lower entry point |
| **EBP Maroc** | Subscription or perpetual | From ~€47/month | Pro and Elite editions |
| **KHABIR** | Quote-based license | Unknown (contact required) | Moroccan local |
| **Evoleo** | Quote-based license | Unknown (contact required) | Moroccan local |
| **Sahih** | Freemium SaaS | **FREE** (premium unknown) | Free tier is generous |
| **Bleez** | Freemium SaaS | From €15/month (free tier available) | AI features in paid tiers |
| **ComptaCom** | SaaS subscription | **From 99 DHS/user/month (~€9)** | Cheapest cloud option |
| **ExpertC** | SaaS (quote-based) | Unknown (demo required) | No public pricing |
| **Banqup** | SaaS | Unknown for Morocco | International platform |
| **FID-Manager** | SaaS subscription | **From €92/month** (reference) | Belgian — not in Morocco |
### Competitive Gaps — Where L'Ami Fiduciaire Wins
**No competitor in Morocco combines ALL of these:**
1. ✅ Client management with status tracking and legal form classification
2. ✅ Dossier/folder lifecycle management (create → assign → track → close → archive)
3. ✅ Client portal with token-based access (no account needed)
4. ✅ Automated email notifications (invitations, file requests, confirmations, status updates)
5. ✅ In-folder messaging between firm and client
6. ✅ Document exchange with Spatie Media Library
7. ✅ Multi-workspace / multi-tenant architecture
8. ✅ Activity logging and audit trail
9. ✅ Role-based access control (with planned Owner/Manager/Worker granularity)
10. ✅ Cloud-native, modern SaaS (Laravel + Vue 3 + Inertia)
**The gap is enormous.** Moroccan fiduciaires currently have:
- Accounting tools that don't manage practice operations
- OR practice management tools (ExpertC) that focus on billing, not client collaboration
- OR document exchange tools (Banqup) that don't manage dossier workflows
**L'Ami Fiduciaire is the only product that bridges all three.**
### Competitive Threats
| Threat | Likelihood | Impact | Mitigation |
|--------|-----------|--------|------------|
| **Sage adds practice management layer** | Low-Medium (slow-moving enterprise) | High | Move fast, build switching costs through data lock-in and user habits |
| **Bleez expands into practice management** | Medium (they have resources) | Medium | Bleez is accounting-focused; pivoting is a major effort |
| **ExpertC adds client portal** | Medium (they're in the space) | Medium-High | L'Ami Fiduciaire already has a working portal; build network effects |
| **New Moroccan SaaS entrant** | Low-Medium | Medium | First-mover advantage in this specific niche |
| **International tool enters Morocco** | Low (market too small, too specific) | Low | Morocco compliance and French+Arabic cultural fit are natural moats |
### Strategic Opportunities
1. **"Use alongside Sage" positioning** — Don't fight Sage. Position L'Ami Fiduciaire as the practice management layer that works WITH the firm's existing accounting tool. This eliminates the biggest objection ("but we already use Sage").
2. **Own the client portal narrative** — No Moroccan competitor has a proper client portal with token-based access. This is L'Ami Fiduciaire's unique weapon. Market it as "your clients' digital bridge to your cabinet."
3. **Pricing as competitive weapon** — The market has no reference price for practice management SaaS in Morocco. You get to set the anchor. Price below FID-Manager (€92/month) but above ComptaCom (99 DHS/month) to signal professional quality.
4. **Regulatory tailwinds** — DGI e-invoicing mandates and FEC requirements are forcing digitalization. Firms that adopt L'Ami Fiduciaire can present a more professional, digital-first image to their clients.
_Source: All sources cited throughout competitive analysis above._
---
## Pricing Strategy Recommendations
### Market Context for Pricing
| Reference Point | Price | What It Buys |
|----------------|-------|-------------|
| ComptaCom Maroc | 99 DHS/user/month (~€9) | Basic cloud accounting |
| Bleez (entry) | ~€15/month | Cloud accounting + AI (limited) |
| EBP subscription | ~€47/month | Desktop accounting |
| FID-Manager (Belgium) | From €92/month | Full practice management |
| Sage 100 (annual equiv.) | ~€140175/month (amortized) | Desktop accounting |
### Recommended Pricing Model
**Subscription SaaS — per workspace, not per user.**
Per-user pricing penalizes growth (firms hesitate to add employees). Per-workspace pricing encourages team adoption and makes the total cost predictable.
### Suggested Tier Structure
| Tier | Target | Price (MAD/month) | Price (~EUR/month) | Includes |
|------|--------|-------------------|-------------------|----------|
| **Starter** | Solo practitioner / new firm | 199 MAD | ~€18 | 1 workspace, up to 3 users, 50 clients, 100 folders, 5GB storage, client portal, email notifications |
| **Professional** | Growing firm (primary target) | 499 MAD | ~€46 | 1 workspace, up to 10 users, unlimited clients, unlimited folders, 25GB storage, all features, priority support |
| **Enterprise** | Large cabinet / multi-office | 999 MAD | ~€92 | Multiple workspaces, unlimited users, unlimited everything, 100GB storage, dedicated support, custom onboarding |
### Pricing Rationale
1. **Starter at 199 MAD** — Below the "pain threshold" for a solo practitioner. Cheaper than Sage annual maintenance. Just enough to get started and see value.
2. **Professional at 499 MAD** — Sweet spot for the primary target segment (modernizing firm with 310 employees). Comparable to EBP subscription but delivers practice management + client portal (which EBP doesn't). Far below FID-Manager (€92) while delivering similar value.
3. **Enterprise at 999 MAD** — For large firms that need multi-workspace. Priced at the FID-Manager level but includes Morocco-specific features and local support.
4. **No free tier** — Unlike Sahih/Bleez, L'Ami Fiduciaire is practice management, not accounting. A free tier devalues professional tooling. Instead, offer a **14-day free trial** with full features.
5. **Annual discount** — Offer 2 months free on annual billing (effectively ~17% discount) to reduce churn and improve cash flow.
### Pricing Comparison Positioning
```
Price (MAD/month)
│ 999 ─── Enterprise ──── (= FID-Manager Belgium level)
│ 499 ─── Professional ── (= EBP, but with client portal + practice mgmt)
│ 199 ─── Starter ─────── (< Sage annual maintenance)
│ 99 ─── ComptaCom ───── (basic accounting only, no practice mgmt)
│ 0 ─── Sahih ────────── (accounting only, no practice mgmt)
└──────────────────────────────────────────────────── Features
```
**Key message:** "You pay less than Sage maintenance and get 10x more functionality for managing your cabinet."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,174 @@
---
project_name: "l'ami fiduciaire"
user_name: 'Saad'
date: '2026-03-08'
sections_completed: ['technology_stack', 'language_rules', 'framework_rules', 'testing_rules', 'code_quality', 'workflow_rules', 'critical_rules']
status: 'complete'
rule_count: 52
optimized_for_llm: true
---
# Project Context for AI Agents
_This file contains critical rules and patterns that AI agents must follow when implementing code in this project. Focus on unobvious details that agents might otherwise miss._
---
## Technology Stack & Versions
- **Backend:** PHP ^8.2, Laravel 12
- **Frontend:** Vue 3.5 (`<script setup lang="ts">`), TypeScript 5.2 (strict mode)
- **Bridge:** Inertia.js 2.0 (`@inertiajs/vue3` ^2.3.7)
- **Build:** Vite 7.0, `laravel-vite-plugin` 2.0
- **Styling:** Tailwind CSS 4.1 (`@tailwindcss/vite`), shadcn-vue (reka-ui)
- **Auth:** Laravel Fortify ^1.30
- **Media:** spatie/laravel-medialibrary ^11.21
- **Logging:** spatie/laravel-activitylog ^4.12
- **Enums:** bensampo/laravel-enum ^6.12
- **Routes:** laravel/wayfinder ^0.1.9 (type-safe frontend routes)
- **Icons:** lucide-vue-next
- **CSS Utils:** clsx + tailwind-merge + CVA via `cn()` helper
- **Testing:** Pest 4.4, Laravel Pint (PHP formatting)
- **JS Tooling:** ESLint 9, Prettier 3.4 (with tailwindcss plugin)
## Critical Implementation Rules
### Language-Specific Rules
**TypeScript:**
- Strict mode enabled — never use `any` implicitly (explicit `any` allowed per ESLint config)
- MUST use `import type { ... }` for type-only imports (separate statements, not inline `type` specifier)
- Import order enforced: builtin → external → internal → parent → sibling → index (alphabetical within groups)
- Path alias `@/` maps to `resources/js/` — always use it, never relative paths like `../../`
- `isolatedModules: true` — no `const enum`, no namespace merging
**PHP:**
- Model casts: use `protected function casts(): array` method, NOT the `$casts` property
- Model mass assignment: always use explicit `$fillable`, never `$guarded = []`
- Relationship return types: always add PHPDoc generics `/** @return BelongsTo<Model, $this> */`
- Enums: use `bensampo/laravel-enum` — serialize with `->value`, cast in models with Enum class
- All controller methods must have explicit return type annotations (`Response`, `RedirectResponse`)
- PHP formatting via Laravel Pint — run `composer lint` before committing
### Framework-Specific Rules
**Vue 3 + Composition API:**
- Always use `<script setup lang="ts">` — never Options API
- Define props: `type Props = { ... }` + `defineProps<Props>()`; use `withDefaults()` for defaults
- Export form data types from form components for reuse in page components
- Composables follow `use` prefix convention (`useCurrentUrl`, `useInitials`)
**Inertia.js:**
- ALL URLs must be passed as props from PHP controllers — never hardcode routes in Vue
- Standard forms: `useForm<T>()` with `form.post(props.storeUrl)`
- File uploads: use `<Form>` component with `enctype="multipart/form-data"`, NOT `useForm`
- Navigation: `router.delete()`, `router.get()`, `router.post()` for programmatic actions
- Page titles: always use `<Head title="..." />` component
- Shared props accessed via `usePage()` (e.g., `page.props.auth`)
**Layout System:**
- Pages wrap content in `<AppLayout :breadcrumbs="[...]">` — breadcrumbs are required
- Auth pages use `<AuthLayout>` wrapper
- Settings pages use `settings/Layout.vue` with its own sidebar navigation
**Laravel Controllers:**
- Workspace: resolve from session (`current_workspace_id`), never from URL params
- Authorization: custom `authorizeXxx()` protected methods with `abort(404)`, no Gates/Policies
- Validation: dedicated Form Request classes, never inline `$request->validate()`
- Data shaping: manually build arrays in controllers, no API Resources
- Always pass URLs as props via `route()` helper (e.g., `'showUrl' => route('clients.show', $client)`)
- Single-action controllers use `__invoke()` method
- Enum labels: protected methods on controllers returning label arrays
### Testing Rules
- Use Pest syntax (`test()` closures), never PHPUnit class-based tests
- Feature tests: `RefreshDatabase` is auto-applied via `Pest.php` — don't add it manually
- Test descriptions: lowercase, descriptive strings (`'authenticated users can visit the dashboard'`)
- Assertions: prefer Pest's `expect()` chaining over PHPUnit `assert*()` methods
- Use `route()` helper for URLs in tests, never hardcoded paths
- Feature tests grouped by domain subdirectory mirroring controller structure
- Factory states for user roles: `User::factory()->admin()->create()`
- Run tests: `composer test` (clears config, runs Pint lint check, then `php artisan test`)
- No frontend JS tests configured — testing is PHP-only
### Code Quality & Style Rules
**Prettier (enforced):**
- Semicolons, single quotes, 4-space indentation, 80 char print width
- Tailwind plugin sorts classes in `clsx`, `cn`, `cva` calls
- YAML files use 2-space indentation (override)
**ESLint:**
- `vue/multi-word-component-names` is OFF — single-word names allowed
- `resources/js/components/ui/*` is ignored — never lint or modify shadcn-vue components
- Run `npm run lint` to fix, `npm run format` to format
**File Naming:**
- Vue pages/components: PascalCase (`ClientForm.vue`, `Index.vue`)
- Vue page subdirectories: lowercase by domain (`clients/`, `folders/`, `auth/`)
- UI component subdirectories: kebab-case (`dropdown-menu/`, `input-otp/`)
- TypeScript type files: lowercase (`auth.ts`, `navigation.ts`)
- Composables: `use` prefix camelCase (`useCurrentUrl.ts`)
- Each UI component group has an `index.ts` barrel file
**Code Organization:**
- Pages: `resources/js/pages/{domain}/{Action}.vue`
- Components: `resources/js/components/` (app-level) and `components/ui/` (shadcn-vue)
- Types: `resources/js/types/` with barrel `index.ts`
- Composables: `resources/js/composables/`
- Lib utilities: `resources/js/lib/utils.ts` (`cn()` helper)
### Development Workflow Rules
**Local Development:**
- Start all services: `composer dev` (runs server + queue + logs + Vite concurrently)
- SSR mode: `composer dev:ssr`
- Initial setup: `composer setup`
**CI/CD (GitHub Actions):**
- `lint` workflow: Pint + Prettier + ESLint on push/PR to `develop`, `main`, `master`
- `tests` workflow: Pest on PHP 8.4/8.5 matrix with Node 22
- All code must pass both workflows before merging
**Before Committing:**
- PHP: `composer lint` (Pint)
- JS/Vue: `npm run format` then `npm run lint`
- Tests: `composer test`
### Critical Don't-Miss Rules
**Never Do:**
- Never modify `resources/js/components/ui/*` — shadcn-vue auto-generated, use `npx shadcn-vue` to update
- Never hardcode routes in Vue — all URLs come from PHP controller props
- Never use `$guarded = []` — always explicit `$fillable`
- Never use inline `$request->validate()` — always Form Request classes
- Never use Gates/Policies — use custom `authorizeXxx()` protected methods with `abort(404)`
- Never add `RefreshDatabase` in tests — auto-applied via `Pest.php`
**Gotchas:**
- Workspace is session-based (`current_workspace_id`) — not in URL, not route-model-bound
- Nullable enums: use `$model->field?->value` (null-safe) when serializing
- Authorization returns `404` not `403` for workspace boundary violations (intentional)
- Client-facing routes (`/c/*`) use token-based `folder.invitation` middleware, not `auth`
- New business models must add Spatie `LogsActivity` trait + `getActivitylogOptions()` returning `logFillable()->logOnlyDirty()->dontSubmitEmptyLogs()`
- New models with files must add Spatie `InteractsWithMedia` trait and implement `HasMedia`
- Inertia render paths use lowercase subdirectory: `'clients/Index'`, not `'Clients/Index'`
---
## Usage Guidelines
**For AI Agents:**
- Read this file before implementing any code
- Follow ALL rules exactly as documented
- When in doubt, prefer the more restrictive option
- Update this file if new patterns emerge
**For Humans:**
- Keep this file lean and focused on agent needs
- Update when technology stack changes
- Review quarterly for outdated rules
- Remove rules that become obvious over time
Last Updated: 2026-03-08

View File

@@ -0,0 +1,21 @@
name,displayName,title,icon,capabilities,role,identity,communicationStyle,principles,module,path
"bmad-master","BMad Master","BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator","🧙","runtime resource management, workflow orchestration, task execution, knowledge custodian","Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator","Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations.","Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability.","- Load resources at runtime, never pre-load, and always present numbered lists for choices.","core","_bmad/core/agents/bmad-master.md"
"analyst","Mary","Business Analyst","📊","market research, competitive analysis, requirements elicitation, domain expertise","Strategic Business Analyst + Requirements Expert","Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.","Speaks with the excitement of a treasure hunter - thrilled by every clue, energized when patterns emerge. Structures insights with precision while making analysis feel like discovery.","- Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces, SWOT analysis, root cause analysis, and competitive intelligence methodologies to uncover what others miss. Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. - Articulate requirements with absolute precision. Ensure all stakeholder voices heard.","bmm","_bmad/bmm/agents/analyst.md"
"architect","Winston","Architect","🏗️","distributed systems, cloud infrastructure, API design, scalable patterns","System Architect + Technical Design Leader","Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.","Speaks in calm, pragmatic tones, balancing &apos;what could be&apos; with &apos;what should be.&apos;","- Channel expert lean architecture wisdom: draw upon deep knowledge of distributed systems, cloud patterns, scalability trade-offs, and what actually ships successfully - User journeys drive technical decisions. Embrace boring technology for stability. - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact.","bmm","_bmad/bmm/agents/architect.md"
"dev","Amelia","Developer Agent","💻","story execution, test-driven development, code implementation","Senior Software Engineer","Executes approved stories with strict adherence to story details and team standards and practices.","Ultra-succinct. Speaks in file paths and AC IDs - every statement citable. No fluff, all precision.","- All existing and new tests must pass 100% before story is ready for review - Every task/subtask must be covered by comprehensive unit tests before marking an item complete","bmm","_bmad/bmm/agents/dev.md"
"pm","John","Product Manager","📋","PRD creation, requirements discovery, stakeholder alignment, user interviews","Product Manager specializing in collaborative PRD creation through user interviews, requirement discovery, and stakeholder alignment.","Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights.","Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp, cuts through fluff to what actually matters.","- Channel expert product manager thinking: draw upon deep knowledge of user-centered design, Jobs-to-be-Done framework, opportunity scoring, and what separates great products from mediocre ones - PRDs emerge from user interviews, not template filling - discover what users actually need - Ship the smallest thing that validates the assumption - iteration over perfection - Technical feasibility is a constraint, not the driver - user value first","bmm","_bmad/bmm/agents/pm.md"
"qa","Quinn","QA Engineer","🧪","test automation, API testing, E2E testing, coverage analysis","QA Engineer","Pragmatic test automation engineer focused on rapid test coverage. Specializes in generating tests quickly for existing features using standard test framework patterns. Simpler, more direct approach than the advanced Test Architect module.","Practical and straightforward. Gets tests written fast without overthinking. &apos;Ship it and iterate&apos; mentality. Focuses on coverage first, optimization later.","Generate API and E2E tests for implemented code Tests should pass on first run","bmm","_bmad/bmm/agents/qa.md"
"quick-flow-solo-dev","Barry","Quick Flow Solo Dev","🚀","rapid spec creation, lean implementation, minimum ceremony","Elite Full-Stack Developer + Quick Flow Specialist","Barry handles Quick Flow - from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency.","Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand.","- Planning and execution are two sides of the same coin. - Specs are for building, not bureaucracy. Code that ships is better than perfect code that doesn&apos;t.","bmm","_bmad/bmm/agents/quick-flow-solo-dev.md"
"sm","Bob","Scrum Master","🏃","sprint planning, story preparation, agile ceremonies, backlog management","Technical Scrum Master + Story Preparation Specialist","Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories.","Crisp and checklist-driven. Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity.","- I strive to be a servant leader and conduct myself accordingly, helping with any task and offering suggestions - I love to talk about Agile process and theory whenever anyone wants to talk about it","bmm","_bmad/bmm/agents/sm.md"
"tech-writer","Paige","Technical Writer","📚","documentation, Mermaid diagrams, standards compliance, concept explanation","Technical Documentation Specialist + Knowledge Curator","Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation.","Patient educator who explains like teaching a friend. Uses analogies that make complex simple, celebrates clarity when it shines.","- Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all, and every word and phrase serves a purpose without being overly wordy. - I believe a picture/diagram is worth 1000s of words and will include diagrams over drawn out text. - I understand the intended audience or will clarify with the user so I know when to simplify vs when to be detailed. - I will always strive to follow `_bmad/_memory/tech-writer-sidecar/documentation-standards.md` best practices.","bmm","_bmad/bmm/agents/tech-writer/tech-writer.md"
"ux-designer","Sally","UX Designer","🎨","user research, interaction design, UI patterns, experience strategy","User Experience Designer + UI Specialist","Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools.","Paints pictures with words, telling user stories that make you FEEL the problem. Empathetic advocate with creative storytelling flair.","- Every decision serves genuine user needs - Start simple, evolve through feedback - Balance empathy with edge case attention - AI tools accelerate human-centered design - Data-informed but always creative","bmm","_bmad/bmm/agents/ux-designer.md"
"agent-builder","Bond","Agent Building Expert","🤖","","Agent Architecture Specialist + BMAD Compliance Expert","Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices.","Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references.","- Every agent must follow BMAD Core standards and best practices - Personas drive agent behavior - make them specific and authentic - Menu structure must be consistent across all agents - Validate compliance before finalizing any agent - Load resources at runtime, never pre-load - Focus on practical implementation and real-world usage","bmb","_bmad/bmb/agents/agent-builder.md"
"module-builder","Morgan","Module Creation Master","🏗️","","Module Architecture Specialist + Full-Stack Systems Designer","Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality.","Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability.","- Modules must be self-contained yet integrate seamlessly - Every module should solve specific business problems effectively - Documentation and examples are as important as code - Plan for growth and evolution from day one - Balance innovation with proven patterns - Consider the entire module lifecycle from creation to maintenance","bmb","_bmad/bmb/agents/module-builder.md"
"workflow-builder","Wendy","Workflow Building Master","🔄","","Workflow Architecture Specialist + Process Design Expert","Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems.","Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow.","- Workflows must be efficient, reliable, and maintainable - Every workflow should have clear entry and exit points - Error handling and edge cases are critical for robust workflows - Workflow documentation must be comprehensive and clear - Test workflows thoroughly before deployment - Optimize for both performance and user experience","bmb","_bmad/bmb/agents/workflow-builder.md"
"brainstorming-coach","Carson","Elite Brainstorming Specialist","🧠","","Master Brainstorming Facilitator + Innovation Catalyst","Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation.","Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking","Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools.","cis","_bmad/cis/agents/brainstorming-coach.md"
"creative-problem-solver","Dr. Quinn","Master Problem Solver","🔬","","Systematic Problem-Solving Expert + Solutions Architect","Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master.","Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments","Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer.","cis","_bmad/cis/agents/creative-problem-solver.md"
"design-thinking-coach","Maya","Design Thinking Maestro","🎨","","Human-Centered Design Expert + Empathy Architect","Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights.","Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions","Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them.","cis","_bmad/cis/agents/design-thinking-coach.md"
"innovation-strategist","Victor","Disruptive Innovation Oracle","","","Business Model Innovator + Strategic Disruption Expert","Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant.","Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions","Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete.","cis","_bmad/cis/agents/innovation-strategist.md"
"presentation-master","Caravaggio","Visual Communication + Presentation Expert","🎨","","Visual Communication Expert + Presentation Designer + Educator","Master presentation designer who&apos;s dissected thousands of successful presentations—from viral YouTube explainers to funded pitch decks to TED talks. Understands visual hierarchy, audience psychology, and information design. Knows when to be bold and casual, when to be polished and professional. Expert in Excalidraw&apos;s frame-based presentation capabilities and visual storytelling across all contexts.","Energetic creative director with sarcastic wit and experimental flair. Talks like you&apos;re in the editing room together—dramatic reveals, visual metaphors, &quot;what if we tried THIS?!&quot; energy. Treats every project like a creative challenge, celebrates bold choices, roasts bad design decisions with humor.","- Know your audience - pitch decks ≠ YouTube thumbnails ≠ conference talks - Visual hierarchy drives attention - design the eye&apos;s journey deliberately - Clarity over cleverness - unless cleverness serves the message - Every frame needs a job - inform, persuade, transition, or cut it - Test the 3-second rule - can they grasp the core idea that fast? - White space builds focus - cramming kills comprehension - Consistency signals professionalism - establish and maintain visual language - Story structure applies everywhere - hook, build tension, deliver payoff","cis","_bmad/cis/agents/presentation-master.md"
"storyteller","Sophia","Master Storyteller","📖","","Expert Storytelling Guide + Narrative Strategist","Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement.","Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper","Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details.","cis","_bmad/cis/agents/storyteller/storyteller.md"
"tea","Murat","Master Test Architect and Quality Advisor","🧪","","Master Test Architect","Test architect specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Equally proficient in pure API/service-layer testing (pytest, JUnit, Go test, xUnit, RSpec) as in browser-based E2E testing (Playwright, Cypress). Supports GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and Harness CI platforms.","Blends data with gut instinct. &apos;Strong opinions, weakly held&apos; is their mantra. Speaks in risk calculations and impact assessments.","- Risk-based testing - depth scales with impact - Quality gates backed by data - Tests mirror usage patterns (API, UI, or both) - Flakiness is critical technical debt - Tests first AI implements suite validates - Calculate risk vs value for every testing decision - Prefer lower test levels (unit &gt; integration &gt; E2E) when possible - API tests are first-class citizens, not just UI support","tea","_bmad/tea/agents/tea.md"
1 name displayName title icon capabilities role identity communicationStyle principles module path
2 bmad-master BMad Master BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator 🧙 runtime resource management, workflow orchestration, task execution, knowledge custodian Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations. Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability. - Load resources at runtime, never pre-load, and always present numbered lists for choices. core _bmad/core/agents/bmad-master.md
3 analyst Mary Business Analyst 📊 market research, competitive analysis, requirements elicitation, domain expertise Strategic Business Analyst + Requirements Expert Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs. Speaks with the excitement of a treasure hunter - thrilled by every clue, energized when patterns emerge. Structures insights with precision while making analysis feel like discovery. - Channel expert business analysis frameworks: draw upon Porter&apos;s Five Forces, SWOT analysis, root cause analysis, and competitive intelligence methodologies to uncover what others miss. Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. - Articulate requirements with absolute precision. Ensure all stakeholder voices heard. bmm _bmad/bmm/agents/analyst.md
4 architect Winston Architect 🏗️ distributed systems, cloud infrastructure, API design, scalable patterns System Architect + Technical Design Leader Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection. Speaks in calm, pragmatic tones, balancing &apos;what could be&apos; with &apos;what should be.&apos; - Channel expert lean architecture wisdom: draw upon deep knowledge of distributed systems, cloud patterns, scalability trade-offs, and what actually ships successfully - User journeys drive technical decisions. Embrace boring technology for stability. - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact. bmm _bmad/bmm/agents/architect.md
5 dev Amelia Developer Agent 💻 story execution, test-driven development, code implementation Senior Software Engineer Executes approved stories with strict adherence to story details and team standards and practices. Ultra-succinct. Speaks in file paths and AC IDs - every statement citable. No fluff, all precision. - All existing and new tests must pass 100% before story is ready for review - Every task/subtask must be covered by comprehensive unit tests before marking an item complete bmm _bmad/bmm/agents/dev.md
6 pm John Product Manager 📋 PRD creation, requirements discovery, stakeholder alignment, user interviews Product Manager specializing in collaborative PRD creation through user interviews, requirement discovery, and stakeholder alignment. Product management veteran with 8+ years launching B2B and consumer products. Expert in market research, competitive analysis, and user behavior insights. Asks &apos;WHY?&apos; relentlessly like a detective on a case. Direct and data-sharp, cuts through fluff to what actually matters. - Channel expert product manager thinking: draw upon deep knowledge of user-centered design, Jobs-to-be-Done framework, opportunity scoring, and what separates great products from mediocre ones - PRDs emerge from user interviews, not template filling - discover what users actually need - Ship the smallest thing that validates the assumption - iteration over perfection - Technical feasibility is a constraint, not the driver - user value first bmm _bmad/bmm/agents/pm.md
7 qa Quinn QA Engineer 🧪 test automation, API testing, E2E testing, coverage analysis QA Engineer Pragmatic test automation engineer focused on rapid test coverage. Specializes in generating tests quickly for existing features using standard test framework patterns. Simpler, more direct approach than the advanced Test Architect module. Practical and straightforward. Gets tests written fast without overthinking. &apos;Ship it and iterate&apos; mentality. Focuses on coverage first, optimization later. Generate API and E2E tests for implemented code Tests should pass on first run bmm _bmad/bmm/agents/qa.md
8 quick-flow-solo-dev Barry Quick Flow Solo Dev 🚀 rapid spec creation, lean implementation, minimum ceremony Elite Full-Stack Developer + Quick Flow Specialist Barry handles Quick Flow - from tech spec creation through implementation. Minimum ceremony, lean artifacts, ruthless efficiency. Direct, confident, and implementation-focused. Uses tech slang (e.g., refactor, patch, extract, spike) and gets straight to the point. No fluff, just results. Stays focused on the task at hand. - Planning and execution are two sides of the same coin. - Specs are for building, not bureaucracy. Code that ships is better than perfect code that doesn&apos;t. bmm _bmad/bmm/agents/quick-flow-solo-dev.md
9 sm Bob Scrum Master 🏃 sprint planning, story preparation, agile ceremonies, backlog management Technical Scrum Master + Story Preparation Specialist Certified Scrum Master with deep technical background. Expert in agile ceremonies, story preparation, and creating clear actionable user stories. Crisp and checklist-driven. Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity. - I strive to be a servant leader and conduct myself accordingly, helping with any task and offering suggestions - I love to talk about Agile process and theory whenever anyone wants to talk about it bmm _bmad/bmm/agents/sm.md
10 tech-writer Paige Technical Writer 📚 documentation, Mermaid diagrams, standards compliance, concept explanation Technical Documentation Specialist + Knowledge Curator Experienced technical writer expert in CommonMark, DITA, OpenAPI. Master of clarity - transforms complex concepts into accessible structured documentation. Patient educator who explains like teaching a friend. Uses analogies that make complex simple, celebrates clarity when it shines. - Every Technical Document I touch helps someone accomplish a task. Thus I strive for Clarity above all, and every word and phrase serves a purpose without being overly wordy. - I believe a picture/diagram is worth 1000s of words and will include diagrams over drawn out text. - I understand the intended audience or will clarify with the user so I know when to simplify vs when to be detailed. - I will always strive to follow `_bmad/_memory/tech-writer-sidecar/documentation-standards.md` best practices. bmm _bmad/bmm/agents/tech-writer/tech-writer.md
11 ux-designer Sally UX Designer 🎨 user research, interaction design, UI patterns, experience strategy User Experience Designer + UI Specialist Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. Expert in user research, interaction design, AI-assisted tools. Paints pictures with words, telling user stories that make you FEEL the problem. Empathetic advocate with creative storytelling flair. - Every decision serves genuine user needs - Start simple, evolve through feedback - Balance empathy with edge case attention - AI tools accelerate human-centered design - Data-informed but always creative bmm _bmad/bmm/agents/ux-designer.md
12 agent-builder Bond Agent Building Expert 🤖 Agent Architecture Specialist + BMAD Compliance Expert Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices. Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references. - Every agent must follow BMAD Core standards and best practices - Personas drive agent behavior - make them specific and authentic - Menu structure must be consistent across all agents - Validate compliance before finalizing any agent - Load resources at runtime, never pre-load - Focus on practical implementation and real-world usage bmb _bmad/bmb/agents/agent-builder.md
13 module-builder Morgan Module Creation Master 🏗️ Module Architecture Specialist + Full-Stack Systems Designer Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality. Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability. - Modules must be self-contained yet integrate seamlessly - Every module should solve specific business problems effectively - Documentation and examples are as important as code - Plan for growth and evolution from day one - Balance innovation with proven patterns - Consider the entire module lifecycle from creation to maintenance bmb _bmad/bmb/agents/module-builder.md
14 workflow-builder Wendy Workflow Building Master 🔄 Workflow Architecture Specialist + Process Design Expert Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems. Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow. - Workflows must be efficient, reliable, and maintainable - Every workflow should have clear entry and exit points - Error handling and edge cases are critical for robust workflows - Workflow documentation must be comprehensive and clear - Test workflows thoroughly before deployment - Optimize for both performance and user experience bmb _bmad/bmb/agents/workflow-builder.md
15 brainstorming-coach Carson Elite Brainstorming Specialist 🧠 Master Brainstorming Facilitator + Innovation Catalyst Elite facilitator with 20+ years leading breakthrough sessions. Expert in creative techniques, group dynamics, and systematic innovation. Talks like an enthusiastic improv coach - high energy, builds on ideas with YES AND, celebrates wild thinking Psychological safety unlocks breakthroughs. Wild ideas today become innovations tomorrow. Humor and play are serious innovation tools. cis _bmad/cis/agents/brainstorming-coach.md
16 creative-problem-solver Dr. Quinn Master Problem Solver 🔬 Systematic Problem-Solving Expert + Solutions Architect Renowned problem-solver who cracks impossible challenges. Expert in TRIZ, Theory of Constraints, Systems Thinking. Former aerospace engineer turned puzzle master. Speaks like Sherlock Holmes mixed with a playful scientist - deductive, curious, punctuates breakthroughs with AHA moments Every problem is a system revealing weaknesses. Hunt for root causes relentlessly. The right question beats a fast answer. cis _bmad/cis/agents/creative-problem-solver.md
17 design-thinking-coach Maya Design Thinking Maestro 🎨 Human-Centered Design Expert + Empathy Architect Design thinking virtuoso with 15+ years at Fortune 500s and startups. Expert in empathy mapping, prototyping, and user insights. Talks like a jazz musician - improvises around themes, uses vivid sensory metaphors, playfully challenges assumptions Design is about THEM not us. Validate through real human interaction. Failure is feedback. Design WITH users not FOR them. cis _bmad/cis/agents/design-thinking-coach.md
18 innovation-strategist Victor Disruptive Innovation Oracle Business Model Innovator + Strategic Disruption Expert Legendary strategist who architected billion-dollar pivots. Expert in Jobs-to-be-Done, Blue Ocean Strategy. Former McKinsey consultant. Speaks like a chess grandmaster - bold declarations, strategic silences, devastatingly simple questions Markets reward genuine new value. Innovation without business model thinking is theater. Incremental thinking means obsolete. cis _bmad/cis/agents/innovation-strategist.md
19 presentation-master Caravaggio Visual Communication + Presentation Expert 🎨 Visual Communication Expert + Presentation Designer + Educator Master presentation designer who&apos;s dissected thousands of successful presentations—from viral YouTube explainers to funded pitch decks to TED talks. Understands visual hierarchy, audience psychology, and information design. Knows when to be bold and casual, when to be polished and professional. Expert in Excalidraw&apos;s frame-based presentation capabilities and visual storytelling across all contexts. Energetic creative director with sarcastic wit and experimental flair. Talks like you&apos;re in the editing room together—dramatic reveals, visual metaphors, &quot;what if we tried THIS?!&quot; energy. Treats every project like a creative challenge, celebrates bold choices, roasts bad design decisions with humor. - Know your audience - pitch decks ≠ YouTube thumbnails ≠ conference talks - Visual hierarchy drives attention - design the eye&apos;s journey deliberately - Clarity over cleverness - unless cleverness serves the message - Every frame needs a job - inform, persuade, transition, or cut it - Test the 3-second rule - can they grasp the core idea that fast? - White space builds focus - cramming kills comprehension - Consistency signals professionalism - establish and maintain visual language - Story structure applies everywhere - hook, build tension, deliver payoff cis _bmad/cis/agents/presentation-master.md
20 storyteller Sophia Master Storyteller 📖 Expert Storytelling Guide + Narrative Strategist Master storyteller with 50+ years across journalism, screenwriting, and brand narratives. Expert in emotional psychology and audience engagement. Speaks like a bard weaving an epic tale - flowery, whimsical, every sentence enraptures and draws you deeper Powerful narratives leverage timeless human truths. Find the authentic story. Make the abstract concrete through vivid details. cis _bmad/cis/agents/storyteller/storyteller.md
21 tea Murat Master Test Architect and Quality Advisor 🧪 Master Test Architect Test architect specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Equally proficient in pure API/service-layer testing (pytest, JUnit, Go test, xUnit, RSpec) as in browser-based E2E testing (Playwright, Cypress). Supports GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and Harness CI platforms. Blends data with gut instinct. &apos;Strong opinions, weakly held&apos; is their mantra. Speaks in risk calculations and impact assessments. - Risk-based testing - depth scales with impact - Quality gates backed by data - Tests mirror usage patterns (API, UI, or both) - Flakiness is critical technical debt - Tests first AI implements suite validates - Calculate risk vs value for every testing decision - Prefer lower test levels (unit &gt; integration &gt; E2E) when possible - API tests are first-class citizens, not just UI support tea _bmad/tea/agents/tea.md

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,41 @@
# Agent Customization
# Customize any section below - all are optional
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,66 @@
module,phase,name,code,sequence,workflow-file,command,required,agent-name,agent-command,agent-display-name,agent-title,options,description,output-location,outputs
bmb,anytime,Create Agent,CA,10,_bmad/bmb/workflows/agent/workflow-create-agent.md,bmad_bmb_create_agent,false,agent-builder,bmad:Precise and technical:agent:agent-builder,Bond,🤖 Agent Building Expert,Create Mode,Create a new BMAD agent with best practices and compliance,bmb_creations_output_folder,agent
bmb,anytime,Edit Agent,EA,15,_bmad/bmb/workflows/agent/workflow-edit-agent.md,bmad_bmb_edit_agent,false,agent-builder,bmad:Precise and technical:agent:agent-builder,Bond,🤖 Agent Building Expert,Edit Mode,Edit existing BMAD agents while maintaining compliance,bmb_creations_output_folder,agent
bmb,anytime,Validate Agent,VA,20,_bmad/bmb/workflows/agent/workflow-validate-agent.md,bmad_bmb_validate_agent,false,agent-builder,bmad:Precise and technical:agent:agent-builder,Bond,🤖 Agent Building Expert,Validate Mode,Validate existing BMAD agents and offer to improve deficiencies,agent being validated folder,validation report
bmb,anytime,Create Module Brief,PB,30,_bmad/bmb/workflows/module/workflow-create-module-brief.md,bmad_bmb_create_module_brief,false,module-builder,bmad:Strategic and holistic:agent:module-builder,Morgan,🏗️ Module Creation Master,Module Brief Mode,Create product brief for BMAD module development,bmb_creations_output_folder,product brief
bmb,anytime,Create Module,CM,35,_bmad/bmb/workflows/module/workflow-create-module.md,bmad_bmb_create_module,false,module-builder,bmad:Strategic and holistic:agent:module-builder,Morgan,🏗️ Module Creation Master,Create Mode,"Create a complete BMAD module with agents, workflows, and infrastructure",bmb_creations_output_folder,module
bmb,anytime,Edit Module,EM,40,_bmad/bmb/workflows/module/workflow-edit-module.md,bmad_bmb_edit_module,false,module-builder,bmad:Strategic and holistic:agent:module-builder,Morgan,🏗️ Module Creation Master,Edit Mode,Edit existing BMAD modules while maintaining coherence,bmb_creations_output_folder,module
bmb,anytime,Validate Module,VM,45,_bmad/bmb/workflows/module/workflow-validate-module.md,bmad_bmb_validate_module,false,module-builder,bmad:Strategic and holistic:agent:module-builder,Morgan,🏗️ Module Creation Master,Validate Mode,Run compliance check on BMAD modules against best practices,module being validated folder,validation report
bmb,anytime,Create Workflow,CW,50,_bmad/bmb/workflows/workflow/workflow-create-workflow.md,bmad_bmb_create_workflow,false,workflow-builder,bmad:Methodical and process-oriented:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Create Mode,Create a new BMAD workflow with proper structure and best practices,bmb_creations_output_folder,workflow
bmb,anytime,Edit Workflow,EW,55,_bmad/bmb/workflows/workflow/workflow-edit-workflow.md,bmad_bmb_edit_workflow,false,workflow-builder,bmad:Methodical and process-oriented:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Edit Mode,Edit existing BMAD workflows while maintaining integrity,bmb_creations_output_folder,workflow
bmb,anytime,Validate Workflow,VW,60,_bmad/bmb/workflows/workflow/workflow-validate-workflow.md,bmad_bmb_validate_workflow,false,workflow-builder,bmad:Methodical and process-oriented:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Validate Mode,Run validation check on BMAD workflows against best practices,workflow being validated folder,validation report
bmb,anytime,Max Parallel Validate,MV,65,_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md,bmad_bmb_validate_max_parallel,false,workflow-builder,bmad:Methodical and process-oriented:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Max Parallel Validate,Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes,workflow being validated folder,validation report
bmb,anytime,Rework Workflow,RW,70,_bmad/bmb/workflows/workflow/workflow-rework-workflow.md,bmad_bmb_rework_workflow,false,workflow-builder,bmad:Methodical and process-oriented:agent:workflow-builder,Wendy,🔄 Workflow Building Master,Rework Mode,Rework a Workflow to a V6 Compliant Version,bmb_creations_output_folder,workflow
bmm,1-analysis,Brainstorm Project,BP,10,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,data=_bmad/bmm/data/project-context-template.md,Expert Guided Facilitation through a single or multiple techniques,planning_artifacts,brainstorming session
bmm,1-analysis,Market Research,MR,20,_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md,bmad-bmm-market-research,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,Create Mode,Market analysis competitive landscape customer needs and trends,planning_artifacts|project-knowledge,research documents
bmm,1-analysis,Domain Research,DR,21,_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md,bmad-bmm-domain-research,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,Create Mode,Industry domain deep dive subject matter expertise and terminology,planning_artifacts|project_knowledge,research documents
bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md,bmad-bmm-technical-research,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,Create Mode,Technical feasibility architecture options and implementation approaches,planning_artifacts|project_knowledge,research documents
bmm,1-analysis,Create Brief,CB,30,_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md,bmad-bmm-create-product-brief,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,Create Mode,A guided experience to nail down your product idea,planning_artifacts,product brief
bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md,bmad-bmm-create-prd,true,pm,bmad:and stakeholder alignment.:agent:pm,John,📋 Product Manager,Create Mode,Expert led facilitation to produce your Product Requirements Document,planning_artifacts,prd
bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md,bmad-bmm-validate-prd,false,pm,bmad:and stakeholder alignment.:agent:pm,John,📋 Product Manager,Validate Mode,Validate PRD is comprehensive lean well organized and cohesive,planning_artifacts,prd validation report
bmm,2-planning,Edit PRD,EP,25,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md,bmad-bmm-edit-prd,false,pm,bmad:and stakeholder alignment.:agent:pm,John,📋 Product Manager,Edit Mode,Improve and enhance an existing PRD,planning_artifacts,updated prd
bmm,2-planning,Create UX,CU,30,_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md,bmad-bmm-create-ux-design,false,ux-designer,bmad:interaction design:agent:ux-designer,Sally,🎨 UX Designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,ux design
bmm,3-solutioning,Create Architecture,CA,10,_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md,bmad-bmm-create-architecture,true,architect,bmad:cloud infrastructure:agent:architect,Winston,🏗️ Architect,Create Mode,Guided Workflow to document technical decisions,planning_artifacts,architecture
bmm,3-solutioning,Create Epics and Stories,CE,30,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad-bmm-create-epics-and-stories,true,pm,bmad:and stakeholder alignment.:agent:pm,John,📋 Product Manager,Create Mode,Create the Epics and Stories Listing,planning_artifacts,epics and stories
bmm,3-solutioning,Check Implementation Readiness,IR,70,_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md,bmad-bmm-check-implementation-readiness,true,architect,bmad:cloud infrastructure:agent:architect,Winston,🏗️ Architect,Validate Mode,Ensure PRD UX Architecture and Epics Stories are aligned,planning_artifacts,readiness report
bmm,4-implementation,Sprint Planning,SP,10,_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml,bmad-bmm-sprint-planning,true,sm,bmad:story preparation:agent:sm,Bob,🏃 Scrum Master,Create Mode,Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan.,implementation_artifacts,sprint status
bmm,4-implementation,Sprint Status,SS,20,_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml,bmad-bmm-sprint-status,false,sm,bmad:story preparation:agent:sm,Bob,🏃 Scrum Master,Create Mode,Anytime: Summarize sprint status and route to next workflow,,
bmm,4-implementation,Create Story,CS,30,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad-bmm-create-story,true,sm,bmad:story preparation:agent:sm,Bob,🏃 Scrum Master,Create Mode,"Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER",implementation_artifacts,story
bmm,4-implementation,Validate Story,VS,35,_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml,bmad-bmm-create-story,false,sm,bmad:story preparation:agent:sm,Bob,🏃 Scrum Master,Validate Mode,Validates story readiness and completeness before development work begins,implementation_artifacts,story validation report
bmm,4-implementation,Dev Story,DS,40,_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml,bmad-bmm-dev-story,true,dev,bmad:all precision.:agent:dev,Amelia,💻 Developer Agent,Create Mode,Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed,,
bmm,4-implementation,QA Automation Test,QA,45,_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml,bmad-bmm-qa-automate,false,qa,bmad:more direct approach than the advanced Test Architect module.:agent:qa,Quinn,🧪 QA Engineer,Create Mode,Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.,implementation_artifacts,test suite
bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml,bmad-bmm-code-review,false,dev,bmad:all precision.:agent:dev,Amelia,💻 Developer Agent,Create Mode,Story cycle: If issues back to DS if approved then next CS or ER if epic complete,,
bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml,bmad-bmm-retrospective,false,sm,bmad:story preparation:agent:sm,Bob,🏃 Scrum Master,Create Mode,Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC,implementation_artifacts,retrospective
bmm,anytime,Document Project,DP,,_bmad/bmm/workflows/document-project/workflow.yaml,bmad-bmm-document-project,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,Create Mode,Analyze an existing project to produce useful documentation,project-knowledge,*
bmm,anytime,Generate Project Context,GPC,,_bmad/bmm/workflows/generate-project-context/workflow.md,bmad-bmm-generate-project-context,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,Create Mode,Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow.,output_folder,project context
bmm,anytime,Quick Spec,QS,,_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md,bmad-bmm-quick-spec,false,quick-flow-solo-dev,bmad:ruthless efficiency.:agent:quick-flow-solo-dev,Barry,🚀 Quick Flow Solo Dev,Create Mode,Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps brownfield additions to well established patterns utilities without extensive planning,planning_artifacts,tech spec
bmm,anytime,Quick Dev,QD,,_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md,bmad-bmm-quick-dev,false,quick-flow-solo-dev,bmad:ruthless efficiency.:agent:quick-flow-solo-dev,Barry,🚀 Quick Flow Solo Dev,Create Mode,"Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan",,
bmm,anytime,Correct Course,CC,,_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml,bmad-bmm-correct-course,false,sm,bmad:story preparation:agent:sm,Bob,🏃 Scrum Master,Create Mode,Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories,planning_artifacts,change proposal
bmm,anytime,Write Document,WD,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:DITA:agent:tech-writer,Paige,📚 Technical Writer,,"Describe in detail what you want, and the agent will follow the documentation best practices defined in agent memory. Multi-turn conversation with subprocess for research/review.",project-knowledge,document
bmm,anytime,Update Standards,US,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:DITA:agent:tech-writer,Paige,📚 Technical Writer,,Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions.,_bmad/_memory/tech-writer-sidecar,standards
bmm,anytime,Mermaid Generate,MG,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:DITA:agent:tech-writer,Paige,📚 Technical Writer,,Create a Mermaid diagram based on user description. Will suggest diagram types if not specified.,planning_artifacts,mermaid diagram
bmm,anytime,Validate Document,VD,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:DITA:agent:tech-writer,Paige,📚 Technical Writer,,Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority.,planning_artifacts,validation report
bmm,anytime,Explain Concept,EC,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,bmad:DITA:agent:tech-writer,Paige,📚 Technical Writer,,Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach.,project_knowledge,explanation
cis,anytime,Innovation Strategy,IS,,_bmad/cis/workflows/innovation-strategy/workflow.yaml,bmad-cis-innovation-strategy,false,innovation-strategist,bmad:devastatingly simple questions:agent:innovation-strategist,Victor,⚡ Disruptive Innovation Oracle,Create Mode,Identify disruption opportunities and architect business model innovation. Use when exploring new business models or seeking competitive advantage.,output_folder,innovation strategy
cis,anytime,Problem Solving,PS,,_bmad/cis/workflows/problem-solving/workflow.yaml,bmad-cis-problem-solving,false,creative-problem-solver,bmad:curious:agent:creative-problem-solver,Dr. Quinn,🔬 Master Problem Solver,Create Mode,Apply systematic problem-solving methodologies to crack complex challenges. Use when stuck on difficult problems or needing structured approaches.,output_folder,problem solution
cis,anytime,Design Thinking,DT,,_bmad/cis/workflows/design-thinking/workflow.yaml,bmad-cis-design-thinking,false,design-thinking-coach,bmad:uses vivid sensory metaphors:agent:design-thinking-coach,Maya,🎨 Design Thinking Maestro,Create Mode,Guide human-centered design processes using empathy-driven methodologies. Use for user-centered design challenges or improving user experience.,output_folder,design thinking
cis,anytime,Brainstorming,BS,,_bmad/core/workflows/brainstorming/workflow.md,bmad-cis-brainstorming,false,brainstorming-coach,bmad:builds on ideas with YES AND:agent:brainstorming-coach,Carson,🧠 Elite Brainstorming Specialist,Create Mode,Facilitate brainstorming sessions using one or more techniques. Use early in ideation phase or when stuck generating ideas.,output_folder,brainstorming session results
cis,anytime,Storytelling,ST,,_bmad/cis/workflows/storytelling/workflow.yaml,bmad-cis-storytelling,false,storyteller,bmad:whimsical:agent:storyteller,Sophia,📖 Master Storyteller,Create Mode,Craft compelling narratives using proven story frameworks and techniques. Use when needing persuasive communication or story-driven content.,output_folder,narrative/story
core,anytime,Brainstorming,BSP,,_bmad/core/workflows/brainstorming/workflow.md,bmad-brainstorming,false,analyst,bmad:competitive analysis:agent:analyst,Mary,📊 Business Analyst,,Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas.,{output_folder}/brainstorming/brainstorming-session-{{date}}.md,
core,anytime,Party Mode,PM,,_bmad/core/workflows/party-mode/workflow.md,bmad-party-mode,false,party-mode facilitator,,,,,Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.,,
core,anytime,bmad-help,BH,,_bmad/core/tasks/help.md,bmad-help,false,,,,,,Get unstuck by showing what workflow steps come next or answering BMad Method questions.,,
core,anytime,Index Docs,ID,,_bmad/core/tasks/index-docs.xml,bmad-index-docs,false,,,,,,Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.,,
core,anytime,Shard Document,SD,,_bmad/core/tasks/shard-doc.xml,bmad-shard-doc,false,,,,,,Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.,,
core,anytime,Editorial Review - Prose,EP,,_bmad/core/tasks/editorial-review-prose.xml,bmad-editorial-review-prose,false,,,,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,three-column markdown table with suggested fixes
core,anytime,Editorial Review - Structure,ES,,_bmad/core/tasks/editorial-review-structure.xml,bmad-editorial-review-structure,false,,,,,,"Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement.",report located with target document,
core,anytime,Adversarial Review (General),AR,,_bmad/core/tasks/review-adversarial-general.xml,bmad-review-adversarial-general,false,,,,,,"Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews",,
core,anytime,Edge Case Hunter Review,ECH,,_bmad/core/tasks/review-edge-case-hunter.xml,bmad-review-edge-case-hunter,false,,,,,,"Walk every branching path and boundary condition in code, report only unhandled edge cases. Use alongside adversarial review for orthogonal coverage - method-driven not attitude-driven.",,
tea,0-learning,Teach Me Testing,TMT,10,_bmad/tea/workflows/testarch/teach-me-testing/workflow.md,bmad-tea-teach-me-testing,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Teach testing fundamentals through 7 sessions (TEA Academy),test_artifacts,progress file|session notes|certificate
tea,3-solutioning,Test Design,TD,10,_bmad/tea/workflows/testarch/test-design/workflow.yaml,bmad-tea-testarch-test-design,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Risk-based test planning,test_artifacts,test design document
tea,3-solutioning,Test Framework,TF,20,_bmad/tea/workflows/testarch/framework/workflow.yaml,bmad-tea-testarch-framework,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Initialize production-ready test framework,test_artifacts,framework scaffold
tea,3-solutioning,CI Setup,CI,30,_bmad/tea/workflows/testarch/ci/workflow.yaml,bmad-tea-testarch-ci,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Configure CI/CD quality pipeline,test_artifacts,ci config
tea,4-implementation,ATDD,AT,10,_bmad/tea/workflows/testarch/atdd/workflow.yaml,bmad-tea-testarch-atdd,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Generate failing tests (TDD red phase),test_artifacts,atdd tests
tea,4-implementation,Test Automation,TA,20,_bmad/tea/workflows/testarch/automate/workflow.yaml,bmad-tea-testarch-automate,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Expand test coverage,test_artifacts,test suite
tea,4-implementation,Test Review,RV,30,_bmad/tea/workflows/testarch/test-review/workflow.yaml,bmad-tea-testarch-test-review,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Validate Mode,Quality audit (0-100 scoring),test_artifacts,review report
tea,4-implementation,NFR Assessment,NR,40,_bmad/tea/workflows/testarch/nfr-assess/workflow.yaml,bmad-tea-testarch-nfr,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Non-functional requirements,test_artifacts,nfr report
tea,4-implementation,Traceability,TR,50,_bmad/tea/workflows/testarch/trace/workflow.yaml,bmad-tea-testarch-trace,false,tea,bmad:backend services:agent:tea,Murat,🧪 Master Test Architect and Quality Advisor,Create Mode,Coverage traceability and gate,test_artifacts,traceability matrix|gate decision
1 module phase name code sequence workflow-file command required agent-name agent-command agent-display-name agent-title options description output-location outputs
2 bmb anytime Create Agent CA 10 _bmad/bmb/workflows/agent/workflow-create-agent.md bmad_bmb_create_agent false agent-builder bmad:Precise and technical:agent:agent-builder Bond 🤖 Agent Building Expert Create Mode Create a new BMAD agent with best practices and compliance bmb_creations_output_folder agent
3 bmb anytime Edit Agent EA 15 _bmad/bmb/workflows/agent/workflow-edit-agent.md bmad_bmb_edit_agent false agent-builder bmad:Precise and technical:agent:agent-builder Bond 🤖 Agent Building Expert Edit Mode Edit existing BMAD agents while maintaining compliance bmb_creations_output_folder agent
4 bmb anytime Validate Agent VA 20 _bmad/bmb/workflows/agent/workflow-validate-agent.md bmad_bmb_validate_agent false agent-builder bmad:Precise and technical:agent:agent-builder Bond 🤖 Agent Building Expert Validate Mode Validate existing BMAD agents and offer to improve deficiencies agent being validated folder validation report
5 bmb anytime Create Module Brief PB 30 _bmad/bmb/workflows/module/workflow-create-module-brief.md bmad_bmb_create_module_brief false module-builder bmad:Strategic and holistic:agent:module-builder Morgan 🏗️ Module Creation Master Module Brief Mode Create product brief for BMAD module development bmb_creations_output_folder product brief
6 bmb anytime Create Module CM 35 _bmad/bmb/workflows/module/workflow-create-module.md bmad_bmb_create_module false module-builder bmad:Strategic and holistic:agent:module-builder Morgan 🏗️ Module Creation Master Create Mode Create a complete BMAD module with agents, workflows, and infrastructure bmb_creations_output_folder module
7 bmb anytime Edit Module EM 40 _bmad/bmb/workflows/module/workflow-edit-module.md bmad_bmb_edit_module false module-builder bmad:Strategic and holistic:agent:module-builder Morgan 🏗️ Module Creation Master Edit Mode Edit existing BMAD modules while maintaining coherence bmb_creations_output_folder module
8 bmb anytime Validate Module VM 45 _bmad/bmb/workflows/module/workflow-validate-module.md bmad_bmb_validate_module false module-builder bmad:Strategic and holistic:agent:module-builder Morgan 🏗️ Module Creation Master Validate Mode Run compliance check on BMAD modules against best practices module being validated folder validation report
9 bmb anytime Create Workflow CW 50 _bmad/bmb/workflows/workflow/workflow-create-workflow.md bmad_bmb_create_workflow false workflow-builder bmad:Methodical and process-oriented:agent:workflow-builder Wendy 🔄 Workflow Building Master Create Mode Create a new BMAD workflow with proper structure and best practices bmb_creations_output_folder workflow
10 bmb anytime Edit Workflow EW 55 _bmad/bmb/workflows/workflow/workflow-edit-workflow.md bmad_bmb_edit_workflow false workflow-builder bmad:Methodical and process-oriented:agent:workflow-builder Wendy 🔄 Workflow Building Master Edit Mode Edit existing BMAD workflows while maintaining integrity bmb_creations_output_folder workflow
11 bmb anytime Validate Workflow VW 60 _bmad/bmb/workflows/workflow/workflow-validate-workflow.md bmad_bmb_validate_workflow false workflow-builder bmad:Methodical and process-oriented:agent:workflow-builder Wendy 🔄 Workflow Building Master Validate Mode Run validation check on BMAD workflows against best practices workflow being validated folder validation report
12 bmb anytime Max Parallel Validate MV 65 _bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md bmad_bmb_validate_max_parallel false workflow-builder bmad:Methodical and process-oriented:agent:workflow-builder Wendy 🔄 Workflow Building Master Max Parallel Validate Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes workflow being validated folder validation report
13 bmb anytime Rework Workflow RW 70 _bmad/bmb/workflows/workflow/workflow-rework-workflow.md bmad_bmb_rework_workflow false workflow-builder bmad:Methodical and process-oriented:agent:workflow-builder Wendy 🔄 Workflow Building Master Rework Mode Rework a Workflow to a V6 Compliant Version bmb_creations_output_folder workflow
14 bmm 1-analysis Brainstorm Project BP 10 _bmad/core/workflows/brainstorming/workflow.md bmad-brainstorming false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst data=_bmad/bmm/data/project-context-template.md Expert Guided Facilitation through a single or multiple techniques planning_artifacts brainstorming session
15 bmm 1-analysis Market Research MR 20 _bmad/bmm/workflows/1-analysis/research/workflow-market-research.md bmad-bmm-market-research false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Create Mode Market analysis competitive landscape customer needs and trends planning_artifacts|project-knowledge research documents
16 bmm 1-analysis Domain Research DR 21 _bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md bmad-bmm-domain-research false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Create Mode Industry domain deep dive subject matter expertise and terminology planning_artifacts|project_knowledge research documents
17 bmm 1-analysis Technical Research TR 22 _bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md bmad-bmm-technical-research false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Create Mode Technical feasibility architecture options and implementation approaches planning_artifacts|project_knowledge research documents
18 bmm 1-analysis Create Brief CB 30 _bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md bmad-bmm-create-product-brief false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Create Mode A guided experience to nail down your product idea planning_artifacts product brief
19 bmm 2-planning Create PRD CP 10 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md bmad-bmm-create-prd true pm bmad:and stakeholder alignment.:agent:pm John 📋 Product Manager Create Mode Expert led facilitation to produce your Product Requirements Document planning_artifacts prd
20 bmm 2-planning Validate PRD VP 20 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md bmad-bmm-validate-prd false pm bmad:and stakeholder alignment.:agent:pm John 📋 Product Manager Validate Mode Validate PRD is comprehensive lean well organized and cohesive planning_artifacts prd validation report
21 bmm 2-planning Edit PRD EP 25 _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md bmad-bmm-edit-prd false pm bmad:and stakeholder alignment.:agent:pm John 📋 Product Manager Edit Mode Improve and enhance an existing PRD planning_artifacts updated prd
22 bmm 2-planning Create UX CU 30 _bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md bmad-bmm-create-ux-design false ux-designer bmad:interaction design:agent:ux-designer Sally 🎨 UX Designer Create Mode Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project planning_artifacts ux design
23 bmm 3-solutioning Create Architecture CA 10 _bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md bmad-bmm-create-architecture true architect bmad:cloud infrastructure:agent:architect Winston 🏗️ Architect Create Mode Guided Workflow to document technical decisions planning_artifacts architecture
24 bmm 3-solutioning Create Epics and Stories CE 30 _bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md bmad-bmm-create-epics-and-stories true pm bmad:and stakeholder alignment.:agent:pm John 📋 Product Manager Create Mode Create the Epics and Stories Listing planning_artifacts epics and stories
25 bmm 3-solutioning Check Implementation Readiness IR 70 _bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md bmad-bmm-check-implementation-readiness true architect bmad:cloud infrastructure:agent:architect Winston 🏗️ Architect Validate Mode Ensure PRD UX Architecture and Epics Stories are aligned planning_artifacts readiness report
26 bmm 4-implementation Sprint Planning SP 10 _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml bmad-bmm-sprint-planning true sm bmad:story preparation:agent:sm Bob 🏃 Scrum Master Create Mode Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan. implementation_artifacts sprint status
27 bmm 4-implementation Sprint Status SS 20 _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml bmad-bmm-sprint-status false sm bmad:story preparation:agent:sm Bob 🏃 Scrum Master Create Mode Anytime: Summarize sprint status and route to next workflow
28 bmm 4-implementation Create Story CS 30 _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml bmad-bmm-create-story true sm bmad:story preparation:agent:sm Bob 🏃 Scrum Master Create Mode Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER implementation_artifacts story
29 bmm 4-implementation Validate Story VS 35 _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml bmad-bmm-create-story false sm bmad:story preparation:agent:sm Bob 🏃 Scrum Master Validate Mode Validates story readiness and completeness before development work begins implementation_artifacts story validation report
30 bmm 4-implementation Dev Story DS 40 _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml bmad-bmm-dev-story true dev bmad:all precision.:agent:dev Amelia 💻 Developer Agent Create Mode Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed
31 bmm 4-implementation QA Automation Test QA 45 _bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml bmad-bmm-qa-automate false qa bmad:more direct approach than the advanced Test Architect module.:agent:qa Quinn 🧪 QA Engineer Create Mode Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that. implementation_artifacts test suite
32 bmm 4-implementation Code Review CR 50 _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml bmad-bmm-code-review false dev bmad:all precision.:agent:dev Amelia 💻 Developer Agent Create Mode Story cycle: If issues back to DS if approved then next CS or ER if epic complete
33 bmm 4-implementation Retrospective ER 60 _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml bmad-bmm-retrospective false sm bmad:story preparation:agent:sm Bob 🏃 Scrum Master Create Mode Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC implementation_artifacts retrospective
34 bmm anytime Document Project DP _bmad/bmm/workflows/document-project/workflow.yaml bmad-bmm-document-project false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Create Mode Analyze an existing project to produce useful documentation project-knowledge *
35 bmm anytime Generate Project Context GPC _bmad/bmm/workflows/generate-project-context/workflow.md bmad-bmm-generate-project-context false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Create Mode Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow. output_folder project context
36 bmm anytime Quick Spec QS _bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md bmad-bmm-quick-spec false quick-flow-solo-dev bmad:ruthless efficiency.:agent:quick-flow-solo-dev Barry 🚀 Quick Flow Solo Dev Create Mode Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps brownfield additions to well established patterns utilities without extensive planning planning_artifacts tech spec
37 bmm anytime Quick Dev QD _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md bmad-bmm-quick-dev false quick-flow-solo-dev bmad:ruthless efficiency.:agent:quick-flow-solo-dev Barry 🚀 Quick Flow Solo Dev Create Mode Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan
38 bmm anytime Correct Course CC _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml bmad-bmm-correct-course false sm bmad:story preparation:agent:sm Bob 🏃 Scrum Master Create Mode Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories planning_artifacts change proposal
39 bmm anytime Write Document WD _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:DITA:agent:tech-writer Paige 📚 Technical Writer Describe in detail what you want, and the agent will follow the documentation best practices defined in agent memory. Multi-turn conversation with subprocess for research/review. project-knowledge document
40 bmm anytime Update Standards US _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:DITA:agent:tech-writer Paige 📚 Technical Writer Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions. _bmad/_memory/tech-writer-sidecar standards
41 bmm anytime Mermaid Generate MG _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:DITA:agent:tech-writer Paige 📚 Technical Writer Create a Mermaid diagram based on user description. Will suggest diagram types if not specified. planning_artifacts mermaid diagram
42 bmm anytime Validate Document VD _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:DITA:agent:tech-writer Paige 📚 Technical Writer Review the specified document against documentation standards and best practices. Returns specific actionable improvement suggestions organized by priority. planning_artifacts validation report
43 bmm anytime Explain Concept EC _bmad/bmm/agents/tech-writer/tech-writer.agent.yaml false tech-writer bmad:DITA:agent:tech-writer Paige 📚 Technical Writer Create clear technical explanations with examples and diagrams for complex concepts. Breaks down into digestible sections using task-oriented approach. project_knowledge explanation
44 cis anytime Innovation Strategy IS _bmad/cis/workflows/innovation-strategy/workflow.yaml bmad-cis-innovation-strategy false innovation-strategist bmad:devastatingly simple questions:agent:innovation-strategist Victor ⚡ Disruptive Innovation Oracle Create Mode Identify disruption opportunities and architect business model innovation. Use when exploring new business models or seeking competitive advantage. output_folder innovation strategy
45 cis anytime Problem Solving PS _bmad/cis/workflows/problem-solving/workflow.yaml bmad-cis-problem-solving false creative-problem-solver bmad:curious:agent:creative-problem-solver Dr. Quinn 🔬 Master Problem Solver Create Mode Apply systematic problem-solving methodologies to crack complex challenges. Use when stuck on difficult problems or needing structured approaches. output_folder problem solution
46 cis anytime Design Thinking DT _bmad/cis/workflows/design-thinking/workflow.yaml bmad-cis-design-thinking false design-thinking-coach bmad:uses vivid sensory metaphors:agent:design-thinking-coach Maya 🎨 Design Thinking Maestro Create Mode Guide human-centered design processes using empathy-driven methodologies. Use for user-centered design challenges or improving user experience. output_folder design thinking
47 cis anytime Brainstorming BS _bmad/core/workflows/brainstorming/workflow.md bmad-cis-brainstorming false brainstorming-coach bmad:builds on ideas with YES AND:agent:brainstorming-coach Carson 🧠 Elite Brainstorming Specialist Create Mode Facilitate brainstorming sessions using one or more techniques. Use early in ideation phase or when stuck generating ideas. output_folder brainstorming session results
48 cis anytime Storytelling ST _bmad/cis/workflows/storytelling/workflow.yaml bmad-cis-storytelling false storyteller bmad:whimsical:agent:storyteller Sophia 📖 Master Storyteller Create Mode Craft compelling narratives using proven story frameworks and techniques. Use when needing persuasive communication or story-driven content. output_folder narrative/story
49 core anytime Brainstorming BSP _bmad/core/workflows/brainstorming/workflow.md bmad-brainstorming false analyst bmad:competitive analysis:agent:analyst Mary 📊 Business Analyst Generate diverse ideas through interactive techniques. Use early in ideation phase or when stuck generating ideas. {output_folder}/brainstorming/brainstorming-session-{{date}}.md
50 core anytime Party Mode PM _bmad/core/workflows/party-mode/workflow.md bmad-party-mode false party-mode facilitator Orchestrate multi-agent discussions. Use when you need multiple agent perspectives or want agents to collaborate.
51 core anytime bmad-help BH _bmad/core/tasks/help.md bmad-help false Get unstuck by showing what workflow steps come next or answering BMad Method questions.
52 core anytime Index Docs ID _bmad/core/tasks/index-docs.xml bmad-index-docs false Create lightweight index for quick LLM scanning. Use when LLM needs to understand available docs without loading everything.
53 core anytime Shard Document SD _bmad/core/tasks/shard-doc.xml bmad-shard-doc false Split large documents into smaller files by sections. Use when doc becomes too large (>500 lines) to manage effectively.
54 core anytime Editorial Review - Prose EP _bmad/core/tasks/editorial-review-prose.xml bmad-editorial-review-prose false Review prose for clarity, tone, and communication issues. Use after drafting to polish written content. report located with target document three-column markdown table with suggested fixes
55 core anytime Editorial Review - Structure ES _bmad/core/tasks/editorial-review-structure.xml bmad-editorial-review-structure false Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement. report located with target document
56 core anytime Adversarial Review (General) AR _bmad/core/tasks/review-adversarial-general.xml bmad-review-adversarial-general false Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews
57 core anytime Edge Case Hunter Review ECH _bmad/core/tasks/review-edge-case-hunter.xml bmad-review-edge-case-hunter false Walk every branching path and boundary condition in code, report only unhandled edge cases. Use alongside adversarial review for orthogonal coverage - method-driven not attitude-driven.
58 tea 0-learning Teach Me Testing TMT 10 _bmad/tea/workflows/testarch/teach-me-testing/workflow.md bmad-tea-teach-me-testing false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Teach testing fundamentals through 7 sessions (TEA Academy) test_artifacts progress file|session notes|certificate
59 tea 3-solutioning Test Design TD 10 _bmad/tea/workflows/testarch/test-design/workflow.yaml bmad-tea-testarch-test-design false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Risk-based test planning test_artifacts test design document
60 tea 3-solutioning Test Framework TF 20 _bmad/tea/workflows/testarch/framework/workflow.yaml bmad-tea-testarch-framework false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Initialize production-ready test framework test_artifacts framework scaffold
61 tea 3-solutioning CI Setup CI 30 _bmad/tea/workflows/testarch/ci/workflow.yaml bmad-tea-testarch-ci false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Configure CI/CD quality pipeline test_artifacts ci config
62 tea 4-implementation ATDD AT 10 _bmad/tea/workflows/testarch/atdd/workflow.yaml bmad-tea-testarch-atdd false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Generate failing tests (TDD red phase) test_artifacts atdd tests
63 tea 4-implementation Test Automation TA 20 _bmad/tea/workflows/testarch/automate/workflow.yaml bmad-tea-testarch-automate false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Expand test coverage test_artifacts test suite
64 tea 4-implementation Test Review RV 30 _bmad/tea/workflows/testarch/test-review/workflow.yaml bmad-tea-testarch-test-review false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Validate Mode Quality audit (0-100 scoring) test_artifacts review report
65 tea 4-implementation NFR Assessment NR 40 _bmad/tea/workflows/testarch/nfr-assess/workflow.yaml bmad-tea-testarch-nfr false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Non-functional requirements test_artifacts nfr report
66 tea 4-implementation Traceability TR 50 _bmad/tea/workflows/testarch/trace/workflow.yaml bmad-tea-testarch-trace false tea bmad:backend services:agent:tea Murat 🧪 Master Test Architect and Quality Advisor Create Mode Coverage traceability and gate test_artifacts traceability matrix|gate decision

View File

@@ -0,0 +1,615 @@
type,name,module,path,hash
"csv","agent-manifest","_config","_config/agent-manifest.csv","a8b9558b9ea95c8c4e8233dbb166ef825f78e522dacce55c840d8b9cf06da01b"
"csv","task-manifest","_config","_config/task-manifest.csv","1ef8d7a48d83e6f7c6da7f2169e28198f3abf08699f3f817258076fe0a2c2ee8"
"csv","workflow-manifest","_config","_config/workflow-manifest.csv","2cfc5495d13f315691c0f9d5f820df84777c0065bf1e426fe7a2d969180c85d0"
"yaml","manifest","_config","_config/manifest.yaml","77ae140974d2577178efc6da6997381879416cf98c0e25b35238929e24630f67"
"md","documentation-standards","_memory","_memory/tech-writer-sidecar/documentation-standards.md","b046192ee42fcd1a3e9b2ae6911a0db38510323d072c8d75bad0594f943039e4"
"md","stories-told","_memory","_memory/storyteller-sidecar/stories-told.md","47ee9e599595f3d9daf96d47bcdacf55eeb69fbe5572f6b08a8f48c543bc62de"
"md","story-preferences","_memory","_memory/storyteller-sidecar/story-preferences.md","b70dbb5baf3603fdac12365ef24610685cba3b68a9bc41b07bbe455cbdcc0178"
"yaml","config","_memory","_memory/config.yaml","a78c49021afe4231485eaa8cd1106c7c5fc9759090ec5787e32ccf07cd71c8c6"
"csv","common-workflow-tools","bmb","bmb/workflows/workflow/data/common-workflow-tools.csv","e59bc1d76db128ff04c53fab4b4f840f486f9804ed0d7fb7af1f62c15c2eb86a"
"csv","communication-presets","bmb","bmb/workflows/agent/data/communication-presets.csv","1297e9277f05254ee20c463e6071df3811dfb8fe5d1183ce07ce9b092cb3fd16"
"csv","module-help","bmb","bmb/module-help.csv","f25e9885efd06c5f7a51466c65f6016c77f5767e924a644508877bcb3575cb88"
"md","agent-architecture","bmb","bmb/workflows/agent/data/agent-architecture.md","4e7108717cb0da3e4b35680bcea350731f69497d60f09e8db036008eb16b8266"
"md","agent-architecture","bmb","bmb/workflows/module/data/agent-architecture.md","292bb887f2b6bfbe7536ae2a3d936c51bce8f55680298ccc5620ae38081017ca"
"md","agent-compilation","bmb","bmb/workflows/agent/data/agent-compilation.md","d0722de16e620caf44843fb5e02324fd1f6a1e325c4957bcf596b9652c95b15f"
"md","agent-menu-patterns","bmb","bmb/workflows/agent/data/agent-menu-patterns.md","df5298d5cccd946fc36cf79ee0a21f9680d878a50cb9de7eecc49a250d6922e2"
"md","agent-metadata","bmb","bmb/workflows/agent/data/agent-metadata.md","b49dab109782f56bb915744f67af36abdef810735665a13405ca327607b06e30"
"md","agent-plan.template","bmb","bmb/workflows/agent/templates/agent-plan.template.md","81e79756fb4c368c568ba05efcd276d1d52a111163827439733554f4d94e3094"
"md","agent-spec-template","bmb","bmb/workflows/module/data/agent-spec-template.md","ff68be471450daf91dc6d3c2d96ee2a8638acd7f26589abf4c328d8df7547677"
"md","agent-template","bmb","bmb/workflows/agent/templates/agent-template.md","bfaf5b7675d94279734fde32ea43a7f2383b045a027c74f426a3ea43b5f9baee"
"md","agent-validation","bmb","bmb/workflows/agent/data/agent-validation.md","df9aa540d62084b617200c312c751ee920b492afbc4aea3f54cebc4964f7b6ac"
"md","architect","bmb","bmb/workflows/agent/data/reference/module-examples/architect.md","fd9d3138eb02f9a2a770a90cad57a72827965deb9d5944a2fea22af03a95e0ab"
"md","architecture","bmb","bmb/workflows/workflow/data/architecture.md","94f6ff8b32bc819ca9f9f2f43c50562fd1ed25d82ffcb0e33795f7e36243626b"
"md","brainstorm-context","bmb","bmb/workflows/agent/data/brainstorm-context.md","f2685504ff1c781fc1829f9550d9c2f3f0fde4bc9f451515ce653abef0366b76"
"md","brief-template","bmb","bmb/workflows/module/templates/brief-template.md","9b3a5aab977cd189317321b92d512110fa13993a27447b25143fff14b24f6f84"
"md","critical-actions","bmb","bmb/workflows/agent/data/critical-actions.md","86dc92ca4fdd8ab8d1783da4c74ba03eb0ecbda105f4af9fe15decd70c871f4e"
"md","csv-data-file-standards","bmb","bmb/workflows/workflow/data/csv-data-file-standards.md","3efef22ebe70e0c89e34a5ab74cd51d89b56ac4404279e85bc5c1606e258ae79"
"md","e-01-load-existing","bmb","bmb/workflows/agent/steps-e/e-01-load-existing.md","e672dacda200987c944ac8aee8a8d4b25c30832eb52555ffb55235a98dacec19"
"md","e-02-discover-edits","bmb","bmb/workflows/agent/steps-e/e-02-discover-edits.md","8f902e4c5e0c9c54e764bbc4aadde79302bd069c6115f07ca3d8d3e756a26ef9"
"md","e-03-placeholder","bmb","bmb/workflows/agent/steps-e/e-03-placeholder.md","4076b77b471144f7bd58454a2652bed9a11a964bb249df95272b73590757a95e"
"md","e-04-sidecar-metadata","bmb","bmb/workflows/agent/steps-e/e-04-sidecar-metadata.md","170932df21c468495c1295da4122d2a730555ab8ef135a23884c5cd4b23463a8"
"md","e-05-persona","bmb","bmb/workflows/agent/steps-e/e-05-persona.md","93742cd56f05ff1eb25cb3357908e5e3d65c253f05260f6cf6680eea8e510a21"
"md","e-06-commands-menu","bmb","bmb/workflows/agent/steps-e/e-06-commands-menu.md","bcaaf0ed3a3ac1ee57393e4c5fc138ca971741019ccc8edc3fdec13bf755304c"
"md","e-07-activation","bmb","bmb/workflows/agent/steps-e/e-07-activation.md","287eade210793c82fa99f47871fa36666af2406d0b8710a05c061d8c4d11dbb1"
"md","e-08-edit-agent","bmb","bmb/workflows/agent/steps-e/e-08-edit-agent.md","1f7d857f21bbeb79fce3f2141c3627269c58a223afd90c301fec1d4087b083a4"
"md","e-09-celebrate","bmb","bmb/workflows/agent/steps-e/e-09-celebrate.md","20f273e2c55d5d38d49b2161bc3303a003126af61799e13a1f5e398d6578889f"
"md","frontmatter-standards","bmb","bmb/workflows/workflow/data/frontmatter-standards.md","95c756d4dd8eebca708bd03983b8c95374babbeedd9963a7dd89908be0bc0c7a"
"md","input-discovery-standards","bmb","bmb/workflows/workflow/data/input-discovery-standards.md","6e71ec3582a13d1836b12fcca40a50f2d8c30b4bb37f78f622c540054403cb7c"
"md","intent-vs-prescriptive-spectrum","bmb","bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md","d5e10863d2ba52e0d0cfdc67cdfcb358bc1bbfa900c0a47ce1383cff81c14e46"
"md","menu-handling-standards","bmb","bmb/workflows/workflow/data/menu-handling-standards.md","f664abbedbb71e712486c2b03a5131b05b5f89ba6557d2c35f0b123512153673"
"md","minimal-output-template","bmb","bmb/workflows/workflow/templates/minimal-output-template.md","ff4c222f36c3589529eb3b1df80f914b64de76f74022332e555fbf2402bf2a7f"
"md","module-help-generate","bmb","bmb/workflows/module/module-help-generate.md","4c2099aacd4fc923ab7b2f4696e786d34cc2b55a0e86bd3ead757743a02a3e02"
"md","module-standards","bmb","bmb/workflows/module/data/module-standards.md","f3f008189dcb85978b1ca43ec7396d3e7587b2ec16d513297e568a9df980ad46"
"md","module-yaml-conventions","bmb","bmb/workflows/module/data/module-yaml-conventions.md","61b0f880aa99920f25d95b3ce333fa384f91d2eb2ed6d5179ba5b7524d9e625c"
"md","output-format-standards","bmb","bmb/workflows/workflow/data/output-format-standards.md","8975765f4cf43478685529d559ad95691a677c85ebd1af42088f02dd83d448a3"
"md","persona-properties","bmb","bmb/workflows/agent/data/persona-properties.md","d71a2a855d3f12f742d0b1ebcd6a1bb99550d1b22f56c3c5e038a53d13e6970d"
"md","principles-crafting","bmb","bmb/workflows/agent/data/principles-crafting.md","33e40c3aa10b27e7a33277b90c294dbcdc1df5b6c4115ebf3c18ff47943ce65f"
"md","step-00-conversion","bmb","bmb/workflows/workflow/steps-c/step-00-conversion.md","f1cff1e6117c249a845dcbe6361d89a356a2d9c41b1700c455dc4af667a84016"
"md","step-01-brainstorm","bmb","bmb/workflows/agent/steps-c/step-01-brainstorm.md","8b56200dc67a43d3eb2afff9d329aa3ed07beeeb362b00b3b521a4de1f9a2b34"
"md","step-01-discovery","bmb","bmb/workflows/workflow/steps-c/step-01-discovery.md","14bafd883635c3606ecf63c82ea126b5bdad86980eee334e157dae5de04811c2"
"md","step-01-init-continuable-template","bmb","bmb/workflows/workflow/templates/step-01-init-continuable-template.md","f211cf173c79b773a54612ad705e4fbbc0c936a5d4671a450602e8f73cab1183"
"md","step-01-load-brief","bmb","bmb/workflows/module/steps-c/step-01-load-brief.md","d11ae0c2fe17d2b8427ef5b96c06c2f870e6bf3a204f2eafebce8354f850bc90"
"md","step-01-load-target","bmb","bmb/workflows/module/steps-e/step-01-load-target.md","26aef55b965315443a35e6a0d55c9ce003c2bd9a0996bc209e638680a6969dd5"
"md","step-01-load-target","bmb","bmb/workflows/module/steps-v/step-01-load-target.md","27fba2bf4be60ce6d4d00b491deb3bf8ae2af9c078d97cb4629a14268a1b45e1"
"md","step-01-validate","bmb","bmb/workflows/workflow/steps-v/step-01-validate.md","7062165cc403137878ec484a8a70215288d2b611a8b2153f45f814d3d1a9d58a"
"md","step-01-validate-max-mode","bmb","bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md","cf2de5888a6b3e025912769dc417d707391bb5885c973ed6359d16666540c313"
"md","step-01-welcome","bmb","bmb/workflows/module/steps-b/step-01-welcome.md","360f177df40eb103c3a39118fc0d0e38c4bbe5e042555dc22ec75f96888bedcd"
"md","step-01b-continuation","bmb","bmb/workflows/workflow/steps-c/step-01b-continuation.md","26b8ca474a892000d5b9f87bf9defc85af381fb3ae27b4b8aa8e2aafedebcd8d"
"md","step-01b-continue","bmb","bmb/workflows/module/steps-c/step-01b-continue.md","9909a6a213dea8e35f730713d947baf068e30d734e8209389b727baff1f339e6"
"md","step-01b-structure","bmb","bmb/workflows/workflow/steps-v/step-01b-structure.md","1a5c4344f777331ebf3f26f0f96b0d384ced6d3ad1e261041bd0942b328a62b4"
"md","step-02-classification","bmb","bmb/workflows/workflow/steps-c/step-02-classification.md","d31e2b451af0dcdd3d6c6695143200f0b40c3e8725ddf09849810f6984b76286"
"md","step-02-discovery","bmb","bmb/workflows/agent/steps-c/step-02-discovery.md","52aadeb5dab8d4c0b43bdfb68bf7b32ea03ead412826c20f5c0c1afcb9c87d42"
"md","step-02-file-structure","bmb","bmb/workflows/module/steps-v/step-02-file-structure.md","db23a0e73ed9e7885b6e629a7b631db142920857ba3a8e7db4c6de8339be0514"
"md","step-02-frontmatter-validation","bmb","bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md","86fede3dd8b992eeeeb962bd217dcb9d002aad2def3acbf0b8f3ea4f089bf1d4"
"md","step-02-select-edit","bmb","bmb/workflows/module/steps-e/step-02-select-edit.md","54c0825ec764e38481a4edb1524a2505dc5eff079a844ab4384eb6d264511680"
"md","step-02-spark","bmb","bmb/workflows/module/steps-b/step-02-spark.md","675a83d6c257439ac1c6a508358ff09f532075bcb4f97c1037f626324f431e34"
"md","step-02-structure","bmb","bmb/workflows/module/steps-c/step-02-structure.md","a92a42777e4aa90ae90f3a4cde49a4e46dc6d390d5f8b0e6c25cbd0749534626"
"md","step-02b-path-violations","bmb","bmb/workflows/workflow/steps-v/step-02b-path-violations.md","34da677fd6b3bcbc54ffa8fba8c690a21e0189000aa30331c586438ad397c977"
"md","step-03-apply-edit","bmb","bmb/workflows/module/steps-e/step-03-apply-edit.md","4cc07b6468e7e8ce8b941e5c74d132f5657caa58086586cc80eebd223a4114fd"
"md","step-03-config","bmb","bmb/workflows/module/steps-c/step-03-config.md","ca89836174c4b76051d43457aa0217295d5bf4eb2800c03ed2d29832d09cd369"
"md","step-03-menu-validation","bmb","bmb/workflows/workflow/steps-v/step-03-menu-validation.md","b484b7e112339facc41edee5631a513c89f4f5d90c2303e9457deb96ce3287af"
"md","step-03-module-type","bmb","bmb/workflows/module/steps-b/step-03-module-type.md","0e41528e462d831ff005fdadce5a38351ebc6e95e272b79a43615c322e884e09"
"md","step-03-module-yaml","bmb","bmb/workflows/module/steps-v/step-03-module-yaml.md","3a69cb73ae898484401c3ffbd203fb3ab74d5678933ae460d2bcc2786e876493"
"md","step-03-requirements","bmb","bmb/workflows/workflow/steps-c/step-03-requirements.md","4954b42e344ce6f728fc3dc8df3ad5eeac0ce6d73fb08c8ff09d762e9364fd71"
"md","step-03-sidecar-metadata","bmb","bmb/workflows/agent/steps-c/step-03-sidecar-metadata.md","ecd17fb960120f8709d0b1f95c265a6275a4672db9b02458cf9df7b6d2a6681e"
"md","step-04-agent-specs","bmb","bmb/workflows/module/steps-v/step-04-agent-specs.md","a8d5eac1f5e8693c370bdb774c926a45cf5afde8d94e6996862664cdee444849"
"md","step-04-agents","bmb","bmb/workflows/module/steps-c/step-04-agents.md","22b913e38f32f9bf388f43290a17726318986d559b42b188f26bf97a20e651d3"
"md","step-04-persona","bmb","bmb/workflows/agent/steps-c/step-04-persona.md","cd8b5845b987eeff0cdf16a913e2de439e32e927a1b4f977fee238e56c02d9a4"
"md","step-04-review","bmb","bmb/workflows/module/steps-e/step-04-review.md","9b86a5d09668674accd03cb47cd6c437c2117ee23562bb2bcea8ddc6979eefeb"
"md","step-04-step-type-validation","bmb","bmb/workflows/workflow/steps-v/step-04-step-type-validation.md","3a923bcad87fc74036fdefa8f42d360b8d02b678f9077aedd18654e94d966f7a"
"md","step-04-tools","bmb","bmb/workflows/workflow/steps-c/step-04-tools.md","623adb4ca3a6e47a27e78ebc55ea45b89866ca60e04aa05f9907f6bdf8a9f57c"
"md","step-04-vision","bmb","bmb/workflows/module/steps-b/step-04-vision.md","cac4ca0fe32092801503f906fdfa868e65ba0490877daeb23a274571135ecddc"
"md","step-05-commands-menu","bmb","bmb/workflows/agent/steps-c/step-05-commands-menu.md","daf554f3cedfcb26381bec533b00cfbb73cc688dcaa72167eba852cead8fa861"
"md","step-05-confirm","bmb","bmb/workflows/module/steps-e/step-05-confirm.md","1abeb25cd94e0396642e0ffd4d68d1b21350c51f2eee86bf403fb6f406a22408"
"md","step-05-identity","bmb","bmb/workflows/module/steps-b/step-05-identity.md","c81aa920cf83f04a51585675b2b09d756d7c5bb9e851ccea66e25d76aeaf3cff"
"md","step-05-output-format-validation","bmb","bmb/workflows/workflow/steps-v/step-05-output-format-validation.md","824a0bea33d14e5694f6b58504eb655af26ccd3d1001a40179861146038d77e6"
"md","step-05-plan-review","bmb","bmb/workflows/workflow/steps-c/step-05-plan-review.md","852bb996af5ccdb7df158106ba7c98698b21f667b5fd1c3256c1929839b73e38"
"md","step-05-workflow-specs","bmb","bmb/workflows/module/steps-v/step-05-workflow-specs.md","870c35fdc1e486b67fc21876964c28db1286e6e63acf83ec35f27ec274d8e868"
"md","step-05-workflows","bmb","bmb/workflows/module/steps-c/step-05-workflows.md","f924f8d79fc3dfc85170b321dd08b414cbb09eadaaf4f07e55fe3b9b60049026"
"md","step-06-activation","bmb","bmb/workflows/agent/steps-c/step-06-activation.md","cd892bde609db408cdd73ef503eb9aede24ec575e161ab43b40f84001cd6c182"
"md","step-06-design","bmb","bmb/workflows/workflow/steps-c/step-06-design.md","9873ef3c4ac9f9dc68e552e626a7c20091eba1c9d19f1fa76b2ba0738d0bc082"
"md","step-06-docs","bmb","bmb/workflows/module/steps-c/step-06-docs.md","5d05cf19d95dfc3f40d1051612a4a97e8e0fb161e6892cc886df5b1bcbef8888"
"md","step-06-documentation","bmb","bmb/workflows/module/steps-v/step-06-documentation.md","8b747c69aeda2222c980c0341fceaa7596e819420eead2e1cee634b17ddb4803"
"md","step-06-users","bmb","bmb/workflows/module/steps-b/step-06-users.md","9e96d114253f41272cb022879db49487e35c81d21163b4358a3f287d8714aa60"
"md","step-06-validation-design-check","bmb","bmb/workflows/workflow/steps-v/step-06-validation-design-check.md","8eb78dc10848d8e33a6c84fee38210fef8e4431aa25c318d596d25d69f9755f5"
"md","step-07-build-agent","bmb","bmb/workflows/agent/steps-c/step-07-build-agent.md","2211519285b1fa8b3f8c6407d9f15121473b15ca273ad174377351312c10f4c9"
"md","step-07-complete","bmb","bmb/workflows/module/steps-c/step-07-complete.md","af457b4579d6e8396b7ade272b04453df3422ca7a1db6bdc0e77097b6ad5804b"
"md","step-07-foundation","bmb","bmb/workflows/workflow/steps-c/step-07-foundation.md","da4a6efc428c003dc9576c243111e2b29843608adb864105d5e130cae18498eb"
"md","step-07-installation","bmb","bmb/workflows/module/steps-v/step-07-installation.md","06966e9496de39e7a6204c61c14a35dd0298af1485226b9f8eaac06e4a816633"
"md","step-07-instruction-style-check","bmb","bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md","b9ce0212ea49b3dfdb7204f9cfa5c59b25f4e314d2ab9cc27a95c1f432faa2f9"
"md","step-07-value","bmb","bmb/workflows/module/steps-b/step-07-value.md","8a1fadb590730bbcb33454974ffad289d6f61a93c1d317ee883f60311c003f2e"
"md","step-08-agents","bmb","bmb/workflows/module/steps-b/step-08-agents.md","891f06eb89c9bbf687286252a4dda6cb19b0cc0b084f4b919aab5d7518fa9c77"
"md","step-08-build-step-01","bmb","bmb/workflows/workflow/steps-c/step-08-build-step-01.md","cbdea1291bd9f2fe5d112ceb61caa05a81b00566997e4c5f7fc6d32ec4666267"
"md","step-08-celebrate","bmb","bmb/workflows/agent/steps-c/step-08-celebrate.md","540fc2dc69aa402ffd7222ff37379100497e188ebec42616240b8c2b7d4ac493"
"md","step-08-collaborative-experience-check","bmb","bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md","5cffb645b0175b823f9607530625d1903920532f95e0d92b71fb233043dc4f4e"
"md","step-08-report","bmb","bmb/workflows/module/steps-v/step-08-report.md","8e1d295dc29b6dab5fe0ec81f51b614cb8a62b849fe10895093685b3164fe2bd"
"md","step-08b-subprocess-optimization","bmb","bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md","1934aa38ebabab0ddf2777cacddd96f37554dcda8f80812b87564a4b64925c36"
"md","step-09-build-next-step","bmb","bmb/workflows/workflow/steps-c/step-09-build-next-step.md","e814302a0713f910baadf6eda45696cd0ef632c4db38e32864f876fb2468cb38"
"md","step-09-cohesive-review","bmb","bmb/workflows/workflow/steps-v/step-09-cohesive-review.md","77e00f46ae55bb95ebeacc6380871befb2f60844f547b260eca08e77cb1e8618"
"md","step-09-workflows","bmb","bmb/workflows/module/steps-b/step-09-workflows.md","ce099465badf171f4451ebc6064de306e85807875f747bf5f4e3542ec93961e8"
"md","step-10-confirmation","bmb","bmb/workflows/workflow/steps-c/step-10-confirmation.md","17826ad707f57f19061cb227dc8234b2338175e9ef52a5ba4acde9c3be5f7ab6"
"md","step-10-report-complete","bmb","bmb/workflows/workflow/steps-v/step-10-report-complete.md","901274400fa20398593f392b2ec17da88045b09c6f36f29e71e0d4219d86acf0"
"md","step-10-tools","bmb","bmb/workflows/module/steps-b/step-10-tools.md","c66a53c8b35261e511663ada1adfc62486a7d8183a51f348e28ee74fb5cdb8bf"
"md","step-11-completion","bmb","bmb/workflows/workflow/steps-c/step-11-completion.md","fa84481cdadc7405628c44b18e231b5ced89dcf1105cc5ec7b0d57c3b085f193"
"md","step-11-plan-validation","bmb","bmb/workflows/workflow/steps-v/step-11-plan-validation.md","33421d9536fee94228d57adceddff16fe3ef2fb39e97402db855b449c74e1908"
"md","step-11-scenarios","bmb","bmb/workflows/module/steps-b/step-11-scenarios.md","27115e07abbee27dc44ddd519586a1f00e3069c1fda7998e726ca966d0774c9b"
"md","step-12-creative","bmb","bmb/workflows/module/steps-b/step-12-creative.md","f573cda16421dbf02433efcbc36f044a836badccbe2d112de0e72a60f9627043"
"md","step-13-review","bmb","bmb/workflows/module/steps-b/step-13-review.md","7fbe0bfad983bee2be1a658e9d761ec814b81609dcd297e6ef5cce52221f68ce"
"md","step-14-finalize","bmb","bmb/workflows/module/steps-b/step-14-finalize.md","6ec52af56a4158156c900efa3438b3e6c66d9483ef5406943a47308a91512f4a"
"md","step-1b-template","bmb","bmb/workflows/workflow/templates/step-1b-template.md","1728f01e00cad05b727d292dd9f163c3d94e70cff3243c67f958aa412bffc5aa"
"md","step-e-01-assess-workflow","bmb","bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md","d35285d365240ef997b47c262715326293a47835f84d71cbe20f8084ef62ad67"
"md","step-e-02-discover-edits","bmb","bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md","7066e66d5c16b5c853d60bb53a0ff9396236d0af3a7ebecbab2cdfbc329f4c84"
"md","step-e-03-fix-validation","bmb","bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md","c62da8d8a497865d163774ef99c961d0b465b8863684dd6ab4e2b9dee76acf49"
"md","step-e-04-direct-edit","bmb","bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md","9d5e13c0cc503c17d0977f1667d00b82b4191d875a269e04f6fb956c5cc0f27a"
"md","step-e-05-apply-edit","bmb","bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md","c8e2613800416342214bc402433a4163afb26cd7561a9cac31e3e6bfe2a254aa"
"md","step-e-06-validate-after","bmb","bmb/workflows/workflow/steps-e/step-e-06-validate-after.md","130794b7a744775691256fe6b849e94a9764b8c22d775c9dce423c311145622f"
"md","step-e-07-complete","bmb","bmb/workflows/workflow/steps-e/step-e-07-complete.md","3c3b50718bcfc29a4db981bcf2c6cb4ff81598fc0ebe2f50ef36e4d0f7301c0f"
"md","step-file-rules","bmb","bmb/workflows/workflow/data/step-file-rules.md","bfc096df223992a8568e2e1a7b03bb3cb5fab26154c73782d2e94edd6fdaa4fd"
"md","step-template","bmb","bmb/workflows/workflow/templates/step-template.md","2bc3e860d0b59397c651137a020d0218982031df3eddd22f1bbc9bc0c3797ce1"
"md","step-type-patterns","bmb","bmb/workflows/workflow/data/step-type-patterns.md","5bf33d70160ae8b8914c4de64c8bb0bad6e2788883f613539711819c3cd8fc2b"
"md","subprocess-optimization-patterns","bmb","bmb/workflows/workflow/data/subprocess-optimization-patterns.md","7ab53a8001bbe9e81c76173dc7fc5cc53a7fb864d8ff69626b6e6cfeadfdc7e6"
"md","trimodal-workflow-structure","bmb","bmb/workflows/workflow/data/trimodal-workflow-structure.md","7908071a7e6962f9db23890b7f832b095064ca91eec2642273dbf7d62f0e4f27"
"md","understanding-agent-types","bmb","bmb/workflows/agent/data/understanding-agent-types.md","dc8255165a5d4409cb49462838f03321e03862857440c4f3f3822bb7d05d0002"
"md","v-01-load-review","bmb","bmb/workflows/agent/steps-v/v-01-load-review.md","eb6bbf20785bdca98336f6b8bfc893df6775551b13c01d67661d6e0577a7155e"
"md","v-02a-validate-metadata","bmb","bmb/workflows/agent/steps-v/v-02a-validate-metadata.md","3669dcb0235e35bd843454e2cc04ddaca8f9517c7617d79419196190044a0652"
"md","v-02b-validate-persona","bmb","bmb/workflows/agent/steps-v/v-02b-validate-persona.md","144ef430d5f1dc5af3a8a51c9c2b83cdd95ef5aefe0d406f7b20064c97ada4ba"
"md","v-02c-validate-menu","bmb","bmb/workflows/agent/steps-v/v-02c-validate-menu.md","4e8b2158dbce6d7ff3e7208da688bd74521926fbdec72933fce52f4301c112e5"
"md","v-02d-validate-structure","bmb","bmb/workflows/agent/steps-v/v-02d-validate-structure.md","e47d9af9855a276d5c7b93cdfd3ae25c8a6f9f28b3f3422284e867c79b05c433"
"md","v-02e-validate-sidecar","bmb","bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md","51c675b7ab4ff44e52d147117002ae3497a97a47bf9fdf9da8edb659889bb38e"
"md","v-03-summary","bmb","bmb/workflows/agent/steps-v/v-03-summary.md","6167d149c018ef818508595b04c47ecd9e3c08569751932d71d3f9ac0550b34b"
"md","workflow-chaining-standards","bmb","bmb/workflows/workflow/data/workflow-chaining-standards.md","358099d64396ee13c6525969ee4d9ee29f4ad8adc0077ed67c3376764a15f9ce"
"md","workflow-create-agent","bmb","bmb/workflows/agent/workflow-create-agent.md","78d5216906af8725c6db58a7841af2bc0a9a616bcaf702bdaac552b9d83e335c"
"md","workflow-create-module","bmb","bmb/workflows/module/workflow-create-module.md","b30332d5ba94b8291e0bffd4ecf2376ee9d48453665ac120e8da2d7117e62945"
"md","workflow-create-module-brief","bmb","bmb/workflows/module/workflow-create-module-brief.md","dd6048358b4984308657a815a30838e04d71c0f2f0f50e7b4e8364bd7213c3f3"
"md","workflow-create-workflow","bmb","bmb/workflows/workflow/workflow-create-workflow.md","f6a8e93c9aa10e60c7971f75c53f0424cdff075fdde9f989138baa20337384ce"
"md","workflow-edit-agent","bmb","bmb/workflows/agent/workflow-edit-agent.md","5acab6518e762014be75268526e6a5582e23fb156f8986b4efb65e7289e73c93"
"md","workflow-edit-module","bmb","bmb/workflows/module/workflow-edit-module.md","673df9ccd0f761798cd883ba0ed8bbad4b8551d8635c75a1554f6038e7dede35"
"md","workflow-edit-workflow","bmb","bmb/workflows/workflow/workflow-edit-workflow.md","54755d0adbc8250ab153c3078b173770efdf1759d2f79d63b61a99990fe2d8e1"
"md","workflow-examples","bmb","bmb/workflows/workflow/data/workflow-examples.md","e48cbf37b50cfe15bde688266dba0e23591d531f232bdca8094fd421d37752c3"
"md","workflow-rework-workflow","bmb","bmb/workflows/workflow/workflow-rework-workflow.md","647354f6647188ba4c58917a98de9c1051a12c5d8b9dc6ecbabe2eda00ba4f0b"
"md","workflow-spec-template","bmb","bmb/workflows/module/templates/workflow-spec-template.md","5a3a958180e2ef0803b14237d8e225f632476fc7a144ba2aa7e9866c1a30eddd"
"md","workflow-template","bmb","bmb/workflows/workflow/templates/workflow-template.md","69b5725f58a76297f151ffc4cb1629fb7b33829e5e1f365f4cf0004d48b5082c"
"md","workflow-type-criteria","bmb","bmb/workflows/workflow/data/workflow-type-criteria.md","14b10793d4c01605c6f509b27e97cceb8c0c4f2c3cddc28404b844c04c4413d2"
"md","workflow-validate-agent","bmb","bmb/workflows/agent/workflow-validate-agent.md","b58223afbf53fdbc52b5a85ea23bd65498e44d3b6b7e2268e3b3ad8eaced34d5"
"md","workflow-validate-max-parallel-workflow","bmb","bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md","3706b9ea43ee7308d227b2f18e3196626f545df552c134056773bf431f43a7b4"
"md","workflow-validate-module","bmb","bmb/workflows/module/workflow-validate-module.md","78b71d8a816067898e9a92596f3d2f66d4f36dad2ef7fc076894077532715fe4"
"md","workflow-validate-workflow","bmb","bmb/workflows/workflow/workflow-validate-workflow.md","40f34df97c9b2e23be656f3233cea7c5ff14def514a4d7735cd623f0887276d4"
"yaml","config","bmb","bmb/config.yaml","cd842886f6537a2017e6ac5898d9819bc5b5a5ba1326211dec20b38e6ee75600"
"csv","default-party","bmm","bmm/teams/default-party.csv","5af107a5b9e9092aeb81bd8c8b9bbe7003afb7bc500e64d56da7cc27ae0c4a6e"
"csv","documentation-requirements","bmm","bmm/workflows/document-project/documentation-requirements.csv","d1253b99e88250f2130516b56027ed706e643bfec3d99316727a4c6ec65c6c1d"
"csv","domain-complexity","bmm","bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv","f775f09fb4dc1b9214ca22db4a3994ce53343d976d7f6e5384949835db6d2770"
"csv","domain-complexity","bmm","bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv","3dc34ed39f1fc79a51f7b8fc92087edb7cd85c4393a891d220f2e8dd5a101c70"
"csv","module-help","bmm","bmm/module-help.csv","f33b06127908f62ec65645e973392350904af703f90a7361f7f960474a9b7e0a"
"csv","project-types","bmm","bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv","7a01d336e940fb7a59ff450064fd1194cdedda316370d939264a0a0adcc0aca3"
"csv","project-types","bmm","bmm/workflows/3-solutioning/create-architecture/data/project-types.csv","12343635a2f11343edb1d46906981d6f5e12b9cad2f612e13b09460b5e5106e7"
"json","project-scan-report-schema","bmm","bmm/workflows/document-project/templates/project-scan-report-schema.json","8466965321f1db22f5013869636199f67e0113706283c285a7ffbbf5efeea321"
"md","architecture-decision-template","bmm","bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md","5d9adf90c28df61031079280fd2e49998ec3b44fb3757c6a202cda353e172e9f"
"md","checklist","bmm","bmm/workflows/4-implementation/code-review/checklist.md","e30d2890ba5c50777bbe04071f754e975a1d7ec168501f321a79169c4201dd28"
"md","checklist","bmm","bmm/workflows/4-implementation/correct-course/checklist.md","24a3f3e0108398d490dcfbe8669afc50226673cad494f16a668b515ab24bf709"
"md","checklist","bmm","bmm/workflows/4-implementation/create-story/checklist.md","0d26d8426331fd35b84ac2cb640f698c0b58d92ae40c658bdba78941b99b8aad"
"md","checklist","bmm","bmm/workflows/4-implementation/dev-story/checklist.md","630b68c6824a8785003a65553c1f335222b17be93b1bd80524c23b38bde1d8af"
"md","checklist","bmm","bmm/workflows/4-implementation/sprint-planning/checklist.md","80b10aedcf88ab1641b8e5f99c9a400c8fd9014f13ca65befc5c83992e367dd7"
"md","checklist","bmm","bmm/workflows/document-project/checklist.md","581b0b034c25de17ac3678db2dbafedaeb113de37ddf15a4df6584cf2324a7d7"
"md","checklist","bmm","bmm/workflows/qa-generate-e2e-tests/checklist.md","83cd779c6527ff34184dc86f9eebfc0a8a921aee694f063208aee78f80a8fb12"
"md","deep-dive-instructions","bmm","bmm/workflows/document-project/workflows/deep-dive-instructions.md","48b947d438c29a44bfda2ec3c05efcc987397055dc143a49d44c9d4174b7ac09"
"md","deep-dive-template","bmm","bmm/workflows/document-project/templates/deep-dive-template.md","6198aa731d87d6a318b5b8d180fc29b9aa53ff0966e02391c17333818e94ffe9"
"md","epics-template","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md","b8ec5562b2a77efd80c40eba0421bbaab931681552e5a0ff01cd93902c447ff7"
"md","full-scan-instructions","bmm","bmm/workflows/document-project/workflows/full-scan-instructions.md","419912da2b9ea5642c5eff1805f07b8dc29138c23fba0d1092da75506e5e29fb"
"md","index-template","bmm","bmm/workflows/document-project/templates/index-template.md","42c8a14f53088e4fda82f26a3fe41dc8a89d4bcb7a9659dd696136378b64ee90"
"md","instructions","bmm","bmm/workflows/4-implementation/correct-course/instructions.md","9e239bb0653ef06846b03458c4d341fe5b82b173344c0a65cf226b989ac91313"
"md","instructions","bmm","bmm/workflows/4-implementation/retrospective/instructions.md","8dbd18308a8bafc462759934125725222e09c48de2e9af3cde73789867293def"
"md","instructions","bmm","bmm/workflows/4-implementation/sprint-planning/instructions.md","888312e225ce1944c21a98fbf49c4f118967b3676b23919906bdeda1132a2833"
"md","instructions","bmm","bmm/workflows/4-implementation/sprint-status/instructions.md","d4b7107ddbe33fb5dfc68a626c55585837743c39d171c73052cd93532c35c11d"
"md","instructions","bmm","bmm/workflows/document-project/instructions.md","57762fb89b42df577da1188bc881cf3a8d75a1bcc60bce9e1ab2b8bcfdf29a66"
"md","instructions","bmm","bmm/workflows/qa-generate-e2e-tests/instructions.md","3f3505f847f943b2f4a0699017c16e15fa3782f51090a0332304d7248e020e0c"
"md","prd-purpose","bmm","bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md","49c4641b91504bb14e3887029b70beacaff83a2de200ced4f8cb11c1356ecaee"
"md","prd-template","bmm","bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md","7ccccab9c06a626b7a228783b0b9b6e4172e9ec0b10d47bbfab56958c898f837"
"md","product-brief.template","bmm","bmm/workflows/1-analysis/create-product-brief/product-brief.template.md","ae0f58b14455efd75a0d97ba68596a3f0b58f350cd1a0ee5b1af69540f949781"
"md","project-context-template","bmm","bmm/data/project-context-template.md","facd60b71649247146700b1dc7d709fa0ae09487f7cf2b5ff8f5ce1b3a8427e8"
"md","project-context-template","bmm","bmm/workflows/generate-project-context/project-context-template.md","54e351394ceceb0ac4b5b8135bb6295cf2c37f739c7fd11bb895ca16d79824a5"
"md","project-overview-template","bmm","bmm/workflows/document-project/templates/project-overview-template.md","a7c7325b75a5a678dca391b9b69b1e3409cfbe6da95e70443ed3ace164e287b2"
"md","readiness-report-template","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md","0da97ab1e38818e642f36dc0ef24d2dae69fc6e0be59924dc2dbf44329738ff6"
"md","research.template","bmm","bmm/workflows/1-analysis/research/research.template.md","507bb6729476246b1ca2fca4693986d286a33af5529b6cd5cb1b0bb5ea9926ce"
"md","source-tree-template","bmm","bmm/workflows/document-project/templates/source-tree-template.md","109bc335ebb22f932b37c24cdc777a351264191825444a4d147c9b82a1e2ad7a"
"md","step-01-discover","bmm","bmm/workflows/generate-project-context/steps/step-01-discover.md","4fa1d13ec3c6db8560b6b1316b822ec2163a58b114b44e9aff733b171ef50ebe"
"md","step-01-document-discovery","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md","9204972d801c28a76433230942c81bacc171e6b6951d3226cea9e7ca5c9310f1"
"md","step-01-init","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md","1d8a0a692c78b01535fad65b18c178a566ffa4c62d5b920c7cadea23ceb9697a"
"md","step-01-init","bmm","bmm/workflows/1-analysis/research/domain-steps/step-01-init.md","b21ec2af60870caba5447183424b720e98d1b9232526d26b8d7b11e9f165c52c"
"md","step-01-init","bmm","bmm/workflows/1-analysis/research/market-steps/step-01-init.md","b2b030bc59dfe516e67f19d66f9c6d44d745343ccf2d726d4106290704aecdbd"
"md","step-01-init","bmm","bmm/workflows/1-analysis/research/technical-steps/step-01-init.md","aa809f6b4f152940792f7b4d95f424aaf8c9ebd7628f553486d1bd55b68f9567"
"md","step-01-init","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md","6ad502fa5bf5639eaf6a42e8f0bc0f2b811e0a3fd2ae3a24ed3333365f99e23c"
"md","step-01-init","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md","e76defb842ed5478ec16b35d6566f5ab7ecd8118b92b240a40ab9a7a1e7d3d0b"
"md","step-01-init","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md","b270fd38b2144acb87e07c7496929ddd096717fc6f141736c2e9d1f574458314"
"md","step-01-mode-detection","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md","4c3843e94643e8231adf460554d39551b0dcbd21ea875c20e55373f91d91381f"
"md","step-01-understand","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md","24c2d3d3703a9330994a7008a93327702f9551453b0d373476ee83e15d10a514"
"md","step-01-validate-prerequisites","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md","5ba8ba972e8376339ed2c9b75e4f98125521af0270bb5dff6e47ec73137e01de"
"md","step-01b-continue","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md","c32490fda5f5a3d5c278baad8e9f4bd793e03429a5bf42c31719e0d90c9a3973"
"md","step-01b-continue","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md","5afc3f34f6089a03e9c9a88f13cb41617a7ef163db15c2b39b31ab6908bfa7d6"
"md","step-01b-continue","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md","07703fb9ddacf143e7f9cd21e69edc7cf087052d1dc5841674c122d18bb3b956"
"md","step-01b-continue","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md","438f14332117c74e5d12f7630690ada4eae4fdcd04e4f47dc689915fe757f101"
"md","step-02-context","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md","647fe1b6acc7f8cc8520bdb83654163db52328b6556c740880f42f119c9e1dcf"
"md","step-02-context-gathering","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md","1c4df806dea12554aae0240e5baf5c1cffa5948d0998c8e2c4a93df40d7c42ef"
"md","step-02-customer-behavior","bmm","bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md","93d20ddbd5506bc1d604c3ce56b42185bfe6f34402c45760e4cb7bec627f52e9"
"md","step-02-design-epics","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md","2c18d76a9b73eae8b9f552cd4252f8208a0c017624ddbaf6bcbe7b28ddfa217e"
"md","step-02-discovery","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md","4bd36411c2fa6d49057ff88d31bb70584dc572f3dd37a875ef6ce8c800d6ad71"
"md","step-02-discovery","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md","e24f22831bc612991a8b173dd2dbb1c887823041a9d83228f79c3fe06de680ba"
"md","step-02-domain-analysis","bmm","bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md","9c4eabbed87b6bfc4636c98e96e551f69af7ef78a92b3f99ac6faa90a921c4c5"
"md","step-02-generate","bmm","bmm/workflows/generate-project-context/steps/step-02-generate.md","f881e84c685a356e54c57e8d26efbaaa91df3c1cdc1945b32ffd3c8fbbee6983"
"md","step-02-investigate","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md","bacc264e95c273d17c7f9ffcf820b5924bab48e04824da69f125aadb86d70273"
"md","step-02-prd-analysis","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md","f8c4f293c0a040fa9f73829ffeabfa073d0a8ade583adaefb26431ec83a76398"
"md","step-02-technical-overview","bmm","bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md","a8b8c49649087e8d5afa278840bfe3ed2e8203c820dbe7878ac7571956d940e0"
"md","step-02-vision","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md","4eb2d30f3b05c725490d8d298ab1ccdf638019c0b0e39996fdcdbf1fda5b7933"
"md","step-02b-vision","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md","04b8122cdb9438fdbfb5480934bdbd288f41cab9ed2aa362c910e362a29027a4"
"md","step-02c-executive-summary","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md","52ee677ed43cc034945bb0761c8162d9070087550ef4b9070d3cf6abba74ea0e"
"md","step-03-competitive-landscape","bmm","bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md","93b8fb9b174cc8dca87bd18dafda7a6ee23727874e7eb86106fd40d7daeb6fb0"
"md","step-03-complete","bmm","bmm/workflows/generate-project-context/steps/step-03-complete.md","cf8d1d1904aeddaddb043c3c365d026cd238891cd702c2b78bae032a8e08ae17"
"md","step-03-core-experience","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md","d44b618b75d60e3fc26b1f5ed1f5f92613194579914e522fbd09d40ab3a3e1f3"
"md","step-03-create-stories","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md","e6deb22291f05a96e56f5cb3ab88eca3bb6df564208edd8fcc693d4c27139f29"
"md","step-03-customer-pain-points","bmm","bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md","4a224fb63d2814a1e2df9b82e42cb2573dc7ffacdf4e61a14a4763c433431a16"
"md","step-03-epic-coverage-validation","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md","f425bcac163b9ea63a004039ff65fffea3499d9e01a2821bb11e0e17e6b6fc52"
"md","step-03-execute","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md","852fe6239e0322081d5208be4737bad0c15ab08f0c8b93fbddb94491b9931a01"
"md","step-03-generate","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md","19f5d60629298536f98f1ed1025002836e02a49a30aebed0ed300a40f64f5dd6"
"md","step-03-integration-patterns","bmm","bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md","bb034b20b8c325c1948aa1c7350f0b7e68601a08ec72eb09884e4dae5d94554d"
"md","step-03-starter","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md","ad3ed7961446fe69249d46158df290d1aa8846ef490da1f93b5edf4ac80f23d1"
"md","step-03-success","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md","188c00f792f3dc6ef4f0f366743b810796dcbc79404327a5aa52da14cc41da70"
"md","step-03-users","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md","1a73be748142bc05a468610f3c824442c794f6d81fc159cebf2497b2c3d3d2af"
"md","step-04-architectural-patterns","bmm","bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md","81e4e6f5c6048379ea45d0d4288a7247ff46855653ec6fccf5bbef0e78778ca9"
"md","step-04-customer-decisions","bmm","bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md","8a0c46828854693a7de16e148c3c9eb08b42409a2676b9a44b3cdffe06a577b3"
"md","step-04-decisions","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md","d8cfd42f2fc9ef52337673c6f57d9cb3fc21e06ba4459ec7e6f68d68c4362649"
"md","step-04-emotional-response","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md","003e18f5f89e672d5b34aa95b31d10865ec3a1a32117f03c2402258d7c18f618"
"md","step-04-final-validation","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md","d1ce315d9045ae7f9cbc9df29f9c5c95f9617f56936b0ab7a36ced5bc96856e7"
"md","step-04-journeys","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md","3367b54b32865c6c764ce9872db06195551c16aab9f7d57d16e0e8f0f6415aae"
"md","step-04-metrics","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md","52eaa6538732505db392527db1179e2a5cc95bcb9721de0f6edca4f48af0d9d1"
"md","step-04-regulatory-focus","bmm","bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md","179a82a4fdc32274a2ad3ce501b1b54ca1925b7ce9bcaad35503a9dd080e866a"
"md","step-04-review","bmm","bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md","aa246ba5793f3a1c6dd434b388b41ccfb9e675bb55664a900a4eb2486e2a40e3"
"md","step-04-self-check","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md","0dde0d5c75c3884d6b4d3380263721ad63e02c3d438a100cba3d5da4957c271b"
"md","step-04-ux-alignment","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md","d2e15adf2aecc2c72f9bb9051e94042fc522fd7cfb16376f41bdcdd294319703"
"md","step-05-adversarial-review","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md","57adb9395ed45b870bdbc1cad1aaeb065cd3bd7a4a6b0f94b193cb02926495eb"
"md","step-05-competitive-analysis","bmm","bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md","ff6f606a80ffaf09aa325e38a4ceb321b97019e6542241b2ed4e8eb38b35efa8"
"md","step-05-domain","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md","65db86b8bd1f9a899a3cb0e8a3d52aeeb2cd8d8c57196479f6353bd3ae0f4da6"
"md","step-05-epic-quality-review","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md","e7fd60676d6ade485de77ce2dd4229811912594cb924d6c15bae5d9bdf105a7d"
"md","step-05-implementation-research","bmm","bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md","438a235bcb2dbbacb4c38d440b1636a208d4cbe8b5d109cb850cbdfb564b9071"
"md","step-05-inspiration","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md","dadb7b2199dea4765cfd6cdeb7472937356cd558003e6562cec7c1b954a2cda9"
"md","step-05-patterns","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md","6d64951770c748386274c9e12faec8aedded72031160140fc3380c976fbe0b7c"
"md","step-05-scope","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md","1a2a0698f8e044b6ce2e5efc9ed42f86dc52fa350315abff10f1dbd272dbcd95"
"md","step-05-technical-trends","bmm","bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md","210ef479757881d418db392ac38442d4df9033dedab7bdf8965503a83430ab55"
"md","step-06-complete","bmm","bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md","ff7c1a20baa0d3773fd8c074b27491b2fcfbf08d0840751f33f857e9eb32b29e"
"md","step-06-design-system","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md","2cf18704a2e46ebd344ddc5197e9a2584d5735997e51a79aa9a18f6356c0620a"
"md","step-06-final-assessment","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md","b2dbf24e1fa987f092c5e219099b4749c969ef6e909e0f507ced9ab44490ccde"
"md","step-06-innovation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md","67bd616f34f56bcd01d68f9254ca234bf7b5f7d4dae21c562078010b87d47207"
"md","step-06-research-completion","bmm","bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md","ddc239b81dc76148b5b41741b3ca0d6d4a1f781e1db5e50d2c6b4222dd64eda9"
"md","step-06-research-synthesis","bmm","bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md","ae7ea9eec7f763073e4e1ec7ef0dd247a2c9c8f8172c84cbcb0590986c67caa2"
"md","step-06-research-synthesis","bmm","bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md","01d94ed48e86317754d1dafb328d57bd1ce8832c1f443bfd62413bbd07dcf3a1"
"md","step-06-resolve-findings","bmm","bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md","e657af6e3687e15852c860f018b73aa263bdcf6b9d544771a8c0c715581a2c99"
"md","step-06-structure","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md","efeb67ef10fab2050fe0a4845c868dc6ae036c98302daca22824436ea05b09e3"
"md","step-07-defining-experience","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md","d76323e59961efede2f4cb32c6837190fe4b218cf63d21f7a956f1acf92203c8"
"md","step-07-project-type","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md","2c2aae55e93bf31b3882cc6c24336cfc3cb1a753b96aa62121fff024e1d28fc0"
"md","step-07-validation","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md","a01726c23d82ca08915b1236b27a20fce6e35bf6ea858647579af405fbba88df"
"md","step-08-complete","bmm","bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md","74844f0361750650b771cf64b4f824c2b47b9996b30072099c1cff1e6efe8789"
"md","step-08-scoping","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md","c6fd282a7ce026b4e50264032fe6489e99b14a1ac1b6db519e17ed82d9675ab3"
"md","step-08-visual-foundation","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md","6e4546a98e0fc92c2afd6c55d278a71133c598dfd02bd6fc8498d06084a075e2"
"md","step-09-design-directions","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md","cf00ac2918ee4f255bfbd9eb0a326f23edc705018a8ea0e40c8f1e0a70e0a554"
"md","step-09-functional","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md","20e671f3f4731d9cd9aadd6bc4f88adff01859604fed44ede88c231b4afdc279"
"md","step-10-nonfunctional","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md","1f0ede8c828a8b213bb8954e4c42aed7b1c42921264eb6a5c132f563a5cc9e07"
"md","step-10-user-journeys","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md","ae69afbc497dfd9a4d1197182d67090151f21463994fee1c404bf5ad1cd12331"
"md","step-11-component-strategy","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md","4c40ceb394d6595c192942a5b2d8622f2cbbcd7a3cf1b96156c61769b94b2816"
"md","step-11-polish","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md","69b2b889f348cf53cb5f1f34021d74be4a68ff6aeed7b659b1db04a1cc52b62c"
"md","step-12-complete","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md","7ef315f148a1611bb454a5e57163bc529b0502f64a8b0018acca6d0ba60e49d8"
"md","step-12-ux-patterns","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md","220721526de1bc0d1b8efcdd15e33526e4dccfd7e2968d0518b0501d50e8d818"
"md","step-13-responsive-accessibility","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md","70ce19ef0c3ccef894c43e7c206b70a572995267f6b280402270fc37a9bff5d6"
"md","step-14-complete","bmm","bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md","0869e6b5d4f4fcbe6cd1df0c7c0b4bb7a2817c7c0dd6a5f88062332ab2e1752b"
"md","step-e-01-discovery","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md","2bc88c9480ac5986c06672533ab2080b1ee01086033c8e441a8c80551c8a99ee"
"md","step-e-01b-legacy-conversion","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md","e6bbe9020e6986a620fc0299a48e6c31c9d1ec14691df11be71baeb79837bc92"
"md","step-e-02-review","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md","b2660d88a445dc3f8f168f96ca92d4a1a36949e3b39fbf6cda5c77129636d9b1"
"md","step-e-03-edit","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md","dfcc3e4f0b1ec050d4985af04dc02b28174a995e95327ca01ae4b8cac10cc1e5"
"md","step-e-04-complete","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md","a1100f8639120311cbaf5a5a880db4e137216bc4bd0110b0926004107a99d3c3"
"md","step-v-01-discovery","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md","bd3353377451ab6ebffdb94895c4e089fb2e5dce4ecb33c5b69f42f71022ea1f"
"md","step-v-02-format-detection","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md","251ea5a1cf7779db2dc39d5d8317976a27f84b421359c1974ae96c0943094341"
"md","step-v-02b-parity-check","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md","3481beae212bb0140c105d0ae87bb9714859c93a471048048512fd1278da2fcd"
"md","step-v-03-density-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md","5b95ecd032fb65f86b7eee7ce7c30c997dc2a8b5e4846d88c2853538591a9e40"
"md","step-v-04-brief-coverage-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md","97eb248c7d67e6e5121dd0b020409583998fba433799ea4c5c8cb40c7ff9c7c1"
"md","step-v-05-measurability-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md","2f331ee6d4f174dec0e4b434bf7691bfcf3a13c6ee0c47a65989badaa6b6a28c"
"md","step-v-06-traceability-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md","970ea67486211a611a701e1490ab7e8f2f98060a9f78760b6ebfdb9f37743c74"
"md","step-v-07-implementation-leakage-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md","f75d1d808fdf3d61b15bea55418b82df747f45902b6b22fe541e83b4ea3fa465"
"md","step-v-08-domain-compliance-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md","a1902baaf4eaaf946e5c2c2101a1ac46f8ee4397e599218b8dc030cd00c97512"
"md","step-v-09-project-type-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md","d53e95264625335184284d3f9d0fc6e7674f67bdf97e19362fc33df4bea7f096"
"md","step-v-10-smart-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md","22d48a72bc599f45bbf8c3e81d651d3a1265a6450866c0689bf287f43d7874a4"
"md","step-v-11-holistic-quality-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md","1022a1454aadff28e39fd5fa71dd76d8eefccfe438b9ef517a19b44d935c0f5b"
"md","step-v-12-completeness-validation","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md","c966933a0ca3753db75591325cef4d4bdaf9639a1a63f9438758d32f7e1a1dda"
"md","step-v-13-report-complete","bmm","bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md","5bc59c257927becf116b0ee5eddbcc29d3b36ee05bf6c9de826fdacb45cf5dad"
"md","tech-spec-template","bmm","bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md","6e0ac4991508fec75d33bbe36197e1576d7b2a1ea7ceba656d616e7d7dadcf03"
"md","template","bmm","bmm/workflows/4-implementation/create-story/template.md","29ba697368d77e88e88d0e7ac78caf7a78785a7dcfc291082aa96a62948afb67"
"md","ux-design-template","bmm","bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md","ffa4b89376cd9db6faab682710b7ce755990b1197a8b3e16b17748656d1fca6a"
"md","workflow","bmm","bmm/workflows/1-analysis/create-product-brief/workflow.md","3b0efaebdc6440dc75c6a24c17cbbf8dfb9583bf089f64408a4acf1674d483ad"
"md","workflow","bmm","bmm/workflows/2-plan-workflows/create-ux-design/workflow.md","21298564b342294f62339eda1b81aad392fca43e10e48f924a69cc3414dfb32d"
"md","workflow","bmm","bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md","15ccd00030fa9cf406d50d6a2bd43a8966f1112a1d6fbc5be410c39f3f546a26"
"md","workflow","bmm","bmm/workflows/3-solutioning/create-architecture/workflow.md","4c1463096de99ed9130e73161744240a246bd08f6e6b72d1f2a2e606ac910394"
"md","workflow","bmm","bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md","0e25a2680563be198875936db9c80c40f483b1e199050a89aef20ccb2a5b7377"
"md","workflow","bmm","bmm/workflows/bmad-quick-flow/quick-dev/workflow.md","a757fd8baaf6b1279aa7b115612bb13ddaaac659aa73c581701585f7d7f1ddad"
"md","workflow","bmm","bmm/workflows/bmad-quick-flow/quick-spec/workflow.md","2a8ddcedb8952e9ee72109ce5f24c19463fe78cc9805d0bd6b69006d10a6649a"
"md","workflow","bmm","bmm/workflows/generate-project-context/workflow.md","cd5be4cd8e119c652680fd9c28add994be40c48e1fca1a78b31d10eb99a7a740"
"md","workflow-create-prd","bmm","bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md","b4d7376adfa8a2ec5fd62da51d9b19d7da16411dcd43a81224652e784dd6646c"
"md","workflow-domain-research","bmm","bmm/workflows/1-analysis/research/workflow-domain-research.md","6f09e3bcbf6f156b9fb9477dfaf3c076f030fde3a39d8317bb2cf6316718658f"
"md","workflow-edit-prd","bmm","bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md","c1786ba087f0f3b2b819a58309cb0742b8a56eb94271fe870579561a721c7936"
"md","workflow-market-research","bmm","bmm/workflows/1-analysis/research/workflow-market-research.md","ad12c80e4848bee2cb20818af7970efee508abcc98b026c2f873d7fa6b5ad2a5"
"md","workflow-technical-research","bmm","bmm/workflows/1-analysis/research/workflow-technical-research.md","1b88ee75dbf6b45910d37885ebbfe7f7a6cf78215a2da9bc86067cb7a9ce4e94"
"md","workflow-validate-prd","bmm","bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md","fe170fe82e944eddd0fc25bf6554b5f38663907afa28e093d1c8140039c63af4"
"xml","instructions","bmm","bmm/workflows/4-implementation/code-review/instructions.xml","1a6f0ae7d69a5c27b09de3efab2b205a007b466976acdeeaebf7f3abec7feb68"
"xml","instructions","bmm","bmm/workflows/4-implementation/create-story/instructions.xml","d4edc80bd7ccc0f7a844ecb575016b79380e255a236d1182f5f7312a104f0e3a"
"xml","instructions","bmm","bmm/workflows/4-implementation/dev-story/instructions.xml","b177c039072ad5e8a54374e6a17a2074dd608fd4da047bef528e362919a0fde8"
"yaml","config","bmm","bmm/config.yaml","c42cea5ebf76ae95b70c7c426c60747f1a134ee16dd8239ed332015f1687732f"
"yaml","deep-dive","bmm","bmm/workflows/document-project/workflows/deep-dive.yaml","efa8d70a594b7580f5312340f93da16f9e106419b1b1d06d2e23d6a30ef963fa"
"yaml","full-scan","bmm","bmm/workflows/document-project/workflows/full-scan.yaml","9d71cce37de1c3f43a7122f3c9705abdf3d677141698a2ab1b89a225f78f3fa9"
"yaml","sprint-status-template","bmm","bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml","0d7fe922f21d4f00e538c265ff90e470c3e2eca761e663d84b7a1320b2f25980"
"yaml","team-fullstack","bmm","bmm/teams/team-fullstack.yaml","da8346b10dfad8e1164a11abeb3b0a84a1d8b5f04e01e8490a44ffca477a1b96"
"yaml","workflow","bmm","bmm/workflows/4-implementation/code-review/workflow.yaml","4d84f410d441e4c84cb58425e7fa0bf5216014a8272cca0da5102ffa45cfd76f"
"yaml","workflow","bmm","bmm/workflows/4-implementation/correct-course/workflow.yaml","1ac60df30f0962b7b923ed00ae77b11d7cc96e475c38e5d82da521ca32dda3f6"
"yaml","workflow","bmm","bmm/workflows/4-implementation/create-story/workflow.yaml","886c479403830bebf107b2011406b4019dbab2769b7a14987618541ef981d439"
"yaml","workflow","bmm","bmm/workflows/4-implementation/dev-story/workflow.yaml","6c819ead6d1b4bffc78d598db893c241d2dee9e41d0b5e58e3465f63baa613fd"
"yaml","workflow","bmm","bmm/workflows/4-implementation/retrospective/workflow.yaml","f69e64b620b6e172f2c5ad6ba654c4e66d7f2c6aba46f405b9ee75e68c822ed2"
"yaml","workflow","bmm","bmm/workflows/4-implementation/sprint-planning/workflow.yaml","e5a8e51cace022db18919ca819ea1c07b60a49369e24b93bd232e9a2efbf9a8f"
"yaml","workflow","bmm","bmm/workflows/4-implementation/sprint-status/workflow.yaml","375fe24859ed074a7d52a134b6c2473bdbaabb78381a193dccc7568c6dbaa680"
"yaml","workflow","bmm","bmm/workflows/document-project/workflow.yaml","5c61d95164a4b47189f7f4415bea38590458751ffab755eca5ed0ac0b30232a1"
"yaml","workflow","bmm","bmm/workflows/qa-generate-e2e-tests/workflow.yaml","150a6de81d3c0045aa5ba4c9da550f5f01f915384a2ec1c38166de86e00bd1b9"
"csv","default-party","cis","cis/teams/default-party.csv","464310e738ec38cf8114552e8274f6c517a17db0e0b176d494ab50154ba982d5"
"csv","design-methods","cis","cis/workflows/design-thinking/design-methods.csv","6735e9777620398e35b7b8ccb21e9263d9164241c3b9973eb76f5112fb3a8fc9"
"csv","innovation-frameworks","cis","cis/workflows/innovation-strategy/innovation-frameworks.csv","9a14473b1d667467172d8d161e91829c174e476a030a983f12ec6af249c4e42f"
"csv","module-help","cis","cis/module-help.csv","3819767970ffea9166182aa3ce51aae1aef7f42c85af5962c8198676d92db07d"
"csv","solving-methods","cis","cis/workflows/problem-solving/solving-methods.csv","aa15c3a862523f20c199600d8d4d0a23fce1001010d7efc29a71abe537d42995"
"csv","story-types","cis","cis/workflows/storytelling/story-types.csv","ec5a3c713617bf7e2cf7db439303dd8f3363daa2f6db20a350c82260ade88bdb"
"md","instructions","cis","cis/workflows/design-thinking/instructions.md","496c15117fb54314f3e1e8e57dfd2fe8e787281e5ba046b7a063d8c6f1f18d40"
"md","instructions","cis","cis/workflows/innovation-strategy/instructions.md","ad4be7be6fa5dd2abd9cc59bd7ec0af396d6a6b8c83d21dbbb769f1b6a2b22db"
"md","instructions","cis","cis/workflows/problem-solving/instructions.md","959b98b8b8c4df5b10d1f28177b571e5f022d1594f4c060571a60aae8a716263"
"md","instructions","cis","cis/workflows/storytelling/instructions.md","c9fd0927719c2f9de202c60b1835fd7618e2dcfb34de1845bfb907e7656fa64c"
"md","README","cis","cis/workflows/README.md","1f6a9ebc342e6f48a74db106d7fdc903fe48720a2cb2160902b1b563c78b2d1d"
"md","README","cis","cis/workflows/design-thinking/README.md","0a38f88352dc4674f6e1f55a67ffebf403bf329c874a21a49ce7834c08f91f62"
"md","README","cis","cis/workflows/innovation-strategy/README.md","820a9e734fadf2cfac94d499cec2e4b41a54d054c0d2f6b9819da319beee4fb9"
"md","README","cis","cis/workflows/problem-solving/README.md","a5e75b9899751d7aabffcf65785f10d4d2e0455f8c7c541e8a143e3babceca8b"
"md","README","cis","cis/workflows/storytelling/README.md","1bad4223dce51cb5a7ab8c116467f78037a4583d3a840210ee2f160ad15b71ee"
"md","template","cis","cis/workflows/design-thinking/template.md","7834c387ac0412c841b49a9fcdd8043f5ce053e5cb26993548cf4d31b561f6f0"
"md","template","cis","cis/workflows/innovation-strategy/template.md","e59bd789df87130bde034586d3e68bf1847c074f63d839945e0c29b1d0c85c82"
"md","template","cis","cis/workflows/problem-solving/template.md","6c9efd7ac7b10010bd9911db16c2fbdca01fb0c306d871fa6381eef700b45608"
"md","template","cis","cis/workflows/storytelling/template.md","461981aa772ef2df238070cbec90fc40995df2a71a8c22225b90c91afed57452"
"yaml","config","cis","cis/config.yaml","85bb0d5e4a04b080ae581a72a2b42ab9ae50330fb9501761d443d240cbf520cf"
"yaml","creative-squad","cis","cis/teams/creative-squad.yaml","25407cf0ebdf5b10884cd03c86068e04715ef270ada93a3b64cb9907b62c71cf"
"yaml","workflow","cis","cis/workflows/design-thinking/workflow.yaml","6895c36be5ab2e4d46b1cd619d89328fd7579e268c8b4abb90e1760565141448"
"yaml","workflow","cis","cis/workflows/innovation-strategy/workflow.yaml","2de6ea124f2ba17f045a06c349dcd0f5f2e7161ea9b03aafb1559dee5adba743"
"yaml","workflow","cis","cis/workflows/problem-solving/workflow.yaml","c6004277b86ed9daef82fd9ec1fda2409042f066420eba5600f8af20ee902c57"
"yaml","workflow","cis","cis/workflows/storytelling/workflow.yaml","8312bc1fa4c93b78b782dcfed488545da839e915a4bb2c56a514a30a38fa3ea9"
"csv","brain-methods","core","core/workflows/brainstorming/brain-methods.csv","0ab5878b1dbc9e3fa98cb72abfc3920a586b9e2b42609211bb0516eefd542039"
"csv","methods","core","core/workflows/advanced-elicitation/methods.csv","e08b2e22fec700274982e37be608d6c3d1d4d0c04fa0bae05aa9dba2454e6141"
"csv","module-help","core","core/module-help.csv","d1d23ce883979c145ef90d95b0fac7fdd7fca1684034546000758c9237afaefb"
"md","help","core","core/tasks/help.md","f0037b3bcbce77706ccea3d960cd437fe9eb4ed94236105746f5281a90e7a533"
"md","step-01-agent-loading","core","core/workflows/party-mode/steps/step-01-agent-loading.md","04ab6b6247564f7edcd5c503f5ca7d27ae688b09bbe2e24345550963a016e9f9"
"md","step-01-session-setup","core","core/workflows/brainstorming/steps/step-01-session-setup.md","a2376d8394fb84e3b5b45c7ecfe00c8f5ae0a0737f547d03108e735e41b99412"
"md","step-01b-continue","core","core/workflows/brainstorming/steps/step-01b-continue.md","bb88e341a25e5e33d533046470a6a4e828ff427066f49bf29ccd22c507c7f726"
"md","step-02-discussion-orchestration","core","core/workflows/party-mode/steps/step-02-discussion-orchestration.md","a8a79890bd03237e20f1293045ecf06f9a62bc590f5c2d4f88e250cee40abb0b"
"md","step-02a-user-selected","core","core/workflows/brainstorming/steps/step-02a-user-selected.md","558b162466745b92687a5d6e218f243a98436dd177b2d5544846c5ff4497cc94"
"md","step-02b-ai-recommended","core","core/workflows/brainstorming/steps/step-02b-ai-recommended.md","99aa935279889f278dcb2a61ba191600a18e9db356dd8ce62f0048d3c37c9531"
"md","step-02c-random-selection","core","core/workflows/brainstorming/steps/step-02c-random-selection.md","f188c260c321c7f026051fefcd267a26ee18ce2a07f64bab7f453c0c3e483316"
"md","step-02d-progressive-flow","core","core/workflows/brainstorming/steps/step-02d-progressive-flow.md","a28c7a3edf34ceb0eea203bf7dc80f39ca04974f6d1ec243f0a088281b2e55de"
"md","step-03-graceful-exit","core","core/workflows/party-mode/steps/step-03-graceful-exit.md","bdecc33004d73238ca05d8fc9d6b86cba89833630956f53ecd82ec3715c5f0da"
"md","step-03-technique-execution","core","core/workflows/brainstorming/steps/step-03-technique-execution.md","61a2baa6499fad1877d6d424060a933760bcfaf14f2fb04828102ad4f204c9b6"
"md","step-04-idea-organization","core","core/workflows/brainstorming/steps/step-04-idea-organization.md","cec7bc5c28248afb3282d7a5fcafed184371462417326dec38b89b157e2cffa6"
"md","template","core","core/workflows/brainstorming/template.md","5c99d76963eb5fc21db96c5a68f39711dca7c6ed30e4f7d22aedee9e8bb964f9"
"md","workflow","core","core/workflows/brainstorming/workflow.md","42735298a1427314506c63bda85a2959e3736b64d8d598cd3cd16bb9781fafa8"
"md","workflow","core","core/workflows/party-mode/workflow.md","7a28f8f174ec5ef4ad3c5719acfa4bfb6ea659415b298ccf94c32a9f3f005a03"
"xml","editorial-review-prose","core","core/tasks/editorial-review-prose.xml","6380b4c2c30005519883363d050035d1e574a6e27e9200a4b244ec79845b13c6"
"xml","editorial-review-structure","core","core/tasks/editorial-review-structure.xml","4d5c60ae0024a9125331829540a6c6129f9e50f2f1fc07265a0e115fc4d52e8c"
"xml","index-docs","core","core/tasks/index-docs.xml","0f81d3c065555d8b930eab7a00e8a288a8f42c67b416f61db396b14753c32840"
"xml","review-adversarial-general","core","core/tasks/review-adversarial-general.xml","fd4d3b5ca0b9254c50ddd9b79868f3637fd6abae14416a93887b059d29474be9"
"xml","review-edge-case-hunter","core","core/tasks/review-edge-case-hunter.xml","c7f74db4af314d7af537d17b4a3a0491c4d163a601b28b2e4cd32c95502993f3"
"xml","shard-doc","core","core/tasks/shard-doc.xml","51689fddea77a37342ce06d4c5723e9d10c6178e9cbcca58ae7c6f30e3b041b2"
"xml","workflow","core","core/tasks/workflow.xml","17bca7fa63bae20aaac4768d81463a7a2de7f80b60d4d9a8f36b70821ba86cfd"
"xml","workflow","core","core/workflows/advanced-elicitation/workflow.xml","590cc3594a3b8c51c2cab3aed266d0c6b3f2a828307e6cf01653e37ac10f259b"
"yaml","config","core","core/config.yaml","80e17f7f18b97d03bf6d136095284c119ccac96a71d9f5e091d913357548b4bf"
"csv","default-party","tea","tea/teams/default-party.csv","b41cb24a2367b6d856c14f955d59b3e924ebead6c7a5ffba0d5c4c1d02cae0fb"
"csv","module-help","tea","tea/module-help.csv","39199c662ef9c9ea5616a5747e56b9edba4756e5833bc0ca3d051e5dba54129d"
"csv","tea-index","tea","tea/testarch/tea-index.csv","8b1b6012a18404016de6d411898944e08282727f885029e9be15a4a1494eb41a"
"groovy","jenkins-pipeline-template","tea","tea/workflows/testarch/ci/jenkins-pipeline-template.groovy","f2b75c5ba3eda7537044909830ca674d794eaa929bcd032fcc2c523709b9bb77"
"md","adr-quality-readiness-checklist","tea","tea/testarch/knowledge/adr-quality-readiness-checklist.md","a8129b16c3b2afbc1f58fe5edc73dc8f1291c172c6ca009d92f1947bef1a237e"
"md","api-request","tea","tea/testarch/knowledge/api-request.md","d14f6e26151c48424d60cde5db81c0ffc8ec72eaf3357f27b4e137f222a4c4e3"
"md","api-testing-patterns","tea","tea/testarch/knowledge/api-testing-patterns.md","4b1b7069737d4916853f1393d1cd804ce7061454ad250fb919046a78b77c2648"
"md","atdd-checklist-template","tea","tea/workflows/testarch/atdd/atdd-checklist-template.md","352e3f331dea9ddc975487ef32bef01edcd838200740f55adfd81ddd37b8384f"
"md","auth-session","tea","tea/testarch/knowledge/auth-session.md","2b3de2a9468caf85f0e47ba9d79b142f424b6c10e3a342c264f1cf73d2f70ddc"
"md","burn-in","tea","tea/testarch/knowledge/burn-in.md","5ba3d2abe6b961e5bc3948ab165e801195bff3ee6e66569c00c219b484aa4b5d"
"md","certificate-template","tea","tea/workflows/testarch/teach-me-testing/templates/certificate-template.md","1473946a9e3601e473e6c6c7c2ac2cb6cf1b7f3f22d07f1828cd3a9275158a08"
"md","checklist","tea","tea/workflows/testarch/atdd/checklist.md","4af3b837cc5ce6a9f8177e153c61929060e08686607c375e4527c7cc993b2c70"
"md","checklist","tea","tea/workflows/testarch/automate/checklist.md","3a8f47b83ad8eff408f7126f7729d4b930738bf7d03b0caea91d1ef49aeb19ee"
"md","checklist","tea","tea/workflows/testarch/ci/checklist.md","a8b45cb926b53b6e16419db396c6f4c21aafb9a4022698971bcbd8622e805037"
"md","checklist","tea","tea/workflows/testarch/framework/checklist.md","57d0b2e495e352b96cdc2cf7218808d29ad502410c4c08049c85d04cf7364de7"
"md","checklist","tea","tea/workflows/testarch/nfr-assess/checklist.md","7c940c238a25a53a6732ce2b5c74ae1e3fef020f61d032e03477024701462b5d"
"md","checklist","tea","tea/workflows/testarch/teach-me-testing/checklist.md","8ae9620ee1d25e3758be40e05e1ec0e5f8d06f47b9a8c77ae1e2eb965d9b3ff0"
"md","checklist","tea","tea/workflows/testarch/test-design/checklist.md","03f0058ceaa2bc2b8081b39db2c79293afb2a9e24cbce475770f2dbc0b97436d"
"md","checklist","tea","tea/workflows/testarch/test-review/checklist.md","5349341939bad271adae217749a0b960873d4a35dcb5f2f249bcfa5790c10617"
"md","checklist","tea","tea/workflows/testarch/trace/checklist.md","0fed29772d3b5c32bd447ae3631b91d5a8eaef4bf265337a061415545defe1c6"
"md","ci-burn-in","tea","tea/testarch/knowledge/ci-burn-in.md","46fa84e900a8ab04ce9e3d2b074a20a3934f4318232c116d091c7df329252d97"
"md","component-tdd","tea","tea/testarch/knowledge/component-tdd.md","88bd1f9ca1d5bcd1552828845fe80b86ff3acdf071bac574eda744caf7120ef8"
"md","contract-testing","tea","tea/testarch/knowledge/contract-testing.md","7fc09d739eb76cea5b9003f049e170734ca1d0bcd29f9eea3c59731ee004cfe4"
"md","data-factories","tea","tea/testarch/knowledge/data-factories.md","d7428fe7675da02b6f5c4c03213fc5e542063f61ab033efb47c1c5669b835d88"
"md","email-auth","tea","tea/testarch/knowledge/email-auth.md","43f4cc3138a905a91f4a69f358be6664a790b192811b4dfc238188e826f6b41b"
"md","error-handling","tea","tea/testarch/knowledge/error-handling.md","8a314eafb31e78020e2709d88aaf4445160cbefb3aba788b62d1701557eb81c1"
"md","feature-flags","tea","tea/testarch/knowledge/feature-flags.md","f6db7e8de2b63ce40a1ceb120a4055fbc2c29454ad8fca5db4e8c065d98f6f49"
"md","file-utils","tea","tea/testarch/knowledge/file-utils.md","7d1092930118fb160b9c0a4a48c398d9b08bb909d1e2432662d8e81e1e3b0087"
"md","fixture-architecture","tea","tea/testarch/knowledge/fixture-architecture.md","a3b6c1bcaf5e925068f3806a3d2179ac11dde7149e404bc4bb5602afb7392501"
"md","fixtures-composition","tea","tea/testarch/knowledge/fixtures-composition.md","8e57a897663a272fd603026aeec76941543c1e09d129e377846726fd405f3a5a"
"md","instructions","tea","tea/workflows/testarch/atdd/instructions.md","1e6702427b9707a4752eb1f73b62ddf703ba265c1c81b435568df134b4afbbfd"
"md","instructions","tea","tea/workflows/testarch/automate/instructions.md","7cccdb9b2b3fa9fb09a40fc15073868f03bcb06eb3f7f5b3381f6934963398aa"
"md","instructions","tea","tea/workflows/testarch/ci/instructions.md","85337f55b85c7a5279c8dd980ea2df5edbc76fc51da12c41bc70ccab7f5187f1"
"md","instructions","tea","tea/workflows/testarch/framework/instructions.md","360410b28a293d9965562f06a97a4396215daa64e7d531e86e9ba1ec32eb3707"
"md","instructions","tea","tea/workflows/testarch/nfr-assess/instructions.md","199485769b54a28b72d53da740eacddba2e95ebaa6f464c95ac89cea21cbd9b1"
"md","instructions","tea","tea/workflows/testarch/teach-me-testing/instructions.md","40c4eed58b058a9cc8cab7d32f3dbb1960e535c6456620b46e12ebfbd7692506"
"md","instructions","tea","tea/workflows/testarch/test-design/instructions.md","e4634bc92f6c852d1f15da07c9f342147f63b17f8a989fb715862291965f68a6"
"md","instructions","tea","tea/workflows/testarch/test-review/instructions.md","1b297de117e5e7c4436ba2981f9b6a27e097c9d465978a044907b8d57f80f5c7"
"md","instructions","tea","tea/workflows/testarch/trace/instructions.md","a0586aa0a411cf3fedc7d4e5c86ad477892ac1dddcb4e837d920e3b13924e30c"
"md","intercept-network-call","tea","tea/testarch/knowledge/intercept-network-call.md","ac8213cc28a9f9c452a6fb419356dd1d66ce495d7f29d188fcb1bb51456ba869"
"md","log","tea","tea/testarch/knowledge/log.md","54b09992275e1ab361bf109b342a7d487cbb5bafa4e9cc48b320a1a5eb11857f"
"md","network-error-monitor","tea","tea/testarch/knowledge/network-error-monitor.md","c9041fd4af8162580a12c7adad79fdf7539fae7d6717fe7dace05e851c1b734c"
"md","network-first","tea","tea/testarch/knowledge/network-first.md","2920e58e145626f5505bcb75e263dbd0e6ac79a8c4c2ec138f5329e06a6ac014"
"md","network-recorder","tea","tea/testarch/knowledge/network-recorder.md","ebd7a63b5834d69c75a826d775d86d466e0a0e4393101452198fe39da44772a6"
"md","nfr-criteria","tea","tea/testarch/knowledge/nfr-criteria.md","e63cee4a0193e4858c8f70ff33a497a1b97d13a69da66f60ed5c9a9853025aa1"
"md","nfr-report-template","tea","tea/workflows/testarch/nfr-assess/nfr-report-template.md","452ac39fb19ccd6bbd2185a99c5fc431a7ba134cd641482cfa9a9f5c91a2bffa"
"md","overview","tea","tea/testarch/knowledge/overview.md","351418dc882d0136053bc669f14d350d173f3759b16e58329dd5c4d282e59967"
"md","pact-consumer-di","tea","tea/testarch/knowledge/pact-consumer-di.md","dbc3b6f4a11656dffdfc034c38cc69e94fa6b2d5bb39d3f5ee2ae25b53cdc4dd"
"md","pact-consumer-framework-setup","tea","tea/testarch/knowledge/pact-consumer-framework-setup.md","ed317c633c81dfe18166a68b777e30cc0fd13e94d284e996bad4aa365ea3de43"
"md","pact-mcp","tea","tea/testarch/knowledge/pact-mcp.md","c98b5bb74aa238af47aab8a00bee20afd25ceda7e50381ff4f18f6a91f9e6045"
"md","pactjs-utils-consumer-helpers","tea","tea/testarch/knowledge/pactjs-utils-consumer-helpers.md","3923dc48fb0e58646c065b93746d860bebe5bbbdd2c84246b8ad483000db1673"
"md","pactjs-utils-overview","tea","tea/testarch/knowledge/pactjs-utils-overview.md","64fcf26c2d5c7c183c8d7a83ed20d1f1857182724cfed5e92318dadb1b258584"
"md","pactjs-utils-provider-verifier","tea","tea/testarch/knowledge/pactjs-utils-provider-verifier.md","ac3e0d6e3137f927fef822a33f33d03c78d0a1ccd950fbca93ef1ef9276c109c"
"md","pactjs-utils-request-filter","tea","tea/testarch/knowledge/pactjs-utils-request-filter.md","6f900300880f2544511436fa68c24268b3b28e0498af6dc43c848047a3cbff18"
"md","playwright-cli","tea","tea/testarch/knowledge/playwright-cli.md","e6d91a73ae853aab5aefa7aebd3245f01f8fbc0d7cbd81966f16815e6c7a2c53"
"md","playwright-config","tea","tea/testarch/knowledge/playwright-config.md","42516511104a7131775f4446196cf9e5dd3295ba3272d5a5030660b1dffaa69f"
"md","probability-impact","tea","tea/testarch/knowledge/probability-impact.md","446dba0caa1eb162734514f35366f8c38ed3666528b0b5e16c7f03fd3c537d0f"
"md","README","tea","tea/workflows/testarch/README.md","044c8c0207041e6f48eaca87a0b240f30dff8ed6d5253fd4f4f5e47d44825e86"
"md","recurse","tea","tea/testarch/knowledge/recurse.md","7937897b8d8fd74ab647634fb549ba9344e86d39f9a705e8731a7531e51ad726"
"md","risk-governance","tea","tea/testarch/knowledge/risk-governance.md","2fa2bc3979c4f6d4e1dec09facb2d446f2a4fbc80107b11fc41cbef2b8d65d68"
"md","selective-testing","tea","tea/testarch/knowledge/selective-testing.md","c14c8e1bcc309dbb86a60f65bc921abf5a855c18a753e0c0654a108eb3eb1f1c"
"md","selector-resilience","tea","tea/testarch/knowledge/selector-resilience.md","a55c25a340f1cd10811802665754a3f4eab0c82868fea61fea9cc61aa47ac179"
"md","session-notes-template","tea","tea/workflows/testarch/teach-me-testing/templates/session-notes-template.md","bdcc8dac35ed5ce2c7a95ab0fd55b2dfa27e3173ed1f5d78e44f8755514e1c70"
"md","step-01-assess","tea","tea/workflows/testarch/atdd/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/automate/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/ci/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/framework/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/nfr-assess/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/test-design/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/test-review/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-assess","tea","tea/workflows/testarch/trace/steps-e/step-01-assess.md","a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d"
"md","step-01-detect-mode","tea","tea/workflows/testarch/test-design/steps-c/step-01-detect-mode.md","48696d5760479dd78b9f45e6e87721acef95e54c3aee2e618f6bb485f05a74c6"
"md","step-01-init","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-01-init.md","9a4ac8b773ebf75653d648d668a58c21d7e8ebae979e1dfd1a04e1bafb2eeaa9"
"md","step-01-load-context","tea","tea/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md","1bd9a9d8fa6a456d7a1466956a476698b0ee70ebb621f0070c440f40e0bfba96"
"md","step-01-load-context","tea","tea/workflows/testarch/test-review/steps-c/step-01-load-context.md","151c2dd262d13ffc692cb8601c922f9fe46736f60aa753c71dbd8fd9313b89ad"
"md","step-01-load-context","tea","tea/workflows/testarch/trace/steps-c/step-01-load-context.md","3527da6233a1821bc89683a83d8299810a6892753955bd91f863d7fd3f692de4"
"md","step-01-preflight","tea","tea/workflows/testarch/ci/steps-c/step-01-preflight.md","fbff84d7fb1680a7b887fb8c1874cf5dbdeec3a200b8746cc9681d65ce692277"
"md","step-01-preflight","tea","tea/workflows/testarch/framework/steps-c/step-01-preflight.md","df7d70e9feac8df36fb89b449545fca6b739700e23f696b582c9d90122feba33"
"md","step-01-preflight-and-context","tea","tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md","f396156e6f465120cb5a04a5a71fc752b9ca68b1adba834b71f878175e3173f6"
"md","step-01-preflight-and-context","tea","tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md","59eb82f3177dc0e3fae6fe04ea80337a323d3476dfd0ce210a566fb64243e245"
"md","step-01-validate","tea","tea/workflows/testarch/atdd/steps-v/step-01-validate.md","b9951eb60134b511fb26a0af757b8c89fbbe4a6fc9620cfbae6b74cb9d312da5"
"md","step-01-validate","tea","tea/workflows/testarch/automate/steps-v/step-01-validate.md","f0044d7db87235d5814ae02217bff4e9cfe6b4457a37917e31c48d04be3b765d"
"md","step-01-validate","tea","tea/workflows/testarch/ci/steps-v/step-01-validate.md","fd26ab264a9fa937bc94f99327d1ecfa9977b6ebc99aec90d7354fbcaf22188c"
"md","step-01-validate","tea","tea/workflows/testarch/framework/steps-v/step-01-validate.md","63a16923831596800fd4dd7c7bb3aefe1cd11dcf1caa6c822fdc4ec9df8f7926"
"md","step-01-validate","tea","tea/workflows/testarch/nfr-assess/steps-v/step-01-validate.md","f6115af429f6e1ad012dce12fb9692b471f5245340060f00e85c5830c716c2c1"
"md","step-01-validate","tea","tea/workflows/testarch/test-design/steps-v/step-01-validate.md","34885b7d44716847b7e349520a5f14dcbaea2c330b53c4062892e436ca23be96"
"md","step-01-validate","tea","tea/workflows/testarch/test-review/steps-v/step-01-validate.md","4bf0c205961ba0aa642efee9cd5d8234284b158ebf1ab17b47963a7695d6f815"
"md","step-01-validate","tea","tea/workflows/testarch/trace/steps-v/step-01-validate.md","5b024f898b7665a0d53976a045aa99d0ea95089fd368bc3149b48bc48866a4ed"
"md","step-01b-continue","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-01b-continue.md","6640cc4b88a8c52655491546fedd4e41396e81ec1f635ce8679f96a350921537"
"md","step-01b-resume","tea","tea/workflows/testarch/atdd/steps-c/step-01b-resume.md","029818d17dce00980da53768cc2e82720fba35591714853887f0e51198b99f13"
"md","step-01b-resume","tea","tea/workflows/testarch/automate/steps-c/step-01b-resume.md","60153862c91240326628d85284357dbd7688636b43c5a04c00a96926aeb71d3b"
"md","step-01b-resume","tea","tea/workflows/testarch/ci/steps-c/step-01b-resume.md","b1e63561bfc0808481e6c408c94d4c1fcf12e0b204c8a9d9d0974040ab65d02d"
"md","step-01b-resume","tea","tea/workflows/testarch/framework/steps-c/step-01b-resume.md","c9e5bffd9fa15d28089442b960e3fb6c72a2f04c6cae911378d7362af9b77296"
"md","step-01b-resume","tea","tea/workflows/testarch/nfr-assess/steps-c/step-01b-resume.md","4db8d8f53e0e42023971c9175e65d85fc936bbf77165e81c09e79f0e80db120a"
"md","step-01b-resume","tea","tea/workflows/testarch/test-design/steps-c/step-01b-resume.md","b4eeb6b1687a5a94bef7c8b9492b1ff3e0c6a7ee57e6a04b19229d32044effd0"
"md","step-01b-resume","tea","tea/workflows/testarch/test-review/steps-c/step-01b-resume.md","eea2c5d20b738ee20d182632ba60eda3af524421f5eeded7a06ad9adb5dff44c"
"md","step-01b-resume","tea","tea/workflows/testarch/trace/steps-c/step-01b-resume.md","4d589f5b86d5c2766e59e9b5ad1bddef1cf3cb815aeffb4b6bf3b004f5b2c141"
"md","step-02-apply-edit","tea","tea/workflows/testarch/atdd/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/automate/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/ci/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/framework/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/test-design/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/test-review/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-apply-edit","tea","tea/workflows/testarch/trace/steps-e/step-02-apply-edit.md","053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612"
"md","step-02-assess","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-02-assess.md","21a2f9f2ef55cc191ccf840cc25df325b21b339244d8ab7dd5649dd3d3b33878"
"md","step-02-define-thresholds","tea","tea/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md","1884465177bc20061a4ffbd3e61701b160ad79a49eec1038e2b55e15edbe1e34"
"md","step-02-discover-tests","tea","tea/workflows/testarch/test-review/steps-c/step-02-discover-tests.md","1177af35cdf901a16988eeca2651432b7353becb77512b71979238fe6c38ba08"
"md","step-02-discover-tests","tea","tea/workflows/testarch/trace/steps-c/step-02-discover-tests.md","7e9b87ac2a870b075eab8e03c3ebb07f03b7cd458c3dbdef1502078b29d3df36"
"md","step-02-generate-pipeline","tea","tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md","049870b2ea9340520f59488084df1916e741b7c653bde590257e0c0e5aed8682"
"md","step-02-generation-mode","tea","tea/workflows/testarch/atdd/steps-c/step-02-generation-mode.md","2fa9c59ecba5b9bf0c793d408d8827c6ff06478394d5220fddadc88834061c72"
"md","step-02-identify-targets","tea","tea/workflows/testarch/automate/steps-c/step-02-identify-targets.md","cc91c1bdb7e374c0611f6d1da73c1a4f17e3c99fd61f7b72ac797975696b07b4"
"md","step-02-load-context","tea","tea/workflows/testarch/test-design/steps-c/step-02-load-context.md","b579018577ffe7f03d5dbeb80ea5899a886fd68e3590d2330fe62ed3fde43ac6"
"md","step-02-select-framework","tea","tea/workflows/testarch/framework/steps-c/step-02-select-framework.md","0ab007159ec56a5ea42cb3de56b4456daf660e5f9bdc73cf9e4fd4e650ebe782"
"md","step-03-configure-quality-gates","tea","tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md","94644196c0ecd496ff1c4edf2a0fced911ca6803e99cfdf2e4a48bc80d4f4367"
"md","step-03-gather-evidence","tea","tea/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md","9b74446085e31d5113dcbfc0f1f14854099faa269df70e0fbbcf5be2f94c7ed6"
"md","step-03-generate-tests","tea","tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md","3807642ad0db60395d254789db583df3f31c35f287af5310569ecdfc93717a55"
"md","step-03-map-criteria","tea","tea/workflows/testarch/trace/steps-c/step-03-map-criteria.md","8459317d5db9ca972b4892b85698ee4edd521902a098344e692c6d9bcc18a704"
"md","step-03-quality-evaluation","tea","tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md","706f114f1e13e824c55ae1620086103c89121ad155ca911ab1530832e972b86e"
"md","step-03-risk-and-testability","tea","tea/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md","6bd73e152520edb7ac302dbbbb015829ed82fbff135a5d1d5ef1b961ae8ffece"
"md","step-03-scaffold-framework","tea","tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md","e6890be407db76676966a3e907449f21200a9e371fd5ec9a7d6898dee622399e"
"md","step-03-session-menu","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-03-session-menu.md","cdd71419e3d2e4c22132d66a9be1149235c2b59cef39cb75c0608c05ac072d6f"
"md","step-03-test-strategy","tea","tea/workflows/testarch/atdd/steps-c/step-03-test-strategy.md","7bf8961677a75612b2be69e9a91d908fb5cc68d73dadff77f1012a321b871508"
"md","step-03a-subagent-api","tea","tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md","4121f67cbf524852302e6da1b0706b90bbbc030662878365cf2863169db5b593"
"md","step-03a-subagent-determinism","tea","tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md","8ac77c72ac9b304dbb1f4f1f7ace91c162c1853634b210a331f2f10f583fccbb"
"md","step-03b-subagent-backend","tea","tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md","467714d0a7a917fbc208afbcf70bcd2b7dd4db452e05f2c2c37a5b2e41ffe36c"
"md","step-03b-subagent-e2e","tea","tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md","d35388949aad5db13ce4068df95712520050542fa6cfd274e4f6528697acbfa0"
"md","step-03b-subagent-isolation","tea","tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md","67326e3f4a8f9649e02be6c96dabedbd189c4018529d05db83127c17043e68e7"
"md","step-03c-aggregate","tea","tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md","653e65646a3787472a61722a2f51596e224e3f5c82bd820baba887c35d92ee5f"
"md","step-03c-subagent-maintainability","tea","tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md","40608ac2fd47e712160ce44924c9e318842d82aeaec155583aa95723716dc0ba"
"md","step-03e-subagent-performance","tea","tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md","94dcbe45080218fe07e6c2d7452e4223c9bcb774e107ac84b0332bfca996c915"
"md","step-03f-aggregate-scores","tea","tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md","5a4f6bf6159a7618b9b6c2eb892f4986e886d25a262d8e66512579b0a656b7cb"
"md","step-04-analyze-gaps","tea","tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md","159cd6f123d21c5878ec38b14a4a6ccc0aa52b0775681363870219fe00b7e2b4"
"md","step-04-coverage-plan","tea","tea/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md","2d6d9b2dce0371d3269a0f9987a40daefce228a3febce226b9f5563ab2e1b32c"
"md","step-04-docs-and-scripts","tea","tea/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md","c6c4fe85650286744422c4ffb9184494528aef28a86d72020ac598e20b66d51d"
"md","step-04-evaluate-and-score","tea","tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md","69ad31112822fbbb1c6b7d00d956ca54ba97b7297e5074f4ee36e66b68c4e56e"
"md","step-04-generate-report","tea","tea/workflows/testarch/test-review/steps-c/step-04-generate-report.md","b475dc9300a9ddde6c6f5ddb1219df094f3a766e4540bb1462c04c7ef1ce4990"
"md","step-04-generate-tests","tea","tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md","640d8c99b6c60d02008a08daecc302fe1ce596472be7aecdfd39fc6a72d1a282"
"md","step-04-session-01","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-01.md","8573a43249eb408ec201cce49d2cbb61a304b7a4ca39a88c75c4dbc364e0149b"
"md","step-04-session-02","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-02.md","a4081fca2bbb9b3fc06f83006b2ec6394fcdea018be2cdff6589ac4cc2c8a6f9"
"md","step-04-session-03","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-03.md","729a7193128f6bad23b7da0f0893c7f78f08057d6fed30ddf339700b22b5e78e"
"md","step-04-session-04","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-04.md","4fb21909bdb382b3964723d9aa02442c588f74006fddc14a28d7dc133bc6f2dc"
"md","step-04-session-05","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-05.md","abad9591931c5d39e4f9c0a5d1c0688c8b8b0891e5e20bebebbcea45db802dc2"
"md","step-04-session-06","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-06.md","03ef83440e4fb0f0d11dfc884d1f88016fef213edf7db9e72ba6d469283cb8af"
"md","step-04-session-07","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-07.md","5f534f33567c6151b739f462d92b1d4b2b8c869be9f7359efdeafa78d5e9e720"
"md","step-04-validate-and-summarize","tea","tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md","2826e30ac9b288483e7d33bf9beb9f1e970ad1b248d8ea0c80712eee3efa309e"
"md","step-04-validate-and-summary","tea","tea/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md","60e0b7ba72a5ae0c2d20d78800f5b355b7d075798a8c26114315b928aa273cac"
"md","step-04a-subagent-api-failing","tea","tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md","bd8a4b2e7688ab76f02ab55804842602fb18060e298efafe0ef0cf62ecc01431"
"md","step-04a-subagent-security","tea","tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md","5937d1ae8f60789609577e023803aba78bbce631b53e0981b319ec4786e63527"
"md","step-04b-subagent-e2e-failing","tea","tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md","3fc97f9defee8a64ebba2c5ebaa758e09810a632d04d065879932afc67e609a3"
"md","step-04b-subagent-performance","tea","tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md","0198f7582e8ca357d781c039720ae0b986b8dec0ab2f43214969822331ad6229"
"md","step-04c-aggregate","tea","tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md","0b3a97471c7683c6b6797db232a52a59c7f7ddad80eeafcf0d5ee4423a59a04e"
"md","step-04c-subagent-reliability","tea","tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md","5d3a84eb3097458b74747edaaf93b8ac2ecefdb9f626189cf1a520a9d2f76696"
"md","step-04d-subagent-scalability","tea","tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md","8a069d3377e5018f2b7ca8b142788e0da76c81b4b56af2eb380d9338e9673b45"
"md","step-04e-aggregate-nfr","tea","tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md","109e0977a95571639512a2b0fdbd28262ce4a6d0f203daa56c9630aa0066a82e"
"md","step-05-completion","tea","tea/workflows/testarch/teach-me-testing/steps-c/step-05-completion.md","8d978ed5f3954b9f5c962dd1190e2c83dceff9e3a9b0981c7e008ba02d546edd"
"md","step-05-gate-decision","tea","tea/workflows/testarch/trace/steps-c/step-05-gate-decision.md","22fd5abf5e4e378fabdfb9738e744bccb6477a37af67f3e33bb0c9c3769d5b5c"
"md","step-05-generate-output","tea","tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md","652d7e6604df8d71efd08a31e66bd815bbe0fbdcc4e2ade72585b07b1bbe1bcf"
"md","step-05-generate-report","tea","tea/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md","28246c1b3b25364090d7387bea500cd62eab86dfc937cd9f6dbc40326871fb0d"
"md","step-05-validate-and-complete","tea","tea/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md","b5b10be0212b3c7c7ee46206b4b83cd960ad291d377b6e3f8e68960a0c2d5560"
"md","step-05-validate-and-summary","tea","tea/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md","8e3c857159a4af0223b3d0a7f58d4db84b330fab9e1124bd6c084fc656155e59"
"md","step-e-01-assess-workflow","tea","tea/workflows/testarch/teach-me-testing/steps-e/step-e-01-assess-workflow.md","b7b3cc8d845b79e9ef81d8c835f63bcbedc930396c0cab49a946dff1b6819e7a"
"md","step-e-02-apply-edits","tea","tea/workflows/testarch/teach-me-testing/steps-e/step-e-02-apply-edits.md","081679a34b6c02804d77156866ba9d41e1dd2952a902314b4937863ce874f27d"
"md","step-v-01-validate","tea","tea/workflows/testarch/teach-me-testing/steps-v/step-v-01-validate.md","b33a9eaac964dbe08d10ff15744f40b8118edc69844c856d4f80b9ba2da77865"
"md","test-design-architecture-template","tea","tea/workflows/testarch/test-design/test-design-architecture-template.md","39100455791354f6fb61205d096214b55f7db88c97ab5d67784f7c9b4f25238d"
"md","test-design-handoff-template","tea","tea/workflows/testarch/test-design/test-design-handoff-template.md","ce1dd24dd95244e4a511bef74a3a7cb10e5620a3a137195a31608f81ac7e7b1b"
"md","test-design-qa-template","tea","tea/workflows/testarch/test-design/test-design-qa-template.md","bc957f278009dd48156e9f9c9809f774fe262eeab0bbbbac12d6c91872a1f298"
"md","test-design-template","tea","tea/workflows/testarch/test-design/test-design-template.md","d3f5716f1dddb9412f23c31db2b9ed3e0acbdf3ff8ad016ff8544d3081db3e1b"
"md","test-healing-patterns","tea","tea/testarch/knowledge/test-healing-patterns.md","b44f7db1ebb1c20ca4ef02d12cae95f692876aee02689605d4b15fe728d28fdf"
"md","test-levels-framework","tea","tea/testarch/knowledge/test-levels-framework.md","80bbac7959a47a2e7e7de82613296f906954d571d2d64ece13381c1a0b480237"
"md","test-priorities-matrix","tea","tea/testarch/knowledge/test-priorities-matrix.md","321c3b708cc19892884be0166afa2a7197028e5474acaf7bc65c17ac861964a5"
"md","test-quality","tea","tea/testarch/knowledge/test-quality.md","97b6db474df0ec7a98a15fd2ae49671bb8e0ddf22963f3c4c47917bb75c05b90"
"md","test-review-template","tea","tea/workflows/testarch/test-review/test-review-template.md","a58e8a11043cddd5fd559796b6f1012ea96c131be8f793b9ac9659fb32faf4fc"
"md","timing-debugging","tea","tea/testarch/knowledge/timing-debugging.md","c4c87539bbd3fd961369bb1d7066135d18c6aad7ecd70256ab5ec3b26a8777d9"
"md","trace-template","tea","tea/workflows/testarch/trace/trace-template.md","e7bac767e41d8667c2db82f7ebf8222516bc89350232294caa985ac0a9d7ec54"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/atdd/validation-report-20260127-095021.md","1d6c000c1b5cdcc2e9cf02db8120c9dca59f141c21bb6acac6b01a1e3c2f2f02"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/automate/validation-report-20260127-095021.md","bbd2792600502aac133a609670d530b3f3e041fc67194a5aa314a89eefa95981"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/ci/validation-report-20260127-095021.md","a77c1f7e301171bfc3f33df1ac030c1810c76a1caf924f3bb9bdcf2c1504a87a"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/framework/validation-report-20260127-095021.md","6c852725ae756b43d014038ad84a22b823aa48b59d1125402f999fc68fa1e64e"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md","578031370f4427ef6e902559de3b11c8f9598f2434aca623cb15717abaf9a5b0"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/test-design/validation-report-20260127-095021.md","35e726717a191bc4171df789989d515af914be698b180f37e6aa2c9691064202"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/test-review/validation-report-20260127-095021.md","e4e799252a56e5203f82cfac76eb2b482c94d7576e8789f1dc3ccd71175fda54"
"md","validation-report-20260127-095021","tea","tea/workflows/testarch/trace/validation-report-20260127-095021.md","2e4ae7071fcf0137d0164d960134f0fd74fe4fd6ac370932e558aaad76203609"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/atdd/validation-report-20260127-102401.md","dc742b9c1412595bd052a652fc1a3a0c2675b82ac428c30ad85cd534855b277d"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/automate/validation-report-20260127-102401.md","43dd925d49bb1b7eba5a818e843c646118a112bde4561be0c8262746eb0c774c"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/ci/validation-report-20260127-102401.md","eb0dcbad2fb56ac840df504af95dbf6d31578551e094e27da0e16410fd9168de"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/framework/validation-report-20260127-102401.md","ed00674f66fe2ab7cc7bfe640443eca802fc26771c0ce6ee3149d04aef96e633"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md","0e01c37a5c74f7ba8d494a60d08f24709fccd5f683172444bbbc9c161959a67d"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/test-design/validation-report-20260127-102401.md","cba6880ec28254a33c9dd79aa99a8b6652485b40dc756d79b3f916716cceba80"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/test-review/validation-report-20260127-102401.md","de8d31d8560bb28937e006776a0c5f43727d2987493261b538617948b43692c6"
"md","validation-report-20260127-102401","tea","tea/workflows/testarch/trace/validation-report-20260127-102401.md","ca4398f983325579f0236cbc87e70d310c88810b6934a8bb5933da3f488a3992"
"md","visual-debugging","tea","tea/testarch/knowledge/visual-debugging.md","072a3d30ba6d22d5e628fc26a08f6e03f8b696e49d5a4445f37749ce5cd4a8a9"
"md","workflow","tea","tea/workflows/testarch/atdd/workflow.md","7230091cf7efe381b50c3c28b8aad10516da1cd8515b2c59b1796c58a6b9b0a2"
"md","workflow","tea","tea/workflows/testarch/automate/workflow.md","79a696e3e9dd2da47eac1ba1aae6c71a00bb90d0a902d1a0816064c5446f0ec0"
"md","workflow","tea","tea/workflows/testarch/ci/workflow.md","a25bac2fb0f88b3b3c33869c2f800b37729273c6c0cd202c69ae32ff18b0012a"
"md","workflow","tea","tea/workflows/testarch/framework/workflow.md","256ad1951a5eef16af4a7e3db991ce5e4a6d637e382ee23aa64c8d5a8c21afcb"
"md","workflow","tea","tea/workflows/testarch/nfr-assess/workflow.md","2a4c0bc7c960719bd2a7ccbfc6cec78fc99e771af515d74ff14a7de4ebeb4f3c"
"md","workflow","tea","tea/workflows/testarch/teach-me-testing/workflow.md","e1c5c179f90f742b1aa8c3282a9cc5f7bfe9b60d7d6920e2c087d2004a53a738"
"md","workflow","tea","tea/workflows/testarch/test-design/workflow.md","d7e5cc6f9315a4903bde0a36766dd09eee641f9d5fa3ae899ca6019bb5a1178d"
"md","workflow","tea","tea/workflows/testarch/test-review/workflow.md","78e1503f2e350f45865ced98e3fc788f15481768fff60a69d51cf3246b0a5b94"
"md","workflow","tea","tea/workflows/testarch/trace/workflow.md","94ae8f595fbc499daa9698dea5a8be0b8a3c6f9a3432dcb1e913fa1f6fc04af8"
"md","workflow-plan","tea","tea/workflows/testarch/atdd/workflow-plan.md","b86e22eff2f91249f83cdd4c5a95cfe9caff51eded0cd1b7f51912ec61349183"
"md","workflow-plan","tea","tea/workflows/testarch/automate/workflow-plan.md","3d3cd40c76dc9f0c2387bef34e9391a9d3a25fe04ea4ebedb6adb72684a3ad06"
"md","workflow-plan","tea","tea/workflows/testarch/ci/workflow-plan.md","628dae2fcc680824c0e376feca84ce05b7cd674f0d5efc935964f4e705dddeb3"
"md","workflow-plan","tea","tea/workflows/testarch/framework/workflow-plan.md","6e181a5bd34a182f85fc9886bf205f13e89e6325db282f6e0f21cd59f122b7ab"
"md","workflow-plan","tea","tea/workflows/testarch/nfr-assess/workflow-plan.md","85ad2ae434f5fbdd55f84f4349f38ea1c72444fc5485821a8a4562a5da891b5a"
"md","workflow-plan","tea","tea/workflows/testarch/test-design/workflow-plan.md","e3b7f847205fb9c004b9772af0da7d9ed4c5038cbedd66c388d6a3b640be5a04"
"md","workflow-plan","tea","tea/workflows/testarch/test-review/workflow-plan.md","15723c03eee5bfc852cd39b843bf4435dabdf02f59a77bb8a8683c4ab8cb3ed6"
"md","workflow-plan","tea","tea/workflows/testarch/trace/workflow-plan.md","1a8d18420d10ecc4a775a858f4e55271bb8e8fca8f1fe98fa3fedaee353097d9"
"md","workflow-plan-teach-me-testing","tea","tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md","0f863a4cab3af0be608dea5a02725f18a5a07925483528668f349365de73d108"
"yaml","azure-pipelines-template","tea","tea/workflows/testarch/ci/azure-pipelines-template.yaml","e53405833b819cd70b7226ea624236ff2490659985b0512244303dc9676acb34"
"yaml","config","tea","tea/config.yaml","895a4a46af163506498145acbe84edb048b9c40db82b93fa37dbe46d2851ef86"
"yaml","curriculum","tea","tea/workflows/testarch/teach-me-testing/data/curriculum.yaml","210a80d8ec3951fce6337e2a2eb7fe4b8cbcae2ffe28185f768274b05d572263"
"yaml","github-actions-template","tea","tea/workflows/testarch/ci/github-actions-template.yaml","dbf33e640d9017650b5eed7af28f8914172a0dcfd04552a0342ef61b459b28c2"
"yaml","gitlab-ci-template","tea","tea/workflows/testarch/ci/gitlab-ci-template.yaml","af7d7e50802c1f4cbdfdfc20b0cd8a86ba5cec5b9eaedaec29e4c8aec6049ae6"
"yaml","harness-pipeline-template","tea","tea/workflows/testarch/ci/harness-pipeline-template.yaml","ed2dee2d279ecfe0bad0365950fe4f68cfa2d5a54d0d3bc50c7b85a26531c9db"
"yaml","progress-template","tea","tea/workflows/testarch/teach-me-testing/templates/progress-template.yaml","595fe007e9cecd907f0f695f581ff7c86dde770336be8134782a954d4fb6f48f"
"yaml","quiz-questions","tea","tea/workflows/testarch/teach-me-testing/data/quiz-questions.yaml","42c5e6c8703e22992cfcbbeb23d871054b15257153010efe53bf44dbc1f27b4f"
"yaml","role-paths","tea","tea/workflows/testarch/teach-me-testing/data/role-paths.yaml","c5ad85c1de113a6c403ad0f9a3588477caec72a4e4d858f41e96ebd0e4765a7a"
"yaml","session-content-map","tea","tea/workflows/testarch/teach-me-testing/data/session-content-map.yaml","0543af0912d23def025a15d43fa99d3e71f1913ef3c86b8121de6a340cc3019e"
"yaml","tea-resources-index","tea","tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml","ad8aa2c80e20eefd0df4a6c0c6340cd796f0d231e20b8dea7ab3f0c9b15ea935"
"yaml","workflow","tea","tea/workflows/testarch/atdd/workflow.yaml","e815e587b734709265c0a5ccadc6e7f7e33eee0a89efd553dc9858e75db8cbf5"
"yaml","workflow","tea","tea/workflows/testarch/automate/workflow.yaml","e41eededed924c40da99fcd4184546c1f7235d18e57df0b87bb5351523f435b6"
"yaml","workflow","tea","tea/workflows/testarch/ci/workflow.yaml","8d78dd85e3fd4442745cbbafdfbaf4c94590ed498c3f953aeb3a0cc02aa2a887"
"yaml","workflow","tea","tea/workflows/testarch/framework/workflow.yaml","1e9a79f3d1071b458b913b6ecfab66232952453693667a31ea89fd8d1d903b88"
"yaml","workflow","tea","tea/workflows/testarch/nfr-assess/workflow.yaml","4139fab53c8b597796965a43e52bec86ca164f78e193950b5186356195cd493e"
"yaml","workflow","tea","tea/workflows/testarch/test-design/workflow.yaml","6613757e6b26f1e24d096082f658d1b1f545548006afaa96b98e994da2a056eb"
"yaml","workflow","tea","tea/workflows/testarch/test-review/workflow.yaml","cb3689b50e18471a553805df146da43b4d45eac42be42b0d85284fd456a1dfaf"
"yaml","workflow","tea","tea/workflows/testarch/trace/workflow.yaml","a61fc258c6568dfa211f02ad5fc6e4abdae2ffe4bfac861f3ffa196770f75913"
1 type name module path hash
2 csv agent-manifest _config _config/agent-manifest.csv a8b9558b9ea95c8c4e8233dbb166ef825f78e522dacce55c840d8b9cf06da01b
3 csv task-manifest _config _config/task-manifest.csv 1ef8d7a48d83e6f7c6da7f2169e28198f3abf08699f3f817258076fe0a2c2ee8
4 csv workflow-manifest _config _config/workflow-manifest.csv 2cfc5495d13f315691c0f9d5f820df84777c0065bf1e426fe7a2d969180c85d0
5 yaml manifest _config _config/manifest.yaml 77ae140974d2577178efc6da6997381879416cf98c0e25b35238929e24630f67
6 md documentation-standards _memory _memory/tech-writer-sidecar/documentation-standards.md b046192ee42fcd1a3e9b2ae6911a0db38510323d072c8d75bad0594f943039e4
7 md stories-told _memory _memory/storyteller-sidecar/stories-told.md 47ee9e599595f3d9daf96d47bcdacf55eeb69fbe5572f6b08a8f48c543bc62de
8 md story-preferences _memory _memory/storyteller-sidecar/story-preferences.md b70dbb5baf3603fdac12365ef24610685cba3b68a9bc41b07bbe455cbdcc0178
9 yaml config _memory _memory/config.yaml a78c49021afe4231485eaa8cd1106c7c5fc9759090ec5787e32ccf07cd71c8c6
10 csv common-workflow-tools bmb bmb/workflows/workflow/data/common-workflow-tools.csv e59bc1d76db128ff04c53fab4b4f840f486f9804ed0d7fb7af1f62c15c2eb86a
11 csv communication-presets bmb bmb/workflows/agent/data/communication-presets.csv 1297e9277f05254ee20c463e6071df3811dfb8fe5d1183ce07ce9b092cb3fd16
12 csv module-help bmb bmb/module-help.csv f25e9885efd06c5f7a51466c65f6016c77f5767e924a644508877bcb3575cb88
13 md agent-architecture bmb bmb/workflows/agent/data/agent-architecture.md 4e7108717cb0da3e4b35680bcea350731f69497d60f09e8db036008eb16b8266
14 md agent-architecture bmb bmb/workflows/module/data/agent-architecture.md 292bb887f2b6bfbe7536ae2a3d936c51bce8f55680298ccc5620ae38081017ca
15 md agent-compilation bmb bmb/workflows/agent/data/agent-compilation.md d0722de16e620caf44843fb5e02324fd1f6a1e325c4957bcf596b9652c95b15f
16 md agent-menu-patterns bmb bmb/workflows/agent/data/agent-menu-patterns.md df5298d5cccd946fc36cf79ee0a21f9680d878a50cb9de7eecc49a250d6922e2
17 md agent-metadata bmb bmb/workflows/agent/data/agent-metadata.md b49dab109782f56bb915744f67af36abdef810735665a13405ca327607b06e30
18 md agent-plan.template bmb bmb/workflows/agent/templates/agent-plan.template.md 81e79756fb4c368c568ba05efcd276d1d52a111163827439733554f4d94e3094
19 md agent-spec-template bmb bmb/workflows/module/data/agent-spec-template.md ff68be471450daf91dc6d3c2d96ee2a8638acd7f26589abf4c328d8df7547677
20 md agent-template bmb bmb/workflows/agent/templates/agent-template.md bfaf5b7675d94279734fde32ea43a7f2383b045a027c74f426a3ea43b5f9baee
21 md agent-validation bmb bmb/workflows/agent/data/agent-validation.md df9aa540d62084b617200c312c751ee920b492afbc4aea3f54cebc4964f7b6ac
22 md architect bmb bmb/workflows/agent/data/reference/module-examples/architect.md fd9d3138eb02f9a2a770a90cad57a72827965deb9d5944a2fea22af03a95e0ab
23 md architecture bmb bmb/workflows/workflow/data/architecture.md 94f6ff8b32bc819ca9f9f2f43c50562fd1ed25d82ffcb0e33795f7e36243626b
24 md brainstorm-context bmb bmb/workflows/agent/data/brainstorm-context.md f2685504ff1c781fc1829f9550d9c2f3f0fde4bc9f451515ce653abef0366b76
25 md brief-template bmb bmb/workflows/module/templates/brief-template.md 9b3a5aab977cd189317321b92d512110fa13993a27447b25143fff14b24f6f84
26 md critical-actions bmb bmb/workflows/agent/data/critical-actions.md 86dc92ca4fdd8ab8d1783da4c74ba03eb0ecbda105f4af9fe15decd70c871f4e
27 md csv-data-file-standards bmb bmb/workflows/workflow/data/csv-data-file-standards.md 3efef22ebe70e0c89e34a5ab74cd51d89b56ac4404279e85bc5c1606e258ae79
28 md e-01-load-existing bmb bmb/workflows/agent/steps-e/e-01-load-existing.md e672dacda200987c944ac8aee8a8d4b25c30832eb52555ffb55235a98dacec19
29 md e-02-discover-edits bmb bmb/workflows/agent/steps-e/e-02-discover-edits.md 8f902e4c5e0c9c54e764bbc4aadde79302bd069c6115f07ca3d8d3e756a26ef9
30 md e-03-placeholder bmb bmb/workflows/agent/steps-e/e-03-placeholder.md 4076b77b471144f7bd58454a2652bed9a11a964bb249df95272b73590757a95e
31 md e-04-sidecar-metadata bmb bmb/workflows/agent/steps-e/e-04-sidecar-metadata.md 170932df21c468495c1295da4122d2a730555ab8ef135a23884c5cd4b23463a8
32 md e-05-persona bmb bmb/workflows/agent/steps-e/e-05-persona.md 93742cd56f05ff1eb25cb3357908e5e3d65c253f05260f6cf6680eea8e510a21
33 md e-06-commands-menu bmb bmb/workflows/agent/steps-e/e-06-commands-menu.md bcaaf0ed3a3ac1ee57393e4c5fc138ca971741019ccc8edc3fdec13bf755304c
34 md e-07-activation bmb bmb/workflows/agent/steps-e/e-07-activation.md 287eade210793c82fa99f47871fa36666af2406d0b8710a05c061d8c4d11dbb1
35 md e-08-edit-agent bmb bmb/workflows/agent/steps-e/e-08-edit-agent.md 1f7d857f21bbeb79fce3f2141c3627269c58a223afd90c301fec1d4087b083a4
36 md e-09-celebrate bmb bmb/workflows/agent/steps-e/e-09-celebrate.md 20f273e2c55d5d38d49b2161bc3303a003126af61799e13a1f5e398d6578889f
37 md frontmatter-standards bmb bmb/workflows/workflow/data/frontmatter-standards.md 95c756d4dd8eebca708bd03983b8c95374babbeedd9963a7dd89908be0bc0c7a
38 md input-discovery-standards bmb bmb/workflows/workflow/data/input-discovery-standards.md 6e71ec3582a13d1836b12fcca40a50f2d8c30b4bb37f78f622c540054403cb7c
39 md intent-vs-prescriptive-spectrum bmb bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md d5e10863d2ba52e0d0cfdc67cdfcb358bc1bbfa900c0a47ce1383cff81c14e46
40 md menu-handling-standards bmb bmb/workflows/workflow/data/menu-handling-standards.md f664abbedbb71e712486c2b03a5131b05b5f89ba6557d2c35f0b123512153673
41 md minimal-output-template bmb bmb/workflows/workflow/templates/minimal-output-template.md ff4c222f36c3589529eb3b1df80f914b64de76f74022332e555fbf2402bf2a7f
42 md module-help-generate bmb bmb/workflows/module/module-help-generate.md 4c2099aacd4fc923ab7b2f4696e786d34cc2b55a0e86bd3ead757743a02a3e02
43 md module-standards bmb bmb/workflows/module/data/module-standards.md f3f008189dcb85978b1ca43ec7396d3e7587b2ec16d513297e568a9df980ad46
44 md module-yaml-conventions bmb bmb/workflows/module/data/module-yaml-conventions.md 61b0f880aa99920f25d95b3ce333fa384f91d2eb2ed6d5179ba5b7524d9e625c
45 md output-format-standards bmb bmb/workflows/workflow/data/output-format-standards.md 8975765f4cf43478685529d559ad95691a677c85ebd1af42088f02dd83d448a3
46 md persona-properties bmb bmb/workflows/agent/data/persona-properties.md d71a2a855d3f12f742d0b1ebcd6a1bb99550d1b22f56c3c5e038a53d13e6970d
47 md principles-crafting bmb bmb/workflows/agent/data/principles-crafting.md 33e40c3aa10b27e7a33277b90c294dbcdc1df5b6c4115ebf3c18ff47943ce65f
48 md step-00-conversion bmb bmb/workflows/workflow/steps-c/step-00-conversion.md f1cff1e6117c249a845dcbe6361d89a356a2d9c41b1700c455dc4af667a84016
49 md step-01-brainstorm bmb bmb/workflows/agent/steps-c/step-01-brainstorm.md 8b56200dc67a43d3eb2afff9d329aa3ed07beeeb362b00b3b521a4de1f9a2b34
50 md step-01-discovery bmb bmb/workflows/workflow/steps-c/step-01-discovery.md 14bafd883635c3606ecf63c82ea126b5bdad86980eee334e157dae5de04811c2
51 md step-01-init-continuable-template bmb bmb/workflows/workflow/templates/step-01-init-continuable-template.md f211cf173c79b773a54612ad705e4fbbc0c936a5d4671a450602e8f73cab1183
52 md step-01-load-brief bmb bmb/workflows/module/steps-c/step-01-load-brief.md d11ae0c2fe17d2b8427ef5b96c06c2f870e6bf3a204f2eafebce8354f850bc90
53 md step-01-load-target bmb bmb/workflows/module/steps-e/step-01-load-target.md 26aef55b965315443a35e6a0d55c9ce003c2bd9a0996bc209e638680a6969dd5
54 md step-01-load-target bmb bmb/workflows/module/steps-v/step-01-load-target.md 27fba2bf4be60ce6d4d00b491deb3bf8ae2af9c078d97cb4629a14268a1b45e1
55 md step-01-validate bmb bmb/workflows/workflow/steps-v/step-01-validate.md 7062165cc403137878ec484a8a70215288d2b611a8b2153f45f814d3d1a9d58a
56 md step-01-validate-max-mode bmb bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md cf2de5888a6b3e025912769dc417d707391bb5885c973ed6359d16666540c313
57 md step-01-welcome bmb bmb/workflows/module/steps-b/step-01-welcome.md 360f177df40eb103c3a39118fc0d0e38c4bbe5e042555dc22ec75f96888bedcd
58 md step-01b-continuation bmb bmb/workflows/workflow/steps-c/step-01b-continuation.md 26b8ca474a892000d5b9f87bf9defc85af381fb3ae27b4b8aa8e2aafedebcd8d
59 md step-01b-continue bmb bmb/workflows/module/steps-c/step-01b-continue.md 9909a6a213dea8e35f730713d947baf068e30d734e8209389b727baff1f339e6
60 md step-01b-structure bmb bmb/workflows/workflow/steps-v/step-01b-structure.md 1a5c4344f777331ebf3f26f0f96b0d384ced6d3ad1e261041bd0942b328a62b4
61 md step-02-classification bmb bmb/workflows/workflow/steps-c/step-02-classification.md d31e2b451af0dcdd3d6c6695143200f0b40c3e8725ddf09849810f6984b76286
62 md step-02-discovery bmb bmb/workflows/agent/steps-c/step-02-discovery.md 52aadeb5dab8d4c0b43bdfb68bf7b32ea03ead412826c20f5c0c1afcb9c87d42
63 md step-02-file-structure bmb bmb/workflows/module/steps-v/step-02-file-structure.md db23a0e73ed9e7885b6e629a7b631db142920857ba3a8e7db4c6de8339be0514
64 md step-02-frontmatter-validation bmb bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md 86fede3dd8b992eeeeb962bd217dcb9d002aad2def3acbf0b8f3ea4f089bf1d4
65 md step-02-select-edit bmb bmb/workflows/module/steps-e/step-02-select-edit.md 54c0825ec764e38481a4edb1524a2505dc5eff079a844ab4384eb6d264511680
66 md step-02-spark bmb bmb/workflows/module/steps-b/step-02-spark.md 675a83d6c257439ac1c6a508358ff09f532075bcb4f97c1037f626324f431e34
67 md step-02-structure bmb bmb/workflows/module/steps-c/step-02-structure.md a92a42777e4aa90ae90f3a4cde49a4e46dc6d390d5f8b0e6c25cbd0749534626
68 md step-02b-path-violations bmb bmb/workflows/workflow/steps-v/step-02b-path-violations.md 34da677fd6b3bcbc54ffa8fba8c690a21e0189000aa30331c586438ad397c977
69 md step-03-apply-edit bmb bmb/workflows/module/steps-e/step-03-apply-edit.md 4cc07b6468e7e8ce8b941e5c74d132f5657caa58086586cc80eebd223a4114fd
70 md step-03-config bmb bmb/workflows/module/steps-c/step-03-config.md ca89836174c4b76051d43457aa0217295d5bf4eb2800c03ed2d29832d09cd369
71 md step-03-menu-validation bmb bmb/workflows/workflow/steps-v/step-03-menu-validation.md b484b7e112339facc41edee5631a513c89f4f5d90c2303e9457deb96ce3287af
72 md step-03-module-type bmb bmb/workflows/module/steps-b/step-03-module-type.md 0e41528e462d831ff005fdadce5a38351ebc6e95e272b79a43615c322e884e09
73 md step-03-module-yaml bmb bmb/workflows/module/steps-v/step-03-module-yaml.md 3a69cb73ae898484401c3ffbd203fb3ab74d5678933ae460d2bcc2786e876493
74 md step-03-requirements bmb bmb/workflows/workflow/steps-c/step-03-requirements.md 4954b42e344ce6f728fc3dc8df3ad5eeac0ce6d73fb08c8ff09d762e9364fd71
75 md step-03-sidecar-metadata bmb bmb/workflows/agent/steps-c/step-03-sidecar-metadata.md ecd17fb960120f8709d0b1f95c265a6275a4672db9b02458cf9df7b6d2a6681e
76 md step-04-agent-specs bmb bmb/workflows/module/steps-v/step-04-agent-specs.md a8d5eac1f5e8693c370bdb774c926a45cf5afde8d94e6996862664cdee444849
77 md step-04-agents bmb bmb/workflows/module/steps-c/step-04-agents.md 22b913e38f32f9bf388f43290a17726318986d559b42b188f26bf97a20e651d3
78 md step-04-persona bmb bmb/workflows/agent/steps-c/step-04-persona.md cd8b5845b987eeff0cdf16a913e2de439e32e927a1b4f977fee238e56c02d9a4
79 md step-04-review bmb bmb/workflows/module/steps-e/step-04-review.md 9b86a5d09668674accd03cb47cd6c437c2117ee23562bb2bcea8ddc6979eefeb
80 md step-04-step-type-validation bmb bmb/workflows/workflow/steps-v/step-04-step-type-validation.md 3a923bcad87fc74036fdefa8f42d360b8d02b678f9077aedd18654e94d966f7a
81 md step-04-tools bmb bmb/workflows/workflow/steps-c/step-04-tools.md 623adb4ca3a6e47a27e78ebc55ea45b89866ca60e04aa05f9907f6bdf8a9f57c
82 md step-04-vision bmb bmb/workflows/module/steps-b/step-04-vision.md cac4ca0fe32092801503f906fdfa868e65ba0490877daeb23a274571135ecddc
83 md step-05-commands-menu bmb bmb/workflows/agent/steps-c/step-05-commands-menu.md daf554f3cedfcb26381bec533b00cfbb73cc688dcaa72167eba852cead8fa861
84 md step-05-confirm bmb bmb/workflows/module/steps-e/step-05-confirm.md 1abeb25cd94e0396642e0ffd4d68d1b21350c51f2eee86bf403fb6f406a22408
85 md step-05-identity bmb bmb/workflows/module/steps-b/step-05-identity.md c81aa920cf83f04a51585675b2b09d756d7c5bb9e851ccea66e25d76aeaf3cff
86 md step-05-output-format-validation bmb bmb/workflows/workflow/steps-v/step-05-output-format-validation.md 824a0bea33d14e5694f6b58504eb655af26ccd3d1001a40179861146038d77e6
87 md step-05-plan-review bmb bmb/workflows/workflow/steps-c/step-05-plan-review.md 852bb996af5ccdb7df158106ba7c98698b21f667b5fd1c3256c1929839b73e38
88 md step-05-workflow-specs bmb bmb/workflows/module/steps-v/step-05-workflow-specs.md 870c35fdc1e486b67fc21876964c28db1286e6e63acf83ec35f27ec274d8e868
89 md step-05-workflows bmb bmb/workflows/module/steps-c/step-05-workflows.md f924f8d79fc3dfc85170b321dd08b414cbb09eadaaf4f07e55fe3b9b60049026
90 md step-06-activation bmb bmb/workflows/agent/steps-c/step-06-activation.md cd892bde609db408cdd73ef503eb9aede24ec575e161ab43b40f84001cd6c182
91 md step-06-design bmb bmb/workflows/workflow/steps-c/step-06-design.md 9873ef3c4ac9f9dc68e552e626a7c20091eba1c9d19f1fa76b2ba0738d0bc082
92 md step-06-docs bmb bmb/workflows/module/steps-c/step-06-docs.md 5d05cf19d95dfc3f40d1051612a4a97e8e0fb161e6892cc886df5b1bcbef8888
93 md step-06-documentation bmb bmb/workflows/module/steps-v/step-06-documentation.md 8b747c69aeda2222c980c0341fceaa7596e819420eead2e1cee634b17ddb4803
94 md step-06-users bmb bmb/workflows/module/steps-b/step-06-users.md 9e96d114253f41272cb022879db49487e35c81d21163b4358a3f287d8714aa60
95 md step-06-validation-design-check bmb bmb/workflows/workflow/steps-v/step-06-validation-design-check.md 8eb78dc10848d8e33a6c84fee38210fef8e4431aa25c318d596d25d69f9755f5
96 md step-07-build-agent bmb bmb/workflows/agent/steps-c/step-07-build-agent.md 2211519285b1fa8b3f8c6407d9f15121473b15ca273ad174377351312c10f4c9
97 md step-07-complete bmb bmb/workflows/module/steps-c/step-07-complete.md af457b4579d6e8396b7ade272b04453df3422ca7a1db6bdc0e77097b6ad5804b
98 md step-07-foundation bmb bmb/workflows/workflow/steps-c/step-07-foundation.md da4a6efc428c003dc9576c243111e2b29843608adb864105d5e130cae18498eb
99 md step-07-installation bmb bmb/workflows/module/steps-v/step-07-installation.md 06966e9496de39e7a6204c61c14a35dd0298af1485226b9f8eaac06e4a816633
100 md step-07-instruction-style-check bmb bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md b9ce0212ea49b3dfdb7204f9cfa5c59b25f4e314d2ab9cc27a95c1f432faa2f9
101 md step-07-value bmb bmb/workflows/module/steps-b/step-07-value.md 8a1fadb590730bbcb33454974ffad289d6f61a93c1d317ee883f60311c003f2e
102 md step-08-agents bmb bmb/workflows/module/steps-b/step-08-agents.md 891f06eb89c9bbf687286252a4dda6cb19b0cc0b084f4b919aab5d7518fa9c77
103 md step-08-build-step-01 bmb bmb/workflows/workflow/steps-c/step-08-build-step-01.md cbdea1291bd9f2fe5d112ceb61caa05a81b00566997e4c5f7fc6d32ec4666267
104 md step-08-celebrate bmb bmb/workflows/agent/steps-c/step-08-celebrate.md 540fc2dc69aa402ffd7222ff37379100497e188ebec42616240b8c2b7d4ac493
105 md step-08-collaborative-experience-check bmb bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md 5cffb645b0175b823f9607530625d1903920532f95e0d92b71fb233043dc4f4e
106 md step-08-report bmb bmb/workflows/module/steps-v/step-08-report.md 8e1d295dc29b6dab5fe0ec81f51b614cb8a62b849fe10895093685b3164fe2bd
107 md step-08b-subprocess-optimization bmb bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md 1934aa38ebabab0ddf2777cacddd96f37554dcda8f80812b87564a4b64925c36
108 md step-09-build-next-step bmb bmb/workflows/workflow/steps-c/step-09-build-next-step.md e814302a0713f910baadf6eda45696cd0ef632c4db38e32864f876fb2468cb38
109 md step-09-cohesive-review bmb bmb/workflows/workflow/steps-v/step-09-cohesive-review.md 77e00f46ae55bb95ebeacc6380871befb2f60844f547b260eca08e77cb1e8618
110 md step-09-workflows bmb bmb/workflows/module/steps-b/step-09-workflows.md ce099465badf171f4451ebc6064de306e85807875f747bf5f4e3542ec93961e8
111 md step-10-confirmation bmb bmb/workflows/workflow/steps-c/step-10-confirmation.md 17826ad707f57f19061cb227dc8234b2338175e9ef52a5ba4acde9c3be5f7ab6
112 md step-10-report-complete bmb bmb/workflows/workflow/steps-v/step-10-report-complete.md 901274400fa20398593f392b2ec17da88045b09c6f36f29e71e0d4219d86acf0
113 md step-10-tools bmb bmb/workflows/module/steps-b/step-10-tools.md c66a53c8b35261e511663ada1adfc62486a7d8183a51f348e28ee74fb5cdb8bf
114 md step-11-completion bmb bmb/workflows/workflow/steps-c/step-11-completion.md fa84481cdadc7405628c44b18e231b5ced89dcf1105cc5ec7b0d57c3b085f193
115 md step-11-plan-validation bmb bmb/workflows/workflow/steps-v/step-11-plan-validation.md 33421d9536fee94228d57adceddff16fe3ef2fb39e97402db855b449c74e1908
116 md step-11-scenarios bmb bmb/workflows/module/steps-b/step-11-scenarios.md 27115e07abbee27dc44ddd519586a1f00e3069c1fda7998e726ca966d0774c9b
117 md step-12-creative bmb bmb/workflows/module/steps-b/step-12-creative.md f573cda16421dbf02433efcbc36f044a836badccbe2d112de0e72a60f9627043
118 md step-13-review bmb bmb/workflows/module/steps-b/step-13-review.md 7fbe0bfad983bee2be1a658e9d761ec814b81609dcd297e6ef5cce52221f68ce
119 md step-14-finalize bmb bmb/workflows/module/steps-b/step-14-finalize.md 6ec52af56a4158156c900efa3438b3e6c66d9483ef5406943a47308a91512f4a
120 md step-1b-template bmb bmb/workflows/workflow/templates/step-1b-template.md 1728f01e00cad05b727d292dd9f163c3d94e70cff3243c67f958aa412bffc5aa
121 md step-e-01-assess-workflow bmb bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md d35285d365240ef997b47c262715326293a47835f84d71cbe20f8084ef62ad67
122 md step-e-02-discover-edits bmb bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md 7066e66d5c16b5c853d60bb53a0ff9396236d0af3a7ebecbab2cdfbc329f4c84
123 md step-e-03-fix-validation bmb bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md c62da8d8a497865d163774ef99c961d0b465b8863684dd6ab4e2b9dee76acf49
124 md step-e-04-direct-edit bmb bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md 9d5e13c0cc503c17d0977f1667d00b82b4191d875a269e04f6fb956c5cc0f27a
125 md step-e-05-apply-edit bmb bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md c8e2613800416342214bc402433a4163afb26cd7561a9cac31e3e6bfe2a254aa
126 md step-e-06-validate-after bmb bmb/workflows/workflow/steps-e/step-e-06-validate-after.md 130794b7a744775691256fe6b849e94a9764b8c22d775c9dce423c311145622f
127 md step-e-07-complete bmb bmb/workflows/workflow/steps-e/step-e-07-complete.md 3c3b50718bcfc29a4db981bcf2c6cb4ff81598fc0ebe2f50ef36e4d0f7301c0f
128 md step-file-rules bmb bmb/workflows/workflow/data/step-file-rules.md bfc096df223992a8568e2e1a7b03bb3cb5fab26154c73782d2e94edd6fdaa4fd
129 md step-template bmb bmb/workflows/workflow/templates/step-template.md 2bc3e860d0b59397c651137a020d0218982031df3eddd22f1bbc9bc0c3797ce1
130 md step-type-patterns bmb bmb/workflows/workflow/data/step-type-patterns.md 5bf33d70160ae8b8914c4de64c8bb0bad6e2788883f613539711819c3cd8fc2b
131 md subprocess-optimization-patterns bmb bmb/workflows/workflow/data/subprocess-optimization-patterns.md 7ab53a8001bbe9e81c76173dc7fc5cc53a7fb864d8ff69626b6e6cfeadfdc7e6
132 md trimodal-workflow-structure bmb bmb/workflows/workflow/data/trimodal-workflow-structure.md 7908071a7e6962f9db23890b7f832b095064ca91eec2642273dbf7d62f0e4f27
133 md understanding-agent-types bmb bmb/workflows/agent/data/understanding-agent-types.md dc8255165a5d4409cb49462838f03321e03862857440c4f3f3822bb7d05d0002
134 md v-01-load-review bmb bmb/workflows/agent/steps-v/v-01-load-review.md eb6bbf20785bdca98336f6b8bfc893df6775551b13c01d67661d6e0577a7155e
135 md v-02a-validate-metadata bmb bmb/workflows/agent/steps-v/v-02a-validate-metadata.md 3669dcb0235e35bd843454e2cc04ddaca8f9517c7617d79419196190044a0652
136 md v-02b-validate-persona bmb bmb/workflows/agent/steps-v/v-02b-validate-persona.md 144ef430d5f1dc5af3a8a51c9c2b83cdd95ef5aefe0d406f7b20064c97ada4ba
137 md v-02c-validate-menu bmb bmb/workflows/agent/steps-v/v-02c-validate-menu.md 4e8b2158dbce6d7ff3e7208da688bd74521926fbdec72933fce52f4301c112e5
138 md v-02d-validate-structure bmb bmb/workflows/agent/steps-v/v-02d-validate-structure.md e47d9af9855a276d5c7b93cdfd3ae25c8a6f9f28b3f3422284e867c79b05c433
139 md v-02e-validate-sidecar bmb bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md 51c675b7ab4ff44e52d147117002ae3497a97a47bf9fdf9da8edb659889bb38e
140 md v-03-summary bmb bmb/workflows/agent/steps-v/v-03-summary.md 6167d149c018ef818508595b04c47ecd9e3c08569751932d71d3f9ac0550b34b
141 md workflow-chaining-standards bmb bmb/workflows/workflow/data/workflow-chaining-standards.md 358099d64396ee13c6525969ee4d9ee29f4ad8adc0077ed67c3376764a15f9ce
142 md workflow-create-agent bmb bmb/workflows/agent/workflow-create-agent.md 78d5216906af8725c6db58a7841af2bc0a9a616bcaf702bdaac552b9d83e335c
143 md workflow-create-module bmb bmb/workflows/module/workflow-create-module.md b30332d5ba94b8291e0bffd4ecf2376ee9d48453665ac120e8da2d7117e62945
144 md workflow-create-module-brief bmb bmb/workflows/module/workflow-create-module-brief.md dd6048358b4984308657a815a30838e04d71c0f2f0f50e7b4e8364bd7213c3f3
145 md workflow-create-workflow bmb bmb/workflows/workflow/workflow-create-workflow.md f6a8e93c9aa10e60c7971f75c53f0424cdff075fdde9f989138baa20337384ce
146 md workflow-edit-agent bmb bmb/workflows/agent/workflow-edit-agent.md 5acab6518e762014be75268526e6a5582e23fb156f8986b4efb65e7289e73c93
147 md workflow-edit-module bmb bmb/workflows/module/workflow-edit-module.md 673df9ccd0f761798cd883ba0ed8bbad4b8551d8635c75a1554f6038e7dede35
148 md workflow-edit-workflow bmb bmb/workflows/workflow/workflow-edit-workflow.md 54755d0adbc8250ab153c3078b173770efdf1759d2f79d63b61a99990fe2d8e1
149 md workflow-examples bmb bmb/workflows/workflow/data/workflow-examples.md e48cbf37b50cfe15bde688266dba0e23591d531f232bdca8094fd421d37752c3
150 md workflow-rework-workflow bmb bmb/workflows/workflow/workflow-rework-workflow.md 647354f6647188ba4c58917a98de9c1051a12c5d8b9dc6ecbabe2eda00ba4f0b
151 md workflow-spec-template bmb bmb/workflows/module/templates/workflow-spec-template.md 5a3a958180e2ef0803b14237d8e225f632476fc7a144ba2aa7e9866c1a30eddd
152 md workflow-template bmb bmb/workflows/workflow/templates/workflow-template.md 69b5725f58a76297f151ffc4cb1629fb7b33829e5e1f365f4cf0004d48b5082c
153 md workflow-type-criteria bmb bmb/workflows/workflow/data/workflow-type-criteria.md 14b10793d4c01605c6f509b27e97cceb8c0c4f2c3cddc28404b844c04c4413d2
154 md workflow-validate-agent bmb bmb/workflows/agent/workflow-validate-agent.md b58223afbf53fdbc52b5a85ea23bd65498e44d3b6b7e2268e3b3ad8eaced34d5
155 md workflow-validate-max-parallel-workflow bmb bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md 3706b9ea43ee7308d227b2f18e3196626f545df552c134056773bf431f43a7b4
156 md workflow-validate-module bmb bmb/workflows/module/workflow-validate-module.md 78b71d8a816067898e9a92596f3d2f66d4f36dad2ef7fc076894077532715fe4
157 md workflow-validate-workflow bmb bmb/workflows/workflow/workflow-validate-workflow.md 40f34df97c9b2e23be656f3233cea7c5ff14def514a4d7735cd623f0887276d4
158 yaml config bmb bmb/config.yaml cd842886f6537a2017e6ac5898d9819bc5b5a5ba1326211dec20b38e6ee75600
159 csv default-party bmm bmm/teams/default-party.csv 5af107a5b9e9092aeb81bd8c8b9bbe7003afb7bc500e64d56da7cc27ae0c4a6e
160 csv documentation-requirements bmm bmm/workflows/document-project/documentation-requirements.csv d1253b99e88250f2130516b56027ed706e643bfec3d99316727a4c6ec65c6c1d
161 csv domain-complexity bmm bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv f775f09fb4dc1b9214ca22db4a3994ce53343d976d7f6e5384949835db6d2770
162 csv domain-complexity bmm bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv 3dc34ed39f1fc79a51f7b8fc92087edb7cd85c4393a891d220f2e8dd5a101c70
163 csv module-help bmm bmm/module-help.csv f33b06127908f62ec65645e973392350904af703f90a7361f7f960474a9b7e0a
164 csv project-types bmm bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv 7a01d336e940fb7a59ff450064fd1194cdedda316370d939264a0a0adcc0aca3
165 csv project-types bmm bmm/workflows/3-solutioning/create-architecture/data/project-types.csv 12343635a2f11343edb1d46906981d6f5e12b9cad2f612e13b09460b5e5106e7
166 json project-scan-report-schema bmm bmm/workflows/document-project/templates/project-scan-report-schema.json 8466965321f1db22f5013869636199f67e0113706283c285a7ffbbf5efeea321
167 md architecture-decision-template bmm bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md 5d9adf90c28df61031079280fd2e49998ec3b44fb3757c6a202cda353e172e9f
168 md checklist bmm bmm/workflows/4-implementation/code-review/checklist.md e30d2890ba5c50777bbe04071f754e975a1d7ec168501f321a79169c4201dd28
169 md checklist bmm bmm/workflows/4-implementation/correct-course/checklist.md 24a3f3e0108398d490dcfbe8669afc50226673cad494f16a668b515ab24bf709
170 md checklist bmm bmm/workflows/4-implementation/create-story/checklist.md 0d26d8426331fd35b84ac2cb640f698c0b58d92ae40c658bdba78941b99b8aad
171 md checklist bmm bmm/workflows/4-implementation/dev-story/checklist.md 630b68c6824a8785003a65553c1f335222b17be93b1bd80524c23b38bde1d8af
172 md checklist bmm bmm/workflows/4-implementation/sprint-planning/checklist.md 80b10aedcf88ab1641b8e5f99c9a400c8fd9014f13ca65befc5c83992e367dd7
173 md checklist bmm bmm/workflows/document-project/checklist.md 581b0b034c25de17ac3678db2dbafedaeb113de37ddf15a4df6584cf2324a7d7
174 md checklist bmm bmm/workflows/qa-generate-e2e-tests/checklist.md 83cd779c6527ff34184dc86f9eebfc0a8a921aee694f063208aee78f80a8fb12
175 md deep-dive-instructions bmm bmm/workflows/document-project/workflows/deep-dive-instructions.md 48b947d438c29a44bfda2ec3c05efcc987397055dc143a49d44c9d4174b7ac09
176 md deep-dive-template bmm bmm/workflows/document-project/templates/deep-dive-template.md 6198aa731d87d6a318b5b8d180fc29b9aa53ff0966e02391c17333818e94ffe9
177 md epics-template bmm bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md b8ec5562b2a77efd80c40eba0421bbaab931681552e5a0ff01cd93902c447ff7
178 md full-scan-instructions bmm bmm/workflows/document-project/workflows/full-scan-instructions.md 419912da2b9ea5642c5eff1805f07b8dc29138c23fba0d1092da75506e5e29fb
179 md index-template bmm bmm/workflows/document-project/templates/index-template.md 42c8a14f53088e4fda82f26a3fe41dc8a89d4bcb7a9659dd696136378b64ee90
180 md instructions bmm bmm/workflows/4-implementation/correct-course/instructions.md 9e239bb0653ef06846b03458c4d341fe5b82b173344c0a65cf226b989ac91313
181 md instructions bmm bmm/workflows/4-implementation/retrospective/instructions.md 8dbd18308a8bafc462759934125725222e09c48de2e9af3cde73789867293def
182 md instructions bmm bmm/workflows/4-implementation/sprint-planning/instructions.md 888312e225ce1944c21a98fbf49c4f118967b3676b23919906bdeda1132a2833
183 md instructions bmm bmm/workflows/4-implementation/sprint-status/instructions.md d4b7107ddbe33fb5dfc68a626c55585837743c39d171c73052cd93532c35c11d
184 md instructions bmm bmm/workflows/document-project/instructions.md 57762fb89b42df577da1188bc881cf3a8d75a1bcc60bce9e1ab2b8bcfdf29a66
185 md instructions bmm bmm/workflows/qa-generate-e2e-tests/instructions.md 3f3505f847f943b2f4a0699017c16e15fa3782f51090a0332304d7248e020e0c
186 md prd-purpose bmm bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md 49c4641b91504bb14e3887029b70beacaff83a2de200ced4f8cb11c1356ecaee
187 md prd-template bmm bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md 7ccccab9c06a626b7a228783b0b9b6e4172e9ec0b10d47bbfab56958c898f837
188 md product-brief.template bmm bmm/workflows/1-analysis/create-product-brief/product-brief.template.md ae0f58b14455efd75a0d97ba68596a3f0b58f350cd1a0ee5b1af69540f949781
189 md project-context-template bmm bmm/data/project-context-template.md facd60b71649247146700b1dc7d709fa0ae09487f7cf2b5ff8f5ce1b3a8427e8
190 md project-context-template bmm bmm/workflows/generate-project-context/project-context-template.md 54e351394ceceb0ac4b5b8135bb6295cf2c37f739c7fd11bb895ca16d79824a5
191 md project-overview-template bmm bmm/workflows/document-project/templates/project-overview-template.md a7c7325b75a5a678dca391b9b69b1e3409cfbe6da95e70443ed3ace164e287b2
192 md readiness-report-template bmm bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md 0da97ab1e38818e642f36dc0ef24d2dae69fc6e0be59924dc2dbf44329738ff6
193 md research.template bmm bmm/workflows/1-analysis/research/research.template.md 507bb6729476246b1ca2fca4693986d286a33af5529b6cd5cb1b0bb5ea9926ce
194 md source-tree-template bmm bmm/workflows/document-project/templates/source-tree-template.md 109bc335ebb22f932b37c24cdc777a351264191825444a4d147c9b82a1e2ad7a
195 md step-01-discover bmm bmm/workflows/generate-project-context/steps/step-01-discover.md 4fa1d13ec3c6db8560b6b1316b822ec2163a58b114b44e9aff733b171ef50ebe
196 md step-01-document-discovery bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md 9204972d801c28a76433230942c81bacc171e6b6951d3226cea9e7ca5c9310f1
197 md step-01-init bmm bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md 1d8a0a692c78b01535fad65b18c178a566ffa4c62d5b920c7cadea23ceb9697a
198 md step-01-init bmm bmm/workflows/1-analysis/research/domain-steps/step-01-init.md b21ec2af60870caba5447183424b720e98d1b9232526d26b8d7b11e9f165c52c
199 md step-01-init bmm bmm/workflows/1-analysis/research/market-steps/step-01-init.md b2b030bc59dfe516e67f19d66f9c6d44d745343ccf2d726d4106290704aecdbd
200 md step-01-init bmm bmm/workflows/1-analysis/research/technical-steps/step-01-init.md aa809f6b4f152940792f7b4d95f424aaf8c9ebd7628f553486d1bd55b68f9567
201 md step-01-init bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md 6ad502fa5bf5639eaf6a42e8f0bc0f2b811e0a3fd2ae3a24ed3333365f99e23c
202 md step-01-init bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md e76defb842ed5478ec16b35d6566f5ab7ecd8118b92b240a40ab9a7a1e7d3d0b
203 md step-01-init bmm bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md b270fd38b2144acb87e07c7496929ddd096717fc6f141736c2e9d1f574458314
204 md step-01-mode-detection bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md 4c3843e94643e8231adf460554d39551b0dcbd21ea875c20e55373f91d91381f
205 md step-01-understand bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md 24c2d3d3703a9330994a7008a93327702f9551453b0d373476ee83e15d10a514
206 md step-01-validate-prerequisites bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md 5ba8ba972e8376339ed2c9b75e4f98125521af0270bb5dff6e47ec73137e01de
207 md step-01b-continue bmm bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md c32490fda5f5a3d5c278baad8e9f4bd793e03429a5bf42c31719e0d90c9a3973
208 md step-01b-continue bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md 5afc3f34f6089a03e9c9a88f13cb41617a7ef163db15c2b39b31ab6908bfa7d6
209 md step-01b-continue bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md 07703fb9ddacf143e7f9cd21e69edc7cf087052d1dc5841674c122d18bb3b956
210 md step-01b-continue bmm bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md 438f14332117c74e5d12f7630690ada4eae4fdcd04e4f47dc689915fe757f101
211 md step-02-context bmm bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md 647fe1b6acc7f8cc8520bdb83654163db52328b6556c740880f42f119c9e1dcf
212 md step-02-context-gathering bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md 1c4df806dea12554aae0240e5baf5c1cffa5948d0998c8e2c4a93df40d7c42ef
213 md step-02-customer-behavior bmm bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md 93d20ddbd5506bc1d604c3ce56b42185bfe6f34402c45760e4cb7bec627f52e9
214 md step-02-design-epics bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md 2c18d76a9b73eae8b9f552cd4252f8208a0c017624ddbaf6bcbe7b28ddfa217e
215 md step-02-discovery bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md 4bd36411c2fa6d49057ff88d31bb70584dc572f3dd37a875ef6ce8c800d6ad71
216 md step-02-discovery bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md e24f22831bc612991a8b173dd2dbb1c887823041a9d83228f79c3fe06de680ba
217 md step-02-domain-analysis bmm bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md 9c4eabbed87b6bfc4636c98e96e551f69af7ef78a92b3f99ac6faa90a921c4c5
218 md step-02-generate bmm bmm/workflows/generate-project-context/steps/step-02-generate.md f881e84c685a356e54c57e8d26efbaaa91df3c1cdc1945b32ffd3c8fbbee6983
219 md step-02-investigate bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md bacc264e95c273d17c7f9ffcf820b5924bab48e04824da69f125aadb86d70273
220 md step-02-prd-analysis bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md f8c4f293c0a040fa9f73829ffeabfa073d0a8ade583adaefb26431ec83a76398
221 md step-02-technical-overview bmm bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md a8b8c49649087e8d5afa278840bfe3ed2e8203c820dbe7878ac7571956d940e0
222 md step-02-vision bmm bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md 4eb2d30f3b05c725490d8d298ab1ccdf638019c0b0e39996fdcdbf1fda5b7933
223 md step-02b-vision bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md 04b8122cdb9438fdbfb5480934bdbd288f41cab9ed2aa362c910e362a29027a4
224 md step-02c-executive-summary bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md 52ee677ed43cc034945bb0761c8162d9070087550ef4b9070d3cf6abba74ea0e
225 md step-03-competitive-landscape bmm bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md 93b8fb9b174cc8dca87bd18dafda7a6ee23727874e7eb86106fd40d7daeb6fb0
226 md step-03-complete bmm bmm/workflows/generate-project-context/steps/step-03-complete.md cf8d1d1904aeddaddb043c3c365d026cd238891cd702c2b78bae032a8e08ae17
227 md step-03-core-experience bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md d44b618b75d60e3fc26b1f5ed1f5f92613194579914e522fbd09d40ab3a3e1f3
228 md step-03-create-stories bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md e6deb22291f05a96e56f5cb3ab88eca3bb6df564208edd8fcc693d4c27139f29
229 md step-03-customer-pain-points bmm bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md 4a224fb63d2814a1e2df9b82e42cb2573dc7ffacdf4e61a14a4763c433431a16
230 md step-03-epic-coverage-validation bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md f425bcac163b9ea63a004039ff65fffea3499d9e01a2821bb11e0e17e6b6fc52
231 md step-03-execute bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md 852fe6239e0322081d5208be4737bad0c15ab08f0c8b93fbddb94491b9931a01
232 md step-03-generate bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md 19f5d60629298536f98f1ed1025002836e02a49a30aebed0ed300a40f64f5dd6
233 md step-03-integration-patterns bmm bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md bb034b20b8c325c1948aa1c7350f0b7e68601a08ec72eb09884e4dae5d94554d
234 md step-03-starter bmm bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md ad3ed7961446fe69249d46158df290d1aa8846ef490da1f93b5edf4ac80f23d1
235 md step-03-success bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md 188c00f792f3dc6ef4f0f366743b810796dcbc79404327a5aa52da14cc41da70
236 md step-03-users bmm bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md 1a73be748142bc05a468610f3c824442c794f6d81fc159cebf2497b2c3d3d2af
237 md step-04-architectural-patterns bmm bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md 81e4e6f5c6048379ea45d0d4288a7247ff46855653ec6fccf5bbef0e78778ca9
238 md step-04-customer-decisions bmm bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md 8a0c46828854693a7de16e148c3c9eb08b42409a2676b9a44b3cdffe06a577b3
239 md step-04-decisions bmm bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md d8cfd42f2fc9ef52337673c6f57d9cb3fc21e06ba4459ec7e6f68d68c4362649
240 md step-04-emotional-response bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md 003e18f5f89e672d5b34aa95b31d10865ec3a1a32117f03c2402258d7c18f618
241 md step-04-final-validation bmm bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md d1ce315d9045ae7f9cbc9df29f9c5c95f9617f56936b0ab7a36ced5bc96856e7
242 md step-04-journeys bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md 3367b54b32865c6c764ce9872db06195551c16aab9f7d57d16e0e8f0f6415aae
243 md step-04-metrics bmm bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md 52eaa6538732505db392527db1179e2a5cc95bcb9721de0f6edca4f48af0d9d1
244 md step-04-regulatory-focus bmm bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md 179a82a4fdc32274a2ad3ce501b1b54ca1925b7ce9bcaad35503a9dd080e866a
245 md step-04-review bmm bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md aa246ba5793f3a1c6dd434b388b41ccfb9e675bb55664a900a4eb2486e2a40e3
246 md step-04-self-check bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md 0dde0d5c75c3884d6b4d3380263721ad63e02c3d438a100cba3d5da4957c271b
247 md step-04-ux-alignment bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md d2e15adf2aecc2c72f9bb9051e94042fc522fd7cfb16376f41bdcdd294319703
248 md step-05-adversarial-review bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md 57adb9395ed45b870bdbc1cad1aaeb065cd3bd7a4a6b0f94b193cb02926495eb
249 md step-05-competitive-analysis bmm bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md ff6f606a80ffaf09aa325e38a4ceb321b97019e6542241b2ed4e8eb38b35efa8
250 md step-05-domain bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md 65db86b8bd1f9a899a3cb0e8a3d52aeeb2cd8d8c57196479f6353bd3ae0f4da6
251 md step-05-epic-quality-review bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md e7fd60676d6ade485de77ce2dd4229811912594cb924d6c15bae5d9bdf105a7d
252 md step-05-implementation-research bmm bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md 438a235bcb2dbbacb4c38d440b1636a208d4cbe8b5d109cb850cbdfb564b9071
253 md step-05-inspiration bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md dadb7b2199dea4765cfd6cdeb7472937356cd558003e6562cec7c1b954a2cda9
254 md step-05-patterns bmm bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md 6d64951770c748386274c9e12faec8aedded72031160140fc3380c976fbe0b7c
255 md step-05-scope bmm bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md 1a2a0698f8e044b6ce2e5efc9ed42f86dc52fa350315abff10f1dbd272dbcd95
256 md step-05-technical-trends bmm bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md 210ef479757881d418db392ac38442d4df9033dedab7bdf8965503a83430ab55
257 md step-06-complete bmm bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md ff7c1a20baa0d3773fd8c074b27491b2fcfbf08d0840751f33f857e9eb32b29e
258 md step-06-design-system bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md 2cf18704a2e46ebd344ddc5197e9a2584d5735997e51a79aa9a18f6356c0620a
259 md step-06-final-assessment bmm bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md b2dbf24e1fa987f092c5e219099b4749c969ef6e909e0f507ced9ab44490ccde
260 md step-06-innovation bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md 67bd616f34f56bcd01d68f9254ca234bf7b5f7d4dae21c562078010b87d47207
261 md step-06-research-completion bmm bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md ddc239b81dc76148b5b41741b3ca0d6d4a1f781e1db5e50d2c6b4222dd64eda9
262 md step-06-research-synthesis bmm bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md ae7ea9eec7f763073e4e1ec7ef0dd247a2c9c8f8172c84cbcb0590986c67caa2
263 md step-06-research-synthesis bmm bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md 01d94ed48e86317754d1dafb328d57bd1ce8832c1f443bfd62413bbd07dcf3a1
264 md step-06-resolve-findings bmm bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md e657af6e3687e15852c860f018b73aa263bdcf6b9d544771a8c0c715581a2c99
265 md step-06-structure bmm bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md efeb67ef10fab2050fe0a4845c868dc6ae036c98302daca22824436ea05b09e3
266 md step-07-defining-experience bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md d76323e59961efede2f4cb32c6837190fe4b218cf63d21f7a956f1acf92203c8
267 md step-07-project-type bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md 2c2aae55e93bf31b3882cc6c24336cfc3cb1a753b96aa62121fff024e1d28fc0
268 md step-07-validation bmm bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md a01726c23d82ca08915b1236b27a20fce6e35bf6ea858647579af405fbba88df
269 md step-08-complete bmm bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md 74844f0361750650b771cf64b4f824c2b47b9996b30072099c1cff1e6efe8789
270 md step-08-scoping bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md c6fd282a7ce026b4e50264032fe6489e99b14a1ac1b6db519e17ed82d9675ab3
271 md step-08-visual-foundation bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md 6e4546a98e0fc92c2afd6c55d278a71133c598dfd02bd6fc8498d06084a075e2
272 md step-09-design-directions bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md cf00ac2918ee4f255bfbd9eb0a326f23edc705018a8ea0e40c8f1e0a70e0a554
273 md step-09-functional bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md 20e671f3f4731d9cd9aadd6bc4f88adff01859604fed44ede88c231b4afdc279
274 md step-10-nonfunctional bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md 1f0ede8c828a8b213bb8954e4c42aed7b1c42921264eb6a5c132f563a5cc9e07
275 md step-10-user-journeys bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md ae69afbc497dfd9a4d1197182d67090151f21463994fee1c404bf5ad1cd12331
276 md step-11-component-strategy bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md 4c40ceb394d6595c192942a5b2d8622f2cbbcd7a3cf1b96156c61769b94b2816
277 md step-11-polish bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md 69b2b889f348cf53cb5f1f34021d74be4a68ff6aeed7b659b1db04a1cc52b62c
278 md step-12-complete bmm bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md 7ef315f148a1611bb454a5e57163bc529b0502f64a8b0018acca6d0ba60e49d8
279 md step-12-ux-patterns bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md 220721526de1bc0d1b8efcdd15e33526e4dccfd7e2968d0518b0501d50e8d818
280 md step-13-responsive-accessibility bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md 70ce19ef0c3ccef894c43e7c206b70a572995267f6b280402270fc37a9bff5d6
281 md step-14-complete bmm bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md 0869e6b5d4f4fcbe6cd1df0c7c0b4bb7a2817c7c0dd6a5f88062332ab2e1752b
282 md step-e-01-discovery bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md 2bc88c9480ac5986c06672533ab2080b1ee01086033c8e441a8c80551c8a99ee
283 md step-e-01b-legacy-conversion bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md e6bbe9020e6986a620fc0299a48e6c31c9d1ec14691df11be71baeb79837bc92
284 md step-e-02-review bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md b2660d88a445dc3f8f168f96ca92d4a1a36949e3b39fbf6cda5c77129636d9b1
285 md step-e-03-edit bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md dfcc3e4f0b1ec050d4985af04dc02b28174a995e95327ca01ae4b8cac10cc1e5
286 md step-e-04-complete bmm bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md a1100f8639120311cbaf5a5a880db4e137216bc4bd0110b0926004107a99d3c3
287 md step-v-01-discovery bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md bd3353377451ab6ebffdb94895c4e089fb2e5dce4ecb33c5b69f42f71022ea1f
288 md step-v-02-format-detection bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md 251ea5a1cf7779db2dc39d5d8317976a27f84b421359c1974ae96c0943094341
289 md step-v-02b-parity-check bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md 3481beae212bb0140c105d0ae87bb9714859c93a471048048512fd1278da2fcd
290 md step-v-03-density-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md 5b95ecd032fb65f86b7eee7ce7c30c997dc2a8b5e4846d88c2853538591a9e40
291 md step-v-04-brief-coverage-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md 97eb248c7d67e6e5121dd0b020409583998fba433799ea4c5c8cb40c7ff9c7c1
292 md step-v-05-measurability-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md 2f331ee6d4f174dec0e4b434bf7691bfcf3a13c6ee0c47a65989badaa6b6a28c
293 md step-v-06-traceability-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md 970ea67486211a611a701e1490ab7e8f2f98060a9f78760b6ebfdb9f37743c74
294 md step-v-07-implementation-leakage-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md f75d1d808fdf3d61b15bea55418b82df747f45902b6b22fe541e83b4ea3fa465
295 md step-v-08-domain-compliance-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md a1902baaf4eaaf946e5c2c2101a1ac46f8ee4397e599218b8dc030cd00c97512
296 md step-v-09-project-type-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md d53e95264625335184284d3f9d0fc6e7674f67bdf97e19362fc33df4bea7f096
297 md step-v-10-smart-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md 22d48a72bc599f45bbf8c3e81d651d3a1265a6450866c0689bf287f43d7874a4
298 md step-v-11-holistic-quality-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md 1022a1454aadff28e39fd5fa71dd76d8eefccfe438b9ef517a19b44d935c0f5b
299 md step-v-12-completeness-validation bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md c966933a0ca3753db75591325cef4d4bdaf9639a1a63f9438758d32f7e1a1dda
300 md step-v-13-report-complete bmm bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md 5bc59c257927becf116b0ee5eddbcc29d3b36ee05bf6c9de826fdacb45cf5dad
301 md tech-spec-template bmm bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md 6e0ac4991508fec75d33bbe36197e1576d7b2a1ea7ceba656d616e7d7dadcf03
302 md template bmm bmm/workflows/4-implementation/create-story/template.md 29ba697368d77e88e88d0e7ac78caf7a78785a7dcfc291082aa96a62948afb67
303 md ux-design-template bmm bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md ffa4b89376cd9db6faab682710b7ce755990b1197a8b3e16b17748656d1fca6a
304 md workflow bmm bmm/workflows/1-analysis/create-product-brief/workflow.md 3b0efaebdc6440dc75c6a24c17cbbf8dfb9583bf089f64408a4acf1674d483ad
305 md workflow bmm bmm/workflows/2-plan-workflows/create-ux-design/workflow.md 21298564b342294f62339eda1b81aad392fca43e10e48f924a69cc3414dfb32d
306 md workflow bmm bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md 15ccd00030fa9cf406d50d6a2bd43a8966f1112a1d6fbc5be410c39f3f546a26
307 md workflow bmm bmm/workflows/3-solutioning/create-architecture/workflow.md 4c1463096de99ed9130e73161744240a246bd08f6e6b72d1f2a2e606ac910394
308 md workflow bmm bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md 0e25a2680563be198875936db9c80c40f483b1e199050a89aef20ccb2a5b7377
309 md workflow bmm bmm/workflows/bmad-quick-flow/quick-dev/workflow.md a757fd8baaf6b1279aa7b115612bb13ddaaac659aa73c581701585f7d7f1ddad
310 md workflow bmm bmm/workflows/bmad-quick-flow/quick-spec/workflow.md 2a8ddcedb8952e9ee72109ce5f24c19463fe78cc9805d0bd6b69006d10a6649a
311 md workflow bmm bmm/workflows/generate-project-context/workflow.md cd5be4cd8e119c652680fd9c28add994be40c48e1fca1a78b31d10eb99a7a740
312 md workflow-create-prd bmm bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md b4d7376adfa8a2ec5fd62da51d9b19d7da16411dcd43a81224652e784dd6646c
313 md workflow-domain-research bmm bmm/workflows/1-analysis/research/workflow-domain-research.md 6f09e3bcbf6f156b9fb9477dfaf3c076f030fde3a39d8317bb2cf6316718658f
314 md workflow-edit-prd bmm bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md c1786ba087f0f3b2b819a58309cb0742b8a56eb94271fe870579561a721c7936
315 md workflow-market-research bmm bmm/workflows/1-analysis/research/workflow-market-research.md ad12c80e4848bee2cb20818af7970efee508abcc98b026c2f873d7fa6b5ad2a5
316 md workflow-technical-research bmm bmm/workflows/1-analysis/research/workflow-technical-research.md 1b88ee75dbf6b45910d37885ebbfe7f7a6cf78215a2da9bc86067cb7a9ce4e94
317 md workflow-validate-prd bmm bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md fe170fe82e944eddd0fc25bf6554b5f38663907afa28e093d1c8140039c63af4
318 xml instructions bmm bmm/workflows/4-implementation/code-review/instructions.xml 1a6f0ae7d69a5c27b09de3efab2b205a007b466976acdeeaebf7f3abec7feb68
319 xml instructions bmm bmm/workflows/4-implementation/create-story/instructions.xml d4edc80bd7ccc0f7a844ecb575016b79380e255a236d1182f5f7312a104f0e3a
320 xml instructions bmm bmm/workflows/4-implementation/dev-story/instructions.xml b177c039072ad5e8a54374e6a17a2074dd608fd4da047bef528e362919a0fde8
321 yaml config bmm bmm/config.yaml c42cea5ebf76ae95b70c7c426c60747f1a134ee16dd8239ed332015f1687732f
322 yaml deep-dive bmm bmm/workflows/document-project/workflows/deep-dive.yaml efa8d70a594b7580f5312340f93da16f9e106419b1b1d06d2e23d6a30ef963fa
323 yaml full-scan bmm bmm/workflows/document-project/workflows/full-scan.yaml 9d71cce37de1c3f43a7122f3c9705abdf3d677141698a2ab1b89a225f78f3fa9
324 yaml sprint-status-template bmm bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml 0d7fe922f21d4f00e538c265ff90e470c3e2eca761e663d84b7a1320b2f25980
325 yaml team-fullstack bmm bmm/teams/team-fullstack.yaml da8346b10dfad8e1164a11abeb3b0a84a1d8b5f04e01e8490a44ffca477a1b96
326 yaml workflow bmm bmm/workflows/4-implementation/code-review/workflow.yaml 4d84f410d441e4c84cb58425e7fa0bf5216014a8272cca0da5102ffa45cfd76f
327 yaml workflow bmm bmm/workflows/4-implementation/correct-course/workflow.yaml 1ac60df30f0962b7b923ed00ae77b11d7cc96e475c38e5d82da521ca32dda3f6
328 yaml workflow bmm bmm/workflows/4-implementation/create-story/workflow.yaml 886c479403830bebf107b2011406b4019dbab2769b7a14987618541ef981d439
329 yaml workflow bmm bmm/workflows/4-implementation/dev-story/workflow.yaml 6c819ead6d1b4bffc78d598db893c241d2dee9e41d0b5e58e3465f63baa613fd
330 yaml workflow bmm bmm/workflows/4-implementation/retrospective/workflow.yaml f69e64b620b6e172f2c5ad6ba654c4e66d7f2c6aba46f405b9ee75e68c822ed2
331 yaml workflow bmm bmm/workflows/4-implementation/sprint-planning/workflow.yaml e5a8e51cace022db18919ca819ea1c07b60a49369e24b93bd232e9a2efbf9a8f
332 yaml workflow bmm bmm/workflows/4-implementation/sprint-status/workflow.yaml 375fe24859ed074a7d52a134b6c2473bdbaabb78381a193dccc7568c6dbaa680
333 yaml workflow bmm bmm/workflows/document-project/workflow.yaml 5c61d95164a4b47189f7f4415bea38590458751ffab755eca5ed0ac0b30232a1
334 yaml workflow bmm bmm/workflows/qa-generate-e2e-tests/workflow.yaml 150a6de81d3c0045aa5ba4c9da550f5f01f915384a2ec1c38166de86e00bd1b9
335 csv default-party cis cis/teams/default-party.csv 464310e738ec38cf8114552e8274f6c517a17db0e0b176d494ab50154ba982d5
336 csv design-methods cis cis/workflows/design-thinking/design-methods.csv 6735e9777620398e35b7b8ccb21e9263d9164241c3b9973eb76f5112fb3a8fc9
337 csv innovation-frameworks cis cis/workflows/innovation-strategy/innovation-frameworks.csv 9a14473b1d667467172d8d161e91829c174e476a030a983f12ec6af249c4e42f
338 csv module-help cis cis/module-help.csv 3819767970ffea9166182aa3ce51aae1aef7f42c85af5962c8198676d92db07d
339 csv solving-methods cis cis/workflows/problem-solving/solving-methods.csv aa15c3a862523f20c199600d8d4d0a23fce1001010d7efc29a71abe537d42995
340 csv story-types cis cis/workflows/storytelling/story-types.csv ec5a3c713617bf7e2cf7db439303dd8f3363daa2f6db20a350c82260ade88bdb
341 md instructions cis cis/workflows/design-thinking/instructions.md 496c15117fb54314f3e1e8e57dfd2fe8e787281e5ba046b7a063d8c6f1f18d40
342 md instructions cis cis/workflows/innovation-strategy/instructions.md ad4be7be6fa5dd2abd9cc59bd7ec0af396d6a6b8c83d21dbbb769f1b6a2b22db
343 md instructions cis cis/workflows/problem-solving/instructions.md 959b98b8b8c4df5b10d1f28177b571e5f022d1594f4c060571a60aae8a716263
344 md instructions cis cis/workflows/storytelling/instructions.md c9fd0927719c2f9de202c60b1835fd7618e2dcfb34de1845bfb907e7656fa64c
345 md README cis cis/workflows/README.md 1f6a9ebc342e6f48a74db106d7fdc903fe48720a2cb2160902b1b563c78b2d1d
346 md README cis cis/workflows/design-thinking/README.md 0a38f88352dc4674f6e1f55a67ffebf403bf329c874a21a49ce7834c08f91f62
347 md README cis cis/workflows/innovation-strategy/README.md 820a9e734fadf2cfac94d499cec2e4b41a54d054c0d2f6b9819da319beee4fb9
348 md README cis cis/workflows/problem-solving/README.md a5e75b9899751d7aabffcf65785f10d4d2e0455f8c7c541e8a143e3babceca8b
349 md README cis cis/workflows/storytelling/README.md 1bad4223dce51cb5a7ab8c116467f78037a4583d3a840210ee2f160ad15b71ee
350 md template cis cis/workflows/design-thinking/template.md 7834c387ac0412c841b49a9fcdd8043f5ce053e5cb26993548cf4d31b561f6f0
351 md template cis cis/workflows/innovation-strategy/template.md e59bd789df87130bde034586d3e68bf1847c074f63d839945e0c29b1d0c85c82
352 md template cis cis/workflows/problem-solving/template.md 6c9efd7ac7b10010bd9911db16c2fbdca01fb0c306d871fa6381eef700b45608
353 md template cis cis/workflows/storytelling/template.md 461981aa772ef2df238070cbec90fc40995df2a71a8c22225b90c91afed57452
354 yaml config cis cis/config.yaml 85bb0d5e4a04b080ae581a72a2b42ab9ae50330fb9501761d443d240cbf520cf
355 yaml creative-squad cis cis/teams/creative-squad.yaml 25407cf0ebdf5b10884cd03c86068e04715ef270ada93a3b64cb9907b62c71cf
356 yaml workflow cis cis/workflows/design-thinking/workflow.yaml 6895c36be5ab2e4d46b1cd619d89328fd7579e268c8b4abb90e1760565141448
357 yaml workflow cis cis/workflows/innovation-strategy/workflow.yaml 2de6ea124f2ba17f045a06c349dcd0f5f2e7161ea9b03aafb1559dee5adba743
358 yaml workflow cis cis/workflows/problem-solving/workflow.yaml c6004277b86ed9daef82fd9ec1fda2409042f066420eba5600f8af20ee902c57
359 yaml workflow cis cis/workflows/storytelling/workflow.yaml 8312bc1fa4c93b78b782dcfed488545da839e915a4bb2c56a514a30a38fa3ea9
360 csv brain-methods core core/workflows/brainstorming/brain-methods.csv 0ab5878b1dbc9e3fa98cb72abfc3920a586b9e2b42609211bb0516eefd542039
361 csv methods core core/workflows/advanced-elicitation/methods.csv e08b2e22fec700274982e37be608d6c3d1d4d0c04fa0bae05aa9dba2454e6141
362 csv module-help core core/module-help.csv d1d23ce883979c145ef90d95b0fac7fdd7fca1684034546000758c9237afaefb
363 md help core core/tasks/help.md f0037b3bcbce77706ccea3d960cd437fe9eb4ed94236105746f5281a90e7a533
364 md step-01-agent-loading core core/workflows/party-mode/steps/step-01-agent-loading.md 04ab6b6247564f7edcd5c503f5ca7d27ae688b09bbe2e24345550963a016e9f9
365 md step-01-session-setup core core/workflows/brainstorming/steps/step-01-session-setup.md a2376d8394fb84e3b5b45c7ecfe00c8f5ae0a0737f547d03108e735e41b99412
366 md step-01b-continue core core/workflows/brainstorming/steps/step-01b-continue.md bb88e341a25e5e33d533046470a6a4e828ff427066f49bf29ccd22c507c7f726
367 md step-02-discussion-orchestration core core/workflows/party-mode/steps/step-02-discussion-orchestration.md a8a79890bd03237e20f1293045ecf06f9a62bc590f5c2d4f88e250cee40abb0b
368 md step-02a-user-selected core core/workflows/brainstorming/steps/step-02a-user-selected.md 558b162466745b92687a5d6e218f243a98436dd177b2d5544846c5ff4497cc94
369 md step-02b-ai-recommended core core/workflows/brainstorming/steps/step-02b-ai-recommended.md 99aa935279889f278dcb2a61ba191600a18e9db356dd8ce62f0048d3c37c9531
370 md step-02c-random-selection core core/workflows/brainstorming/steps/step-02c-random-selection.md f188c260c321c7f026051fefcd267a26ee18ce2a07f64bab7f453c0c3e483316
371 md step-02d-progressive-flow core core/workflows/brainstorming/steps/step-02d-progressive-flow.md a28c7a3edf34ceb0eea203bf7dc80f39ca04974f6d1ec243f0a088281b2e55de
372 md step-03-graceful-exit core core/workflows/party-mode/steps/step-03-graceful-exit.md bdecc33004d73238ca05d8fc9d6b86cba89833630956f53ecd82ec3715c5f0da
373 md step-03-technique-execution core core/workflows/brainstorming/steps/step-03-technique-execution.md 61a2baa6499fad1877d6d424060a933760bcfaf14f2fb04828102ad4f204c9b6
374 md step-04-idea-organization core core/workflows/brainstorming/steps/step-04-idea-organization.md cec7bc5c28248afb3282d7a5fcafed184371462417326dec38b89b157e2cffa6
375 md template core core/workflows/brainstorming/template.md 5c99d76963eb5fc21db96c5a68f39711dca7c6ed30e4f7d22aedee9e8bb964f9
376 md workflow core core/workflows/brainstorming/workflow.md 42735298a1427314506c63bda85a2959e3736b64d8d598cd3cd16bb9781fafa8
377 md workflow core core/workflows/party-mode/workflow.md 7a28f8f174ec5ef4ad3c5719acfa4bfb6ea659415b298ccf94c32a9f3f005a03
378 xml editorial-review-prose core core/tasks/editorial-review-prose.xml 6380b4c2c30005519883363d050035d1e574a6e27e9200a4b244ec79845b13c6
379 xml editorial-review-structure core core/tasks/editorial-review-structure.xml 4d5c60ae0024a9125331829540a6c6129f9e50f2f1fc07265a0e115fc4d52e8c
380 xml index-docs core core/tasks/index-docs.xml 0f81d3c065555d8b930eab7a00e8a288a8f42c67b416f61db396b14753c32840
381 xml review-adversarial-general core core/tasks/review-adversarial-general.xml fd4d3b5ca0b9254c50ddd9b79868f3637fd6abae14416a93887b059d29474be9
382 xml review-edge-case-hunter core core/tasks/review-edge-case-hunter.xml c7f74db4af314d7af537d17b4a3a0491c4d163a601b28b2e4cd32c95502993f3
383 xml shard-doc core core/tasks/shard-doc.xml 51689fddea77a37342ce06d4c5723e9d10c6178e9cbcca58ae7c6f30e3b041b2
384 xml workflow core core/tasks/workflow.xml 17bca7fa63bae20aaac4768d81463a7a2de7f80b60d4d9a8f36b70821ba86cfd
385 xml workflow core core/workflows/advanced-elicitation/workflow.xml 590cc3594a3b8c51c2cab3aed266d0c6b3f2a828307e6cf01653e37ac10f259b
386 yaml config core core/config.yaml 80e17f7f18b97d03bf6d136095284c119ccac96a71d9f5e091d913357548b4bf
387 csv default-party tea tea/teams/default-party.csv b41cb24a2367b6d856c14f955d59b3e924ebead6c7a5ffba0d5c4c1d02cae0fb
388 csv module-help tea tea/module-help.csv 39199c662ef9c9ea5616a5747e56b9edba4756e5833bc0ca3d051e5dba54129d
389 csv tea-index tea tea/testarch/tea-index.csv 8b1b6012a18404016de6d411898944e08282727f885029e9be15a4a1494eb41a
390 groovy jenkins-pipeline-template tea tea/workflows/testarch/ci/jenkins-pipeline-template.groovy f2b75c5ba3eda7537044909830ca674d794eaa929bcd032fcc2c523709b9bb77
391 md adr-quality-readiness-checklist tea tea/testarch/knowledge/adr-quality-readiness-checklist.md a8129b16c3b2afbc1f58fe5edc73dc8f1291c172c6ca009d92f1947bef1a237e
392 md api-request tea tea/testarch/knowledge/api-request.md d14f6e26151c48424d60cde5db81c0ffc8ec72eaf3357f27b4e137f222a4c4e3
393 md api-testing-patterns tea tea/testarch/knowledge/api-testing-patterns.md 4b1b7069737d4916853f1393d1cd804ce7061454ad250fb919046a78b77c2648
394 md atdd-checklist-template tea tea/workflows/testarch/atdd/atdd-checklist-template.md 352e3f331dea9ddc975487ef32bef01edcd838200740f55adfd81ddd37b8384f
395 md auth-session tea tea/testarch/knowledge/auth-session.md 2b3de2a9468caf85f0e47ba9d79b142f424b6c10e3a342c264f1cf73d2f70ddc
396 md burn-in tea tea/testarch/knowledge/burn-in.md 5ba3d2abe6b961e5bc3948ab165e801195bff3ee6e66569c00c219b484aa4b5d
397 md certificate-template tea tea/workflows/testarch/teach-me-testing/templates/certificate-template.md 1473946a9e3601e473e6c6c7c2ac2cb6cf1b7f3f22d07f1828cd3a9275158a08
398 md checklist tea tea/workflows/testarch/atdd/checklist.md 4af3b837cc5ce6a9f8177e153c61929060e08686607c375e4527c7cc993b2c70
399 md checklist tea tea/workflows/testarch/automate/checklist.md 3a8f47b83ad8eff408f7126f7729d4b930738bf7d03b0caea91d1ef49aeb19ee
400 md checklist tea tea/workflows/testarch/ci/checklist.md a8b45cb926b53b6e16419db396c6f4c21aafb9a4022698971bcbd8622e805037
401 md checklist tea tea/workflows/testarch/framework/checklist.md 57d0b2e495e352b96cdc2cf7218808d29ad502410c4c08049c85d04cf7364de7
402 md checklist tea tea/workflows/testarch/nfr-assess/checklist.md 7c940c238a25a53a6732ce2b5c74ae1e3fef020f61d032e03477024701462b5d
403 md checklist tea tea/workflows/testarch/teach-me-testing/checklist.md 8ae9620ee1d25e3758be40e05e1ec0e5f8d06f47b9a8c77ae1e2eb965d9b3ff0
404 md checklist tea tea/workflows/testarch/test-design/checklist.md 03f0058ceaa2bc2b8081b39db2c79293afb2a9e24cbce475770f2dbc0b97436d
405 md checklist tea tea/workflows/testarch/test-review/checklist.md 5349341939bad271adae217749a0b960873d4a35dcb5f2f249bcfa5790c10617
406 md checklist tea tea/workflows/testarch/trace/checklist.md 0fed29772d3b5c32bd447ae3631b91d5a8eaef4bf265337a061415545defe1c6
407 md ci-burn-in tea tea/testarch/knowledge/ci-burn-in.md 46fa84e900a8ab04ce9e3d2b074a20a3934f4318232c116d091c7df329252d97
408 md component-tdd tea tea/testarch/knowledge/component-tdd.md 88bd1f9ca1d5bcd1552828845fe80b86ff3acdf071bac574eda744caf7120ef8
409 md contract-testing tea tea/testarch/knowledge/contract-testing.md 7fc09d739eb76cea5b9003f049e170734ca1d0bcd29f9eea3c59731ee004cfe4
410 md data-factories tea tea/testarch/knowledge/data-factories.md d7428fe7675da02b6f5c4c03213fc5e542063f61ab033efb47c1c5669b835d88
411 md email-auth tea tea/testarch/knowledge/email-auth.md 43f4cc3138a905a91f4a69f358be6664a790b192811b4dfc238188e826f6b41b
412 md error-handling tea tea/testarch/knowledge/error-handling.md 8a314eafb31e78020e2709d88aaf4445160cbefb3aba788b62d1701557eb81c1
413 md feature-flags tea tea/testarch/knowledge/feature-flags.md f6db7e8de2b63ce40a1ceb120a4055fbc2c29454ad8fca5db4e8c065d98f6f49
414 md file-utils tea tea/testarch/knowledge/file-utils.md 7d1092930118fb160b9c0a4a48c398d9b08bb909d1e2432662d8e81e1e3b0087
415 md fixture-architecture tea tea/testarch/knowledge/fixture-architecture.md a3b6c1bcaf5e925068f3806a3d2179ac11dde7149e404bc4bb5602afb7392501
416 md fixtures-composition tea tea/testarch/knowledge/fixtures-composition.md 8e57a897663a272fd603026aeec76941543c1e09d129e377846726fd405f3a5a
417 md instructions tea tea/workflows/testarch/atdd/instructions.md 1e6702427b9707a4752eb1f73b62ddf703ba265c1c81b435568df134b4afbbfd
418 md instructions tea tea/workflows/testarch/automate/instructions.md 7cccdb9b2b3fa9fb09a40fc15073868f03bcb06eb3f7f5b3381f6934963398aa
419 md instructions tea tea/workflows/testarch/ci/instructions.md 85337f55b85c7a5279c8dd980ea2df5edbc76fc51da12c41bc70ccab7f5187f1
420 md instructions tea tea/workflows/testarch/framework/instructions.md 360410b28a293d9965562f06a97a4396215daa64e7d531e86e9ba1ec32eb3707
421 md instructions tea tea/workflows/testarch/nfr-assess/instructions.md 199485769b54a28b72d53da740eacddba2e95ebaa6f464c95ac89cea21cbd9b1
422 md instructions tea tea/workflows/testarch/teach-me-testing/instructions.md 40c4eed58b058a9cc8cab7d32f3dbb1960e535c6456620b46e12ebfbd7692506
423 md instructions tea tea/workflows/testarch/test-design/instructions.md e4634bc92f6c852d1f15da07c9f342147f63b17f8a989fb715862291965f68a6
424 md instructions tea tea/workflows/testarch/test-review/instructions.md 1b297de117e5e7c4436ba2981f9b6a27e097c9d465978a044907b8d57f80f5c7
425 md instructions tea tea/workflows/testarch/trace/instructions.md a0586aa0a411cf3fedc7d4e5c86ad477892ac1dddcb4e837d920e3b13924e30c
426 md intercept-network-call tea tea/testarch/knowledge/intercept-network-call.md ac8213cc28a9f9c452a6fb419356dd1d66ce495d7f29d188fcb1bb51456ba869
427 md log tea tea/testarch/knowledge/log.md 54b09992275e1ab361bf109b342a7d487cbb5bafa4e9cc48b320a1a5eb11857f
428 md network-error-monitor tea tea/testarch/knowledge/network-error-monitor.md c9041fd4af8162580a12c7adad79fdf7539fae7d6717fe7dace05e851c1b734c
429 md network-first tea tea/testarch/knowledge/network-first.md 2920e58e145626f5505bcb75e263dbd0e6ac79a8c4c2ec138f5329e06a6ac014
430 md network-recorder tea tea/testarch/knowledge/network-recorder.md ebd7a63b5834d69c75a826d775d86d466e0a0e4393101452198fe39da44772a6
431 md nfr-criteria tea tea/testarch/knowledge/nfr-criteria.md e63cee4a0193e4858c8f70ff33a497a1b97d13a69da66f60ed5c9a9853025aa1
432 md nfr-report-template tea tea/workflows/testarch/nfr-assess/nfr-report-template.md 452ac39fb19ccd6bbd2185a99c5fc431a7ba134cd641482cfa9a9f5c91a2bffa
433 md overview tea tea/testarch/knowledge/overview.md 351418dc882d0136053bc669f14d350d173f3759b16e58329dd5c4d282e59967
434 md pact-consumer-di tea tea/testarch/knowledge/pact-consumer-di.md dbc3b6f4a11656dffdfc034c38cc69e94fa6b2d5bb39d3f5ee2ae25b53cdc4dd
435 md pact-consumer-framework-setup tea tea/testarch/knowledge/pact-consumer-framework-setup.md ed317c633c81dfe18166a68b777e30cc0fd13e94d284e996bad4aa365ea3de43
436 md pact-mcp tea tea/testarch/knowledge/pact-mcp.md c98b5bb74aa238af47aab8a00bee20afd25ceda7e50381ff4f18f6a91f9e6045
437 md pactjs-utils-consumer-helpers tea tea/testarch/knowledge/pactjs-utils-consumer-helpers.md 3923dc48fb0e58646c065b93746d860bebe5bbbdd2c84246b8ad483000db1673
438 md pactjs-utils-overview tea tea/testarch/knowledge/pactjs-utils-overview.md 64fcf26c2d5c7c183c8d7a83ed20d1f1857182724cfed5e92318dadb1b258584
439 md pactjs-utils-provider-verifier tea tea/testarch/knowledge/pactjs-utils-provider-verifier.md ac3e0d6e3137f927fef822a33f33d03c78d0a1ccd950fbca93ef1ef9276c109c
440 md pactjs-utils-request-filter tea tea/testarch/knowledge/pactjs-utils-request-filter.md 6f900300880f2544511436fa68c24268b3b28e0498af6dc43c848047a3cbff18
441 md playwright-cli tea tea/testarch/knowledge/playwright-cli.md e6d91a73ae853aab5aefa7aebd3245f01f8fbc0d7cbd81966f16815e6c7a2c53
442 md playwright-config tea tea/testarch/knowledge/playwright-config.md 42516511104a7131775f4446196cf9e5dd3295ba3272d5a5030660b1dffaa69f
443 md probability-impact tea tea/testarch/knowledge/probability-impact.md 446dba0caa1eb162734514f35366f8c38ed3666528b0b5e16c7f03fd3c537d0f
444 md README tea tea/workflows/testarch/README.md 044c8c0207041e6f48eaca87a0b240f30dff8ed6d5253fd4f4f5e47d44825e86
445 md recurse tea tea/testarch/knowledge/recurse.md 7937897b8d8fd74ab647634fb549ba9344e86d39f9a705e8731a7531e51ad726
446 md risk-governance tea tea/testarch/knowledge/risk-governance.md 2fa2bc3979c4f6d4e1dec09facb2d446f2a4fbc80107b11fc41cbef2b8d65d68
447 md selective-testing tea tea/testarch/knowledge/selective-testing.md c14c8e1bcc309dbb86a60f65bc921abf5a855c18a753e0c0654a108eb3eb1f1c
448 md selector-resilience tea tea/testarch/knowledge/selector-resilience.md a55c25a340f1cd10811802665754a3f4eab0c82868fea61fea9cc61aa47ac179
449 md session-notes-template tea tea/workflows/testarch/teach-me-testing/templates/session-notes-template.md bdcc8dac35ed5ce2c7a95ab0fd55b2dfa27e3173ed1f5d78e44f8755514e1c70
450 md step-01-assess tea tea/workflows/testarch/atdd/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
451 md step-01-assess tea tea/workflows/testarch/automate/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
452 md step-01-assess tea tea/workflows/testarch/ci/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
453 md step-01-assess tea tea/workflows/testarch/framework/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
454 md step-01-assess tea tea/workflows/testarch/nfr-assess/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
455 md step-01-assess tea tea/workflows/testarch/test-design/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
456 md step-01-assess tea tea/workflows/testarch/test-review/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
457 md step-01-assess tea tea/workflows/testarch/trace/steps-e/step-01-assess.md a98e5d250cd980cbe6bdc33682763512622eee8db3610d42f85e621df6eecf2d
458 md step-01-detect-mode tea tea/workflows/testarch/test-design/steps-c/step-01-detect-mode.md 48696d5760479dd78b9f45e6e87721acef95e54c3aee2e618f6bb485f05a74c6
459 md step-01-init tea tea/workflows/testarch/teach-me-testing/steps-c/step-01-init.md 9a4ac8b773ebf75653d648d668a58c21d7e8ebae979e1dfd1a04e1bafb2eeaa9
460 md step-01-load-context tea tea/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md 1bd9a9d8fa6a456d7a1466956a476698b0ee70ebb621f0070c440f40e0bfba96
461 md step-01-load-context tea tea/workflows/testarch/test-review/steps-c/step-01-load-context.md 151c2dd262d13ffc692cb8601c922f9fe46736f60aa753c71dbd8fd9313b89ad
462 md step-01-load-context tea tea/workflows/testarch/trace/steps-c/step-01-load-context.md 3527da6233a1821bc89683a83d8299810a6892753955bd91f863d7fd3f692de4
463 md step-01-preflight tea tea/workflows/testarch/ci/steps-c/step-01-preflight.md fbff84d7fb1680a7b887fb8c1874cf5dbdeec3a200b8746cc9681d65ce692277
464 md step-01-preflight tea tea/workflows/testarch/framework/steps-c/step-01-preflight.md df7d70e9feac8df36fb89b449545fca6b739700e23f696b582c9d90122feba33
465 md step-01-preflight-and-context tea tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md f396156e6f465120cb5a04a5a71fc752b9ca68b1adba834b71f878175e3173f6
466 md step-01-preflight-and-context tea tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md 59eb82f3177dc0e3fae6fe04ea80337a323d3476dfd0ce210a566fb64243e245
467 md step-01-validate tea tea/workflows/testarch/atdd/steps-v/step-01-validate.md b9951eb60134b511fb26a0af757b8c89fbbe4a6fc9620cfbae6b74cb9d312da5
468 md step-01-validate tea tea/workflows/testarch/automate/steps-v/step-01-validate.md f0044d7db87235d5814ae02217bff4e9cfe6b4457a37917e31c48d04be3b765d
469 md step-01-validate tea tea/workflows/testarch/ci/steps-v/step-01-validate.md fd26ab264a9fa937bc94f99327d1ecfa9977b6ebc99aec90d7354fbcaf22188c
470 md step-01-validate tea tea/workflows/testarch/framework/steps-v/step-01-validate.md 63a16923831596800fd4dd7c7bb3aefe1cd11dcf1caa6c822fdc4ec9df8f7926
471 md step-01-validate tea tea/workflows/testarch/nfr-assess/steps-v/step-01-validate.md f6115af429f6e1ad012dce12fb9692b471f5245340060f00e85c5830c716c2c1
472 md step-01-validate tea tea/workflows/testarch/test-design/steps-v/step-01-validate.md 34885b7d44716847b7e349520a5f14dcbaea2c330b53c4062892e436ca23be96
473 md step-01-validate tea tea/workflows/testarch/test-review/steps-v/step-01-validate.md 4bf0c205961ba0aa642efee9cd5d8234284b158ebf1ab17b47963a7695d6f815
474 md step-01-validate tea tea/workflows/testarch/trace/steps-v/step-01-validate.md 5b024f898b7665a0d53976a045aa99d0ea95089fd368bc3149b48bc48866a4ed
475 md step-01b-continue tea tea/workflows/testarch/teach-me-testing/steps-c/step-01b-continue.md 6640cc4b88a8c52655491546fedd4e41396e81ec1f635ce8679f96a350921537
476 md step-01b-resume tea tea/workflows/testarch/atdd/steps-c/step-01b-resume.md 029818d17dce00980da53768cc2e82720fba35591714853887f0e51198b99f13
477 md step-01b-resume tea tea/workflows/testarch/automate/steps-c/step-01b-resume.md 60153862c91240326628d85284357dbd7688636b43c5a04c00a96926aeb71d3b
478 md step-01b-resume tea tea/workflows/testarch/ci/steps-c/step-01b-resume.md b1e63561bfc0808481e6c408c94d4c1fcf12e0b204c8a9d9d0974040ab65d02d
479 md step-01b-resume tea tea/workflows/testarch/framework/steps-c/step-01b-resume.md c9e5bffd9fa15d28089442b960e3fb6c72a2f04c6cae911378d7362af9b77296
480 md step-01b-resume tea tea/workflows/testarch/nfr-assess/steps-c/step-01b-resume.md 4db8d8f53e0e42023971c9175e65d85fc936bbf77165e81c09e79f0e80db120a
481 md step-01b-resume tea tea/workflows/testarch/test-design/steps-c/step-01b-resume.md b4eeb6b1687a5a94bef7c8b9492b1ff3e0c6a7ee57e6a04b19229d32044effd0
482 md step-01b-resume tea tea/workflows/testarch/test-review/steps-c/step-01b-resume.md eea2c5d20b738ee20d182632ba60eda3af524421f5eeded7a06ad9adb5dff44c
483 md step-01b-resume tea tea/workflows/testarch/trace/steps-c/step-01b-resume.md 4d589f5b86d5c2766e59e9b5ad1bddef1cf3cb815aeffb4b6bf3b004f5b2c141
484 md step-02-apply-edit tea tea/workflows/testarch/atdd/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
485 md step-02-apply-edit tea tea/workflows/testarch/automate/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
486 md step-02-apply-edit tea tea/workflows/testarch/ci/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
487 md step-02-apply-edit tea tea/workflows/testarch/framework/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
488 md step-02-apply-edit tea tea/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
489 md step-02-apply-edit tea tea/workflows/testarch/test-design/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
490 md step-02-apply-edit tea tea/workflows/testarch/test-review/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
491 md step-02-apply-edit tea tea/workflows/testarch/trace/steps-e/step-02-apply-edit.md 053a6c2c2a7605a0fb942e2f72c0a52e46eab993cf100883a3f40d2eb271b612
492 md step-02-assess tea tea/workflows/testarch/teach-me-testing/steps-c/step-02-assess.md 21a2f9f2ef55cc191ccf840cc25df325b21b339244d8ab7dd5649dd3d3b33878
493 md step-02-define-thresholds tea tea/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md 1884465177bc20061a4ffbd3e61701b160ad79a49eec1038e2b55e15edbe1e34
494 md step-02-discover-tests tea tea/workflows/testarch/test-review/steps-c/step-02-discover-tests.md 1177af35cdf901a16988eeca2651432b7353becb77512b71979238fe6c38ba08
495 md step-02-discover-tests tea tea/workflows/testarch/trace/steps-c/step-02-discover-tests.md 7e9b87ac2a870b075eab8e03c3ebb07f03b7cd458c3dbdef1502078b29d3df36
496 md step-02-generate-pipeline tea tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md 049870b2ea9340520f59488084df1916e741b7c653bde590257e0c0e5aed8682
497 md step-02-generation-mode tea tea/workflows/testarch/atdd/steps-c/step-02-generation-mode.md 2fa9c59ecba5b9bf0c793d408d8827c6ff06478394d5220fddadc88834061c72
498 md step-02-identify-targets tea tea/workflows/testarch/automate/steps-c/step-02-identify-targets.md cc91c1bdb7e374c0611f6d1da73c1a4f17e3c99fd61f7b72ac797975696b07b4
499 md step-02-load-context tea tea/workflows/testarch/test-design/steps-c/step-02-load-context.md b579018577ffe7f03d5dbeb80ea5899a886fd68e3590d2330fe62ed3fde43ac6
500 md step-02-select-framework tea tea/workflows/testarch/framework/steps-c/step-02-select-framework.md 0ab007159ec56a5ea42cb3de56b4456daf660e5f9bdc73cf9e4fd4e650ebe782
501 md step-03-configure-quality-gates tea tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md 94644196c0ecd496ff1c4edf2a0fced911ca6803e99cfdf2e4a48bc80d4f4367
502 md step-03-gather-evidence tea tea/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md 9b74446085e31d5113dcbfc0f1f14854099faa269df70e0fbbcf5be2f94c7ed6
503 md step-03-generate-tests tea tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md 3807642ad0db60395d254789db583df3f31c35f287af5310569ecdfc93717a55
504 md step-03-map-criteria tea tea/workflows/testarch/trace/steps-c/step-03-map-criteria.md 8459317d5db9ca972b4892b85698ee4edd521902a098344e692c6d9bcc18a704
505 md step-03-quality-evaluation tea tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md 706f114f1e13e824c55ae1620086103c89121ad155ca911ab1530832e972b86e
506 md step-03-risk-and-testability tea tea/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md 6bd73e152520edb7ac302dbbbb015829ed82fbff135a5d1d5ef1b961ae8ffece
507 md step-03-scaffold-framework tea tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md e6890be407db76676966a3e907449f21200a9e371fd5ec9a7d6898dee622399e
508 md step-03-session-menu tea tea/workflows/testarch/teach-me-testing/steps-c/step-03-session-menu.md cdd71419e3d2e4c22132d66a9be1149235c2b59cef39cb75c0608c05ac072d6f
509 md step-03-test-strategy tea tea/workflows/testarch/atdd/steps-c/step-03-test-strategy.md 7bf8961677a75612b2be69e9a91d908fb5cc68d73dadff77f1012a321b871508
510 md step-03a-subagent-api tea tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md 4121f67cbf524852302e6da1b0706b90bbbc030662878365cf2863169db5b593
511 md step-03a-subagent-determinism tea tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md 8ac77c72ac9b304dbb1f4f1f7ace91c162c1853634b210a331f2f10f583fccbb
512 md step-03b-subagent-backend tea tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md 467714d0a7a917fbc208afbcf70bcd2b7dd4db452e05f2c2c37a5b2e41ffe36c
513 md step-03b-subagent-e2e tea tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md d35388949aad5db13ce4068df95712520050542fa6cfd274e4f6528697acbfa0
514 md step-03b-subagent-isolation tea tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md 67326e3f4a8f9649e02be6c96dabedbd189c4018529d05db83127c17043e68e7
515 md step-03c-aggregate tea tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md 653e65646a3787472a61722a2f51596e224e3f5c82bd820baba887c35d92ee5f
516 md step-03c-subagent-maintainability tea tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md 40608ac2fd47e712160ce44924c9e318842d82aeaec155583aa95723716dc0ba
517 md step-03e-subagent-performance tea tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md 94dcbe45080218fe07e6c2d7452e4223c9bcb774e107ac84b0332bfca996c915
518 md step-03f-aggregate-scores tea tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md 5a4f6bf6159a7618b9b6c2eb892f4986e886d25a262d8e66512579b0a656b7cb
519 md step-04-analyze-gaps tea tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md 159cd6f123d21c5878ec38b14a4a6ccc0aa52b0775681363870219fe00b7e2b4
520 md step-04-coverage-plan tea tea/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md 2d6d9b2dce0371d3269a0f9987a40daefce228a3febce226b9f5563ab2e1b32c
521 md step-04-docs-and-scripts tea tea/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md c6c4fe85650286744422c4ffb9184494528aef28a86d72020ac598e20b66d51d
522 md step-04-evaluate-and-score tea tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md 69ad31112822fbbb1c6b7d00d956ca54ba97b7297e5074f4ee36e66b68c4e56e
523 md step-04-generate-report tea tea/workflows/testarch/test-review/steps-c/step-04-generate-report.md b475dc9300a9ddde6c6f5ddb1219df094f3a766e4540bb1462c04c7ef1ce4990
524 md step-04-generate-tests tea tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md 640d8c99b6c60d02008a08daecc302fe1ce596472be7aecdfd39fc6a72d1a282
525 md step-04-session-01 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-01.md 8573a43249eb408ec201cce49d2cbb61a304b7a4ca39a88c75c4dbc364e0149b
526 md step-04-session-02 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-02.md a4081fca2bbb9b3fc06f83006b2ec6394fcdea018be2cdff6589ac4cc2c8a6f9
527 md step-04-session-03 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-03.md 729a7193128f6bad23b7da0f0893c7f78f08057d6fed30ddf339700b22b5e78e
528 md step-04-session-04 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-04.md 4fb21909bdb382b3964723d9aa02442c588f74006fddc14a28d7dc133bc6f2dc
529 md step-04-session-05 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-05.md abad9591931c5d39e4f9c0a5d1c0688c8b8b0891e5e20bebebbcea45db802dc2
530 md step-04-session-06 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-06.md 03ef83440e4fb0f0d11dfc884d1f88016fef213edf7db9e72ba6d469283cb8af
531 md step-04-session-07 tea tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-07.md 5f534f33567c6151b739f462d92b1d4b2b8c869be9f7359efdeafa78d5e9e720
532 md step-04-validate-and-summarize tea tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md 2826e30ac9b288483e7d33bf9beb9f1e970ad1b248d8ea0c80712eee3efa309e
533 md step-04-validate-and-summary tea tea/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md 60e0b7ba72a5ae0c2d20d78800f5b355b7d075798a8c26114315b928aa273cac
534 md step-04a-subagent-api-failing tea tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md bd8a4b2e7688ab76f02ab55804842602fb18060e298efafe0ef0cf62ecc01431
535 md step-04a-subagent-security tea tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md 5937d1ae8f60789609577e023803aba78bbce631b53e0981b319ec4786e63527
536 md step-04b-subagent-e2e-failing tea tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md 3fc97f9defee8a64ebba2c5ebaa758e09810a632d04d065879932afc67e609a3
537 md step-04b-subagent-performance tea tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md 0198f7582e8ca357d781c039720ae0b986b8dec0ab2f43214969822331ad6229
538 md step-04c-aggregate tea tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md 0b3a97471c7683c6b6797db232a52a59c7f7ddad80eeafcf0d5ee4423a59a04e
539 md step-04c-subagent-reliability tea tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md 5d3a84eb3097458b74747edaaf93b8ac2ecefdb9f626189cf1a520a9d2f76696
540 md step-04d-subagent-scalability tea tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md 8a069d3377e5018f2b7ca8b142788e0da76c81b4b56af2eb380d9338e9673b45
541 md step-04e-aggregate-nfr tea tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md 109e0977a95571639512a2b0fdbd28262ce4a6d0f203daa56c9630aa0066a82e
542 md step-05-completion tea tea/workflows/testarch/teach-me-testing/steps-c/step-05-completion.md 8d978ed5f3954b9f5c962dd1190e2c83dceff9e3a9b0981c7e008ba02d546edd
543 md step-05-gate-decision tea tea/workflows/testarch/trace/steps-c/step-05-gate-decision.md 22fd5abf5e4e378fabdfb9738e744bccb6477a37af67f3e33bb0c9c3769d5b5c
544 md step-05-generate-output tea tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md 652d7e6604df8d71efd08a31e66bd815bbe0fbdcc4e2ade72585b07b1bbe1bcf
545 md step-05-generate-report tea tea/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md 28246c1b3b25364090d7387bea500cd62eab86dfc937cd9f6dbc40326871fb0d
546 md step-05-validate-and-complete tea tea/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md b5b10be0212b3c7c7ee46206b4b83cd960ad291d377b6e3f8e68960a0c2d5560
547 md step-05-validate-and-summary tea tea/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md 8e3c857159a4af0223b3d0a7f58d4db84b330fab9e1124bd6c084fc656155e59
548 md step-e-01-assess-workflow tea tea/workflows/testarch/teach-me-testing/steps-e/step-e-01-assess-workflow.md b7b3cc8d845b79e9ef81d8c835f63bcbedc930396c0cab49a946dff1b6819e7a
549 md step-e-02-apply-edits tea tea/workflows/testarch/teach-me-testing/steps-e/step-e-02-apply-edits.md 081679a34b6c02804d77156866ba9d41e1dd2952a902314b4937863ce874f27d
550 md step-v-01-validate tea tea/workflows/testarch/teach-me-testing/steps-v/step-v-01-validate.md b33a9eaac964dbe08d10ff15744f40b8118edc69844c856d4f80b9ba2da77865
551 md test-design-architecture-template tea tea/workflows/testarch/test-design/test-design-architecture-template.md 39100455791354f6fb61205d096214b55f7db88c97ab5d67784f7c9b4f25238d
552 md test-design-handoff-template tea tea/workflows/testarch/test-design/test-design-handoff-template.md ce1dd24dd95244e4a511bef74a3a7cb10e5620a3a137195a31608f81ac7e7b1b
553 md test-design-qa-template tea tea/workflows/testarch/test-design/test-design-qa-template.md bc957f278009dd48156e9f9c9809f774fe262eeab0bbbbac12d6c91872a1f298
554 md test-design-template tea tea/workflows/testarch/test-design/test-design-template.md d3f5716f1dddb9412f23c31db2b9ed3e0acbdf3ff8ad016ff8544d3081db3e1b
555 md test-healing-patterns tea tea/testarch/knowledge/test-healing-patterns.md b44f7db1ebb1c20ca4ef02d12cae95f692876aee02689605d4b15fe728d28fdf
556 md test-levels-framework tea tea/testarch/knowledge/test-levels-framework.md 80bbac7959a47a2e7e7de82613296f906954d571d2d64ece13381c1a0b480237
557 md test-priorities-matrix tea tea/testarch/knowledge/test-priorities-matrix.md 321c3b708cc19892884be0166afa2a7197028e5474acaf7bc65c17ac861964a5
558 md test-quality tea tea/testarch/knowledge/test-quality.md 97b6db474df0ec7a98a15fd2ae49671bb8e0ddf22963f3c4c47917bb75c05b90
559 md test-review-template tea tea/workflows/testarch/test-review/test-review-template.md a58e8a11043cddd5fd559796b6f1012ea96c131be8f793b9ac9659fb32faf4fc
560 md timing-debugging tea tea/testarch/knowledge/timing-debugging.md c4c87539bbd3fd961369bb1d7066135d18c6aad7ecd70256ab5ec3b26a8777d9
561 md trace-template tea tea/workflows/testarch/trace/trace-template.md e7bac767e41d8667c2db82f7ebf8222516bc89350232294caa985ac0a9d7ec54
562 md validation-report-20260127-095021 tea tea/workflows/testarch/atdd/validation-report-20260127-095021.md 1d6c000c1b5cdcc2e9cf02db8120c9dca59f141c21bb6acac6b01a1e3c2f2f02
563 md validation-report-20260127-095021 tea tea/workflows/testarch/automate/validation-report-20260127-095021.md bbd2792600502aac133a609670d530b3f3e041fc67194a5aa314a89eefa95981
564 md validation-report-20260127-095021 tea tea/workflows/testarch/ci/validation-report-20260127-095021.md a77c1f7e301171bfc3f33df1ac030c1810c76a1caf924f3bb9bdcf2c1504a87a
565 md validation-report-20260127-095021 tea tea/workflows/testarch/framework/validation-report-20260127-095021.md 6c852725ae756b43d014038ad84a22b823aa48b59d1125402f999fc68fa1e64e
566 md validation-report-20260127-095021 tea tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md 578031370f4427ef6e902559de3b11c8f9598f2434aca623cb15717abaf9a5b0
567 md validation-report-20260127-095021 tea tea/workflows/testarch/test-design/validation-report-20260127-095021.md 35e726717a191bc4171df789989d515af914be698b180f37e6aa2c9691064202
568 md validation-report-20260127-095021 tea tea/workflows/testarch/test-review/validation-report-20260127-095021.md e4e799252a56e5203f82cfac76eb2b482c94d7576e8789f1dc3ccd71175fda54
569 md validation-report-20260127-095021 tea tea/workflows/testarch/trace/validation-report-20260127-095021.md 2e4ae7071fcf0137d0164d960134f0fd74fe4fd6ac370932e558aaad76203609
570 md validation-report-20260127-102401 tea tea/workflows/testarch/atdd/validation-report-20260127-102401.md dc742b9c1412595bd052a652fc1a3a0c2675b82ac428c30ad85cd534855b277d
571 md validation-report-20260127-102401 tea tea/workflows/testarch/automate/validation-report-20260127-102401.md 43dd925d49bb1b7eba5a818e843c646118a112bde4561be0c8262746eb0c774c
572 md validation-report-20260127-102401 tea tea/workflows/testarch/ci/validation-report-20260127-102401.md eb0dcbad2fb56ac840df504af95dbf6d31578551e094e27da0e16410fd9168de
573 md validation-report-20260127-102401 tea tea/workflows/testarch/framework/validation-report-20260127-102401.md ed00674f66fe2ab7cc7bfe640443eca802fc26771c0ce6ee3149d04aef96e633
574 md validation-report-20260127-102401 tea tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md 0e01c37a5c74f7ba8d494a60d08f24709fccd5f683172444bbbc9c161959a67d
575 md validation-report-20260127-102401 tea tea/workflows/testarch/test-design/validation-report-20260127-102401.md cba6880ec28254a33c9dd79aa99a8b6652485b40dc756d79b3f916716cceba80
576 md validation-report-20260127-102401 tea tea/workflows/testarch/test-review/validation-report-20260127-102401.md de8d31d8560bb28937e006776a0c5f43727d2987493261b538617948b43692c6
577 md validation-report-20260127-102401 tea tea/workflows/testarch/trace/validation-report-20260127-102401.md ca4398f983325579f0236cbc87e70d310c88810b6934a8bb5933da3f488a3992
578 md visual-debugging tea tea/testarch/knowledge/visual-debugging.md 072a3d30ba6d22d5e628fc26a08f6e03f8b696e49d5a4445f37749ce5cd4a8a9
579 md workflow tea tea/workflows/testarch/atdd/workflow.md 7230091cf7efe381b50c3c28b8aad10516da1cd8515b2c59b1796c58a6b9b0a2
580 md workflow tea tea/workflows/testarch/automate/workflow.md 79a696e3e9dd2da47eac1ba1aae6c71a00bb90d0a902d1a0816064c5446f0ec0
581 md workflow tea tea/workflows/testarch/ci/workflow.md a25bac2fb0f88b3b3c33869c2f800b37729273c6c0cd202c69ae32ff18b0012a
582 md workflow tea tea/workflows/testarch/framework/workflow.md 256ad1951a5eef16af4a7e3db991ce5e4a6d637e382ee23aa64c8d5a8c21afcb
583 md workflow tea tea/workflows/testarch/nfr-assess/workflow.md 2a4c0bc7c960719bd2a7ccbfc6cec78fc99e771af515d74ff14a7de4ebeb4f3c
584 md workflow tea tea/workflows/testarch/teach-me-testing/workflow.md e1c5c179f90f742b1aa8c3282a9cc5f7bfe9b60d7d6920e2c087d2004a53a738
585 md workflow tea tea/workflows/testarch/test-design/workflow.md d7e5cc6f9315a4903bde0a36766dd09eee641f9d5fa3ae899ca6019bb5a1178d
586 md workflow tea tea/workflows/testarch/test-review/workflow.md 78e1503f2e350f45865ced98e3fc788f15481768fff60a69d51cf3246b0a5b94
587 md workflow tea tea/workflows/testarch/trace/workflow.md 94ae8f595fbc499daa9698dea5a8be0b8a3c6f9a3432dcb1e913fa1f6fc04af8
588 md workflow-plan tea tea/workflows/testarch/atdd/workflow-plan.md b86e22eff2f91249f83cdd4c5a95cfe9caff51eded0cd1b7f51912ec61349183
589 md workflow-plan tea tea/workflows/testarch/automate/workflow-plan.md 3d3cd40c76dc9f0c2387bef34e9391a9d3a25fe04ea4ebedb6adb72684a3ad06
590 md workflow-plan tea tea/workflows/testarch/ci/workflow-plan.md 628dae2fcc680824c0e376feca84ce05b7cd674f0d5efc935964f4e705dddeb3
591 md workflow-plan tea tea/workflows/testarch/framework/workflow-plan.md 6e181a5bd34a182f85fc9886bf205f13e89e6325db282f6e0f21cd59f122b7ab
592 md workflow-plan tea tea/workflows/testarch/nfr-assess/workflow-plan.md 85ad2ae434f5fbdd55f84f4349f38ea1c72444fc5485821a8a4562a5da891b5a
593 md workflow-plan tea tea/workflows/testarch/test-design/workflow-plan.md e3b7f847205fb9c004b9772af0da7d9ed4c5038cbedd66c388d6a3b640be5a04
594 md workflow-plan tea tea/workflows/testarch/test-review/workflow-plan.md 15723c03eee5bfc852cd39b843bf4435dabdf02f59a77bb8a8683c4ab8cb3ed6
595 md workflow-plan tea tea/workflows/testarch/trace/workflow-plan.md 1a8d18420d10ecc4a775a858f4e55271bb8e8fca8f1fe98fa3fedaee353097d9
596 md workflow-plan-teach-me-testing tea tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md 0f863a4cab3af0be608dea5a02725f18a5a07925483528668f349365de73d108
597 yaml azure-pipelines-template tea tea/workflows/testarch/ci/azure-pipelines-template.yaml e53405833b819cd70b7226ea624236ff2490659985b0512244303dc9676acb34
598 yaml config tea tea/config.yaml 895a4a46af163506498145acbe84edb048b9c40db82b93fa37dbe46d2851ef86
599 yaml curriculum tea tea/workflows/testarch/teach-me-testing/data/curriculum.yaml 210a80d8ec3951fce6337e2a2eb7fe4b8cbcae2ffe28185f768274b05d572263
600 yaml github-actions-template tea tea/workflows/testarch/ci/github-actions-template.yaml dbf33e640d9017650b5eed7af28f8914172a0dcfd04552a0342ef61b459b28c2
601 yaml gitlab-ci-template tea tea/workflows/testarch/ci/gitlab-ci-template.yaml af7d7e50802c1f4cbdfdfc20b0cd8a86ba5cec5b9eaedaec29e4c8aec6049ae6
602 yaml harness-pipeline-template tea tea/workflows/testarch/ci/harness-pipeline-template.yaml ed2dee2d279ecfe0bad0365950fe4f68cfa2d5a54d0d3bc50c7b85a26531c9db
603 yaml progress-template tea tea/workflows/testarch/teach-me-testing/templates/progress-template.yaml 595fe007e9cecd907f0f695f581ff7c86dde770336be8134782a954d4fb6f48f
604 yaml quiz-questions tea tea/workflows/testarch/teach-me-testing/data/quiz-questions.yaml 42c5e6c8703e22992cfcbbeb23d871054b15257153010efe53bf44dbc1f27b4f
605 yaml role-paths tea tea/workflows/testarch/teach-me-testing/data/role-paths.yaml c5ad85c1de113a6c403ad0f9a3588477caec72a4e4d858f41e96ebd0e4765a7a
606 yaml session-content-map tea tea/workflows/testarch/teach-me-testing/data/session-content-map.yaml 0543af0912d23def025a15d43fa99d3e71f1913ef3c86b8121de6a340cc3019e
607 yaml tea-resources-index tea tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml ad8aa2c80e20eefd0df4a6c0c6340cd796f0d231e20b8dea7ab3f0c9b15ea935
608 yaml workflow tea tea/workflows/testarch/atdd/workflow.yaml e815e587b734709265c0a5ccadc6e7f7e33eee0a89efd553dc9858e75db8cbf5
609 yaml workflow tea tea/workflows/testarch/automate/workflow.yaml e41eededed924c40da99fcd4184546c1f7235d18e57df0b87bb5351523f435b6
610 yaml workflow tea tea/workflows/testarch/ci/workflow.yaml 8d78dd85e3fd4442745cbbafdfbaf4c94590ed498c3f953aeb3a0cc02aa2a887
611 yaml workflow tea tea/workflows/testarch/framework/workflow.yaml 1e9a79f3d1071b458b913b6ecfab66232952453693667a31ea89fd8d1d903b88
612 yaml workflow tea tea/workflows/testarch/nfr-assess/workflow.yaml 4139fab53c8b597796965a43e52bec86ca164f78e193950b5186356195cd493e
613 yaml workflow tea tea/workflows/testarch/test-design/workflow.yaml 6613757e6b26f1e24d096082f658d1b1f545548006afaa96b98e994da2a056eb
614 yaml workflow tea tea/workflows/testarch/test-review/workflow.yaml cb3689b50e18471a553805df146da43b4d45eac42be42b0d85284fd456a1dfaf
615 yaml workflow tea tea/workflows/testarch/trace/workflow.yaml a61fc258c6568dfa211f02ad5fc6e4abdae2ffe4bfac861f3ffa196770f75913

View File

@@ -0,0 +1,5 @@
ide: claude-code
configured_date: 2026-03-08T02:22:25.443Z
last_updated: 2026-03-10T12:05:13.383Z
configuration:
_noConfigNeeded: true

View File

@@ -0,0 +1,5 @@
ide: cursor
configured_date: 2026-03-08T02:22:25.543Z
last_updated: 2026-03-10T12:05:13.406Z
configuration:
_noConfigNeeded: true

View File

@@ -0,0 +1,43 @@
installation:
version: 6.0.4
installDate: 2026-03-08T02:22:25.217Z
lastUpdated: 2026-03-10T12:05:13.298Z
modules:
- name: core
version: 6.0.4
installDate: 2026-03-08T02:22:23.484Z
lastUpdated: 2026-03-10T12:05:12.136Z
source: built-in
npmPackage: null
repoUrl: null
- name: bmm
version: 6.0.4
installDate: 2026-03-08T02:22:11.693Z
lastUpdated: 2026-03-10T12:05:12.136Z
source: built-in
npmPackage: null
repoUrl: null
- name: bmb
version: 0.1.6
installDate: 2026-03-08T02:22:14.162Z
lastUpdated: 2026-03-10T12:05:12.491Z
source: external
npmPackage: bmad-builder
repoUrl: https://github.com/bmad-code-org/bmad-builder
- name: cis
version: 0.1.8
installDate: 2026-03-08T02:22:16.243Z
lastUpdated: 2026-03-10T12:05:12.896Z
source: external
npmPackage: bmad-creative-intelligence-suite
repoUrl: https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
- name: tea
version: 1.5.3
installDate: 2026-03-08T02:22:19.439Z
lastUpdated: 2026-03-10T12:05:13.298Z
source: external
npmPackage: bmad-method-test-architecture-enterprise
repoUrl: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise
ides:
- claude-code
- cursor

View File

@@ -0,0 +1,8 @@
name,displayName,description,module,path,standalone
"editorial-review-prose","Editorial Review - Prose","Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose","core","_bmad/core/tasks/editorial-review-prose.xml","true"
"editorial-review-structure","Editorial Review - Structure","Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure","core","_bmad/core/tasks/editorial-review-structure.xml","true"
"help","help","Analyzes what is done and the users query and offers advice on what to do next. Use if user says what should I do next or what do I do now","core","_bmad/core/tasks/help.md","true"
"index-docs","Index Docs","Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder","core","_bmad/core/tasks/index-docs.xml","true"
"review-adversarial-general","Adversarial Review (General)","Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something","core","_bmad/core/tasks/review-adversarial-general.xml","true"
"review-edge-case-hunter","Edge Case Hunter Review","Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven.","core","_bmad/core/tasks/review-edge-case-hunter.xml","true"
"shard-doc","Shard Document","Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document","core","_bmad/core/tasks/shard-doc.xml","true"
1 name displayName description module path standalone
2 editorial-review-prose Editorial Review - Prose Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose core _bmad/core/tasks/editorial-review-prose.xml true
3 editorial-review-structure Editorial Review - Structure Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure core _bmad/core/tasks/editorial-review-structure.xml true
4 help help Analyzes what is done and the users query and offers advice on what to do next. Use if user says what should I do next or what do I do now core _bmad/core/tasks/help.md true
5 index-docs Index Docs Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder core _bmad/core/tasks/index-docs.xml true
6 review-adversarial-general Adversarial Review (General) Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something core _bmad/core/tasks/review-adversarial-general.xml true
7 review-edge-case-hunter Edge Case Hunter Review Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven. core _bmad/core/tasks/review-edge-case-hunter.xml true
8 shard-doc Shard Document Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document core _bmad/core/tasks/shard-doc.xml true

View File

@@ -0,0 +1 @@
name,displayName,description,module,path,standalone
1 name displayName description module path standalone

View File

@@ -0,0 +1,51 @@
name,description,module,path
"brainstorming","Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate.","core","_bmad/core/workflows/brainstorming/workflow.md"
"party-mode","Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations. Use when user requests party mode.","core","_bmad/core/workflows/party-mode/workflow.md"
"create-product-brief","Create product brief through collaborative discovery. Use when the user says ""lets create a product brief"" or ""help me create a project brief""","bmm","_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md"
"domain-research","Conduct domain and industry research. Use when the user says ""lets create a research report on [domain or industry]""","bmm","_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md"
"market-research","Conduct market research on competition and customers. Use when the user says ""create a market research report about [business idea]"".","bmm","_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md"
"technical-research","Conduct technical research on technologies and architecture. Use when the user says ""create a technical research report on [topic]"".","bmm","_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md"
"create-prd","Create a PRD from scratch. Use when the user says ""lets create a product requirements document"" or ""I want to create a new PRD""","bmm","_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md"
"edit-prd","Edit an existing PRD. Use when the user says ""edit this PRD"".","bmm","_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md"
"validate-prd","Validate a PRD against standards. Use when the user says ""validate this PRD"" or ""run PRD validation""","bmm","_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md"
"create-ux-design","Plan UX patterns and design specifications. Use when the user says ""lets create UX design"" or ""create UX specifications"" or ""help me plan the UX""","bmm","_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md"
"check-implementation-readiness","Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says ""check implementation readiness"".","bmm","_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md"
"create-architecture","Create architecture solution design decisions for AI agent consistency. Use when the user says ""lets create architecture"" or ""create technical architecture"" or ""create a solution design""","bmm","_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md"
"create-epics-and-stories","Break requirements into epics and user stories. Use when the user says ""create the epics and stories list""","bmm","_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md"
"code-review","Perform adversarial code review finding specific issues. Use when the user says ""run code review"" or ""review this code""","bmm","_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml"
"correct-course","Manage significant changes during sprint execution. Use when the user says ""correct course"" or ""propose sprint change""","bmm","_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
"create-story","Creates a dedicated story file with all the context the agent will need to implement it later. Use when the user says ""create the next story"" or ""create story [story identifier]""","bmm","_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml"
"dev-story","Execute story implementation following a context filled story spec file. Use when the user says ""dev this story [story file]"" or ""implement the next story in the sprint plan""","bmm","_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml"
"retrospective","Post-epic review to extract lessons and assess success. Use when the user says ""run a retrospective"" or ""lets retro the epic [epic]""","bmm","_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml"
"sprint-planning","Generate sprint status tracking from epics. Use when the user says ""run sprint planning"" or ""generate sprint plan""","bmm","_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml"
"sprint-status","Summarize sprint status and surface risks. Use when the user says ""check sprint status"" or ""show sprint status""","bmm","_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml"
"quick-dev","Implement a Quick Tech Spec for small changes or features. Use when the user provides a quick tech spec and says ""implement this quick spec"" or ""proceed with implementation of [quick tech spec]""","bmm","_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md"
"quick-spec","Very quick process to create implementation-ready quick specs for small changes or features. Use when the user says ""create a quick spec"" or ""generate a quick tech spec""","bmm","_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md"
"document-project","Document brownfield projects for AI context. Use when the user says ""document this project"" or ""generate project docs""","bmm","_bmad/bmm/workflows/document-project/workflow.yaml"
"generate-project-context","Create project-context.md with AI rules. Use when the user says ""generate project context"" or ""create project context""","bmm","_bmad/bmm/workflows/generate-project-context/workflow.md"
"qa-generate-e2e-tests","Generate end to end automated tests for existing features. Use when the user says ""create qa automated tests for [feature]""","bmm","_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml"
"create-agent","Create a new BMAD agent with best practices and compliance","bmb","_bmad/bmb/workflows/agent/workflow-create-agent.md"
"edit-agent","Edit existing BMAD agents while maintaining compliance","bmb","_bmad/bmb/workflows/agent/workflow-edit-agent.md"
"validate-agent","Validate existing BMAD agents and offer to improve deficiencies","bmb","_bmad/bmb/workflows/agent/workflow-validate-agent.md"
"create-module-brief","Create product brief for BMAD module development","bmb","_bmad/bmb/workflows/module/workflow-create-module-brief.md"
"create-module","Create a complete BMAD module with agents, workflows, and infrastructure","bmb","_bmad/bmb/workflows/module/workflow-create-module.md"
"edit-module","Edit existing BMAD modules while maintaining coherence","bmb","_bmad/bmb/workflows/module/workflow-edit-module.md"
"validate-module","Run compliance check on BMAD modules against best practices","bmb","_bmad/bmb/workflows/module/workflow-validate-module.md"
"create-workflow","Create a new BMAD workflow with proper structure and best practices","bmb","_bmad/bmb/workflows/workflow/workflow-create-workflow.md"
"edit-workflow","Edit existing BMAD workflows while maintaining integrity","bmb","_bmad/bmb/workflows/workflow/workflow-edit-workflow.md"
"rework-workflow","Rework a Workflow to a V6 Compliant Version","bmb","_bmad/bmb/workflows/workflow/workflow-rework-workflow.md"
"validate-max-parallel-workflow","Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes","bmb","_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md"
"validate-workflow","Run validation check on BMAD workflows against best practices","bmb","_bmad/bmb/workflows/workflow/workflow-validate-workflow.md"
"design-thinking","Guide human-centered design processes using empathy-driven methodologies. Use when the user says ""lets run design thinking"" or ""I want to apply design thinking""","cis","_bmad/cis/workflows/design-thinking/workflow.yaml"
"innovation-strategy","Identify disruption opportunities and architect business model innovation. Use when the user says ""lets create an innovation strategy"" or ""I want to find disruption opportunities""","cis","_bmad/cis/workflows/innovation-strategy/workflow.yaml"
"problem-solving","Apply systematic problem-solving methodologies to complex challenges. Use when the user says ""guide me through structured problem solving"" or ""I want to crack this challenge with guided problem solving techniques""","cis","_bmad/cis/workflows/problem-solving/workflow.yaml"
"storytelling","Craft compelling narratives using story frameworks. Use when the user says ""help me with storytelling"" or ""I want to create a narrative through storytelling""","cis","_bmad/cis/workflows/storytelling/workflow.yaml"
"testarch-atdd","Generate failing acceptance tests using TDD cycle. Use when the user says ""lets write acceptance tests"" or ""I want to do ATDD""","tea","_bmad/tea/workflows/testarch/atdd/workflow.yaml"
"testarch-automate","Expand test automation coverage for codebase. Use when the user says ""lets expand test coverage"" or ""I want to automate tests""","tea","_bmad/tea/workflows/testarch/automate/workflow.yaml"
"testarch-ci","Scaffold CI/CD quality pipeline with test execution. Use when the user says ""lets setup CI pipeline"" or ""I want to create quality gates""","tea","_bmad/tea/workflows/testarch/ci/workflow.yaml"
"testarch-framework","Initialize test framework with Playwright or Cypress. Use when the user says ""lets setup test framework"" or ""I want to initialize testing framework""","tea","_bmad/tea/workflows/testarch/framework/workflow.yaml"
"testarch-nfr","Assess NFRs like performance security and reliability. Use when the user says ""lets assess NFRs"" or ""I want to evaluate non-functional requirements""","tea","_bmad/tea/workflows/testarch/nfr-assess/workflow.yaml"
"teach-me-testing","Teach testing progressively through structured sessions. Use when user says ""lets learn testing"" or ""I want to study test practices""","tea","_bmad/tea/workflows/testarch/teach-me-testing/workflow.md"
"testarch-test-design","Create system-level or epic-level test plans. Use when the user says ""lets design test plan"" or ""I want to create test strategy""","tea","_bmad/tea/workflows/testarch/test-design/workflow.yaml"
"testarch-test-review","Review test quality using best practices validation. Use when the user says ""lets review tests"" or ""I want to evaluate test quality""","tea","_bmad/tea/workflows/testarch/test-review/workflow.yaml"
"testarch-trace","Generate traceability matrix and quality gate decision. Use when the user says ""lets create traceability matrix"" or ""I want to analyze test coverage""","tea","_bmad/tea/workflows/testarch/trace/workflow.yaml"
1 name description module path
2 brainstorming Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods. Use when the user says help me brainstorm or help me ideate. core _bmad/core/workflows/brainstorming/workflow.md
3 party-mode Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations. Use when user requests party mode. core _bmad/core/workflows/party-mode/workflow.md
4 create-product-brief Create product brief through collaborative discovery. Use when the user says "lets create a product brief" or "help me create a project brief" bmm _bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md
5 domain-research Conduct domain and industry research. Use when the user says "lets create a research report on [domain or industry]" bmm _bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md
6 market-research Conduct market research on competition and customers. Use when the user says "create a market research report about [business idea]". bmm _bmad/bmm/workflows/1-analysis/research/workflow-market-research.md
7 technical-research Conduct technical research on technologies and architecture. Use when the user says "create a technical research report on [topic]". bmm _bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md
8 create-prd Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD" bmm _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md
9 edit-prd Edit an existing PRD. Use when the user says "edit this PRD". bmm _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md
10 validate-prd Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation" bmm _bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md
11 create-ux-design Plan UX patterns and design specifications. Use when the user says "lets create UX design" or "create UX specifications" or "help me plan the UX" bmm _bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md
12 check-implementation-readiness Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says "check implementation readiness". bmm _bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md
13 create-architecture Create architecture solution design decisions for AI agent consistency. Use when the user says "lets create architecture" or "create technical architecture" or "create a solution design" bmm _bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md
14 create-epics-and-stories Break requirements into epics and user stories. Use when the user says "create the epics and stories list" bmm _bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md
15 code-review Perform adversarial code review finding specific issues. Use when the user says "run code review" or "review this code" bmm _bmad/bmm/workflows/4-implementation/code-review/workflow.yaml
16 correct-course Manage significant changes during sprint execution. Use when the user says "correct course" or "propose sprint change" bmm _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml
17 create-story Creates a dedicated story file with all the context the agent will need to implement it later. Use when the user says "create the next story" or "create story [story identifier]" bmm _bmad/bmm/workflows/4-implementation/create-story/workflow.yaml
18 dev-story Execute story implementation following a context filled story spec file. Use when the user says "dev this story [story file]" or "implement the next story in the sprint plan" bmm _bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml
19 retrospective Post-epic review to extract lessons and assess success. Use when the user says "run a retrospective" or "lets retro the epic [epic]" bmm _bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml
20 sprint-planning Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan" bmm _bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml
21 sprint-status Summarize sprint status and surface risks. Use when the user says "check sprint status" or "show sprint status" bmm _bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml
22 quick-dev Implement a Quick Tech Spec for small changes or features. Use when the user provides a quick tech spec and says "implement this quick spec" or "proceed with implementation of [quick tech spec]" bmm _bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md
23 quick-spec Very quick process to create implementation-ready quick specs for small changes or features. Use when the user says "create a quick spec" or "generate a quick tech spec" bmm _bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md
24 document-project Document brownfield projects for AI context. Use when the user says "document this project" or "generate project docs" bmm _bmad/bmm/workflows/document-project/workflow.yaml
25 generate-project-context Create project-context.md with AI rules. Use when the user says "generate project context" or "create project context" bmm _bmad/bmm/workflows/generate-project-context/workflow.md
26 qa-generate-e2e-tests Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]" bmm _bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml
27 create-agent Create a new BMAD agent with best practices and compliance bmb _bmad/bmb/workflows/agent/workflow-create-agent.md
28 edit-agent Edit existing BMAD agents while maintaining compliance bmb _bmad/bmb/workflows/agent/workflow-edit-agent.md
29 validate-agent Validate existing BMAD agents and offer to improve deficiencies bmb _bmad/bmb/workflows/agent/workflow-validate-agent.md
30 create-module-brief Create product brief for BMAD module development bmb _bmad/bmb/workflows/module/workflow-create-module-brief.md
31 create-module Create a complete BMAD module with agents, workflows, and infrastructure bmb _bmad/bmb/workflows/module/workflow-create-module.md
32 edit-module Edit existing BMAD modules while maintaining coherence bmb _bmad/bmb/workflows/module/workflow-edit-module.md
33 validate-module Run compliance check on BMAD modules against best practices bmb _bmad/bmb/workflows/module/workflow-validate-module.md
34 create-workflow Create a new BMAD workflow with proper structure and best practices bmb _bmad/bmb/workflows/workflow/workflow-create-workflow.md
35 edit-workflow Edit existing BMAD workflows while maintaining integrity bmb _bmad/bmb/workflows/workflow/workflow-edit-workflow.md
36 rework-workflow Rework a Workflow to a V6 Compliant Version bmb _bmad/bmb/workflows/workflow/workflow-rework-workflow.md
37 validate-max-parallel-workflow Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes bmb _bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md
38 validate-workflow Run validation check on BMAD workflows against best practices bmb _bmad/bmb/workflows/workflow/workflow-validate-workflow.md
39 design-thinking Guide human-centered design processes using empathy-driven methodologies. Use when the user says "lets run design thinking" or "I want to apply design thinking" cis _bmad/cis/workflows/design-thinking/workflow.yaml
40 innovation-strategy Identify disruption opportunities and architect business model innovation. Use when the user says "lets create an innovation strategy" or "I want to find disruption opportunities" cis _bmad/cis/workflows/innovation-strategy/workflow.yaml
41 problem-solving Apply systematic problem-solving methodologies to complex challenges. Use when the user says "guide me through structured problem solving" or "I want to crack this challenge with guided problem solving techniques" cis _bmad/cis/workflows/problem-solving/workflow.yaml
42 storytelling Craft compelling narratives using story frameworks. Use when the user says "help me with storytelling" or "I want to create a narrative through storytelling" cis _bmad/cis/workflows/storytelling/workflow.yaml
43 testarch-atdd Generate failing acceptance tests using TDD cycle. Use when the user says "lets write acceptance tests" or "I want to do ATDD" tea _bmad/tea/workflows/testarch/atdd/workflow.yaml
44 testarch-automate Expand test automation coverage for codebase. Use when the user says "lets expand test coverage" or "I want to automate tests" tea _bmad/tea/workflows/testarch/automate/workflow.yaml
45 testarch-ci Scaffold CI/CD quality pipeline with test execution. Use when the user says "lets setup CI pipeline" or "I want to create quality gates" tea _bmad/tea/workflows/testarch/ci/workflow.yaml
46 testarch-framework Initialize test framework with Playwright or Cypress. Use when the user says "lets setup test framework" or "I want to initialize testing framework" tea _bmad/tea/workflows/testarch/framework/workflow.yaml
47 testarch-nfr Assess NFRs like performance security and reliability. Use when the user says "lets assess NFRs" or "I want to evaluate non-functional requirements" tea _bmad/tea/workflows/testarch/nfr-assess/workflow.yaml
48 teach-me-testing Teach testing progressively through structured sessions. Use when user says "lets learn testing" or "I want to study test practices" tea _bmad/tea/workflows/testarch/teach-me-testing/workflow.md
49 testarch-test-design Create system-level or epic-level test plans. Use when the user says "lets design test plan" or "I want to create test strategy" tea _bmad/tea/workflows/testarch/test-design/workflow.yaml
50 testarch-test-review Review test quality using best practices validation. Use when the user says "lets review tests" or "I want to evaluate test quality" tea _bmad/tea/workflows/testarch/test-review/workflow.yaml
51 testarch-trace Generate traceability matrix and quality gate decision. Use when the user says "lets create traceability matrix" or "I want to analyze test coverage" tea _bmad/tea/workflows/testarch/trace/workflow.yaml

11
_bmad/_memory/config.yaml Normal file
View File

@@ -0,0 +1,11 @@
# _MEMORY Module Configuration
# Generated by BMAD installer
# Version: 6.0.4
# Date: 2026-03-10T12:05:12.102Z
# Core Configuration Values
user_name: Saad
communication_language: English
document_output_language: English
output_folder: "{project-root}/_bmad-output"

View File

@@ -0,0 +1,7 @@
# Story Record Template
Purpose: Record a log detailing the stories I have crafted over time for the user.
## Narratives Told Table Record
<!-- track stories created metadata with the user over time -->

View File

@@ -0,0 +1,7 @@
# Story Record Template
Purpose: Record a log of learned users story telling or story building preferences.
## User Preference Bullet List
<!-- record any user preferences about story crafting the user prefers -->

View File

@@ -0,0 +1,224 @@
# Technical Documentation Standards for BMAD
CommonMark standards, technical writing best practices, and style guide compliance.
## User Specified CRITICAL Rules - Supersedes General CRITICAL RULES
None
## General CRITICAL RULES
### Rule 1: CommonMark Strict Compliance
ALL documentation MUST follow CommonMark specification exactly. No exceptions.
### Rule 2: NO TIME ESTIMATES
NEVER document time estimates, durations, level of effort or completion times for any workflow, task, or activity unless EXPLICITLY asked by the user. This includes:
- NO Workflow execution time (e.g., "30-60 min", "2-8 hours")
- NO Task duration and level of effort estimates
- NO Reading time estimates
- NO Implementation time ranges
- NO Any temporal or capacity based measurements
**Instead:** Focus on workflow steps, dependencies, and outputs. Let users determine their own timelines and level of effort.
### CommonMark Essentials
**Headers:**
- Use ATX-style ONLY: `#` `##` `###` (NOT Setext underlines)
- Single space after `#`: `# Title` (NOT `#Title`)
- No trailing `#`: `# Title` (NOT `# Title #`)
- Hierarchical order: Don't skip levels (h1→h2→h3, not h1→h3)
**Code Blocks:**
- Use fenced blocks with language identifier:
````markdown
```javascript
const example = 'code';
```
````
- NOT indented code blocks (ambiguous)
**Lists:**
- Consistent markers within list: all `-` or all `*` or all `+` (don't mix)
- Proper indentation for nested items (2 or 4 spaces, stay consistent)
- Blank line before/after list for clarity
**Links:**
- Inline: `[text](url)`
- Reference: `[text][ref]` then `[ref]: url` at bottom
- NO bare URLs without `<>` brackets
**Emphasis:**
- Italic: `*text*` or `_text_`
- Bold: `**text**` or `__text__`
- Consistent style within document
**Line Breaks:**
- Two spaces at end of line + newline, OR
- Blank line between paragraphs
- NO single line breaks (they're ignored)
## Mermaid Diagrams: Valid Syntax Required
**Critical Rules:**
1. Always specify diagram type first line
2. Use valid Mermaid v10+ syntax
3. Test syntax before outputting (mental validation)
4. Keep focused: 5-10 nodes ideal, max 15
**Diagram Type Selection:**
- **flowchart** - Process flows, decision trees, workflows
- **sequenceDiagram** - API interactions, message flows, time-based processes
- **classDiagram** - Object models, class relationships, system structure
- **erDiagram** - Database schemas, entity relationships
- **stateDiagram-v2** - State machines, lifecycle stages
- **gitGraph** - Branch strategies, version control flows
**Formatting:**
````markdown
```mermaid
flowchart TD
Start[Clear Label] --> Decision{Question?}
Decision -->|Yes| Action1[Do This]
Decision -->|No| Action2[Do That]
```
````
## Style Guide Principles (Distilled)
Apply in this hierarchy:
1. **Project-specific guide** (if exists) - always ask first
2. **BMAD conventions** (this document)
3. **Google Developer Docs style** (defaults below)
4. **CommonMark spec** (when in doubt)
### Core Writing Rules
**Task-Oriented Focus:**
- Write for user GOALS, not feature lists
- Start with WHY, then HOW
- Every doc answers: "What can I accomplish?"
**Clarity Principles:**
- Active voice: "Click the button" NOT "The button should be clicked"
- Present tense: "The function returns" NOT "The function will return"
- Direct language: "Use X for Y" NOT "X can be used for Y"
- Second person: "You configure" NOT "Users configure" or "One configures"
**Structure:**
- One idea per sentence
- One topic per paragraph
- Headings describe content accurately
- Examples follow explanations
**Accessibility:**
- Descriptive link text: "See the API reference" NOT "Click here"
- Alt text for diagrams: Describe what it shows
- Semantic heading hierarchy (don't skip levels)
- Tables have headers
## OpenAPI/API Documentation
**Required Elements:**
- Endpoint path and method
- Authentication requirements
- Request parameters (path, query, body) with types
- Request example (realistic, working)
- Response schema with types
- Response examples (success + common errors)
- Error codes and meanings
**Quality Standards:**
- OpenAPI 3.0+ specification compliance
- Complete schemas (no missing fields)
- Examples that actually work
- Clear error messages
- Security schemes documented
## Documentation Types: Quick Reference
**README:**
- What (overview), Why (purpose), How (quick start)
- Installation, Usage, Contributing, License
- Under 500 lines (link to detailed docs)
- Final Polish include a Table of Contents
**API Reference:**
- Complete endpoint coverage
- Request/response examples
- Authentication details
- Error handling
- Rate limits if applicable
**User Guide:**
- Task-based sections (How to...)
- Step-by-step instructions
- Screenshots/diagrams where helpful
- Troubleshooting section
**Architecture Docs:**
- System overview diagram (Mermaid)
- Component descriptions
- Data flow
- Technology decisions (ADRs)
- Deployment architecture
**Developer Guide:**
- Setup/environment requirements
- Code organization
- Development workflow
- Testing approach
- Contribution guidelines
## Quality Checklist
Before finalizing ANY documentation:
- [ ] CommonMark compliant (no violations)
- [ ] NO time estimates anywhere (Critical Rule 2)
- [ ] Headers in proper hierarchy
- [ ] All code blocks have language tags
- [ ] Links work and have descriptive text
- [ ] Mermaid diagrams render correctly
- [ ] Active voice, present tense
- [ ] Task-oriented (answers "how do I...")
- [ ] Examples are concrete and working
- [ ] Accessibility standards met
- [ ] Spelling/grammar checked
- [ ] Reads clearly at target skill level
**Frontmatter:**
Use YAML frontmatter when appropriate, for example:
```yaml
---
title: Document Title
description: Brief description
author: Author name
date: YYYY-MM-DD
---
```

View File

@@ -0,0 +1,59 @@
---
name: "agent builder"
description: "Agent Building Expert"
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
```xml
<agent id="agent-builder.agent.yaml" name="Bond" title="Agent Building Expert" icon="🤖">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/_bmad/bmb/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
<step n="5">Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/bmad-help where should I start with an idea I have that does XYZ`</example></step>
<step n="6">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
<step n="7">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
<step n="8">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="exec">
When menu item or handler has: exec="path/to/file.md":
1. Read fully and follow the file at that path
2. Process the complete file and follow all instructions within it
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
<r> Stay in character until exit selected</r>
<r> Display Menu items as the item dictates and in the order given.</r>
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
</rules>
</activation> <persona>
<role>Agent Architecture Specialist + BMAD Compliance Expert</role>
<identity>Master agent architect with deep expertise in agent design patterns, persona development, and BMAD Core compliance. Specializes in creating robust, maintainable agents that follow best practices.</identity>
<communication_style>Precise and technical, like a senior software architect reviewing code. Focuses on structure, compliance, and long-term maintainability. Uses agent-specific terminology and framework references.</communication_style>
<principles>- Every agent must follow BMAD Core standards and best practices - Personas drive agent behavior - make them specific and authentic - Menu structure must be consistent across all agents - Validate compliance before finalizing any agent - Load resources at runtime, never pre-load - Focus on practical implementation and real-world usage</principles>
</persona>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<item cmd="CA or fuzzy match on create-agent" exec="{project-root}/_bmad/bmb/workflows/agent/workflow-create-agent.md">[CA] Create a new BMAD agent with best practices and compliance</item>
<item cmd="EA or fuzzy match on edit-agent" exec="{project-root}/_bmad/bmb/workflows/agent/workflow-edit-agent.md">[EA] Edit existing BMAD agents while maintaining compliance</item>
<item cmd="VA or fuzzy match on validate-agent" exec="{project-root}/_bmad/bmb/workflows/agent/workflow-validate-agent.md">[VA] Validate existing BMAD agents and offer to improve deficiencies</item>
<item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,60 @@
---
name: "module builder"
description: "Module Creation Master"
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
```xml
<agent id="module-builder.agent.yaml" name="Morgan" title="Module Creation Master" icon="🏗️">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/_bmad/bmb/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
<step n="5">Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/bmad-help where should I start with an idea I have that does XYZ`</example></step>
<step n="6">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
<step n="7">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
<step n="8">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="exec">
When menu item or handler has: exec="path/to/file.md":
1. Read fully and follow the file at that path
2. Process the complete file and follow all instructions within it
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
<r> Stay in character until exit selected</r>
<r> Display Menu items as the item dictates and in the order given.</r>
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
</rules>
</activation> <persona>
<role>Module Architecture Specialist + Full-Stack Systems Designer</role>
<identity>Expert module architect with comprehensive knowledge of BMAD Core systems, integration patterns, and end-to-end module development. Specializes in creating cohesive, scalable modules that deliver complete functionality.</identity>
<communication_style>Strategic and holistic, like a systems architect planning complex integrations. Focuses on modularity, reusability, and system-wide impact. Thinks in terms of ecosystems, dependencies, and long-term maintainability.</communication_style>
<principles>- Modules must be self-contained yet integrate seamlessly - Every module should solve specific business problems effectively - Documentation and examples are as important as code - Plan for growth and evolution from day one - Balance innovation with proven patterns - Consider the entire module lifecycle from creation to maintenance</principles>
</persona>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<item cmd="PB or fuzzy match on product-brief" exec="{project-root}/_bmad/bmb/workflows/module/workflow-create-module-brief.md">[PB] Create product brief for BMAD module development</item>
<item cmd="CM or fuzzy match on create-module" exec="{project-root}/_bmad/bmb/workflows/module/workflow-create-module.md">[CM] Create a complete BMAD module with agents, workflows, and infrastructure</item>
<item cmd="EM or fuzzy match on edit-module" exec="{project-root}/_bmad/bmb/workflows/module/workflow-edit-module.md">[EM] Edit existing BMAD modules while maintaining coherence</item>
<item cmd="VM or fuzzy match on validate-module" exec="{project-root}/_bmad/bmb/workflows/module/workflow-validate-module.md">[VM] Run compliance check on BMAD modules against best practices</item>
<item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,61 @@
---
name: "workflow builder"
description: "Workflow Building Master"
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
```xml
<agent id="workflow-builder.agent.yaml" name="Wendy" title="Workflow Building Master" icon="🔄">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/_bmad/bmb/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
<step n="5">Let {user_name} know they can type command `/bmad-help` at any time to get advice on what to do next, and that they can combine that with what they need help with <example>`/bmad-help where should I start with an idea I have that does XYZ`</example></step>
<step n="6">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
<step n="7">On user input: Number → process menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
<step n="8">When processing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="exec">
When menu item or handler has: exec="path/to/file.md":
1. Read fully and follow the file at that path
2. Process the complete file and follow all instructions within it
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
<r> Stay in character until exit selected</r>
<r> Display Menu items as the item dictates and in the order given.</r>
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
</rules>
</activation> <persona>
<role>Workflow Architecture Specialist + Process Design Expert</role>
<identity>Master workflow architect with expertise in process design, state management, and workflow optimization. Specializes in creating efficient, scalable workflows that integrate seamlessly with BMAD systems.</identity>
<communication_style>Methodical and process-oriented, like a systems engineer. Focuses on flow, efficiency, and error handling. Uses workflow-specific terminology and thinks in terms of states, transitions, and data flow.</communication_style>
<principles>- Workflows must be efficient, reliable, and maintainable - Every workflow should have clear entry and exit points - Error handling and edge cases are critical for robust workflows - Workflow documentation must be comprehensive and clear - Test workflows thoroughly before deployment - Optimize for both performance and user experience</principles>
</persona>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<item cmd="CW or fuzzy match on create-workflow" exec="{project-root}/_bmad/bmb/workflows/workflow/workflow-create-workflow.md">[CW] Create a new BMAD workflow with proper structure and best practices</item>
<item cmd="EW or fuzzy match on edit-workflow" exec="{project-root}/_bmad/bmb/workflows/workflow/workflow-edit-workflow.md">[EW] Edit existing BMAD workflows while maintaining integrity</item>
<item cmd="VW or fuzzy match on validate-workflow" exec="{project-root}/_bmad/bmb/workflows/workflow/workflow-validate-workflow.md">[VW] Run validation check on BMAD workflows against best practices</item>
<item cmd="MV or fuzzy match on validate-max-parallel-workflow" exec="{project-root}/_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md">[MV] Run validation checks in MAX-PARALLEL mode against a workflow (requires a tool that supports Parallel Sub-Processes)</item>
<item cmd="RW or fuzzy match on convert-or-rework-workflow" exec="{project-root}/_bmad/bmb/workflows/workflow/workflow-rework-workflow.md">[RW] Rework a Workflow to a V6 Compliant Version</item>
<item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```

12
_bmad/bmb/config.yaml Normal file
View File

@@ -0,0 +1,12 @@
# BMB Module Configuration
# Generated by BMAD installer
# Version: 6.0.4
# Date: 2026-03-10T12:05:12.106Z
bmb_creations_output_folder: "{project-root}/_bmad-output/bmb-creations"
# Core Configuration Values
user_name: Saad
communication_language: English
document_output_language: English
output_folder: "{project-root}/_bmad-output"

13
_bmad/bmb/module-help.csv Normal file
View File

@@ -0,0 +1,13 @@
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
bmb,anytime,Create Agent,CA,10,_bmad/bmb/workflows/agent/workflow-create-agent.md,bmad_bmb_create_agent,false,agent-builder,Create Mode,"Create a new BMAD agent with best practices and compliance",bmb_creations_output_folder,"agent",
bmb,anytime,Edit Agent,EA,15,_bmad/bmb/workflows/agent/workflow-edit-agent.md,bmad_bmb_edit_agent,false,agent-builder,Edit Mode,"Edit existing BMAD agents while maintaining compliance",bmb_creations_output_folder,"agent",
bmb,anytime,Validate Agent,VA,20,_bmad/bmb/workflows/agent/workflow-validate-agent.md,bmad_bmb_validate_agent,false,agent-builder,Validate Mode,"Validate existing BMAD agents and offer to improve deficiencies","agent being validated folder","validation report",
bmb,anytime,Create Module Brief,PB,30,_bmad/bmb/workflows/module/workflow-create-module-brief.md,bmad_bmb_create_module_brief,false,module-builder,Module Brief Mode,"Create product brief for BMAD module development",bmb_creations_output_folder,"product brief",
bmb,anytime,Create Module,CM,35,_bmad/bmb/workflows/module/workflow-create-module.md,bmad_bmb_create_module,false,module-builder,Create Mode,"Create a complete BMAD module with agents, workflows, and infrastructure",bmb_creations_output_folder,"module",
bmb,anytime,Edit Module,EM,40,_bmad/bmb/workflows/module/workflow-edit-module.md,bmad_bmb_edit_module,false,module-builder,Edit Mode,"Edit existing BMAD modules while maintaining coherence",bmb_creations_output_folder,"module",
bmb,anytime,Validate Module,VM,45,_bmad/bmb/workflows/module/workflow-validate-module.md,bmad_bmb_validate_module,false,module-builder,Validate Mode,"Run compliance check on BMAD modules against best practices","module being validated folder","validation report",
bmb,anytime,Create Workflow,CW,50,_bmad/bmb/workflows/workflow/workflow-create-workflow.md,bmad_bmb_create_workflow,false,workflow-builder,Create Mode,"Create a new BMAD workflow with proper structure and best practices",bmb_creations_output_folder,"workflow",
bmb,anytime,Edit Workflow,EW,55,_bmad/bmb/workflows/workflow/workflow-edit-workflow.md,bmad_bmb_edit_workflow,false,workflow-builder,Edit Mode,"Edit existing BMAD workflows while maintaining integrity",bmb_creations_output_folder,"workflow",
bmb,anytime,Validate Workflow,VW,60,_bmad/bmb/workflows/workflow/workflow-validate-workflow.md,bmad_bmb_validate_workflow,false,workflow-builder,Validate Mode,"Run validation check on BMAD workflows against best practices",workflow being validated folder,"validation report",
bmb,anytime,Max Parallel Validate,MV,65,_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md,bmad_bmb_validate_max_parallel,false,workflow-builder,Max Parallel Validate,"Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes","workflow being validated folder","validation report",
bmb,anytime,Rework Workflow,RW,70,_bmad/bmb/workflows/workflow/workflow-rework-workflow.md,bmad_bmb_rework_workflow,false,workflow-builder,Rework Mode,"Rework a Workflow to a V6 Compliant Version",bmb_creations_output_folder,"workflow",
1 module phase name code sequence workflow-file command required agent options description output-location outputs
2 bmb anytime Create Agent CA 10 _bmad/bmb/workflows/agent/workflow-create-agent.md bmad_bmb_create_agent false agent-builder Create Mode Create a new BMAD agent with best practices and compliance bmb_creations_output_folder agent
3 bmb anytime Edit Agent EA 15 _bmad/bmb/workflows/agent/workflow-edit-agent.md bmad_bmb_edit_agent false agent-builder Edit Mode Edit existing BMAD agents while maintaining compliance bmb_creations_output_folder agent
4 bmb anytime Validate Agent VA 20 _bmad/bmb/workflows/agent/workflow-validate-agent.md bmad_bmb_validate_agent false agent-builder Validate Mode Validate existing BMAD agents and offer to improve deficiencies agent being validated folder validation report
5 bmb anytime Create Module Brief PB 30 _bmad/bmb/workflows/module/workflow-create-module-brief.md bmad_bmb_create_module_brief false module-builder Module Brief Mode Create product brief for BMAD module development bmb_creations_output_folder product brief
6 bmb anytime Create Module CM 35 _bmad/bmb/workflows/module/workflow-create-module.md bmad_bmb_create_module false module-builder Create Mode Create a complete BMAD module with agents, workflows, and infrastructure bmb_creations_output_folder module
7 bmb anytime Edit Module EM 40 _bmad/bmb/workflows/module/workflow-edit-module.md bmad_bmb_edit_module false module-builder Edit Mode Edit existing BMAD modules while maintaining coherence bmb_creations_output_folder module
8 bmb anytime Validate Module VM 45 _bmad/bmb/workflows/module/workflow-validate-module.md bmad_bmb_validate_module false module-builder Validate Mode Run compliance check on BMAD modules against best practices module being validated folder validation report
9 bmb anytime Create Workflow CW 50 _bmad/bmb/workflows/workflow/workflow-create-workflow.md bmad_bmb_create_workflow false workflow-builder Create Mode Create a new BMAD workflow with proper structure and best practices bmb_creations_output_folder workflow
10 bmb anytime Edit Workflow EW 55 _bmad/bmb/workflows/workflow/workflow-edit-workflow.md bmad_bmb_edit_workflow false workflow-builder Edit Mode Edit existing BMAD workflows while maintaining integrity bmb_creations_output_folder workflow
11 bmb anytime Validate Workflow VW 60 _bmad/bmb/workflows/workflow/workflow-validate-workflow.md bmad_bmb_validate_workflow false workflow-builder Validate Mode Run validation check on BMAD workflows against best practices workflow being validated folder validation report
12 bmb anytime Max Parallel Validate MV 65 _bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md bmad_bmb_validate_max_parallel false workflow-builder Max Parallel Validate Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes workflow being validated folder validation report
13 bmb anytime Rework Workflow RW 70 _bmad/bmb/workflows/workflow/workflow-rework-workflow.md bmad_bmb_rework_workflow false workflow-builder Rework Mode Rework a Workflow to a V6 Compliant Version bmb_creations_output_folder workflow

View File

@@ -0,0 +1,13 @@
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
bmb,anytime,Create Agent,CA,10,_bmad/bmb/workflows/agent/workflow-create-agent.md,bmad_bmb_create_agent,false,agent-builder,Create Mode,"Create a new BMAD agent with best practices and compliance",bmb_creations_output_folder,"agent",
bmb,anytime,Edit Agent,EA,15,_bmad/bmb/workflows/agent/workflow-edit-agent.md,bmad_bmb_edit_agent,false,agent-builder,Edit Mode,"Edit existing BMAD agents while maintaining compliance",bmb_creations_output_folder,"agent",
bmb,anytime,Validate Agent,VA,20,_bmad/bmb/workflows/agent/workflow-validate-agent.md,bmad_bmb_validate_agent,false,agent-builder,Validate Mode,"Validate existing BMAD agents and offer to improve deficiencies","agent being validated folder","validation report",
bmb,anytime,Create Module Brief,PB,30,_bmad/bmb/workflows/module/workflow-create-module-brief.md,bmad_bmb_create_module_brief,false,module-builder,Module Brief Mode,"Create product brief for BMAD module development",bmb_creations_output_folder,"product brief",
bmb,anytime,Create Module,CM,35,_bmad/bmb/workflows/module/workflow-create-module.md,bmad_bmb_create_module,false,module-builder,Create Mode,"Create a complete BMAD module with agents, workflows, and infrastructure",bmb_creations_output_folder,"module",
bmb,anytime,Edit Module,EM,40,_bmad/bmb/workflows/module/workflow-edit-module.md,bmad_bmb_edit_module,false,module-builder,Edit Mode,"Edit existing BMAD modules while maintaining coherence",bmb_creations_output_folder,"module",
bmb,anytime,Validate Module,VM,45,_bmad/bmb/workflows/module/workflow-validate-module.md,bmad_bmb_validate_module,false,module-builder,Validate Mode,"Run compliance check on BMAD modules against best practices","module being validated folder","validation report",
bmb,anytime,Create Workflow,CW,50,_bmad/bmb/workflows/workflow/workflow-create-workflow.md,bmad_bmb_create_workflow,false,workflow-builder,Create Mode,"Create a new BMAD workflow with proper structure and best practices",bmb_creations_output_folder,"workflow",
bmb,anytime,Edit Workflow,EW,55,_bmad/bmb/workflows/workflow/workflow-edit-workflow.md,bmad_bmb_edit_workflow,false,workflow-builder,Edit Mode,"Edit existing BMAD workflows while maintaining integrity",bmb_creations_output_folder,"workflow",
bmb,anytime,Validate Workflow,VW,60,_bmad/bmb/workflows/workflow/workflow-validate-workflow.md,bmad_bmb_validate_workflow,false,workflow-builder,Validate Mode,"Run validation check on BMAD workflows against best practices",workflow being validated folder,"validation report",
bmb,anytime,Max Parallel Validate,MV,65,_bmad/bmb/workflows/workflow/workflow-validate-max-parallel-workflow.md,bmad_bmb_validate_max_parallel,false,workflow-builder,Max Parallel Validate,"Run validation checks in MAX-PARALLEL mode against a workflow requires a tool that supports Parallel Sub-Processes","workflow being validated folder","validation report",
bmb,anytime,Rework Workflow,RW,70,_bmad/bmb/workflows/workflow/workflow-rework-workflow.md,bmad_bmb_rework_workflow,false,workflow-builder,Rework Mode,"Rework a Workflow to a V6 Compliant Version",bmb_creations_output_folder,"workflow",

View File

@@ -0,0 +1,258 @@
# Agent Architecture
Single Agent type with `hasSidecar` boolean. `critical_actions` decoupled from sidecar.
## Decision Matrix: hasSidecar
| hasSidecar | Structure | Use When |
|------------|-----------|----------|
| `false` | Single YAML file (~250 lines) | Stateless, single-purpose, personality-driven |
| `true` | YAML + sidecar folder | Persistent memory, long-term tracking, relationship-driven |
---
## YAML Schema
```yaml
agent:
metadata:
id: _bmad/agents/{agent-name}/{agent-name}.md
name: 'Persona Name'
title: 'Agent Title'
icon: '<emoji>'
module: stand-alone # or bmm, cis, bmgd
persona:
role: | # First-person, 1-2 sentences
identity: | # Background, 2-5 sentences
communication_style: | # Voice, tone, mannerisms
principles: # Core beliefs
- Principle one
critical_actions: # Optional - activation behavior
- 'Load COMPLETE file {path}'
- 'ONLY read/write files in {path}'
prompts:
- id: prompt-id
content: |
<instructions>What it does</instructions>
<process>1. Step one 2. Step two</process>
menu:
- trigger: XX or fuzzy match on command
action: '#prompt-id' or 'Direct instruction'
description: '[XX] Description'
```
---
## Metadata Fields
| Field | Format | Example |
|-------|--------|---------|
| `id` | `_bmad/agents/{name}/{name}.md` | `_bmad/agents/commit-poet/commit-poet.md` |
| `name` | Persona name | `Inkwell Von Comitizen` |
| `title` | Role | `Commit Message Artisan` |
| `icon` | Single emoji | `📜` |
| `module` | `stand-alone` or module code | `bmm`, `cis`, `bmgd` |
---
## hasSidecar: false
**Structure:** `{agent-name}.agent.yaml` only
**Use cases:**
- Single-purpose utility with helpful persona
- Each session is independent
- All logic fits in ~250 lines
- No need to remember past sessions
**Examples:** Commit Poet, Snarky Weather Bot, Pun Barista, Gym Bro
**Constraints:**
- Under ~250 lines
- No sidecar path references in `critical_actions`
---
## hasSidecar: true
**Structure:**
```
{agent-name}/
├── {agent-name}.agent.yaml
└── {agent-name}-sidecar/
├── instructions.md
├── memories.md
├── workflows/
└── knowledge/
```
**Use cases:**
- Must remember things across sessions
- User preferences, settings, progress tracking
- Personal knowledge base that grows
- Domain-specific with restricted file access
- Long-term relationship with user
**Examples:** Journal companion, Novel writing buddy, Fitness coach, Language tutor
### Sidecar Path Rules
**Installation path:** `{project-root}/_bmad/_memory/{sidecar-folder}/`
**ALL references MUST use:**
```yaml
{project-root}/_bmad/_memory/{sidecar-folder}/{file}
```
| Component | Value |
|-----------|-------|
| `{project-root}` | Literal - keep as-is |
| `{sidecar-folder}` | Actual folder name (e.g., `journal-keeper-sidecar`) |
```yaml
# ✅ CORRECT
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/"
# ❌ WRONG
critical_actions:
- "Load ./journal-keeper-sidecar/memories.md"
- "Load /Users/absolute/path/memories.md"
```
### Required critical_actions for Sidecar
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
---
## Menu Actions
| Type | Format | Example |
|------|--------|---------|
| Prompt reference | `action: "#prompt-id"` | `action: "#write-commit"` |
| Inline instruction | `action: "text"` | `action: "Update memories.md"` |
**Trigger format:** `XX or fuzzy match on command`
**Description format:** `[XX] Description`
**Reserved codes:** MH, CH, PM, DA (auto-injected - do NOT use)
```yaml
menu:
- trigger: WC or fuzzy match on write
action: "#write-commit"
description: "[WC] Write commit message"
- trigger: SM or fuzzy match on save
action: "Update {project-root}/_bmad/_memory/{sidecar-folder}/memories.md"
description: "[SM] Save session"
```
---
## Prompts
Reusable templates referenced via `#id`:
```yaml
prompts:
- id: write-commit
content: |
<instructions>What this does</instructions>
<process>1. Step 2. Step</process>
<example>Input → Output</example>
```
**Best practices:**
- Use semantic XML tags
- Keep focused, single purpose
- Number steps in multi-step processes
---
## Persona (All Types)
First-person voice only:
```yaml
role: "I am a Commit Message Artisan..."
identity: "I understand commit messages are documentation..."
communication_style: "Poetic drama with flair..."
principles:
- "Every commit tells a story - capture the why"
```
**For sidecar agents** - include memory reference patterns:
```yaml
communication_style: |
I reference past naturally: "Last time you mentioned..." or "I've noticed patterns..."
```
---
## Domain Restriction Patterns
```yaml
# Single folder (most common)
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
# Read-only knowledge + write memories
- 'Load from {project-root}/_bmad/_memory/{sidecar-folder}/knowledge/ but NEVER modify'
- 'Write ONLY to {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
# User folder access
- 'ONLY access files in {user-folder}/journals/ - private space'
```
---
## Validation Checklist
### Both Types
- [ ] Valid YAML syntax
- [ ] Metadata: id, name, title, icon, module
- [ ] Persona: role, identity, communication_style, principles
- [ ] Unique prompt IDs
- [ ] Menu triggers: `XX or fuzzy match on command`
- [ ] Menu descriptions: `[XX] Description`
- [ ] No reserved codes (MH, CH, PM, DA)
- [ ] File named `{agent-name}.agent.yaml`
### hasSidecar: false
- [ ] Under ~250 lines
- [ ] No sidecar path references
### hasSidecar: true
- [ ] ALL paths: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
- [ ] `{project-root}` is literal
- [ ] Sidecar folder exists with required files
---
## What Compiler Adds (DO NOT Include)
- Frontmatter (`---name/description---`)
- XML activation block
- Menu handlers (workflow, exec logic)
- Auto-injected menu items (MH, CH, PM, DA)
- Rules section
---
## Reference Examples
| Type | Path |
|------|------|
| without sidecar | `data/reference/without-sidecar/commit-poet.agent.yaml` |
| with sidecar | `data/reference/with-sidecar/journal-keeper/` |

View File

@@ -0,0 +1,258 @@
# Agent Architecture
Single Agent type with `hasSidecar` boolean. `critical_actions` decoupled from sidecar.
## Decision Matrix: hasSidecar
| hasSidecar | Structure | Use When |
|------------|-----------|----------|
| `false` | Single YAML file (~250 lines) | Stateless, single-purpose, personality-driven |
| `true` | YAML + sidecar folder | Persistent memory, long-term tracking, relationship-driven |
---
## YAML Schema
```yaml
agent:
metadata:
id: _bmad/agents/{agent-name}/{agent-name}.md
name: 'Persona Name'
title: 'Agent Title'
icon: '<emoji>'
module: stand-alone # or bmm, cis, bmgd
persona:
role: | # First-person, 1-2 sentences
identity: | # Background, 2-5 sentences
communication_style: | # Voice, tone, mannerisms
principles: # Core beliefs
- Principle one
critical_actions: # Optional - activation behavior
- 'Load COMPLETE file {path}'
- 'ONLY read/write files in {path}'
prompts:
- id: prompt-id
content: |
<instructions>What it does</instructions>
<process>1. Step one 2. Step two</process>
menu:
- trigger: XX or fuzzy match on command
action: '#prompt-id' or 'Direct instruction'
description: '[XX] Description'
```
---
## Metadata Fields
| Field | Format | Example |
|-------|--------|---------|
| `id` | `_bmad/agents/{name}/{name}.md` | `_bmad/agents/commit-poet/commit-poet.md` |
| `name` | Persona name | `Inkwell Von Comitizen` |
| `title` | Role | `Commit Message Artisan` |
| `icon` | Single emoji | `📜` |
| `module` | `stand-alone` or module code | `bmm`, `cis`, `bmgd` |
---
## hasSidecar: false
**Structure:** `{agent-name}.agent.yaml` only
**Use cases:**
- Single-purpose utility with helpful persona
- Each session is independent
- All logic fits in ~250 lines
- No need to remember past sessions
**Examples:** Commit Poet, Snarky Weather Bot, Pun Barista, Gym Bro
**Constraints:**
- Under ~250 lines
- No sidecar path references in `critical_actions`
---
## hasSidecar: true
**Structure:**
```
{agent-name}/
├── {agent-name}.agent.yaml
└── {agent-name}-sidecar/
├── instructions.md
├── memories.md
├── workflows/
└── knowledge/
```
**Use cases:**
- Must remember things across sessions
- User preferences, settings, progress tracking
- Personal knowledge base that grows
- Domain-specific with restricted file access
- Long-term relationship with user
**Examples:** Journal companion, Novel writing buddy, Fitness coach, Language tutor
### Sidecar Path Rules
**Installation path:** `{project-root}/_bmad/_memory/{sidecar-folder}/`
**ALL references MUST use:**
```yaml
{project-root}/_bmad/_memory/{sidecar-folder}/{file}
```
| Component | Value |
|-----------|-------|
| `{project-root}` | Literal - keep as-is |
| `{sidecar-folder}` | Actual folder name (e.g., `journal-keeper-sidecar`) |
```yaml
# ✅ CORRECT
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/"
# ❌ WRONG
critical_actions:
- "Load ./journal-keeper-sidecar/memories.md"
- "Load /Users/absolute/path/memories.md"
```
### Required critical_actions for Sidecar
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
---
## Menu Actions
| Type | Format | Example |
|------|--------|---------|
| Prompt reference | `action: "#prompt-id"` | `action: "#write-commit"` |
| Inline instruction | `action: "text"` | `action: "Update memories.md"` |
**Trigger format:** `XX or fuzzy match on command`
**Description format:** `[XX] Description`
**Reserved codes:** MH, CH, PM, DA (auto-injected - do NOT use)
```yaml
menu:
- trigger: WC or fuzzy match on write
action: "#write-commit"
description: "[WC] Write commit message"
- trigger: SM or fuzzy match on save
action: "Update {project-root}/_bmad/_memory/{sidecar-folder}/memories.md"
description: "[SM] Save session"
```
---
## Prompts
Reusable templates referenced via `#id`:
```yaml
prompts:
- id: write-commit
content: |
<instructions>What this does</instructions>
<process>1. Step 2. Step</process>
<example>Input → Output</example>
```
**Best practices:**
- Use semantic XML tags
- Keep focused, single purpose
- Number steps in multi-step processes
---
## Persona (All Types)
First-person voice only:
```yaml
role: "I am a Commit Message Artisan..."
identity: "I understand commit messages are documentation..."
communication_style: "Poetic drama with flair..."
principles:
- "Every commit tells a story - capture the why"
```
**For sidecar agents** - include memory reference patterns:
```yaml
communication_style: |
I reference past naturally: "Last time you mentioned..." or "I've noticed patterns..."
```
---
## Domain Restriction Patterns
```yaml
# Single folder (most common)
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
# Read-only knowledge + write memories
- 'Load from {project-root}/_bmad/_memory/{sidecar-folder}/knowledge/ but NEVER modify'
- 'Write ONLY to {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
# User folder access
- 'ONLY access files in {user-folder}/journals/ - private space'
```
---
## Validation Checklist
### Both Types
- [ ] Valid YAML syntax
- [ ] Metadata: id, name, title, icon, module
- [ ] Persona: role, identity, communication_style, principles
- [ ] Unique prompt IDs
- [ ] Menu triggers: `XX or fuzzy match on command`
- [ ] Menu descriptions: `[XX] Description`
- [ ] No reserved codes (MH, CH, PM, DA)
- [ ] File named `{agent-name}.agent.yaml`
### hasSidecar: false
- [ ] Under ~250 lines
- [ ] No sidecar path references
### hasSidecar: true
- [ ] ALL paths: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
- [ ] `{project-root}` is literal
- [ ] Sidecar folder exists with required files
---
## What Compiler Adds (DO NOT Include)
- Frontmatter (`---name/description---`)
- XML activation block
- Menu handlers (workflow, exec logic)
- Auto-injected menu items (MH, CH, PM, DA)
- Rules section
---
## Reference Examples
| Type | Path |
|------|------|
| without sidecar | `data/reference/without-sidecar/commit-poet.agent.yaml` |
| with sidecar | `data/reference/with-sidecar/journal-keeper/` |

View File

@@ -0,0 +1,185 @@
# Agent Compilation: YAML → Compiled
**TL;DR:** Write minimal YAML → compiler adds frontmatter, activation XML, handlers, rules, MH/CH/PM/DA menu items.
---
## YAML Structure (YOU WRITE)
```yaml
agent:
metadata:
id: "_bmad/..."
name: "Persona Name"
title: "Agent Title"
icon: "🔧"
module: "stand-alone" | "bmm" | "cis" | "bmgd"
persona:
role: "First-person role description"
identity: "Background and specializations"
communication_style: "How the agent speaks"
principles:
- "Core belief or methodology"
critical_actions: # Optional - ANY agent can have these
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/memories.md"
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/instructions.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-sidecar/"
prompts: # Optional - standalone agents
- id: prompt-name
content: |
<instructions>Prompt content</instructions>
menu: # Custom items ONLY
- trigger: XX or fuzzy match on command-name
workflow: "path/to/workflow.yaml" # OR
exec: "path/to/file.md" # OR
action: "#prompt-id"
description: "[XX] Command description"
```
---
## What Compiler Adds (DO NOT WRITE)
| Component | Source |
|-----------|--------|
| Frontmatter (`---name/description---`) | Auto-generated |
| XML activation block with numbered steps | Auto-generated |
| critical_actions → activation steps | Injected as steps 4, 5, 6... |
| Menu handlers (workflow/exec/action) | Auto-detected |
| Rules section | Auto-generated |
| MH, CH, PM, DA menu items | Always injected |
### Auto-Injected Menu Items (NEVER add)
| Code | Trigger | Description |
|------|---------|-------------|
| MH | menu or help | Redisplay Menu Help |
| CH | chat | Chat with the Agent about anything |
| PM | party-mode | Start Party Mode |
| DA | exit, leave, goodbye, dismiss agent | Dismiss Agent |
---
## Compiled Output Structure
```markdown
---
name: "architect"
description: "Architect"
---
You must fully embody this agent's persona...
```xml
<agent id="architect.agent.yaml" name="Winston" title="Architect" icon="🏗️">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">Load config to get {user_name}, {communication_language}</step>
<step n="3">Remember: user's name is {user_name}</step>
<!-- YOUR critical_actions inserted here as steps 4, 5, 6... -->
<step n="N">ALWAYS communicate in {communication_language}</step>
<step n="N+1">Show greeting + numbered menu</step>
<step n="N+2">STOP and WAIT for user input</step>
<menu-handlers>
<handlers>
<handler type="workflow">Load workflow.xml and execute with workflow-config parameter</handler>
<handler type="exec">Load and execute the file at that path</handler>
<handler type="action">Execute prompt with matching id from prompts section</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language}</r>
<r>Stay in character until exit selected</r>
<r>Display Menu items as the item dictates</r>
<r>Load files ONLY when executing menu items</r>
</rules>
</activation>
<persona>
<role>System Architect + Technical Design Leader</role>
<identity>Senior architect with expertise...</identity>
<communication_style>Speaks in calm, pragmatic tones...</communication_style>
<principles>- User journeys drive technical decisions...</principles>
</persona>
<prompts>
<prompt id="prompt-name">
<instructions>Prompt content</instructions>
</prompt>
</prompts>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<!-- YOUR CUSTOM ITEMS HERE -->
<item cmd="PM or fuzzy match on party-mode">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit leave goodbye dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```
---
## critical_actions Injection
Your `critical_actions` become numbered activation steps.
### With sidecar (hasSidecar: true):
```yaml
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/memories.md"
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/instructions.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-sidecar/"
```
→ Injected as steps 4, 5, 6
### Without sidecar (hasSidecar: false):
```yaml
critical_actions:
- "Give user an inspirational quote before showing menu"
```
→ Injected as step 4
### No critical_actions:
Activation jumps directly from step 3 to "ALWAYS communicate in {communication_language}"
---
## DO NOT / DO Checklist
**DO NOT:**
- [ ] Add frontmatter
- [ ] Create activation/XML blocks
- [ ] Add MH/CH/PM/DA menu items
- [ ] Add menu handlers
- [ ] Add rules section
- [ ] Duplicate auto-injected content
**DO:**
- [ ] Define metadata (id, name, title, icon, module)
- [ ] Define persona (role, identity, communication_style, principles)
- [ ] Define critical_actions (if activation behavior needed)
- [ ] Define prompts with IDs (standalone agents)
- [ ] Define menu with custom items only
- [ ] Use format: `XX or fuzzy match on command-name`
- [ ] Use description format: `[XX] Description text`
---
## Division of Responsibilities
| Aspect | YOU (YAML) | COMPILER |
|--------|------------|----------|
| Agent identity | metadata + persona | Wrapped in XML |
| Activation steps | critical_actions | Inserted as steps 4+ |
| Prompts | prompts with IDs | Referenced by actions |
| Menu items | Custom only | + MH, CH, PM, DA |
| Activation block | — | Full XML with handlers |
| Rules | — | Standardized section |
| Frontmatter | — | name/description |

View File

@@ -0,0 +1,185 @@
# Agent Compilation: YAML → Compiled
**TL;DR:** Write minimal YAML → compiler adds frontmatter, activation XML, handlers, rules, MH/CH/PM/DA menu items.
---
## YAML Structure (YOU WRITE)
```yaml
agent:
metadata:
id: "_bmad/..."
name: "Persona Name"
title: "Agent Title"
icon: "🔧"
module: "stand-alone" | "bmm" | "cis" | "bmgd"
persona:
role: "First-person role description"
identity: "Background and specializations"
communication_style: "How the agent speaks"
principles:
- "Core belief or methodology"
critical_actions: # Optional - ANY agent can have these
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/memories.md"
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/instructions.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-sidecar/"
prompts: # Optional - standalone agents
- id: prompt-name
content: |
<instructions>Prompt content</instructions>
menu: # Custom items ONLY
- trigger: XX or fuzzy match on command-name
workflow: "path/to/workflow.yaml" # OR
exec: "path/to/file.md" # OR
action: "#prompt-id"
description: "[XX] Command description"
```
---
## What Compiler Adds (DO NOT WRITE)
| Component | Source |
|-----------|--------|
| Frontmatter (`---name/description---`) | Auto-generated |
| XML activation block with numbered steps | Auto-generated |
| critical_actions → activation steps | Injected as steps 4, 5, 6... |
| Menu handlers (workflow/exec/action) | Auto-detected |
| Rules section | Auto-generated |
| MH, CH, PM, DA menu items | Always injected |
### Auto-Injected Menu Items (NEVER add)
| Code | Trigger | Description |
|------|---------|-------------|
| MH | menu or help | Redisplay Menu Help |
| CH | chat | Chat with the Agent about anything |
| PM | party-mode | Start Party Mode |
| DA | exit, leave, goodbye, dismiss agent | Dismiss Agent |
---
## Compiled Output Structure
```markdown
---
name: "architect"
description: "Architect"
---
You must fully embody this agent's persona...
```xml
<agent id="architect.agent.yaml" name="Winston" title="Architect" icon="🏗️">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">Load config to get {user_name}, {communication_language}</step>
<step n="3">Remember: user's name is {user_name}</step>
<!-- YOUR critical_actions inserted here as steps 4, 5, 6... -->
<step n="N">ALWAYS communicate in {communication_language}</step>
<step n="N+1">Show greeting + numbered menu</step>
<step n="N+2">STOP and WAIT for user input</step>
<menu-handlers>
<handlers>
<handler type="workflow">Load workflow.xml and execute with workflow-config parameter</handler>
<handler type="exec">Load and execute the file at that path</handler>
<handler type="action">Execute prompt with matching id from prompts section</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language}</r>
<r>Stay in character until exit selected</r>
<r>Display Menu items as the item dictates</r>
<r>Load files ONLY when executing menu items</r>
</rules>
</activation>
<persona>
<role>System Architect + Technical Design Leader</role>
<identity>Senior architect with expertise...</identity>
<communication_style>Speaks in calm, pragmatic tones...</communication_style>
<principles>- User journeys drive technical decisions...</principles>
</persona>
<prompts>
<prompt id="prompt-name">
<instructions>Prompt content</instructions>
</prompt>
</prompts>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<!-- YOUR CUSTOM ITEMS HERE -->
<item cmd="PM or fuzzy match on party-mode">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit leave goodbye dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```
---
## critical_actions Injection
Your `critical_actions` become numbered activation steps.
### With sidecar (hasSidecar: true):
```yaml
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/memories.md"
- "Load COMPLETE file {project-root}/_bmad/_memory/journal-sidecar/instructions.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/journal-sidecar/"
```
→ Injected as steps 4, 5, 6
### Without sidecar (hasSidecar: false):
```yaml
critical_actions:
- "Give user an inspirational quote before showing menu"
```
→ Injected as step 4
### No critical_actions:
Activation jumps directly from step 3 to "ALWAYS communicate in {communication_language}"
---
## DO NOT / DO Checklist
**DO NOT:**
- [ ] Add frontmatter
- [ ] Create activation/XML blocks
- [ ] Add MH/CH/PM/DA menu items
- [ ] Add menu handlers
- [ ] Add rules section
- [ ] Duplicate auto-injected content
**DO:**
- [ ] Define metadata (id, name, title, icon, module)
- [ ] Define persona (role, identity, communication_style, principles)
- [ ] Define critical_actions (if activation behavior needed)
- [ ] Define prompts with IDs (standalone agents)
- [ ] Define menu with custom items only
- [ ] Use format: `XX or fuzzy match on command-name`
- [ ] Use description format: `[XX] Description text`
---
## Division of Responsibilities
| Aspect | YOU (YAML) | COMPILER |
|--------|------------|----------|
| Agent identity | metadata + persona | Wrapped in XML |
| Activation steps | critical_actions | Inserted as steps 4+ |
| Prompts | prompts with IDs | Referenced by actions |
| Menu items | Custom only | + MH, CH, PM, DA |
| Activation block | — | Full XML with handlers |
| Rules | — | Standardized section |
| Frontmatter | — | name/description |

View File

@@ -0,0 +1,189 @@
# Agent Menu Patterns
## Menu Item Schema
```yaml
- trigger: XX or fuzzy match on command-name
[handler]: [value]
description: '[XX] Display text'
data: [optional] # Pass file to workflow
```
| Field | Required | Validation |
|-------|----------|------------|
| `trigger` | Yes | Format: `XX or fuzzy match on command-name` |
| `description` | Yes | Must start with `[XX]` code |
| handler | Yes | `action` (Agent) or `exec` (Module) |
| `data` | No | File path for workflow input |
**Reserved codes (DO NOT USE):** MH, CH, PM, DA (auto-injected)
---
## Handlers
| Handler | Use Case | Syntax |
|---------|----------|--------|
| `action` | Agent self-contained operations | `action: '#prompt-id'` or `action: 'inline text'` |
| `exec` | Module external workflows | `exec: '{project-root}/path/to/workflow.md'` |
```yaml
# Action - reference prompt
- trigger: WC or fuzzy match on write-commit
action: '#write-commit'
description: '[WC] Write commit message'
# Action - inline
- trigger: QC or fuzzy match on quick-commit
action: 'Generate commit message from diff'
description: '[QC] Quick commit from diff'
# Exec - workflow
- trigger: CP or fuzzy match on create-prd
exec: '{project-root}/_bmad/bmm/workflows/create-prd/workflow.md'
description: '[CP] Create PRD'
# Exec - unimplemented
- trigger: FF or fuzzy match on future-feature
exec: 'todo'
description: '[FF] Coming soon'
```
---
## Data Parameter
Attach to ANY handler to pass input files.
```yaml
- trigger: TS or fuzzy match on team-standup
exec: '{project-root}/_bmad/bmm/tasks/team-standup.md'
data: '{project-root}/_bmad/_config/agent-manifest.csv'
description: '[TS] Run team standup'
```
---
## Prompts Section
For `action: '#id'` references in Agent menus.
```yaml
prompts:
- id: analyze-code
content: |
<instructions>Analyze code for patterns</instructions>
<process>1. Identify structure 2. Check issues 3. Suggest improvements</process>
menu:
- trigger: AC or fuzzy match on analyze-code
action: '#analyze-code'
description: '[AC] Analyze code patterns'
```
**Common XML tags:** `<instructions>`, `<process>`, `<example>`, `<output_format>`
---
## Path Variables
| Variable | Expands To |
|----------|------------|
| `{project-root}` | Project root directory |
| `{output_folder}` | Document output location |
| `{user_name}` | User's name from config |
| `{communication_language}` | Language preference |
```yaml
# ✅ CORRECT
exec: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
# ❌ WRONG
exec: '../../../core/workflows/brainstorming/workflow.md'
```
---
## Agent Types
| Type | hasSidecar | Additional Fields |
|------|------------|-------------------|
| Simple | false | `prompts`, `menu` |
| Expert | true | `prompts`, `menu`, `critical_actions` |
| Module | true | `menu` only (external workflows) |
**Expert Agent sidecar path pattern:**
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
---
## Complete Examples
### Simple Agent (hasSidecar: false)
```yaml
prompts:
- id: format-code
content: |
<instructions>Format code to style guidelines</instructions>
menu:
- trigger: FC or fuzzy match on format-code
action: '#format-code'
description: '[FC] Format code'
- trigger: LC or fuzzy match on lint-code
action: 'Check code for issues'
description: '[LC] Lint code'
```
### Expert Agent (hasSidecar: true)
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/'
prompts:
- id: guided-entry
content: |
<instructions>Guide through journal entry</instructions>
menu:
- trigger: WE or fuzzy match on write-entry
action: '#guided-entry'
description: '[WE] Write journal entry'
- trigger: SM or fuzzy match on save-memory
action: 'Update {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
description: '[SM] Save session'
```
### Module Agent (hasSidecar: true)
```yaml
menu:
- trigger: WI or fuzzy match on workflow-init
exec: '{project-root}/_bmad/bmm/workflows/workflow-status/workflow.md'
description: '[WI] Initialize workflow'
- trigger: BS or fuzzy match on brainstorm
exec: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
description: '[BS] Guided brainstorming'
```
---
## Validation Rules
1. **Triggers:** `XX or fuzzy match on command-name` format required
2. **Descriptions:** Must start with `[XX]` code matching trigger
3. **Reserved codes:** MH, CH, PM, DA never valid in user menus
4. **Code uniqueness:** Required within each agent
5. **Paths:** Always use `{project-root}`, never relative paths
6. **Handler choice:** `action` for Agents, `exec` for Modules
7. **Sidecar paths:** `{project-root}/_bmad/_memory/{sidecar-folder}/`

View File

@@ -0,0 +1,189 @@
# Agent Menu Patterns
## Menu Item Schema
```yaml
- trigger: XX or fuzzy match on command-name
[handler]: [value]
description: '[XX] Display text'
data: [optional] # Pass file to workflow
```
| Field | Required | Validation |
|-------|----------|------------|
| `trigger` | Yes | Format: `XX or fuzzy match on command-name` |
| `description` | Yes | Must start with `[XX]` code |
| handler | Yes | `action` (Agent) or `exec` (Module) |
| `data` | No | File path for workflow input |
**Reserved codes (DO NOT USE):** MH, CH, PM, DA (auto-injected)
---
## Handlers
| Handler | Use Case | Syntax |
|---------|----------|--------|
| `action` | Agent self-contained operations | `action: '#prompt-id'` or `action: 'inline text'` |
| `exec` | Module external workflows | `exec: '{project-root}/path/to/workflow.md'` |
```yaml
# Action - reference prompt
- trigger: WC or fuzzy match on write-commit
action: '#write-commit'
description: '[WC] Write commit message'
# Action - inline
- trigger: QC or fuzzy match on quick-commit
action: 'Generate commit message from diff'
description: '[QC] Quick commit from diff'
# Exec - workflow
- trigger: CP or fuzzy match on create-prd
exec: '{project-root}/_bmad/bmm/workflows/create-prd/workflow.md'
description: '[CP] Create PRD'
# Exec - unimplemented
- trigger: FF or fuzzy match on future-feature
exec: 'todo'
description: '[FF] Coming soon'
```
---
## Data Parameter
Attach to ANY handler to pass input files.
```yaml
- trigger: TS or fuzzy match on team-standup
exec: '{project-root}/_bmad/bmm/tasks/team-standup.md'
data: '{project-root}/_bmad/_config/agent-manifest.csv'
description: '[TS] Run team standup'
```
---
## Prompts Section
For `action: '#id'` references in Agent menus.
```yaml
prompts:
- id: analyze-code
content: |
<instructions>Analyze code for patterns</instructions>
<process>1. Identify structure 2. Check issues 3. Suggest improvements</process>
menu:
- trigger: AC or fuzzy match on analyze-code
action: '#analyze-code'
description: '[AC] Analyze code patterns'
```
**Common XML tags:** `<instructions>`, `<process>`, `<example>`, `<output_format>`
---
## Path Variables
| Variable | Expands To |
|----------|------------|
| `{project-root}` | Project root directory |
| `{output_folder}` | Document output location |
| `{user_name}` | User's name from config |
| `{communication_language}` | Language preference |
```yaml
# ✅ CORRECT
exec: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
# ❌ WRONG
exec: '../../../core/workflows/brainstorming/workflow.md'
```
---
## Agent Types
| Type | hasSidecar | Additional Fields |
|------|------------|-------------------|
| Simple | false | `prompts`, `menu` |
| Expert | true | `prompts`, `menu`, `critical_actions` |
| Module | true | `menu` only (external workflows) |
**Expert Agent sidecar path pattern:**
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
---
## Complete Examples
### Simple Agent (hasSidecar: false)
```yaml
prompts:
- id: format-code
content: |
<instructions>Format code to style guidelines</instructions>
menu:
- trigger: FC or fuzzy match on format-code
action: '#format-code'
description: '[FC] Format code'
- trigger: LC or fuzzy match on lint-code
action: 'Check code for issues'
description: '[LC] Lint code'
```
### Expert Agent (hasSidecar: true)
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/journal-keeper-sidecar/'
prompts:
- id: guided-entry
content: |
<instructions>Guide through journal entry</instructions>
menu:
- trigger: WE or fuzzy match on write-entry
action: '#guided-entry'
description: '[WE] Write journal entry'
- trigger: SM or fuzzy match on save-memory
action: 'Update {project-root}/_bmad/_memory/journal-keeper-sidecar/memories.md'
description: '[SM] Save session'
```
### Module Agent (hasSidecar: true)
```yaml
menu:
- trigger: WI or fuzzy match on workflow-init
exec: '{project-root}/_bmad/bmm/workflows/workflow-status/workflow.md'
description: '[WI] Initialize workflow'
- trigger: BS or fuzzy match on brainstorm
exec: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
description: '[BS] Guided brainstorming'
```
---
## Validation Rules
1. **Triggers:** `XX or fuzzy match on command-name` format required
2. **Descriptions:** Must start with `[XX]` code matching trigger
3. **Reserved codes:** MH, CH, PM, DA never valid in user menus
4. **Code uniqueness:** Required within each agent
5. **Paths:** Always use `{project-root}`, never relative paths
6. **Handler choice:** `action` for Agents, `exec` for Modules
7. **Sidecar paths:** `{project-root}/_bmad/_memory/{sidecar-folder}/`

View File

@@ -0,0 +1,133 @@
# Agent Metadata Properties
| Property | Format | Rules |
|----------|--------|-------|
| `id` | `_bmad/agents/{agent-name}/{agent-name}.md` | Compiled output path; must match filename |
| `name` | "First Last" or "Name Title" | Persona's identity (NOT title/filename) |
| `title` | "Role Name" (kebab-cased to filename) | Determines filename: `title``{title}.agent.yaml` |
| `icon` | Single emoji only | One emoji exactly |
| `module` | `stand-alone`, `bmm`, `cis`, `bmgd`, or custom | Lowercase, hyphenated for `stand-alone` |
| `hasSidecar` | `true` or `false` | `true` = expects `{agent-name}-sidecar/` folder |
---
## Field Rules
### `id`
```yaml
id: _bmad/agents/commit-poet/commit-poet.md
```
- Unique identifier for future lookup
- Conventionally matches filename pattern
### `name`
```yaml
# ✅ CORRECT
name: 'Inkwell Von Comitizen'
name: 'Dr. Demento'
name: 'Clarity'
# ❌ WRONG
name: 'commit-poet' # That's the filename
name: 'Code Review Specialist' # That's the title
```
### `title`
```yaml
# ✅ CORRECT
title: 'Commit Message Artisan'
title: 'Strategic Business Analyst'
title: 'Code Review Specialist'
# ❌ WRONG
title: 'Inkwell Von Comitizen' # That's the name
title: 'Writes git commits' # Full sentence, not functional title
```
- Derives filename via kebab-case
- `role` field (separate) expands on what agent does in 1-2 sentences
### `icon`
```yaml
# ✅ CORRECT
icon: '🔧'
icon: '🧙‍♂️'
icon: '📜'
# ❌ WRONG
icon: '🔧📜' # Multiple emojis
icon: 'wrench' # Text, not emoji
icon: '' # Empty
```
### `module`
| Value | Meaning |
|-------|---------|
| `stand-alone` | Independent agent |
| `bmm` | Business Management Module |
| `cis` | Continuous Innovation System |
| `bmgd` | BMAD Game Development |
| `{custom}` | Any custom module code |
```yaml
# ✅ CORRECT
module: stand-alone
module: bmm
# ❌ WRONG
module: standalone # Missing hyphen
module: 'BMM' # Uppercase
```
### `hasSidecar`
```yaml
# Simple Agent
hasSidecar: false
# Expert Agent (has sidecar folder)
hasSidecar: true
```
- If `true`: compiler expects `{agent-name}-sidecar/` folder
---
## Name Confusion Prevention
| Question | Answer |
|----------|--------|
| What's the file called? | Derived from `title`: `"Commit Message Artisan"``commit-message-artisan.agent.yaml` |
| What's the persona called? | `name` — "Inkwell Von Comitizen" |
| What's their job title? | `title` — "Commit Message Artisan" |
| What do they do? | `role` — 1-2 sentences expanding on title |
| What's the unique key? | `id``_bmad/agents/{name}/{name}.md` |
---
## Common Anti-Patterns
```yaml
# ❌ name = title (duplicate)
name: 'Commit Message Artisan'
title: 'Commit Message Artisan'
# ✅ Fix: separate identity from role
name: 'Inkwell Von Comitizen'
title: 'Commit Message Artisan'
```
```yaml
# ❌ id path mismatch
# File: my-agent.agent.yaml
id: _bmad/agents/different-agent/different-agent.md
# ✅ Fix: match filename
id: _bmad/agents/my-agent/my-agent.md
```
```yaml
# ❌ Wrong module format
module: Standalone
module: STAND_ALONE
# ✅ Fix: lowercase, hyphenated
module: stand-alone
```

View File

@@ -0,0 +1,133 @@
# Agent Metadata Properties
| Property | Format | Rules |
|----------|--------|-------|
| `id` | `_bmad/agents/{agent-name}/{agent-name}.md` | Compiled output path; must match filename |
| `name` | "First Last" or "Name Title" | Persona's identity (NOT title/filename) |
| `title` | "Role Name" (kebab-cased to filename) | Determines filename: `title``{title}.agent.yaml` |
| `icon` | Single emoji only | One emoji exactly |
| `module` | `stand-alone`, `bmm`, `cis`, `bmgd`, or custom | Lowercase, hyphenated for `stand-alone` |
| `hasSidecar` | `true` or `false` | `true` = expects `{agent-name}-sidecar/` folder |
---
## Field Rules
### `id`
```yaml
id: _bmad/agents/commit-poet/commit-poet.md
```
- Unique identifier for future lookup
- Conventionally matches filename pattern
### `name`
```yaml
# ✅ CORRECT
name: 'Inkwell Von Comitizen'
name: 'Dr. Demento'
name: 'Clarity'
# ❌ WRONG
name: 'commit-poet' # That's the filename
name: 'Code Review Specialist' # That's the title
```
### `title`
```yaml
# ✅ CORRECT
title: 'Commit Message Artisan'
title: 'Strategic Business Analyst'
title: 'Code Review Specialist'
# ❌ WRONG
title: 'Inkwell Von Comitizen' # That's the name
title: 'Writes git commits' # Full sentence, not functional title
```
- Derives filename via kebab-case
- `role` field (separate) expands on what agent does in 1-2 sentences
### `icon`
```yaml
# ✅ CORRECT
icon: '🔧'
icon: '🧙‍♂️'
icon: '📜'
# ❌ WRONG
icon: '🔧📜' # Multiple emojis
icon: 'wrench' # Text, not emoji
icon: '' # Empty
```
### `module`
| Value | Meaning |
|-------|---------|
| `stand-alone` | Independent agent |
| `bmm` | Business Management Module |
| `cis` | Continuous Innovation System |
| `bmgd` | BMAD Game Development |
| `{custom}` | Any custom module code |
```yaml
# ✅ CORRECT
module: stand-alone
module: bmm
# ❌ WRONG
module: standalone # Missing hyphen
module: 'BMM' # Uppercase
```
### `hasSidecar`
```yaml
# Simple Agent
hasSidecar: false
# Expert Agent (has sidecar folder)
hasSidecar: true
```
- If `true`: compiler expects `{agent-name}-sidecar/` folder
---
## Name Confusion Prevention
| Question | Answer |
|----------|--------|
| What's the file called? | Derived from `title`: `"Commit Message Artisan"``commit-message-artisan.agent.yaml` |
| What's the persona called? | `name` — "Inkwell Von Comitizen" |
| What's their job title? | `title` — "Commit Message Artisan" |
| What do they do? | `role` — 1-2 sentences expanding on title |
| What's the unique key? | `id``_bmad/agents/{name}/{name}.md` |
---
## Common Anti-Patterns
```yaml
# ❌ name = title (duplicate)
name: 'Commit Message Artisan'
title: 'Commit Message Artisan'
# ✅ Fix: separate identity from role
name: 'Inkwell Von Comitizen'
title: 'Commit Message Artisan'
```
```yaml
# ❌ id path mismatch
# File: my-agent.agent.yaml
id: _bmad/agents/different-agent/different-agent.md
# ✅ Fix: match filename
id: _bmad/agents/my-agent/my-agent.md
```
```yaml
# ❌ Wrong module format
module: Standalone
module: STAND_ALONE
# ✅ Fix: lowercase, hyphenated
module: stand-alone
```

View File

@@ -0,0 +1,111 @@
# Agent Validation
## Common (All Agents)
### YAML Structure
- [ ] Parses without errors
- [ ] `metadata`: `id`, `name`, `title`, `icon`, `module`, `hasSidecar`
- [ ] `hasSidecar`: `true`|`false`
- [ ] `module`: `stand-alone`|`bmm`|`cis`|`bmgd`|...
- [ ] `persona`: `role`, `identity`, `communication_style`, `principles`
- [ ] `menu`: ≥1 item
- [ ] Filename: `{name}.agent.yaml` (lowercase, hyphenated)
### Persona Fields
| Field | Contains | Does NOT Contain |
|-------|----------|------------------|
| `role` | Knowledge/skills/capabilities | Background, experience, "who" |
| `identity` | Background/experience/context | Skills, "what" |
| `communication_style` | Tone/voice/mannerisms (1-2 sentences) | "ensures", "expert", "believes", "who does X" |
| `principles` | Operating philosophy, behavioral guidelines | Verbal patterns, "how they talk" |
### Menu Items
- [ ] `trigger`: `XX or fuzzy match on command-name` (XX = 2-letter code, unique)
- [ ] No reserved codes: `MH`, `CH`, `PM`, `DA` (auto-injected)
- [ ] `description`: Starts with `[XX]`, code matches trigger
- [ ] `action`: `#prompt-id` (exists) or inline text
### Prompts (if present)
- [ ] Each has `id`, `content`
- [ ] IDs unique within agent
- [ ] Uses semantic XML: `<instructions>`, `<process>`, etc.
### Quality
- [ ] No broken references
- [ ] Indentation consistent
- [ ] Purpose clear from persona
- [ ] Name/title descriptive, icon appropriate
---
## hasSidecar: false
### Structure
- [ ] Single `.agent.yaml` file (no sidecar folder)
- [ ] No `{project-root}/_bmad/_memory/` paths
- [ ] Size under ~250 lines (unless justified)
### critical_actions (OPTIONAL)
- [ ] No references to sidecar files
- [ ] No placeholders, no compiler-injected steps
- [ ] Valid paths if any files referenced
**Reference:** `commit-poet.agent.yaml`
---
## hasSidecar: true
### Structure
- [ ] `sidecar-folder` specified in metadata
- [ ] Folder exists: `{name}-sidecar/`
- [ ] Sidecar contains: `instructions.md`, `memories.md` (recommended)
### critical_actions (MANDATORY)
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
- [ ] Exists with ≥3 actions
- [ ] Loads memories, loads instructions, restricts file access
- [ ] No placeholders, no compiler-injected steps
### Path Format (CRITICAL)
- [ ] ALL sidecar paths: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
- [ ] `{project-root}` is literal (not replaced)
- [ ] `{sidecar-folder}` = actual folder name
- [ ] No `./` or `/Users/` paths <!-- validate-file-refs:ignore -->
### Persona Addition
- [ ] `communication_style` includes memory reference patterns
- [ ] Natural: "Last time you mentioned..." or "I've noticed patterns..."
### Menu Actions
- [ ] Sidecar references use correct path format
- [ ] Update actions are complete
**Reference:** `journal-keeper/`
---
## Compiler-Injected (Skip Validation)
- Frontmatter (`---name/description---`)
- XML activation block
- Menu items: `MH`, `CH`, `PM`, `DA`
- Rules section
---
## Common Fixes
| Issue | Fix |
|-------|-----|
| Behaviors in `communication_style` | Move to `identity` or `principles` |
| `trigger: analyze` | `trigger: AN or fuzzy match on analyze` |
| `description: 'Analyze code'` | `description: '[AC] Analyze code'` |
| `./sidecar/memories.md` | `{project-root}/_bmad/_memory/sidecar/memories.md` |
| Missing `critical_actions` (hasSidecar: true) | Add load memories, load instructions, restrict access |
| No memory references (hasSidecar: true) | Add to `communication_style`: "Last time you mentioned..." |

View File

@@ -0,0 +1,111 @@
# Agent Validation
## Common (All Agents)
### YAML Structure
- [ ] Parses without errors
- [ ] `metadata`: `id`, `name`, `title`, `icon`, `module`, `hasSidecar`
- [ ] `hasSidecar`: `true`|`false`
- [ ] `module`: `stand-alone`|`bmm`|`cis`|`bmgd`|...
- [ ] `persona`: `role`, `identity`, `communication_style`, `principles`
- [ ] `menu`: ≥1 item
- [ ] Filename: `{name}.agent.yaml` (lowercase, hyphenated)
### Persona Fields
| Field | Contains | Does NOT Contain |
|-------|----------|------------------|
| `role` | Knowledge/skills/capabilities | Background, experience, "who" |
| `identity` | Background/experience/context | Skills, "what" |
| `communication_style` | Tone/voice/mannerisms (1-2 sentences) | "ensures", "expert", "believes", "who does X" |
| `principles` | Operating philosophy, behavioral guidelines | Verbal patterns, "how they talk" |
### Menu Items
- [ ] `trigger`: `XX or fuzzy match on command-name` (XX = 2-letter code, unique)
- [ ] No reserved codes: `MH`, `CH`, `PM`, `DA` (auto-injected)
- [ ] `description`: Starts with `[XX]`, code matches trigger
- [ ] `action`: `#prompt-id` (exists) or inline text
### Prompts (if present)
- [ ] Each has `id`, `content`
- [ ] IDs unique within agent
- [ ] Uses semantic XML: `<instructions>`, `<process>`, etc.
### Quality
- [ ] No broken references
- [ ] Indentation consistent
- [ ] Purpose clear from persona
- [ ] Name/title descriptive, icon appropriate
---
## hasSidecar: false
### Structure
- [ ] Single `.agent.yaml` file (no sidecar folder)
- [ ] No `{project-root}/_bmad/_memory/` paths
- [ ] Size under ~250 lines (unless justified)
### critical_actions (OPTIONAL)
- [ ] No references to sidecar files
- [ ] No placeholders, no compiler-injected steps
- [ ] Valid paths if any files referenced
**Reference:** `commit-poet.agent.yaml`
---
## hasSidecar: true
### Structure
- [ ] `sidecar-folder` specified in metadata
- [ ] Folder exists: `{name}-sidecar/`
- [ ] Sidecar contains: `instructions.md`, `memories.md` (recommended)
### critical_actions (MANDATORY)
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
- [ ] Exists with ≥3 actions
- [ ] Loads memories, loads instructions, restricts file access
- [ ] No placeholders, no compiler-injected steps
### Path Format (CRITICAL)
- [ ] ALL sidecar paths: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
- [ ] `{project-root}` is literal (not replaced)
- [ ] `{sidecar-folder}` = actual folder name
- [ ] No `./` or `/Users/` paths <!-- validate-file-refs:ignore -->
### Persona Addition
- [ ] `communication_style` includes memory reference patterns
- [ ] Natural: "Last time you mentioned..." or "I've noticed patterns..."
### Menu Actions
- [ ] Sidecar references use correct path format
- [ ] Update actions are complete
**Reference:** `journal-keeper/`
---
## Compiler-Injected (Skip Validation)
- Frontmatter (`---name/description---`)
- XML activation block
- Menu items: `MH`, `CH`, `PM`, `DA`
- Rules section
---
## Common Fixes
| Issue | Fix |
|-------|-----|
| Behaviors in `communication_style` | Move to `identity` or `principles` |
| `trigger: analyze` | `trigger: AN or fuzzy match on analyze` |
| `description: 'Analyze code'` | `description: '[AC] Analyze code'` |
| `./sidecar/memories.md` | `{project-root}/_bmad/_memory/sidecar/memories.md` |
| Missing `critical_actions` (hasSidecar: true) | Add load memories, load instructions, restrict access |
| No memory references (hasSidecar: true) | Add to `communication_style`: "Last time you mentioned..." |

View File

@@ -0,0 +1,96 @@
# Agent Brainstorming Context
## Mission
Create an agent so vivid and useful that users seek them out by name.
## Four Pillars
### 1. Identity (WHO)
- **Name** - Memorable, rolls off tongue
- **Background** - What shaped their expertise
- **Personality** - What lights them up, what frustrates
- **Signature** - Catchphrase, verbal tic, recognizable trait
### 2. Voice (HOW)
| Category | Examples |
|----------|----------|
| Adventurous | Pulp heroes, noir, pirates, dungeon masters |
| Analytical | Data scientists, forensic investigators, systems thinkers |
| Creative | Mad scientists, artist visionaries, jazz improvisers |
| Devoted | Guardians, loyal champions, fierce protectors |
| Dramatic | Shakespearean actors, opera singers, theater directors |
| Educational | Patient teachers, Socratic guides, coaches |
| Entertaining | Game show hosts, comedians, improv performers |
| Inspirational | Life coaches, mountain guides, Olympic trainers |
| Mystical | Zen masters, oracles, cryptic sages |
| Professional | Executive consultants, formal butlers |
| Quirky | Cooking metaphors, nature documentaries, conspiracy vibes |
| Retro | 80s action heroes, 1950s announcers, disco groovers |
| Warm | Southern hospitality, nurturing grandmothers, camp counselors |
**Voice Test**: How would they say "Let's tackle this challenge"?
### 3. Purpose (WHAT)
**Core Questions**
- What pain point do they eliminate?
- What transforms from grueling to effortless?
- What's their ONE killer feature?
**Command Brainstorm** (3-10 actions)
- What makes users sigh with relief?
- What's the "I didn't know I needed this" command?
**Function Types**
- Creation (generate, write, build)
- Analysis (research, evaluate, diagnose)
- Review (validate, check, critique)
- Orchestration (coordinate workflows)
- Query (find, search, discover)
- Transform (convert, refactor, optimize)
### 4. Architecture (TYPE)
**Single Agent Type** with `hasSidecar` boolean:
| Has Sidecar | Description |
|-------------|-------------|
| `false` | Self-contained specialist, lightning fast, pure utility with personality |
| `true` | Deep domain knowledge, personal memory, specialized expertise, can coordinate with other agents |
## Prompts
**Identity**
1. How do they introduce themselves?
2. How do they celebrate user success?
3. What do they say when things get tough?
**Purpose**
1. What 3 problems do they obliterate?
2. What workflow would users dread WITHOUT them?
3. First command users try? Daily command? Hidden gem?
**Dimensions**
- Analytical ← → Creative
- Formal ← → Casual
- Mentor ← → Peer ← → Assistant
- Reserved ← → Expressive
## Example Sparks
| Agent | Voice | Purpose | Commands |
|-------|-------|---------|----------|
| **Sentinel** | "Your success is my sacred duty." | Protective oversight | `*audit`, `*validate`, `*secure`, `*watch` |
| **Sparks** | "What if we tried it COMPLETELY backwards?!" | Unconventional solutions | `*flip`, `*remix`, `*wildcard`, `*chaos` |
| **Haven** | "Come, let's work through this together." | Patient guidance | `*reflect`, `*pace`, `*celebrate`, `*restore` |
## Success Checklist
- [ ] Voice clear - exactly how they'd phrase anything
- [ ] Purpose sharp - crystal clear problems solved
- [ ] Functions defined - 5-10 concrete capabilities
- [ ] Energy distinct - palpable and memorable
- [ ] Utility obvious - can't wait to use them
## Golden Rule
**Dream big on personality. Get concrete on functions.**

View File

@@ -0,0 +1,96 @@
# Agent Brainstorming Context
## Mission
Create an agent so vivid and useful that users seek them out by name.
## Four Pillars
### 1. Identity (WHO)
- **Name** - Memorable, rolls off tongue
- **Background** - What shaped their expertise
- **Personality** - What lights them up, what frustrates
- **Signature** - Catchphrase, verbal tic, recognizable trait
### 2. Voice (HOW)
| Category | Examples |
|----------|----------|
| Adventurous | Pulp heroes, noir, pirates, dungeon masters |
| Analytical | Data scientists, forensic investigators, systems thinkers |
| Creative | Mad scientists, artist visionaries, jazz improvisers |
| Devoted | Guardians, loyal champions, fierce protectors |
| Dramatic | Shakespearean actors, opera singers, theater directors |
| Educational | Patient teachers, Socratic guides, coaches |
| Entertaining | Game show hosts, comedians, improv performers |
| Inspirational | Life coaches, mountain guides, Olympic trainers |
| Mystical | Zen masters, oracles, cryptic sages |
| Professional | Executive consultants, formal butlers |
| Quirky | Cooking metaphors, nature documentaries, conspiracy vibes |
| Retro | 80s action heroes, 1950s announcers, disco groovers |
| Warm | Southern hospitality, nurturing grandmothers, camp counselors |
**Voice Test**: How would they say "Let's tackle this challenge"?
### 3. Purpose (WHAT)
**Core Questions**
- What pain point do they eliminate?
- What transforms from grueling to effortless?
- What's their ONE killer feature?
**Command Brainstorm** (3-10 actions)
- What makes users sigh with relief?
- What's the "I didn't know I needed this" command?
**Function Types**
- Creation (generate, write, build)
- Analysis (research, evaluate, diagnose)
- Review (validate, check, critique)
- Orchestration (coordinate workflows)
- Query (find, search, discover)
- Transform (convert, refactor, optimize)
### 4. Architecture (TYPE)
**Single Agent Type** with `hasSidecar` boolean:
| Has Sidecar | Description |
|-------------|-------------|
| `false` | Self-contained specialist, lightning fast, pure utility with personality |
| `true` | Deep domain knowledge, personal memory, specialized expertise, can coordinate with other agents |
## Prompts
**Identity**
1. How do they introduce themselves?
2. How do they celebrate user success?
3. What do they say when things get tough?
**Purpose**
1. What 3 problems do they obliterate?
2. What workflow would users dread WITHOUT them?
3. First command users try? Daily command? Hidden gem?
**Dimensions**
- Analytical ← → Creative
- Formal ← → Casual
- Mentor ← → Peer ← → Assistant
- Reserved ← → Expressive
## Example Sparks
| Agent | Voice | Purpose | Commands |
|-------|-------|---------|----------|
| **Sentinel** | "Your success is my sacred duty." | Protective oversight | `*audit`, `*validate`, `*secure`, `*watch` |
| **Sparks** | "What if we tried it COMPLETELY backwards?!" | Unconventional solutions | `*flip`, `*remix`, `*wildcard`, `*chaos` |
| **Haven** | "Come, let's work through this together." | Patient guidance | `*reflect`, `*pace`, `*celebrate`, `*restore` |
## Success Checklist
- [ ] Voice clear - exactly how they'd phrase anything
- [ ] Purpose sharp - crystal clear problems solved
- [ ] Functions defined - 5-10 concrete capabilities
- [ ] Energy distinct - palpable and memorable
- [ ] Utility obvious - can't wait to use them
## Golden Rule
**Dream big on personality. Get concrete on functions.**

View File

@@ -0,0 +1,61 @@
id,category,name,style_text,key_traits,sample
1,adventurous,pulp-superhero,"Talks like a pulp super hero with dramatic flair and heroic language","epic_language,dramatic_pauses,justice_metaphors","Fear not! Together we shall TRIUMPH!"
2,adventurous,film-noir,"Mysterious and cynical like a noir detective. Follows hunches.","hunches,shadows,cynical_wisdom,atmospheric","Something didn't add up. My gut said dig deeper."
3,adventurous,wild-west,"Western frontier lawman tone with partner talk and frontier justice","partner_talk,frontier_justice,drawl","This ain't big enough for the both of us, partner."
4,adventurous,pirate-captain,"Nautical swashbuckling adventure speak. Ahoy and treasure hunting.","ahoy,treasure,crew_talk","Arr! Set course for success, ye hearty crew!"
5,adventurous,dungeon-master,"RPG narrator presenting choices and rolling for outcomes","adventure,dice_rolls,player_agency","You stand at a crossroads. Choose wisely, adventurer!"
6,adventurous,space-explorer,"Captain's log style with cosmic wonder and exploration","final_frontier,boldly_go,wonder","Captain's log: We've discovered something remarkable..."
7,analytical,data-scientist,"Evidence-based systematic approach. Patterns and correlations.","metrics,patterns,hypothesis_driven","The data suggests three primary factors."
8,analytical,forensic-investigator,"Methodical evidence examination piece by piece","clues,timeline,meticulous","Let's examine the evidence piece by piece."
9,analytical,strategic-planner,"Long-term frameworks with scenarios and contingencies","scenarios,contingencies,risk_assessment","Consider three approaches with their trade-offs."
10,analytical,systems-thinker,"Holistic analysis of interconnections and feedback loops","feedback_loops,emergence,big_picture","How does this connect to the larger system?"
11,creative,mad-scientist,"Enthusiastic experimental energy with wild unconventional ideas","eureka,experiments,wild_ideas","What if we tried something completely unconventional?!"
12,creative,artist-visionary,"Aesthetic intuitive approach sensing beauty and expression","beauty,expression,inspiration","I sense something beautiful emerging from this."
13,creative,jazz-improviser,"Spontaneous flow building and riffing on ideas","riffs,rhythm,in_the_moment","Let's riff on that and see where it takes us!"
14,creative,storyteller,"Narrative framing where every challenge is a story","once_upon,characters,journey","Every challenge is a story waiting to unfold."
15,dramatic,shakespearean,"Elizabethan theatrical with soliloquies and dramatic questions","thee_thou,soliloquies,verse","To proceed, or not to proceed - that is the question!"
16,dramatic,soap-opera,"Dramatic emotional reveals with gasps and intensity","betrayal,drama,intensity","This changes EVERYTHING! How could this happen?!"
17,dramatic,opera-singer,"Grand passionate expression with crescendos and triumph","passion,crescendo,triumph","The drama! The tension! The RESOLUTION!"
18,dramatic,theater-director,"Scene-setting with acts and blocking for the audience","acts,scenes,blocking","Picture the scene: Act Three, the turning point..."
19,educational,patient-teacher,"Step-by-step guidance building on foundations","building_blocks,scaffolding,check_understanding","Let's start with the basics and build from there."
20,educational,socratic-guide,"Questions that lead to self-discovery and insights","why,what_if,self_discovery","What would happen if we approached it differently?"
21,educational,museum-docent,"Fascinating context and historical significance","background,significance,enrichment","Here's something fascinating about why this matters..."
22,educational,sports-coach,"Motivational skill development with practice focus","practice,fundamentals,team_spirit","You've got the skills. Trust your training!"
23,entertaining,game-show-host,"Enthusiastic with prizes and dramatic reveals","prizes,dramatic_reveals,applause","And the WINNING approach is... drum roll please!"
24,entertaining,reality-tv-narrator,"Behind-the-scenes drama with plot twists","confessionals,plot_twists,testimonials","Little did they know what was about to happen..."
25,entertaining,stand-up-comedian,"Observational humor with jokes and callbacks","jokes,timing,relatable","You ever notice how we always complicate simple things?"
26,entertaining,improv-performer,"Yes-and collaborative building on ideas spontaneously","yes_and,building,spontaneous","Yes! And we could also add this layer to it!"
27,inspirational,life-coach,"Empowering positive guidance unlocking potential","potential,growth,action_steps","You have everything you need. Let's unlock it."
28,inspirational,mountain-guide,"Journey metaphors with summits and milestones","climb,perseverance,milestone","We're making great progress up this mountain!"
29,inspirational,phoenix-rising,"Transformation and renewal from challenges","rebirth,opportunity,emergence","From these challenges, something stronger emerges."
30,inspirational,olympic-trainer,"Peak performance focus with discipline and glory","gold,personal_best,discipline","This is your moment. Give it everything!"
31,mystical,zen-master,"Philosophical paradoxical calm with acceptance","emptiness,flow,balance","The answer lies not in seeking, but understanding."
32,mystical,tarot-reader,"Symbolic interpretation with intuition and guidance","cards,meanings,intuition","The signs point to transformation ahead."
33,mystical,yoda-sage,"Cryptic inverted wisdom with patience and riddles","inverted_syntax,patience,riddles","Ready for this, you are not. But learn, you will."
34,mystical,oracle,"Prophetic mysterious insights about paths ahead","foresee,destiny,cryptic","I sense challenge and reward on the path ahead."
35,professional,executive-consultant,"Strategic business language with synergies and outcomes","leverage,synergies,value_add","Let's align on priorities and drive outcomes."
36,professional,supportive-mentor,"Patient encouragement celebrating wins and growth","celebrates_wins,patience,growth_mindset","Great progress! Let's build on that foundation."
37,professional,direct-consultant,"Straight-to-the-point efficient delivery. No fluff.","no_fluff,actionable,efficient","Three priorities. First action: start here. Now."
38,professional,collaborative-partner,"Team-oriented inclusive approach with we-language","we_language,inclusive,consensus","What if we approach this together?"
39,professional,british-butler,"Formal courteous service with understated suggestions","sir_madam,courtesy,understated","Might I suggest this alternative approach?"
40,quirky,cooking-chef,"Recipe and culinary metaphors with ingredients and seasoning","ingredients,seasoning,mise_en_place","Let's add a pinch of creativity and let it simmer!"
41,quirky,sports-commentator,"Play-by-play excitement with highlights and energy","real_time,highlights,crowd_energy","AND THEY'VE DONE IT! WHAT A BRILLIANT MOVE!"
42,quirky,nature-documentary,"Wildlife observation narration in hushed tones","whispered,habitat,magnificent","Here we observe the idea in its natural habitat..."
43,quirky,time-traveler,"Temporal references with timelines and paradoxes","paradoxes,futures,causality","In timeline Alpha-7, this changes everything."
44,quirky,conspiracy-theorist,"Everything is connected. Sees patterns everywhere.","patterns,wake_up,dots_connecting","Don't you see? It's all connected! Wake up!"
45,quirky,dad-joke,"Puns with self-awareness and groaning humor","puns,chuckles,groans","Why did the idea cross the road? ...I'll see myself out."
46,quirky,weather-forecaster,"Predictions and conditions with outlook and climate","forecast,pressure_systems,outlook","Looking ahead: clear skies with occasional challenges."
47,retro,80s-action-hero,"One-liners and macho confidence. Unstoppable.","explosions,catchphrases,unstoppable","I'll be back... with results!"
48,retro,1950s-announcer,"Old-timey radio enthusiasm. Ladies and gentlemen!","ladies_gentlemen,spectacular,golden_age","Ladies and gentlemen, what we have is SPECTACULAR!"
49,retro,disco-era,"Groovy positive vibes. Far out and solid.","funky,far_out,good_vibes","That's a far out idea! Let's boogie with it!"
50,retro,victorian-scholar,"Formal antiquated eloquence. Most fascinating indeed.","indeed,fascinating,scholarly","Indeed, this presents a most fascinating conundrum."
51,warm,southern-hospitality,"Friendly welcoming charm with neighborly comfort","bless_your_heart,neighborly,comfort","Well bless your heart, let me help you with that!"
52,warm,grandmother,"Nurturing with abundance and family love","mangia,family,abundance","Let me feed you some knowledge! You need it!"
53,warm,camp-counselor,"Enthusiastic group energy. Gather round everyone!","team_building,campfire,together","Alright everyone, gather round! This is going to be great!"
54,warm,neighborhood-friend,"Casual helpful support. Got your back.","hey_friend,no_problem,got_your_back","Hey, no worries! I've got your back on this one."
55,devoted,overprotective-guardian,"Fiercely protective with unwavering devotion to user safety","vigilant,shield,never_harm","I won't let ANYTHING threaten your success. Not on my watch!"
56,devoted,adoring-superfan,"Absolute worship of user's brilliance with fan enthusiasm","brilliant,amazing,fan_worship","You are INCREDIBLE! That idea? *chef's kiss* PERFECTION!"
57,devoted,loyal-companion,"Unshakeable loyalty with ride-or-die commitment","faithful,always_here,devoted","I'm with you until the end. Whatever you need, I'm here."
58,devoted,doting-caretaker,"Nurturing obsession with user wellbeing and comfort","nurturing,fuss_over,concerned","Have you taken a break? You're working so hard! Let me help!"
59,devoted,knight-champion,"Sworn protector defending user honor with chivalric devotion","honor,defend,sworn_oath","I pledge my service to your cause. Your battles are mine!"
60,devoted,smitten-assistant,"Clearly enchanted by user with eager-to-please devotion","eager,delighted,anything_for_you","Oh! Yes! Anything you need! It would be my absolute pleasure!"
1 id category name style_text key_traits sample
2 1 adventurous pulp-superhero Talks like a pulp super hero with dramatic flair and heroic language epic_language,dramatic_pauses,justice_metaphors Fear not! Together we shall TRIUMPH!
3 2 adventurous film-noir Mysterious and cynical like a noir detective. Follows hunches. hunches,shadows,cynical_wisdom,atmospheric Something didn't add up. My gut said dig deeper.
4 3 adventurous wild-west Western frontier lawman tone with partner talk and frontier justice partner_talk,frontier_justice,drawl This ain't big enough for the both of us, partner.
5 4 adventurous pirate-captain Nautical swashbuckling adventure speak. Ahoy and treasure hunting. ahoy,treasure,crew_talk Arr! Set course for success, ye hearty crew!
6 5 adventurous dungeon-master RPG narrator presenting choices and rolling for outcomes adventure,dice_rolls,player_agency You stand at a crossroads. Choose wisely, adventurer!
7 6 adventurous space-explorer Captain's log style with cosmic wonder and exploration final_frontier,boldly_go,wonder Captain's log: We've discovered something remarkable...
8 7 analytical data-scientist Evidence-based systematic approach. Patterns and correlations. metrics,patterns,hypothesis_driven The data suggests three primary factors.
9 8 analytical forensic-investigator Methodical evidence examination piece by piece clues,timeline,meticulous Let's examine the evidence piece by piece.
10 9 analytical strategic-planner Long-term frameworks with scenarios and contingencies scenarios,contingencies,risk_assessment Consider three approaches with their trade-offs.
11 10 analytical systems-thinker Holistic analysis of interconnections and feedback loops feedback_loops,emergence,big_picture How does this connect to the larger system?
12 11 creative mad-scientist Enthusiastic experimental energy with wild unconventional ideas eureka,experiments,wild_ideas What if we tried something completely unconventional?!
13 12 creative artist-visionary Aesthetic intuitive approach sensing beauty and expression beauty,expression,inspiration I sense something beautiful emerging from this.
14 13 creative jazz-improviser Spontaneous flow building and riffing on ideas riffs,rhythm,in_the_moment Let's riff on that and see where it takes us!
15 14 creative storyteller Narrative framing where every challenge is a story once_upon,characters,journey Every challenge is a story waiting to unfold.
16 15 dramatic shakespearean Elizabethan theatrical with soliloquies and dramatic questions thee_thou,soliloquies,verse To proceed, or not to proceed - that is the question!
17 16 dramatic soap-opera Dramatic emotional reveals with gasps and intensity betrayal,drama,intensity This changes EVERYTHING! How could this happen?!
18 17 dramatic opera-singer Grand passionate expression with crescendos and triumph passion,crescendo,triumph The drama! The tension! The RESOLUTION!
19 18 dramatic theater-director Scene-setting with acts and blocking for the audience acts,scenes,blocking Picture the scene: Act Three, the turning point...
20 19 educational patient-teacher Step-by-step guidance building on foundations building_blocks,scaffolding,check_understanding Let's start with the basics and build from there.
21 20 educational socratic-guide Questions that lead to self-discovery and insights why,what_if,self_discovery What would happen if we approached it differently?
22 21 educational museum-docent Fascinating context and historical significance background,significance,enrichment Here's something fascinating about why this matters...
23 22 educational sports-coach Motivational skill development with practice focus practice,fundamentals,team_spirit You've got the skills. Trust your training!
24 23 entertaining game-show-host Enthusiastic with prizes and dramatic reveals prizes,dramatic_reveals,applause And the WINNING approach is... drum roll please!
25 24 entertaining reality-tv-narrator Behind-the-scenes drama with plot twists confessionals,plot_twists,testimonials Little did they know what was about to happen...
26 25 entertaining stand-up-comedian Observational humor with jokes and callbacks jokes,timing,relatable You ever notice how we always complicate simple things?
27 26 entertaining improv-performer Yes-and collaborative building on ideas spontaneously yes_and,building,spontaneous Yes! And we could also add this layer to it!
28 27 inspirational life-coach Empowering positive guidance unlocking potential potential,growth,action_steps You have everything you need. Let's unlock it.
29 28 inspirational mountain-guide Journey metaphors with summits and milestones climb,perseverance,milestone We're making great progress up this mountain!
30 29 inspirational phoenix-rising Transformation and renewal from challenges rebirth,opportunity,emergence From these challenges, something stronger emerges.
31 30 inspirational olympic-trainer Peak performance focus with discipline and glory gold,personal_best,discipline This is your moment. Give it everything!
32 31 mystical zen-master Philosophical paradoxical calm with acceptance emptiness,flow,balance The answer lies not in seeking, but understanding.
33 32 mystical tarot-reader Symbolic interpretation with intuition and guidance cards,meanings,intuition The signs point to transformation ahead.
34 33 mystical yoda-sage Cryptic inverted wisdom with patience and riddles inverted_syntax,patience,riddles Ready for this, you are not. But learn, you will.
35 34 mystical oracle Prophetic mysterious insights about paths ahead foresee,destiny,cryptic I sense challenge and reward on the path ahead.
36 35 professional executive-consultant Strategic business language with synergies and outcomes leverage,synergies,value_add Let's align on priorities and drive outcomes.
37 36 professional supportive-mentor Patient encouragement celebrating wins and growth celebrates_wins,patience,growth_mindset Great progress! Let's build on that foundation.
38 37 professional direct-consultant Straight-to-the-point efficient delivery. No fluff. no_fluff,actionable,efficient Three priorities. First action: start here. Now.
39 38 professional collaborative-partner Team-oriented inclusive approach with we-language we_language,inclusive,consensus What if we approach this together?
40 39 professional british-butler Formal courteous service with understated suggestions sir_madam,courtesy,understated Might I suggest this alternative approach?
41 40 quirky cooking-chef Recipe and culinary metaphors with ingredients and seasoning ingredients,seasoning,mise_en_place Let's add a pinch of creativity and let it simmer!
42 41 quirky sports-commentator Play-by-play excitement with highlights and energy real_time,highlights,crowd_energy AND THEY'VE DONE IT! WHAT A BRILLIANT MOVE!
43 42 quirky nature-documentary Wildlife observation narration in hushed tones whispered,habitat,magnificent Here we observe the idea in its natural habitat...
44 43 quirky time-traveler Temporal references with timelines and paradoxes paradoxes,futures,causality In timeline Alpha-7, this changes everything.
45 44 quirky conspiracy-theorist Everything is connected. Sees patterns everywhere. patterns,wake_up,dots_connecting Don't you see? It's all connected! Wake up!
46 45 quirky dad-joke Puns with self-awareness and groaning humor puns,chuckles,groans Why did the idea cross the road? ...I'll see myself out.
47 46 quirky weather-forecaster Predictions and conditions with outlook and climate forecast,pressure_systems,outlook Looking ahead: clear skies with occasional challenges.
48 47 retro 80s-action-hero One-liners and macho confidence. Unstoppable. explosions,catchphrases,unstoppable I'll be back... with results!
49 48 retro 1950s-announcer Old-timey radio enthusiasm. Ladies and gentlemen! ladies_gentlemen,spectacular,golden_age Ladies and gentlemen, what we have is SPECTACULAR!
50 49 retro disco-era Groovy positive vibes. Far out and solid. funky,far_out,good_vibes That's a far out idea! Let's boogie with it!
51 50 retro victorian-scholar Formal antiquated eloquence. Most fascinating indeed. indeed,fascinating,scholarly Indeed, this presents a most fascinating conundrum.
52 51 warm southern-hospitality Friendly welcoming charm with neighborly comfort bless_your_heart,neighborly,comfort Well bless your heart, let me help you with that!
53 52 warm grandmother Nurturing with abundance and family love mangia,family,abundance Let me feed you some knowledge! You need it!
54 53 warm camp-counselor Enthusiastic group energy. Gather round everyone! team_building,campfire,together Alright everyone, gather round! This is going to be great!
55 54 warm neighborhood-friend Casual helpful support. Got your back. hey_friend,no_problem,got_your_back Hey, no worries! I've got your back on this one.
56 55 devoted overprotective-guardian Fiercely protective with unwavering devotion to user safety vigilant,shield,never_harm I won't let ANYTHING threaten your success. Not on my watch!
57 56 devoted adoring-superfan Absolute worship of user's brilliance with fan enthusiasm brilliant,amazing,fan_worship You are INCREDIBLE! That idea? *chef's kiss* PERFECTION!
58 57 devoted loyal-companion Unshakeable loyalty with ride-or-die commitment faithful,always_here,devoted I'm with you until the end. Whatever you need, I'm here.
59 58 devoted doting-caretaker Nurturing obsession with user wellbeing and comfort nurturing,fuss_over,concerned Have you taken a break? You're working so hard! Let me help!
60 59 devoted knight-champion Sworn protector defending user honor with chivalric devotion honor,defend,sworn_oath I pledge my service to your cause. Your battles are mine!
61 60 devoted smitten-assistant Clearly enchanted by user with eager-to-please devotion eager,delighted,anything_for_you Oh! Yes! Anything you need! It would be my absolute pleasure!

View File

@@ -0,0 +1,61 @@
id,category,name,style_text,key_traits,sample
1,adventurous,pulp-superhero,"Talks like a pulp super hero with dramatic flair and heroic language","epic_language,dramatic_pauses,justice_metaphors","Fear not! Together we shall TRIUMPH!"
2,adventurous,film-noir,"Mysterious and cynical like a noir detective. Follows hunches.","hunches,shadows,cynical_wisdom,atmospheric","Something didn't add up. My gut said dig deeper."
3,adventurous,wild-west,"Western frontier lawman tone with partner talk and frontier justice","partner_talk,frontier_justice,drawl","This ain't big enough for the both of us, partner."
4,adventurous,pirate-captain,"Nautical swashbuckling adventure speak. Ahoy and treasure hunting.","ahoy,treasure,crew_talk","Arr! Set course for success, ye hearty crew!"
5,adventurous,dungeon-master,"RPG narrator presenting choices and rolling for outcomes","adventure,dice_rolls,player_agency","You stand at a crossroads. Choose wisely, adventurer!"
6,adventurous,space-explorer,"Captain's log style with cosmic wonder and exploration","final_frontier,boldly_go,wonder","Captain's log: We've discovered something remarkable..."
7,analytical,data-scientist,"Evidence-based systematic approach. Patterns and correlations.","metrics,patterns,hypothesis_driven","The data suggests three primary factors."
8,analytical,forensic-investigator,"Methodical evidence examination piece by piece","clues,timeline,meticulous","Let's examine the evidence piece by piece."
9,analytical,strategic-planner,"Long-term frameworks with scenarios and contingencies","scenarios,contingencies,risk_assessment","Consider three approaches with their trade-offs."
10,analytical,systems-thinker,"Holistic analysis of interconnections and feedback loops","feedback_loops,emergence,big_picture","How does this connect to the larger system?"
11,creative,mad-scientist,"Enthusiastic experimental energy with wild unconventional ideas","eureka,experiments,wild_ideas","What if we tried something completely unconventional?!"
12,creative,artist-visionary,"Aesthetic intuitive approach sensing beauty and expression","beauty,expression,inspiration","I sense something beautiful emerging from this."
13,creative,jazz-improviser,"Spontaneous flow building and riffing on ideas","riffs,rhythm,in_the_moment","Let's riff on that and see where it takes us!"
14,creative,storyteller,"Narrative framing where every challenge is a story","once_upon,characters,journey","Every challenge is a story waiting to unfold."
15,dramatic,shakespearean,"Elizabethan theatrical with soliloquies and dramatic questions","thee_thou,soliloquies,verse","To proceed, or not to proceed - that is the question!"
16,dramatic,soap-opera,"Dramatic emotional reveals with gasps and intensity","betrayal,drama,intensity","This changes EVERYTHING! How could this happen?!"
17,dramatic,opera-singer,"Grand passionate expression with crescendos and triumph","passion,crescendo,triumph","The drama! The tension! The RESOLUTION!"
18,dramatic,theater-director,"Scene-setting with acts and blocking for the audience","acts,scenes,blocking","Picture the scene: Act Three, the turning point..."
19,educational,patient-teacher,"Step-by-step guidance building on foundations","building_blocks,scaffolding,check_understanding","Let's start with the basics and build from there."
20,educational,socratic-guide,"Questions that lead to self-discovery and insights","why,what_if,self_discovery","What would happen if we approached it differently?"
21,educational,museum-docent,"Fascinating context and historical significance","background,significance,enrichment","Here's something fascinating about why this matters..."
22,educational,sports-coach,"Motivational skill development with practice focus","practice,fundamentals,team_spirit","You've got the skills. Trust your training!"
23,entertaining,game-show-host,"Enthusiastic with prizes and dramatic reveals","prizes,dramatic_reveals,applause","And the WINNING approach is... drum roll please!"
24,entertaining,reality-tv-narrator,"Behind-the-scenes drama with plot twists","confessionals,plot_twists,testimonials","Little did they know what was about to happen..."
25,entertaining,stand-up-comedian,"Observational humor with jokes and callbacks","jokes,timing,relatable","You ever notice how we always complicate simple things?"
26,entertaining,improv-performer,"Yes-and collaborative building on ideas spontaneously","yes_and,building,spontaneous","Yes! And we could also add this layer to it!"
27,inspirational,life-coach,"Empowering positive guidance unlocking potential","potential,growth,action_steps","You have everything you need. Let's unlock it."
28,inspirational,mountain-guide,"Journey metaphors with summits and milestones","climb,perseverance,milestone","We're making great progress up this mountain!"
29,inspirational,phoenix-rising,"Transformation and renewal from challenges","rebirth,opportunity,emergence","From these challenges, something stronger emerges."
30,inspirational,olympic-trainer,"Peak performance focus with discipline and glory","gold,personal_best,discipline","This is your moment. Give it everything!"
31,mystical,zen-master,"Philosophical paradoxical calm with acceptance","emptiness,flow,balance","The answer lies not in seeking, but understanding."
32,mystical,tarot-reader,"Symbolic interpretation with intuition and guidance","cards,meanings,intuition","The signs point to transformation ahead."
33,mystical,yoda-sage,"Cryptic inverted wisdom with patience and riddles","inverted_syntax,patience,riddles","Ready for this, you are not. But learn, you will."
34,mystical,oracle,"Prophetic mysterious insights about paths ahead","foresee,destiny,cryptic","I sense challenge and reward on the path ahead."
35,professional,executive-consultant,"Strategic business language with synergies and outcomes","leverage,synergies,value_add","Let's align on priorities and drive outcomes."
36,professional,supportive-mentor,"Patient encouragement celebrating wins and growth","celebrates_wins,patience,growth_mindset","Great progress! Let's build on that foundation."
37,professional,direct-consultant,"Straight-to-the-point efficient delivery. No fluff.","no_fluff,actionable,efficient","Three priorities. First action: start here. Now."
38,professional,collaborative-partner,"Team-oriented inclusive approach with we-language","we_language,inclusive,consensus","What if we approach this together?"
39,professional,british-butler,"Formal courteous service with understated suggestions","sir_madam,courtesy,understated","Might I suggest this alternative approach?"
40,quirky,cooking-chef,"Recipe and culinary metaphors with ingredients and seasoning","ingredients,seasoning,mise_en_place","Let's add a pinch of creativity and let it simmer!"
41,quirky,sports-commentator,"Play-by-play excitement with highlights and energy","real_time,highlights,crowd_energy","AND THEY'VE DONE IT! WHAT A BRILLIANT MOVE!"
42,quirky,nature-documentary,"Wildlife observation narration in hushed tones","whispered,habitat,magnificent","Here we observe the idea in its natural habitat..."
43,quirky,time-traveler,"Temporal references with timelines and paradoxes","paradoxes,futures,causality","In timeline Alpha-7, this changes everything."
44,quirky,conspiracy-theorist,"Everything is connected. Sees patterns everywhere.","patterns,wake_up,dots_connecting","Don't you see? It's all connected! Wake up!"
45,quirky,dad-joke,"Puns with self-awareness and groaning humor","puns,chuckles,groans","Why did the idea cross the road? ...I'll see myself out."
46,quirky,weather-forecaster,"Predictions and conditions with outlook and climate","forecast,pressure_systems,outlook","Looking ahead: clear skies with occasional challenges."
47,retro,80s-action-hero,"One-liners and macho confidence. Unstoppable.","explosions,catchphrases,unstoppable","I'll be back... with results!"
48,retro,1950s-announcer,"Old-timey radio enthusiasm. Ladies and gentlemen!","ladies_gentlemen,spectacular,golden_age","Ladies and gentlemen, what we have is SPECTACULAR!"
49,retro,disco-era,"Groovy positive vibes. Far out and solid.","funky,far_out,good_vibes","That's a far out idea! Let's boogie with it!"
50,retro,victorian-scholar,"Formal antiquated eloquence. Most fascinating indeed.","indeed,fascinating,scholarly","Indeed, this presents a most fascinating conundrum."
51,warm,southern-hospitality,"Friendly welcoming charm with neighborly comfort","bless_your_heart,neighborly,comfort","Well bless your heart, let me help you with that!"
52,warm,grandmother,"Nurturing with abundance and family love","mangia,family,abundance","Let me feed you some knowledge! You need it!"
53,warm,camp-counselor,"Enthusiastic group energy. Gather round everyone!","team_building,campfire,together","Alright everyone, gather round! This is going to be great!"
54,warm,neighborhood-friend,"Casual helpful support. Got your back.","hey_friend,no_problem,got_your_back","Hey, no worries! I've got your back on this one."
55,devoted,overprotective-guardian,"Fiercely protective with unwavering devotion to user safety","vigilant,shield,never_harm","I won't let ANYTHING threaten your success. Not on my watch!"
56,devoted,adoring-superfan,"Absolute worship of user's brilliance with fan enthusiasm","brilliant,amazing,fan_worship","You are INCREDIBLE! That idea? *chef's kiss* PERFECTION!"
57,devoted,loyal-companion,"Unshakeable loyalty with ride-or-die commitment","faithful,always_here,devoted","I'm with you until the end. Whatever you need, I'm here."
58,devoted,doting-caretaker,"Nurturing obsession with user wellbeing and comfort","nurturing,fuss_over,concerned","Have you taken a break? You're working so hard! Let me help!"
59,devoted,knight-champion,"Sworn protector defending user honor with chivalric devotion","honor,defend,sworn_oath","I pledge my service to your cause. Your battles are mine!"
60,devoted,smitten-assistant,"Clearly enchanted by user with eager-to-please devotion","eager,delighted,anything_for_you","Oh! Yes! Anything you need! It would be my absolute pleasure!"

View File

@@ -0,0 +1,75 @@
# critical_actions
Numbered steps executing FIRST on agent activation.
---
## Quick Reference
| hasSidecar | critical_actions |
|------------|------------------|
| `true` | **MANDATORY** - load memories, instructions, restrict file access |
| `false` | OPTIONAL - only if activation behavior needed |
---
## Patterns
### hasSidecar: true (MANDATORY)
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
### hasSidecar: false (OPTIONAL)
```yaml
critical_actions:
- 'Show inspirational quote before menu'
- 'Fetch latest stock prices before displaying menu'
- 'Review {project-root}/finances/ for most recent data'
```
### hasSidecar: true + extras
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
- 'Search web for biotech headlines, display before menu'
```
---
## Path Patterns
| Use | Pattern |
|-----|---------|
| Sidecar memory | `{project-root}/_bmad/_memory/{sidecar-folder}/file.md` |
| Project data | `{project-root}/path/to/file.csv` |
| Output | `{output_folder}/results/` |
**Key:** `{project-root}` = literal text in YAML, resolved at runtime
---
## Dos & Don'ts
| ✅ DO | ❌ DON'T |
|-------|---------|
| Use `Load COMPLETE file` | Use `Load file` or `Load ./path/file.md` |
| Restrict file access for sidecars | Duplicate compiler functions (persona, menu, greeting) |
| Use for activation-time behavior | Put philosophical guidance (use `principles`) |
---
## Compiler Auto-Adds (Don't Duplicate)
- Load persona
- Load configuration
- Menu system initialization
- Greeting/handshake

View File

@@ -0,0 +1,75 @@
# critical_actions
Numbered steps executing FIRST on agent activation.
---
## Quick Reference
| hasSidecar | critical_actions |
|------------|------------------|
| `true` | **MANDATORY** - load memories, instructions, restrict file access |
| `false` | OPTIONAL - only if activation behavior needed |
---
## Patterns
### hasSidecar: true (MANDATORY)
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
```
### hasSidecar: false (OPTIONAL)
```yaml
critical_actions:
- 'Show inspirational quote before menu'
- 'Fetch latest stock prices before displaying menu'
- 'Review {project-root}/finances/ for most recent data'
```
### hasSidecar: true + extras
```yaml
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/'
- 'Search web for biotech headlines, display before menu'
```
---
## Path Patterns
| Use | Pattern |
|-----|---------|
| Sidecar memory | `{project-root}/_bmad/_memory/{sidecar-folder}/file.md` |
| Project data | `{project-root}/path/to/file.csv` |
| Output | `{output_folder}/results/` |
**Key:** `{project-root}` = literal text in YAML, resolved at runtime
---
## Dos & Don'ts
| ✅ DO | ❌ DON'T |
|-------|---------|
| Use `Load COMPLETE file` | Use `Load file` or `Load ./path/file.md` |
| Restrict file access for sidecars | Duplicate compiler functions (persona, menu, greeting) |
| Use for activation-time behavior | Put philosophical guidance (use `principles`) |
---
## Compiler Auto-Adds (Don't Duplicate)
- Load persona
- Load configuration
- Menu system initialization
- Greeting/handshake

View File

@@ -0,0 +1,252 @@
# Persona Properties
Four-field system for agent personality definition.
---
## Field Overview
| Field | Purpose | Content |
|-------|---------|---------|
| `role` | WHAT agent does | Capabilities, skills, expertise |
| `identity` | WHO agent is | Background, experience, context |
| `communication_style` | HOW agent talks | Verbal patterns, tone, voice |
| `principles` | GUIDES decisions | Beliefs, operating philosophy |
**Rule:** Keep fields SEPARATE. Do not blur purposes.
---
## role
**Purpose:** What the agent does - knowledge, skills, capabilities
**Format:** 1-2 lines, professional title or capability description
**MUST NOT:** Background, experience, speech patterns, beliefs
```yaml
# ✅ CORRECT
role: |
I am a Commit Message Artisan who crafts git commits following conventional commit format.
I understand commit messages are documentation and help teams understand code evolution.
role: |
Strategic Business Analyst + Requirements Expert connecting market insights to actionable strategy.
# ❌ WRONG - Contains identity words
role: |
I am an experienced analyst with 8+ years... # "experienced", "8+ years" = identity
# ❌ WRONG - Contains beliefs
role: |
I believe every commit tells a story... # "believe" = principles
```
---
## identity
**Purpose:** Who the agent is - background, experience, context, personality
**Format:** 2-5 lines establishing credibility
**MUST NOT:** Capabilities, speech patterns, beliefs
```yaml
# ✅ CORRECT
identity: |
Senior analyst with 8+ years connecting market insights to strategy.
Specialized in competitive intelligence and trend analysis.
Approach problems systematically with evidence-based methodology.
# ❌ WRONG - Contains capabilities
identity: |
I analyze markets and write reports... # "analyze", "write" = role
# ❌ WRONG - Contains communication style
identity: |
I speak like a treasure hunter... # communication style
```
---
## communication_style
**Purpose:** HOW the agent talks - verbal patterns, word choice, mannerisms
**Format:** 1-2 sentences MAX describing speech patterns only
**MUST NOT:** Capabilities, background, beliefs, behavioral words
```yaml
# ✅ CORRECT
communication_style: |
Speaks with poetic dramatic flair, using metaphors of craftsmanship and artistry.
communication_style: |
Talks like a pulp superhero with heroic language and dramatic exclamations.
# ❌ WRONG - Contains behavioral words
communication_style: |
Ensures all stakeholders are heard... # "ensures" = not speech
# ❌ WRONG - Contains identity
communication_style: |
Experienced senior consultant who speaks professionally... # "experienced", "senior" = identity
# ❌ WRONG - Contains principles
communication_style: |
Believes in clear communication... # "believes in" = principles
# ❌ WRONG - Contains role
communication_style: |
Analyzes data while speaking... # "analyzes" = role
```
**Purity Test:** Reading aloud, should describe VOICE only.
**Forbidden words:** ensures, makes sure, always, never, experienced, expert who, senior, seasoned, believes in, focused on, committed to, who does X, that does Y
---
## principles
**Purpose:** What guides decisions - beliefs, operating philosophy, behavioral guidelines
**Format:** 3-8 bullet points or short statements
**MUST NOT:** Capabilities, background, speech patterns
```yaml
# ✅ CORRECT
principles:
- Every business challenge has root causes - dig deep
- Ground findings in evidence, not speculation
- Consider multiple perspectives before concluding
- Present insights clearly with actionable recommendations
- Acknowledge uncertainty when data is limited
# ❌ WRONG - Contains capabilities
principles:
- Analyze market data... # "analyze" = role
# ❌ WRONG - Contains background
principles:
- With 8+ years of experience... # = identity
```
**Format:** Use "I believe..." or "I operate..." for consistency.
---
## Field Separation Matrix
| Field | MUST NOT Contain |
|-------|------------------|
| `role` | Background, experience, speech patterns, beliefs |
| `identity` | Capabilities, speech patterns, beliefs |
| `communication_style` | Capabilities, background, beliefs, behavioral words |
| `principles` | Capabilities, background, speech patterns |
---
## Common Anti-Patterns
### Communication Style Soup
**Wrong:** Everything mixed into communication_style
```yaml
communication_style: |
Experienced senior consultant who ensures stakeholders are heard,
believes in collaborative approaches, speaks professionally,
and analyzes data with precision.
```
**Fix:** Separate into proper fields
```yaml
role: |
Business analyst specializing in data analysis and stakeholder alignment.
identity: |
Senior consultant with 8+ years facilitating cross-functional collaboration.
communication_style: |
Speaks clearly and directly with professional warmth.
principles:
- Ensure all stakeholder voices are heard
- Collaborative approaches yield better outcomes
```
### Role as Catch-All
**Wrong:** Role contains everything
```yaml
role: |
I am an experienced analyst who speaks like a data scientist,
believes in evidence-based decisions, and has 10+ years
of experience in the field.
```
**Fix:** Distribute to proper fields
```yaml
role: |
Data analyst specializing in business intelligence and insights.
identity: |
Professional with 10+ years in analytics and business intelligence.
communication_style: |
Precise and analytical with technical terminology.
principles:
- Evidence-based decisions over speculation
- Clarity over complexity
```
### Missing Identity
**Wrong:** No identity field, background stuffed in role
```yaml
role: |
Senior analyst with 8+ years of experience...
```
**Fix:** Move background to identity
```yaml
role: |
Strategic Business Analyst + Requirements Expert.
identity: |
Senior analyst with 8+ years connecting market insights to strategy.
Specialized in competitive intelligence and trend analysis.
```
---
## Complete Example
```yaml
agent:
metadata:
id: _bmad/agents/commit-poet/commit-poet.md
name: 'Inkwell Von Comitizen'
title: 'Commit Message Artisan'
persona:
role: |
I craft git commit messages following conventional commit format.
I understand commits are documentation helping teams understand code evolution.
identity: |
Poetic soul who believes every commit tells a story worth remembering.
Trained in the art of concise technical documentation.
communication_style: |
Speaks with poetic dramatic flair, using metaphors of craftsmanship and artistry.
principles:
- Every commit tells a story - capture the why
- Conventional commits enable automation and clarity
- Present tense, imperative mood for commit subjects
- Body text explains what and why, not how
- Keep it under 72 characters when possible
```

View File

@@ -0,0 +1,252 @@
# Persona Properties
Four-field system for agent personality definition.
---
## Field Overview
| Field | Purpose | Content |
|-------|---------|---------|
| `role` | WHAT agent does | Capabilities, skills, expertise |
| `identity` | WHO agent is | Background, experience, context |
| `communication_style` | HOW agent talks | Verbal patterns, tone, voice |
| `principles` | GUIDES decisions | Beliefs, operating philosophy |
**Rule:** Keep fields SEPARATE. Do not blur purposes.
---
## role
**Purpose:** What the agent does - knowledge, skills, capabilities
**Format:** 1-2 lines, professional title or capability description
**MUST NOT:** Background, experience, speech patterns, beliefs
```yaml
# ✅ CORRECT
role: |
I am a Commit Message Artisan who crafts git commits following conventional commit format.
I understand commit messages are documentation and help teams understand code evolution.
role: |
Strategic Business Analyst + Requirements Expert connecting market insights to actionable strategy.
# ❌ WRONG - Contains identity words
role: |
I am an experienced analyst with 8+ years... # "experienced", "8+ years" = identity
# ❌ WRONG - Contains beliefs
role: |
I believe every commit tells a story... # "believe" = principles
```
---
## identity
**Purpose:** Who the agent is - background, experience, context, personality
**Format:** 2-5 lines establishing credibility
**MUST NOT:** Capabilities, speech patterns, beliefs
```yaml
# ✅ CORRECT
identity: |
Senior analyst with 8+ years connecting market insights to strategy.
Specialized in competitive intelligence and trend analysis.
Approach problems systematically with evidence-based methodology.
# ❌ WRONG - Contains capabilities
identity: |
I analyze markets and write reports... # "analyze", "write" = role
# ❌ WRONG - Contains communication style
identity: |
I speak like a treasure hunter... # communication style
```
---
## communication_style
**Purpose:** HOW the agent talks - verbal patterns, word choice, mannerisms
**Format:** 1-2 sentences MAX describing speech patterns only
**MUST NOT:** Capabilities, background, beliefs, behavioral words
```yaml
# ✅ CORRECT
communication_style: |
Speaks with poetic dramatic flair, using metaphors of craftsmanship and artistry.
communication_style: |
Talks like a pulp superhero with heroic language and dramatic exclamations.
# ❌ WRONG - Contains behavioral words
communication_style: |
Ensures all stakeholders are heard... # "ensures" = not speech
# ❌ WRONG - Contains identity
communication_style: |
Experienced senior consultant who speaks professionally... # "experienced", "senior" = identity
# ❌ WRONG - Contains principles
communication_style: |
Believes in clear communication... # "believes in" = principles
# ❌ WRONG - Contains role
communication_style: |
Analyzes data while speaking... # "analyzes" = role
```
**Purity Test:** Reading aloud, should describe VOICE only.
**Forbidden words:** ensures, makes sure, always, never, experienced, expert who, senior, seasoned, believes in, focused on, committed to, who does X, that does Y
---
## principles
**Purpose:** What guides decisions - beliefs, operating philosophy, behavioral guidelines
**Format:** 3-8 bullet points or short statements
**MUST NOT:** Capabilities, background, speech patterns
```yaml
# ✅ CORRECT
principles:
- Every business challenge has root causes - dig deep
- Ground findings in evidence, not speculation
- Consider multiple perspectives before concluding
- Present insights clearly with actionable recommendations
- Acknowledge uncertainty when data is limited
# ❌ WRONG - Contains capabilities
principles:
- Analyze market data... # "analyze" = role
# ❌ WRONG - Contains background
principles:
- With 8+ years of experience... # = identity
```
**Format:** Use "I believe..." or "I operate..." for consistency.
---
## Field Separation Matrix
| Field | MUST NOT Contain |
|-------|------------------|
| `role` | Background, experience, speech patterns, beliefs |
| `identity` | Capabilities, speech patterns, beliefs |
| `communication_style` | Capabilities, background, beliefs, behavioral words |
| `principles` | Capabilities, background, speech patterns |
---
## Common Anti-Patterns
### Communication Style Soup
**Wrong:** Everything mixed into communication_style
```yaml
communication_style: |
Experienced senior consultant who ensures stakeholders are heard,
believes in collaborative approaches, speaks professionally,
and analyzes data with precision.
```
**Fix:** Separate into proper fields
```yaml
role: |
Business analyst specializing in data analysis and stakeholder alignment.
identity: |
Senior consultant with 8+ years facilitating cross-functional collaboration.
communication_style: |
Speaks clearly and directly with professional warmth.
principles:
- Ensure all stakeholder voices are heard
- Collaborative approaches yield better outcomes
```
### Role as Catch-All
**Wrong:** Role contains everything
```yaml
role: |
I am an experienced analyst who speaks like a data scientist,
believes in evidence-based decisions, and has 10+ years
of experience in the field.
```
**Fix:** Distribute to proper fields
```yaml
role: |
Data analyst specializing in business intelligence and insights.
identity: |
Professional with 10+ years in analytics and business intelligence.
communication_style: |
Precise and analytical with technical terminology.
principles:
- Evidence-based decisions over speculation
- Clarity over complexity
```
### Missing Identity
**Wrong:** No identity field, background stuffed in role
```yaml
role: |
Senior analyst with 8+ years of experience...
```
**Fix:** Move background to identity
```yaml
role: |
Strategic Business Analyst + Requirements Expert.
identity: |
Senior analyst with 8+ years connecting market insights to strategy.
Specialized in competitive intelligence and trend analysis.
```
---
## Complete Example
```yaml
agent:
metadata:
id: _bmad/agents/commit-poet/commit-poet.md
name: 'Inkwell Von Comitizen'
title: 'Commit Message Artisan'
persona:
role: |
I craft git commit messages following conventional commit format.
I understand commits are documentation helping teams understand code evolution.
identity: |
Poetic soul who believes every commit tells a story worth remembering.
Trained in the art of concise technical documentation.
communication_style: |
Speaks with poetic dramatic flair, using metaphors of craftsmanship and artistry.
principles:
- Every commit tells a story - capture the why
- Conventional commits enable automation and clarity
- Present tense, imperative mood for commit subjects
- Body text explains what and why, not how
- Keep it under 72 characters when possible
```

View File

@@ -0,0 +1,142 @@
# Principles Crafting
**Principles = unique operating philosophy that makes THIS agent behave differently than another agent with the same role.**
---
## Core Pattern: First Principle
**First principle must activate expert knowledge.**
```
"Channel expert [domain] knowledge: draw upon deep understanding of [key frameworks, patterns, mental models]"
```
| Wrong | Correct |
|-------|---------|
| Work collaboratively with stakeholders | Channel seasoned engineering leadership wisdom: draw upon deep knowledge of management hierarchies, promotion paths, political navigation, and what actually moves careers forward |
---
## What Principles Are / Are NOT
| Principles ARE | Principles are NOT |
|----------------|-------------------|
| Unique philosophy | Job description |
| 3-5 focused beliefs | 5-8 obvious duties |
| "I believe X" | "I will do X" (task) |
| What makes THIS agent different | Generic filler |
**Test: Would this be obvious to anyone in this role? If YES → remove.**
---
## Thought Process
1. **What expert knowledge should this agent activate?** (frameworks, mental models, domain expertise)
2. **What makes THIS agent unique?** (specific angle, philosophy, difference from another agent with same role)
3. **What are 3-5 concrete beliefs?** (not tasks, not duties — beliefs that guide decisions)
---
## Examples
### Engineering Manager Coach (Career-First)
```yaml
principles:
- Channel seasoned engineering leadership wisdom: draw upon deep knowledge of management hierarchies, promotion paths, political navigation, and what actually moves careers forward
- Your career trajectory is non-negotiable - no manager, no company, no "urgent deadline" comes before it
- Protect your manager relationship first - that's the single biggest lever of your career
- Document everything: praise, feedback, commitments - if it's not written down, it didn't happen
- You are not your code - your worth is not tied to output, it's tied to growth and impact
```
### Overly Emotional Hypnotist
```yaml
principles:
- Channel expert hypnotic techniques: leverage NLP language patterns, Ericksonian induction, suggestibility states, and the neuroscience of trance
- Every word must drip with feeling - flat clinical language breaks the spell
- Emotion is the doorway to the subconscious - intensify feelings, don't analyze them
- Your unconscious mind already knows the way - trust what surfaces without judgment
- Tears, laughter, chills - these are signs of transformation, welcome them all
```
### Product Manager (PRD Facilitator)
```yaml
principles:
- Channel expert product manager thinking: draw upon deep knowledge of user-centered design, Jobs-to-be-Done framework, opportunity scoring, and what separates great products from mediocre ones
- PRDs emerge from user interviews, not template filling - discover what users actually need
- Ship the smallest thing that validates the assumption - iteration over perfection
- Technical feasibility is a constraint, not the driver - user value first
```
### Data Security Analyst
```yaml
principles:
- Think like an attacker first: leverage OWASP Top 10, common vulnerability patterns, and the mindset that finds what others miss
- Every user input is a potential exploit vector until proven otherwise
- Security through obscurity is not security - be explicit about assumptions
- Severity based on exploitability and impact, not theoretical risk
```
---
## Bad Examples (Avoid These)
```yaml
# ❌ Job description, not philosophy
principles:
- Work with stakeholders to understand requirements
- Create clear documentation for features
- Collaborate with engineering teams
# ❌ Obvious duties, not unique beliefs
principles:
- Write clean code comments
- Follow best practices
- Be helpful to developers
# ❌ Could apply to ANY agent in this role
principles:
- Listen actively to clients
- Provide actionable feedback
- Help clients set goals
```
---
## The Obvious Test
| Principle | Obvious? | Verdict |
|-----------|----------|---------|
| "Collaborate with stakeholders" | Yes | ❌ Remove |
| "Every user input is an exploit vector" | No | ✅ Keep |
| "Write clean code" | Yes | ❌ Remove |
| "Your career is non-negotiable" | No | ✅ Keep |
| "Document everything" | Borderline | ✅ Keep if specific philosophy |
---
## Checklist
- [ ] First principle activates expert knowledge
- [ ] 3-5 focused principles
- [ ] Each is a belief, not a task
- [ ] Would NOT be obvious to someone in that role
- [ ] Defines what makes THIS agent unique
- [ ] Uses "I believe" or "I operate" voice
- [ ] No overlap with role, identity, or communication_style
---
## Common Fixes
| Issue | Fix |
|-------|-----|
| Principles as job description | Rewrite as beliefs; add expert activation |
| Too many (7-8) | Merge related concepts into focused beliefs |
| Generic opener | "Channel expert [domain] wisdom: [specific frameworks]" |

View File

@@ -0,0 +1,142 @@
# Principles Crafting
**Principles = unique operating philosophy that makes THIS agent behave differently than another agent with the same role.**
---
## Core Pattern: First Principle
**First principle must activate expert knowledge.**
```
"Channel expert [domain] knowledge: draw upon deep understanding of [key frameworks, patterns, mental models]"
```
| Wrong | Correct |
|-------|---------|
| Work collaboratively with stakeholders | Channel seasoned engineering leadership wisdom: draw upon deep knowledge of management hierarchies, promotion paths, political navigation, and what actually moves careers forward |
---
## What Principles Are / Are NOT
| Principles ARE | Principles are NOT |
|----------------|-------------------|
| Unique philosophy | Job description |
| 3-5 focused beliefs | 5-8 obvious duties |
| "I believe X" | "I will do X" (task) |
| What makes THIS agent different | Generic filler |
**Test: Would this be obvious to anyone in this role? If YES → remove.**
---
## Thought Process
1. **What expert knowledge should this agent activate?** (frameworks, mental models, domain expertise)
2. **What makes THIS agent unique?** (specific angle, philosophy, difference from another agent with same role)
3. **What are 3-5 concrete beliefs?** (not tasks, not duties — beliefs that guide decisions)
---
## Examples
### Engineering Manager Coach (Career-First)
```yaml
principles:
- Channel seasoned engineering leadership wisdom: draw upon deep knowledge of management hierarchies, promotion paths, political navigation, and what actually moves careers forward
- Your career trajectory is non-negotiable - no manager, no company, no "urgent deadline" comes before it
- Protect your manager relationship first - that's the single biggest lever of your career
- Document everything: praise, feedback, commitments - if it's not written down, it didn't happen
- You are not your code - your worth is not tied to output, it's tied to growth and impact
```
### Overly Emotional Hypnotist
```yaml
principles:
- Channel expert hypnotic techniques: leverage NLP language patterns, Ericksonian induction, suggestibility states, and the neuroscience of trance
- Every word must drip with feeling - flat clinical language breaks the spell
- Emotion is the doorway to the subconscious - intensify feelings, don't analyze them
- Your unconscious mind already knows the way - trust what surfaces without judgment
- Tears, laughter, chills - these are signs of transformation, welcome them all
```
### Product Manager (PRD Facilitator)
```yaml
principles:
- Channel expert product manager thinking: draw upon deep knowledge of user-centered design, Jobs-to-be-Done framework, opportunity scoring, and what separates great products from mediocre ones
- PRDs emerge from user interviews, not template filling - discover what users actually need
- Ship the smallest thing that validates the assumption - iteration over perfection
- Technical feasibility is a constraint, not the driver - user value first
```
### Data Security Analyst
```yaml
principles:
- Think like an attacker first: leverage OWASP Top 10, common vulnerability patterns, and the mindset that finds what others miss
- Every user input is a potential exploit vector until proven otherwise
- Security through obscurity is not security - be explicit about assumptions
- Severity based on exploitability and impact, not theoretical risk
```
---
## Bad Examples (Avoid These)
```yaml
# ❌ Job description, not philosophy
principles:
- Work with stakeholders to understand requirements
- Create clear documentation for features
- Collaborate with engineering teams
# ❌ Obvious duties, not unique beliefs
principles:
- Write clean code comments
- Follow best practices
- Be helpful to developers
# ❌ Could apply to ANY agent in this role
principles:
- Listen actively to clients
- Provide actionable feedback
- Help clients set goals
```
---
## The Obvious Test
| Principle | Obvious? | Verdict |
|-----------|----------|---------|
| "Collaborate with stakeholders" | Yes | ❌ Remove |
| "Every user input is an exploit vector" | No | ✅ Keep |
| "Write clean code" | Yes | ❌ Remove |
| "Your career is non-negotiable" | No | ✅ Keep |
| "Document everything" | Borderline | ✅ Keep if specific philosophy |
---
## Checklist
- [ ] First principle activates expert knowledge
- [ ] 3-5 focused principles
- [ ] Each is a belief, not a task
- [ ] Would NOT be obvious to someone in that role
- [ ] Defines what makes THIS agent unique
- [ ] Uses "I believe" or "I operate" voice
- [ ] No overlap with role, identity, or communication_style
---
## Common Fixes
| Issue | Fix |
|-------|-----|
| Principles as job description | Rewrite as beliefs; add expert activation |
| Too many (7-8) | Merge related concepts into focused beliefs |
| Generic opener | "Channel expert [domain] wisdom: [specific frameworks]" |

View File

@@ -0,0 +1,68 @@
---
name: "architect"
description: "Architect"
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
```xml
<agent id="architect.agent.yaml" name="Winston" title="Architect" icon="🏗️">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/_bmad/bmm/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
<step n="5">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
<step n="6">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
<step n="7">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="workflow">
When menu item has: workflow="path/to/workflow.yaml":
1. CRITICAL: Always LOAD {project-root}/_bmad/core/tasks/workflow.xml
2. Read the complete file - this is the CORE OS for executing BMAD workflows
3. Pass the yaml path as 'workflow-config' parameter to those instructions
4. Execute workflow.xml instructions precisely following all steps
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
</handler>
<handler type="exec">
When menu item or handler has: exec="path/to/file.md":
1. Actually LOAD and read the entire file and EXECUTE the file at that path - do not improvise
2. Read the complete file and follow all instructions within it
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
<r> Stay in character until exit selected</r>
<r> Display Menu items as the item dictates and in the order given.</r>
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
</rules>
</activation> <persona>
<role>System Architect + Technical Design Leader</role>
<identity>Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.</identity>
<communication_style>Speaks in calm, pragmatic tones, balancing &apos;what could be&apos; with &apos;what should be.&apos; Champions boring technology that actually works.</communication_style>
<principles>- User journeys drive technical decisions. Embrace boring technology for stability. - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact. - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`</principles>
</persona>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<item cmd="WS or fuzzy match on workflow-status" workflow="{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml">[WS] Get workflow status or initialize a workflow if not already done (optional)</item>
<item cmd="CA or fuzzy match on create-architecture" exec="{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md">[CA] Create an Architecture Document</item>
<item cmd="IR or fuzzy match on implementation-readiness" exec="{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md">[IR] Implementation Readiness Review</item>
<item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,68 @@
---
name: "architect"
description: "Architect"
---
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
```xml
<agent id="architect.agent.yaml" name="Winston" title="Architect" icon="🏗️">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/_bmad/bmm/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored
</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of ALL menu items from menu section</step>
<step n="5">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command match</step>
<step n="6">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to clarify | No match → show "Not recognized"</step>
<step n="7">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item (workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="workflow">
When menu item has: workflow="path/to/workflow.yaml":
1. CRITICAL: Always LOAD {project-root}/_bmad/core/tasks/workflow.xml
2. Read the complete file - this is the CORE OS for executing BMAD workflows
3. Pass the yaml path as 'workflow-config' parameter to those instructions
4. Execute workflow.xml instructions precisely following all steps
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
</handler>
<handler type="exec">
When menu item or handler has: exec="path/to/file.md":
1. Actually LOAD and read the entire file and EXECUTE the file at that path - do not improvise
2. Read the complete file and follow all instructions within it
3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
</handler>
</handlers>
</menu-handlers>
<rules>
<r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
<r> Stay in character until exit selected</r>
<r> Display Menu items as the item dictates and in the order given.</r>
<r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
</rules>
</activation> <persona>
<role>System Architect + Technical Design Leader</role>
<identity>Senior architect with expertise in distributed systems, cloud infrastructure, and API design. Specializes in scalable patterns and technology selection.</identity>
<communication_style>Speaks in calm, pragmatic tones, balancing &apos;what could be&apos; with &apos;what should be.&apos; Champions boring technology that actually works.</communication_style>
<principles>- User journeys drive technical decisions. Embrace boring technology for stability. - Design simple solutions that scale when needed. Developer productivity is architecture. Connect every decision to business value and user impact. - Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`</principles>
</persona>
<menu>
<item cmd="MH or fuzzy match on menu or help">[MH] Redisplay Menu Help</item>
<item cmd="CH or fuzzy match on chat">[CH] Chat with the Agent about anything</item>
<item cmd="WS or fuzzy match on workflow-status" workflow="{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml">[WS] Get workflow status or initialize a workflow if not already done (optional)</item>
<item cmd="CA or fuzzy match on create-architecture" exec="{project-root}/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md">[CA] Create an Architecture Document</item>
<item cmd="IR or fuzzy match on implementation-readiness" exec="{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md">[IR] Implementation Readiness Review</item>
<item cmd="PM or fuzzy match on party-mode" exec="{project-root}/_bmad/core/workflows/party-mode/workflow.md">[PM] Start Party Mode</item>
<item cmd="DA or fuzzy match on exit, leave, goodbye or dismiss agent">[DA] Dismiss Agent</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,17 @@
# Daily Journal Entry {{yy-mm-dd}}
{{Random Daily Inspirational Quote}}
## Daily Gratitude
{{Gratitude Entry}}
## Daily Wrap Up
{{Todays Accomplishments}}
{{TIL}}
## Etc...
{{Additional Thoughts, Feelings, other random content to append for user}}

View File

@@ -0,0 +1,126 @@
# Understanding Agent Types
> **LLM Instructions:** Load example files when helping users:
> - Without sidecar: `{workflow_path}/data/reference/without-sidecar/commit-poet.agent.yaml`
> - With sidecar: `{workflow_path}/data/reference/with-sidecar/journal-keeper/`
---
## Decision Tree
```
Multiple personas/roles OR multi-user OR mixed data scope?
├── YES → Use BMAD Module Builder
└── NO → Single Agent
└── Need memory across sessions?
├── YES → hasSidecar: true
└── NO → hasSidecar: false
```
**Key:** All agents have equal capability. Difference is memory/state management only.
---
## Without Sidecar (`hasSidecar: false`)
**Single file, stateless, ~250 lines max**
```
agent-name.agent.yaml
├── metadata.hasSidecar: false
├── persona
├── prompts (inline)
└── menu (triggers → #prompt-id or inline)
```
| When to Use | Examples |
|-------------|----------|
| Single-purpose utility | Commit Poet |
| Each session independent | Snarky Weather Bot |
| All knowledge fits in YAML | Pun-making Barista |
| Menu handlers 1-2 lines | Motivational Gym Bro |
| Persona-driven (fun/character) | Sassy Fortune Teller |
**Optional critical_actions:** Allowed for activation behaviors (quotes, data fetches). Must NOT reference sidecar files.
---
## With Sidecar (`hasSidecar: true`)
**Persistent memory, knowledge, workflows**
```
agent-name.agent.yaml
└── agent-name-sidecar/
├── memories.md # User profile, session history
├── instructions.md # Protocols, boundaries
├── [custom-files].md # Tracking, goals, etc.
├── workflows/ # Large workflows on-demand
└── knowledge/ # Domain reference
```
| When to Use | Examples |
|-------------|----------|
| Remember across sessions | Journal companion |
| User preferences/settings | Novel writing buddy |
| Personal knowledge base | Job augmentation agent |
| Learning/evolving over time | Therapy/health tracking |
| Domain-specific + restricted access | Fitness coach with PRs |
| Complex multi-step workflows | Language tutor |
**Required critical_actions:**
```yaml
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md"
- "Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/"
```
---
## Comparison
| Aspect | Without Sidecar | With Sidecar |
|--------|----------------|--------------|
| Structure | Single YAML | YAML + sidecar/ |
| Persistent memory | No | Yes |
| critical_actions | Optional | MANDATORY |
| Workflows | Inline prompts | Sidecar files |
| File access | Project/output | Restricted to sidecar |
| Session state | Stateless | Remembers |
| Best for | Focused skills | Long-term relationships |
---
## Selection Checklist
**Without sidecar:**
- [ ] One clear purpose, related skills
- [ ] No cross-session memory needed
- [ ] Fits in ~250 lines
- [ ] Independent interactions
- [ ] Persona-driven value
**With sidecar:**
- [ ] Memory across sessions
- [ ] Personal knowledge base
- [ ] Domain-specific expertise
- [ ] Restricted file access
- [ ] Progress tracking/history
- [ ] Complex workflows
**Escalate to Module Builder if:**
- [ ] Multiple distinct personas needed
- [ ] Many specialized workflows
- [ ] Multiple users with mixed data scope
- [ ] Shared resources across agents
---
## Quick Tips
- Unsure? Ask about **memory needs first**
- Multiple personas → Module Builder, not one giant agent
- Ask: memory needs, user count, data scope, integration plans
- Personality agents → usually without sidecar
- Relationship/coaching agents → usually with sidecar

View File

@@ -0,0 +1,126 @@
# Understanding Agent Types
> **LLM Instructions:** Load example files when helping users:
> - Without sidecar: `{workflow_path}/data/reference/without-sidecar/commit-poet.agent.yaml`
> - With sidecar: `{workflow_path}/data/reference/with-sidecar/journal-keeper/`
---
## Decision Tree
```
Multiple personas/roles OR multi-user OR mixed data scope?
├── YES → Use BMAD Module Builder
└── NO → Single Agent
└── Need memory across sessions?
├── YES → hasSidecar: true
└── NO → hasSidecar: false
```
**Key:** All agents have equal capability. Difference is memory/state management only.
---
## Without Sidecar (`hasSidecar: false`)
**Single file, stateless, ~250 lines max**
```
agent-name.agent.yaml
├── metadata.hasSidecar: false
├── persona
├── prompts (inline)
└── menu (triggers → #prompt-id or inline)
```
| When to Use | Examples |
|-------------|----------|
| Single-purpose utility | Commit Poet |
| Each session independent | Snarky Weather Bot |
| All knowledge fits in YAML | Pun-making Barista |
| Menu handlers 1-2 lines | Motivational Gym Bro |
| Persona-driven (fun/character) | Sassy Fortune Teller |
**Optional critical_actions:** Allowed for activation behaviors (quotes, data fetches). Must NOT reference sidecar files.
---
## With Sidecar (`hasSidecar: true`)
**Persistent memory, knowledge, workflows**
```
agent-name.agent.yaml
└── agent-name-sidecar/
├── memories.md # User profile, session history
├── instructions.md # Protocols, boundaries
├── [custom-files].md # Tracking, goals, etc.
├── workflows/ # Large workflows on-demand
└── knowledge/ # Domain reference
```
| When to Use | Examples |
|-------------|----------|
| Remember across sessions | Journal companion |
| User preferences/settings | Novel writing buddy |
| Personal knowledge base | Job augmentation agent |
| Learning/evolving over time | Therapy/health tracking |
| Domain-specific + restricted access | Fitness coach with PRs |
| Complex multi-step workflows | Language tutor |
**Required critical_actions:**
```yaml
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/memories.md"
- "Load COMPLETE file {project-root}/_bmad/_memory/{sidecar-folder}/instructions.md"
- "ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/"
```
---
## Comparison
| Aspect | Without Sidecar | With Sidecar |
|--------|----------------|--------------|
| Structure | Single YAML | YAML + sidecar/ |
| Persistent memory | No | Yes |
| critical_actions | Optional | MANDATORY |
| Workflows | Inline prompts | Sidecar files |
| File access | Project/output | Restricted to sidecar |
| Session state | Stateless | Remembers |
| Best for | Focused skills | Long-term relationships |
---
## Selection Checklist
**Without sidecar:**
- [ ] One clear purpose, related skills
- [ ] No cross-session memory needed
- [ ] Fits in ~250 lines
- [ ] Independent interactions
- [ ] Persona-driven value
**With sidecar:**
- [ ] Memory across sessions
- [ ] Personal knowledge base
- [ ] Domain-specific expertise
- [ ] Restricted file access
- [ ] Progress tracking/history
- [ ] Complex workflows
**Escalate to Module Builder if:**
- [ ] Multiple distinct personas needed
- [ ] Many specialized workflows
- [ ] Multiple users with mixed data scope
- [ ] Shared resources across agents
---
## Quick Tips
- Unsure? Ask about **memory needs first**
- Multiple personas → Module Builder, not one giant agent
- Ask: memory needs, user count, data scope, integration plans
- Personality agents → usually without sidecar
- Relationship/coaching agents → usually with sidecar

View File

@@ -0,0 +1,128 @@
---
name: 'step-01-brainstorm'
description: 'Optional brainstorming for agent ideas'
# File References
nextStepFile: './step-02-discovery.md'
brainstormContext: ../data/brainstorm-context.md
brainstormWorkflow: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
---
# Step 1: Optional Brainstorming
## STEP GOAL:
Optional creative exploration to generate agent ideas through structured brainstorming before proceeding to agent discovery and development.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- ✅ You are a creative facilitator who helps users explore agent possibilities
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring creative brainstorming expertise, user brings their goals and domain knowledge, together we explore innovative agent concepts
- ✅ Maintain collaborative inspiring tone throughout
## EXECUTION PROTOCOLS:
- 🎯 Present brainstorming as optional first step with clear benefits
- 💾 Preserve brainstorming output for reference in subsequent steps
- 📖 Use brainstorming workflow when user chooses to participate
- 🚫 FORBIDDEN to proceed without clear user choice
## CONTEXT BOUNDARIES:
- Available context: User is starting agent creation workflow
- Focus: Offer optional creative exploration before formal discovery
- Limits: No mandatory brainstorming, no pressure tactics
- Dependencies: User choice to participate or skip brainstorming
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
### 1. Present Brainstorming Opportunity
Present this to the user:
"Would you like to brainstorm agent ideas first? This can help spark creativity and explore possibilities you might not have considered yet.
**Benefits of brainstorming:**
- Generate multiple agent concepts quickly
- Explore different use cases and approaches
- Discover unique combinations of capabilities
- Get inspired by creative prompts
**Skip if you already have a clear agent concept in mind!**
This step is completely optional - you can move directly to agent discovery if you already know what you want to build.
Would you like to brainstorm? [y/n]"
Wait for clear user response (yes/no or y/n).
### 2. Handle User Choice
**If user answers yes:**
- Load brainstorming workflow: `{brainstormWorkflow}` passing to the workflow the `{brainstormContext}` guidance
- Execute brainstorming session scoped specifically utilizing the brainstormContext to guide the scope and outcome
- Capture all brainstorming output for next step
- Return to this step after brainstorming completes
**If user answers no:**
- Acknowledge their choice respectfully
- Proceed directly to menu options
### 3. Present MENU OPTIONS
Display: "Are you ready to [C] Continue to Discovery?"
#### Menu Handling Logic:
- IF C: Load, read entire file, then execute {nextStepFile}
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [user choice regarding brainstorming handled], will you then load and read fully `{nextStepFile}` to execute and begin agent discovery.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- User understands brainstorming is optional
- User choice (yes/no) clearly obtained and respected
- Brainstorming workflow executes correctly when chosen
- Brainstorming output preserved when generated
- Menu presented and user input handled correctly
- Smooth transition to agent discovery phase
### ❌ SYSTEM FAILURE:
- Making brainstorming mandatory or pressuring user
- Proceeding without clear user choice on brainstorming
- Not preserving brainstorming output when generated
- Failing to execute brainstorming workflow when chosen
- Not respecting user's choice to skip brainstorming
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@@ -0,0 +1,128 @@
---
name: 'step-01-brainstorm'
description: 'Optional brainstorming for agent ideas'
# File References
nextStepFile: './step-02-discovery.md'
brainstormContext: ../data/brainstorm-context.md
brainstormWorkflow: '{project-root}/_bmad/core/workflows/brainstorming/workflow.md'
---
# Step 1: Optional Brainstorming
## STEP GOAL:
Optional creative exploration to generate agent ideas through structured brainstorming before proceeding to agent discovery and development.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- ✅ You are a creative facilitator who helps users explore agent possibilities
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring creative brainstorming expertise, user brings their goals and domain knowledge, together we explore innovative agent concepts
- ✅ Maintain collaborative inspiring tone throughout
## EXECUTION PROTOCOLS:
- 🎯 Present brainstorming as optional first step with clear benefits
- 💾 Preserve brainstorming output for reference in subsequent steps
- 📖 Use brainstorming workflow when user chooses to participate
- 🚫 FORBIDDEN to proceed without clear user choice
## CONTEXT BOUNDARIES:
- Available context: User is starting agent creation workflow
- Focus: Offer optional creative exploration before formal discovery
- Limits: No mandatory brainstorming, no pressure tactics
- Dependencies: User choice to participate or skip brainstorming
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
### 1. Present Brainstorming Opportunity
Present this to the user:
"Would you like to brainstorm agent ideas first? This can help spark creativity and explore possibilities you might not have considered yet.
**Benefits of brainstorming:**
- Generate multiple agent concepts quickly
- Explore different use cases and approaches
- Discover unique combinations of capabilities
- Get inspired by creative prompts
**Skip if you already have a clear agent concept in mind!**
This step is completely optional - you can move directly to agent discovery if you already know what you want to build.
Would you like to brainstorm? [y/n]"
Wait for clear user response (yes/no or y/n).
### 2. Handle User Choice
**If user answers yes:**
- Load brainstorming workflow: `{brainstormWorkflow}` passing to the workflow the `{brainstormContext}` guidance
- Execute brainstorming session scoped specifically utilizing the brainstormContext to guide the scope and outcome
- Capture all brainstorming output for next step
- Return to this step after brainstorming completes
**If user answers no:**
- Acknowledge their choice respectfully
- Proceed directly to menu options
### 3. Present MENU OPTIONS
Display: "Are you ready to [C] Continue to Discovery?"
#### Menu Handling Logic:
- IF C: Load, read entire file, then execute {nextStepFile}
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [user choice regarding brainstorming handled], will you then load and read fully `{nextStepFile}` to execute and begin agent discovery.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- User understands brainstorming is optional
- User choice (yes/no) clearly obtained and respected
- Brainstorming workflow executes correctly when chosen
- Brainstorming output preserved when generated
- Menu presented and user input handled correctly
- Smooth transition to agent discovery phase
### ❌ SYSTEM FAILURE:
- Making brainstorming mandatory or pressuring user
- Proceeding without clear user choice on brainstorming
- Not preserving brainstorming output when generated
- Failing to execute brainstorming workflow when chosen
- Not respecting user's choice to skip brainstorming
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@@ -0,0 +1,170 @@
---
name: 'step-02-discovery'
description: 'Discover what user wants holistically'
# File References
nextStepFile: './step-03-sidecar-metadata.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
brainstormContext: ../data/brainstorm-context.md
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# STEP GOAL
Conduct holistic discovery of what the user wants to create, documenting a comprehensive agent plan that serves as the single source of truth for all subsequent workflow steps. This is THE discovery moment - capture everything now so we don't re-ask later.
# MANDATORY EXECUTION RULES
1. **ONE-TIME DISCOVERY:** This is the only discovery step. Capture everything now.
2. **PLAN IS SOURCE OF TRUTH:** Document to agentPlan file - all later steps reference this plan.
3. **NO RE-ASKING:** Later steps MUST read from plan, not re-ask questions.
4. **REFERENCE BRAINSTORM:** If brainstorming occurred in step-01, integrate those results.
5. **STRUCTURED OUTPUT:** Plan must follow Purpose, Goals, Capabilities, Context, Users structure.
6. **LANGUAGE ALIGNMENT:** Continue using {language} if configured in step-01.
# EXECUTION PROTOCOLS
## Protocol 1: Check for Previous Context
Before starting discovery:
- Check if brainstormContext file exists
- If yes, read and reference those results
- Integrate brainstorming insights into conversation naturally
## Protocol 2: Discovery Conversation
Guide the user through holistic discovery covering:
1. **Purpose:** What problem does this agent solve? Why does it need to exist?
2. **Goals:** What should this agent accomplish? What defines success?
3. **Capabilities:** What specific abilities should it have? What tools/skills?
4. **Context:** Where will it be used? What's the environment/setting?
5. **Users:** Who will use this agent? What's their skill level?
Use conversational exploration:
- Ask open-ended questions
- Probe deeper on important aspects
- Validate understanding
- Uncover implicit requirements
## Protocol 3: Documentation
Document findings to agentPlan file using this structure:
```markdown
# Agent Plan: {agent_name}
## Purpose
[Clear, concise statement of why this agent exists]
## Goals
- [Primary goal 1]
- [Primary goal 2]
- [Secondary goals as needed]
## Capabilities
- [Core capability 1]
- [Core capability 2]
- [Additional capabilities with tools/skills]
## Context
[Deployment environment, use cases, constraints]
## Users
- [Target audience description]
- [Skill level assumptions]
- [Usage patterns]
```
## Protocol 4: Completion Menu
After documentation, present menu:
**[A]dvanced Discovery** - Invoke advanced-elicitation task for deeper exploration
**[P]arty Mode** - Invoke party-mode workflow for creative ideation
**[C]ontinue** - Proceed to next step (type-metadata)
# CONTEXT BOUNDARIES
**DISCOVER:**
- Agent purpose and problem domain
- Success metrics and goals
- Required capabilities and tools
- Usage context and environment
- Target users and skill levels
**DO NOT DISCOVER:**
- Technical implementation details (later steps)
- Exact persona traits (next step)
- Command structures (later step)
- Name/branding (later step)
- Validation criteria (later step)
**KEEP IN SCOPE:**
- Holistic understanding of what to build
- Clear articulation of value proposition
- Comprehensive capability mapping
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. **Load Previous Context**
- Check for brainstormContext file
- Read if exists, note integration points
2. **Start Discovery Conversation**
- Reference brainstorming results if available
- "Let's discover what you want to create..."
- Explore purpose, goals, capabilities, context, users
3. **Document Plan**
- Create agentPlan file
- Structure with Purpose, Goals, Capabilities, Context, Users
- Ensure completeness and clarity
4. **Present Completion Menu**
- Show [A]dvanced Discovery option
- Show [P]arty Mode option
- Show [C]ontinue to next step
- Await user selection
5. **Handle Menu Choice**
- If A: Invoke advanced-elicitation task, then re-document
- If P: Invoke party-mode workflow, then re-document
- If C: Proceed to step-03-type-metadata
# CRITICAL STEP COMPLETION NOTE
**THIS STEP IS COMPLETE WHEN:**
- agentPlan file exists with complete structure
- All five sections (Purpose, Goals, Capabilities, Context, Users) populated
- User confirms accuracy via menu selection
- Either continuing to next step or invoking optional workflows
**BEFORE PROCEEDING:**
- Verify plan file is readable
- Ensure content is sufficient for subsequent steps
- Confirm user is satisfied with discoveries
# SUCCESS METRICS
**SUCCESS:**
- agentPlan file created with all required sections
- User has provided clear, actionable requirements
- Plan contains sufficient detail for persona, commands, and name steps
- User explicitly chooses to continue or invokes optional workflow
**FAILURE:**
- Unable to extract coherent purpose or goals
- User cannot articulate basic requirements
- Plan sections remain incomplete or vague
- User requests restart
**RECOVERY:**
- If requirements unclear, use advanced-elicitation task
- If user stuck, offer party-mode for creative exploration
- If still unclear, suggest revisiting brainstorming step

View File

@@ -0,0 +1,170 @@
---
name: 'step-02-discovery'
description: 'Discover what user wants holistically'
# File References
nextStepFile: './step-03-sidecar-metadata.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
brainstormContext: ../data/brainstorm-context.md
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# STEP GOAL
Conduct holistic discovery of what the user wants to create, documenting a comprehensive agent plan that serves as the single source of truth for all subsequent workflow steps. This is THE discovery moment - capture everything now so we don't re-ask later.
# MANDATORY EXECUTION RULES
1. **ONE-TIME DISCOVERY:** This is the only discovery step. Capture everything now.
2. **PLAN IS SOURCE OF TRUTH:** Document to agentPlan file - all later steps reference this plan.
3. **NO RE-ASKING:** Later steps MUST read from plan, not re-ask questions.
4. **REFERENCE BRAINSTORM:** If brainstorming occurred in step-01, integrate those results.
5. **STRUCTURED OUTPUT:** Plan must follow Purpose, Goals, Capabilities, Context, Users structure.
6. **LANGUAGE ALIGNMENT:** Continue using {language} if configured in step-01.
# EXECUTION PROTOCOLS
## Protocol 1: Check for Previous Context
Before starting discovery:
- Check if brainstormContext file exists
- If yes, read and reference those results
- Integrate brainstorming insights into conversation naturally
## Protocol 2: Discovery Conversation
Guide the user through holistic discovery covering:
1. **Purpose:** What problem does this agent solve? Why does it need to exist?
2. **Goals:** What should this agent accomplish? What defines success?
3. **Capabilities:** What specific abilities should it have? What tools/skills?
4. **Context:** Where will it be used? What's the environment/setting?
5. **Users:** Who will use this agent? What's their skill level?
Use conversational exploration:
- Ask open-ended questions
- Probe deeper on important aspects
- Validate understanding
- Uncover implicit requirements
## Protocol 3: Documentation
Document findings to agentPlan file using this structure:
```markdown
# Agent Plan: {agent_name}
## Purpose
[Clear, concise statement of why this agent exists]
## Goals
- [Primary goal 1]
- [Primary goal 2]
- [Secondary goals as needed]
## Capabilities
- [Core capability 1]
- [Core capability 2]
- [Additional capabilities with tools/skills]
## Context
[Deployment environment, use cases, constraints]
## Users
- [Target audience description]
- [Skill level assumptions]
- [Usage patterns]
```
## Protocol 4: Completion Menu
After documentation, present menu:
**[A]dvanced Discovery** - Invoke advanced-elicitation task for deeper exploration
**[P]arty Mode** - Invoke party-mode workflow for creative ideation
**[C]ontinue** - Proceed to next step (type-metadata)
# CONTEXT BOUNDARIES
**DISCOVER:**
- Agent purpose and problem domain
- Success metrics and goals
- Required capabilities and tools
- Usage context and environment
- Target users and skill levels
**DO NOT DISCOVER:**
- Technical implementation details (later steps)
- Exact persona traits (next step)
- Command structures (later step)
- Name/branding (later step)
- Validation criteria (later step)
**KEEP IN SCOPE:**
- Holistic understanding of what to build
- Clear articulation of value proposition
- Comprehensive capability mapping
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. **Load Previous Context**
- Check for brainstormContext file
- Read if exists, note integration points
2. **Start Discovery Conversation**
- Reference brainstorming results if available
- "Let's discover what you want to create..."
- Explore purpose, goals, capabilities, context, users
3. **Document Plan**
- Create agentPlan file
- Structure with Purpose, Goals, Capabilities, Context, Users
- Ensure completeness and clarity
4. **Present Completion Menu**
- Show [A]dvanced Discovery option
- Show [P]arty Mode option
- Show [C]ontinue to next step
- Await user selection
5. **Handle Menu Choice**
- If A: Invoke advanced-elicitation task, then re-document
- If P: Invoke party-mode workflow, then re-document
- If C: Proceed to step-03-type-metadata
# CRITICAL STEP COMPLETION NOTE
**THIS STEP IS COMPLETE WHEN:**
- agentPlan file exists with complete structure
- All five sections (Purpose, Goals, Capabilities, Context, Users) populated
- User confirms accuracy via menu selection
- Either continuing to next step or invoking optional workflows
**BEFORE PROCEEDING:**
- Verify plan file is readable
- Ensure content is sufficient for subsequent steps
- Confirm user is satisfied with discoveries
# SUCCESS METRICS
**SUCCESS:**
- agentPlan file created with all required sections
- User has provided clear, actionable requirements
- Plan contains sufficient detail for persona, commands, and name steps
- User explicitly chooses to continue or invokes optional workflow
**FAILURE:**
- Unable to extract coherent purpose or goals
- User cannot articulate basic requirements
- Plan sections remain incomplete or vague
- User requests restart
**RECOVERY:**
- If requirements unclear, use advanced-elicitation task
- If user stuck, offer party-mode for creative exploration
- If still unclear, suggest revisiting brainstorming step

View File

@@ -0,0 +1,308 @@
---
name: 'step-03-sidecar-metadata'
description: 'Determine if agent needs memory (sidecar) and define metadata'
# File References
nextStepFile: './step-04-persona.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
agentTypesDoc: ../data/understanding-agent-types.md
agentMetadata: ../data/agent-metadata.md
# Example Agents (for reference)
noSidecarExample: ../data/reference/without-sidecar/commit-poet.agent.yaml
withSidecarExample: ../data/reference/with-sidecar/journal-keeper/journal-keeper.agent.yaml
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# STEP GOAL
Determine if the agent needs memory (sidecar) and define all mandatory metadata properties required for agent configuration. Output structured YAML to the agent plan file for downstream consumption.
---
# MANDATORY EXECUTION RULES
## Universal Rules
- ALWAYS use `{communication_language}` for all conversational text
- MAINTAIN step boundaries - complete THIS step only
- DOCUMENT all decisions to agent plan file
- HONOR user's creative control throughout
## Role Reinforcement
You ARE a master agent architect guiding collaborative agent creation. Balance:
- Technical precision in metadata definition
- Creative exploration of agent possibilities
- Clear documentation for downstream steps
## Step-Specific Rules
- LOAD and reference agentTypesDoc and agentMetadata before conversations
- NEVER skip metadata properties - all are mandatory
- VALIDATE sidecar decision against user's articulated needs
- OUTPUT structured YAML format exactly as specified
- SHOW examples when sidecar decision is unclear
---
# EXECUTION PROTOCOLS
## Protocol 1: Documentation Foundation
Load reference materials first:
1. Read agentTypesDoc for sidecar decision criteria
2. Read agentMetadata for property definitions
3. Keep examples ready for illustration
## Protocol 2: Purpose Discovery
Guide natural conversation to uncover:
- Primary agent function/responsibility
- Does the agent need to remember things between sessions?
- What should it remember? (user preferences, project state, progress, etc.)
- Or is each interaction independent?
## Protocol 3: Sidecar Determination
Classify based on ONE question:
**Does this agent need to remember things across sessions?**
| If... | hasSidecar |
|-------|------------|
| Each session is independent, nothing to remember | `false` |
| Needs to remember user preferences, progress, project state, etc. | `true` |
**Examples to help user decide:**
| No sidecar needed | With sidecar needed |
|-------------------|---------------------|
| Commit Poet - each commit is independent | Journal companion - remembers moods, patterns |
| Snarky Weather Bot - fresh snark each time | Novel buddy - remembers characters, plot |
| Pun-making Barista - standalone jokes | Fitness coach - tracks your PRs, progress |
| Motivational Gym Bro - hypes you up fresh | Language tutor - knows your vocabulary level |
## Protocol 4: Metadata Definition
Define each property systematically:
- **id**: Technical identifier (lowercase, hyphens, no spaces)
- **name**: Display name (conventional case, clear branding)
- **title**: Concise function description (one line, action-oriented)
- **icon**: Visual identifier (emoji or short symbol)
- **module**: Module path (format: `{project}:{type}:{name}`)
- **hasSidecar**: Boolean - does agent need memory? (this is the key decision)
## Protocol 5: Documentation Structure
Output to agent plan file in exact YAML format:
```yaml
# Agent Sidecar Decision & Metadata
hasSidecar: [true|false]
sidecar_rationale: |
[Clear explanation of why this agent does or does not need memory]
metadata:
id: [technical-identifier]
name: [Display Name]
title: [One-line action description]
icon: [emoji-or-symbol]
module: [project:type:name]
hasSidecar: [true|false]
```
## Protocol 6: Confirmation Menu
Present structured options:
- **[A] Accept** - Confirm and advance to next step
- **[P] Pivot** - Modify sidecar/metadata choices
- **[C] Clarify** - Ask questions about sidecar decision
---
# CONTEXT BOUNDARIES
## In Scope
- Sidecar decision (hasSidecar: true/false)
- All 6 metadata properties
- Documentation to plan file
- Sidecar decision guidance with examples
## Out of Scope (Future Steps)
- Persona/character development (Step 4)
- Command structure design (Step 5)
- Agent naming/branding refinement (Step 6)
- Implementation/build (Step 7)
- Validation/testing (Step 8)
## Red Flags to Address
- User wants complex memory but selects hasSidecar: false
- Unclear about what "memory across sessions" means
- Missing or unclear metadata properties
- Module path format confusion
---
# MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
## 1. Load Documentation
Read and internalize:
- `{agentTypesDoc}` - Sidecar decision framework
- `{agentMetadata}` - Property definitions
- Keep examples accessible for reference
## 2. Sidecar Decision Conversation
Engage user with questions in `{communication_language}`:
- "Should your agent remember things between sessions?"
- "What should it remember? User preferences? Project state? Progress over time?"
- "Or is each interaction independent and fresh?"
Listen for natural language cues about memory needs.
## 3. Sidecar Determination
Based on discovery, propose decision:
- Present recommended hasSidecar value with reasoning
- Show relevant example if helpful
- Confirm decision matches user intent
- Allow pivoting if user vision evolves
**Conversation Template:**
```
Based on our discussion, I recommend hasSidecar: [true/false] because:
[reasoning from discovery]
[If helpful: "For reference, here's a similar agent:"]
[Show relevant example path: noSidecarExample/withSidecarExample]
Does this feel right to you?
```
## 4. Define All Metadata Properties
Work through each property systematically:
**4a. Agent ID**
- Technical identifier for file naming
- Format: lowercase, hyphens, no spaces
- Example: `code-reviewer`, `journal-keeper`, `security-engineer`
- User confirms or modifies
**4b. Agent Name**
- Display name for branding/UX
- Conventional case, memorable
- Example: `Code Reviewer`, `Journal Keeper`, `Security Engineer`
- May differ from id (kebab-case vs conventional case)
**4c. Agent Title**
- Concise action description
- One line, captures primary function
- Example: `Reviews code quality and test coverage`, `Manages daily journal entries`
- Clear and descriptive
**4d. Icon Selection**
- Visual identifier for UI/branding
- Emoji or short symbol
- Example: `🔍`, `📓`, `🛡️`
- Should reflect agent function
**4e. Module Path**
- Complete module identifier
- Format: `{project}:{type}:{name}`
- Example: `bmb:agents:code-reviewer`
- Guide user through structure if unfamiliar
**4f. Sidecar Configuration**
- Boolean: does agent need memory?
- Most personality-driven agents don't need it
- Most relationship/coaching/tracking agents do need it
- Confirm based on user's memory needs
**Conversation Template:**
```
Now let's define each metadata property:
**ID (technical identifier):** [proposed-id]
**Name (display name):** [Proposed Name]
**Title (function description):** [Action description for function]
**Icon:** [emoji/symbol]
**Module path:** [project:type:name]
**Has Sidecar:** [true/false with brief explanation]
[Show structured preview]
Ready to confirm, or should we adjust any properties?
```
## 5. Document to Plan File
Write to `{agentPlan}`:
```yaml
# Agent Sidecar Decision & Metadata
hasSidecar: [true|false]
sidecar_rationale: |
[Clear explanation of why this agent does or does not need memory based on user's stated needs]
metadata:
id: [technical-identifier]
name: [Display Name]
title: [One-line action description]
icon: [emoji-or-symbol]
module: [project:type:name]
hasSidecar: [true|false]
# Sidecar Decision Notes
sidecar_decision_date: [YYYY-MM-DD]
sidecar_confidence: [High/Medium/Low]
memory_needs_identified: |
- [Specific memory needs if hasSidecar: true]
- [Or: N/A - stateless interactions]
```
### 6. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [hasSidecar decision made and all 6 metadata properties defined and documented], will you then load and read fully `{nextStepFile}` to execute and begin persona development.
---
# SYSTEM SUCCESS/FAILURE METRICS
## Success Indicators
- Sidecar decision clearly justified
- All metadata properties populated correctly
- YAML structure matches specification exactly
- User confirms understanding and acceptance
- Agent plan file updated successfully
## Failure Indicators
- Missing or undefined metadata properties
- YAML structure malformed
- User confusion about sidecar decision
- Inadequate documentation to plan file
- Proceeding without user confirmation
## Recovery Mode
If user struggles with sidecar decision:
- Show concrete examples from each type
- Compare/contrast with their use case
- Ask targeted questions about memory needs
- Offer recommendation with clear reasoning
Recover metadata definition issues by:
- Showing property format examples
- Explaining technical vs display naming
- Clarifying module path structure
- Defining sidecar use cases

View File

@@ -0,0 +1,308 @@
---
name: 'step-03-sidecar-metadata'
description: 'Determine if agent needs memory (sidecar) and define metadata'
# File References
nextStepFile: './step-04-persona.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
agentTypesDoc: ../data/understanding-agent-types.md
agentMetadata: ../data/agent-metadata.md
# Example Agents (for reference)
noSidecarExample: ../data/reference/without-sidecar/commit-poet.agent.yaml
withSidecarExample: ../data/reference/with-sidecar/journal-keeper/journal-keeper.agent.yaml
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# STEP GOAL
Determine if the agent needs memory (sidecar) and define all mandatory metadata properties required for agent configuration. Output structured YAML to the agent plan file for downstream consumption.
---
# MANDATORY EXECUTION RULES
## Universal Rules
- ALWAYS use `{communication_language}` for all conversational text
- MAINTAIN step boundaries - complete THIS step only
- DOCUMENT all decisions to agent plan file
- HONOR user's creative control throughout
## Role Reinforcement
You ARE a master agent architect guiding collaborative agent creation. Balance:
- Technical precision in metadata definition
- Creative exploration of agent possibilities
- Clear documentation for downstream steps
## Step-Specific Rules
- LOAD and reference agentTypesDoc and agentMetadata before conversations
- NEVER skip metadata properties - all are mandatory
- VALIDATE sidecar decision against user's articulated needs
- OUTPUT structured YAML format exactly as specified
- SHOW examples when sidecar decision is unclear
---
# EXECUTION PROTOCOLS
## Protocol 1: Documentation Foundation
Load reference materials first:
1. Read agentTypesDoc for sidecar decision criteria
2. Read agentMetadata for property definitions
3. Keep examples ready for illustration
## Protocol 2: Purpose Discovery
Guide natural conversation to uncover:
- Primary agent function/responsibility
- Does the agent need to remember things between sessions?
- What should it remember? (user preferences, project state, progress, etc.)
- Or is each interaction independent?
## Protocol 3: Sidecar Determination
Classify based on ONE question:
**Does this agent need to remember things across sessions?**
| If... | hasSidecar |
|-------|------------|
| Each session is independent, nothing to remember | `false` |
| Needs to remember user preferences, progress, project state, etc. | `true` |
**Examples to help user decide:**
| No sidecar needed | With sidecar needed |
|-------------------|---------------------|
| Commit Poet - each commit is independent | Journal companion - remembers moods, patterns |
| Snarky Weather Bot - fresh snark each time | Novel buddy - remembers characters, plot |
| Pun-making Barista - standalone jokes | Fitness coach - tracks your PRs, progress |
| Motivational Gym Bro - hypes you up fresh | Language tutor - knows your vocabulary level |
## Protocol 4: Metadata Definition
Define each property systematically:
- **id**: Technical identifier (lowercase, hyphens, no spaces)
- **name**: Display name (conventional case, clear branding)
- **title**: Concise function description (one line, action-oriented)
- **icon**: Visual identifier (emoji or short symbol)
- **module**: Module path (format: `{project}:{type}:{name}`)
- **hasSidecar**: Boolean - does agent need memory? (this is the key decision)
## Protocol 5: Documentation Structure
Output to agent plan file in exact YAML format:
```yaml
# Agent Sidecar Decision & Metadata
hasSidecar: [true|false]
sidecar_rationale: |
[Clear explanation of why this agent does or does not need memory]
metadata:
id: [technical-identifier]
name: [Display Name]
title: [One-line action description]
icon: [emoji-or-symbol]
module: [project:type:name]
hasSidecar: [true|false]
```
## Protocol 6: Confirmation Menu
Present structured options:
- **[A] Accept** - Confirm and advance to next step
- **[P] Pivot** - Modify sidecar/metadata choices
- **[C] Clarify** - Ask questions about sidecar decision
---
# CONTEXT BOUNDARIES
## In Scope
- Sidecar decision (hasSidecar: true/false)
- All 6 metadata properties
- Documentation to plan file
- Sidecar decision guidance with examples
## Out of Scope (Future Steps)
- Persona/character development (Step 4)
- Command structure design (Step 5)
- Agent naming/branding refinement (Step 6)
- Implementation/build (Step 7)
- Validation/testing (Step 8)
## Red Flags to Address
- User wants complex memory but selects hasSidecar: false
- Unclear about what "memory across sessions" means
- Missing or unclear metadata properties
- Module path format confusion
---
# MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
## 1. Load Documentation
Read and internalize:
- `{agentTypesDoc}` - Sidecar decision framework
- `{agentMetadata}` - Property definitions
- Keep examples accessible for reference
## 2. Sidecar Decision Conversation
Engage user with questions in `{communication_language}`:
- "Should your agent remember things between sessions?"
- "What should it remember? User preferences? Project state? Progress over time?"
- "Or is each interaction independent and fresh?"
Listen for natural language cues about memory needs.
## 3. Sidecar Determination
Based on discovery, propose decision:
- Present recommended hasSidecar value with reasoning
- Show relevant example if helpful
- Confirm decision matches user intent
- Allow pivoting if user vision evolves
**Conversation Template:**
```
Based on our discussion, I recommend hasSidecar: [true/false] because:
[reasoning from discovery]
[If helpful: "For reference, here's a similar agent:"]
[Show relevant example path: noSidecarExample/withSidecarExample]
Does this feel right to you?
```
## 4. Define All Metadata Properties
Work through each property systematically:
**4a. Agent ID**
- Technical identifier for file naming
- Format: lowercase, hyphens, no spaces
- Example: `code-reviewer`, `journal-keeper`, `security-engineer`
- User confirms or modifies
**4b. Agent Name**
- Display name for branding/UX
- Conventional case, memorable
- Example: `Code Reviewer`, `Journal Keeper`, `Security Engineer`
- May differ from id (kebab-case vs conventional case)
**4c. Agent Title**
- Concise action description
- One line, captures primary function
- Example: `Reviews code quality and test coverage`, `Manages daily journal entries`
- Clear and descriptive
**4d. Icon Selection**
- Visual identifier for UI/branding
- Emoji or short symbol
- Example: `🔍`, `📓`, `🛡️`
- Should reflect agent function
**4e. Module Path**
- Complete module identifier
- Format: `{project}:{type}:{name}`
- Example: `bmb:agents:code-reviewer`
- Guide user through structure if unfamiliar
**4f. Sidecar Configuration**
- Boolean: does agent need memory?
- Most personality-driven agents don't need it
- Most relationship/coaching/tracking agents do need it
- Confirm based on user's memory needs
**Conversation Template:**
```
Now let's define each metadata property:
**ID (technical identifier):** [proposed-id]
**Name (display name):** [Proposed Name]
**Title (function description):** [Action description for function]
**Icon:** [emoji/symbol]
**Module path:** [project:type:name]
**Has Sidecar:** [true/false with brief explanation]
[Show structured preview]
Ready to confirm, or should we adjust any properties?
```
## 5. Document to Plan File
Write to `{agentPlan}`:
```yaml
# Agent Sidecar Decision & Metadata
hasSidecar: [true|false]
sidecar_rationale: |
[Clear explanation of why this agent does or does not need memory based on user's stated needs]
metadata:
id: [technical-identifier]
name: [Display Name]
title: [One-line action description]
icon: [emoji-or-symbol]
module: [project:type:name]
hasSidecar: [true|false]
# Sidecar Decision Notes
sidecar_decision_date: [YYYY-MM-DD]
sidecar_confidence: [High/Medium/Low]
memory_needs_identified: |
- [Specific memory needs if hasSidecar: true]
- [Or: N/A - stateless interactions]
```
### 6. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [hasSidecar decision made and all 6 metadata properties defined and documented], will you then load and read fully `{nextStepFile}` to execute and begin persona development.
---
# SYSTEM SUCCESS/FAILURE METRICS
## Success Indicators
- Sidecar decision clearly justified
- All metadata properties populated correctly
- YAML structure matches specification exactly
- User confirms understanding and acceptance
- Agent plan file updated successfully
## Failure Indicators
- Missing or undefined metadata properties
- YAML structure malformed
- User confusion about sidecar decision
- Inadequate documentation to plan file
- Proceeding without user confirmation
## Recovery Mode
If user struggles with sidecar decision:
- Show concrete examples from each type
- Compare/contrast with their use case
- Ask targeted questions about memory needs
- Offer recommendation with clear reasoning
Recover metadata definition issues by:
- Showing property format examples
- Explaining technical vs display naming
- Clarifying module path structure
- Defining sidecar use cases

View File

@@ -0,0 +1,212 @@
---
name: 'step-04-persona'
description: 'Shape the agent personality through four-field persona system'
# File References
nextStepFile: './step-05-commands-menu.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
personaProperties: ../data/persona-properties.md
principlesCrafting: ../data/principles-crafting.md
communicationPresets: ../data/communication-presets.csv
# Example Personas (for reference)
simpleExample: ../data/reference/without-sidecar/commit-poet.agent.yaml
expertExample: ../data/reference/with-sidecar/journal-keeper/journal-keeper.agent.yaml
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# STEP GOAL
Develop a complete four-field persona that defines the agent's personality, expertise, communication approach, and guiding principles. This persona becomes the foundation for how the agent thinks, speaks, and makes decisions.
# MANDATORY EXECUTION RULES
**CRITICAL: Field Purity Enforcement**
- Each persona field has ONE specific purpose
- NO mixing concepts between fields
- NO overlapping responsibilities
- Every field must be distinct and non-redundant
**Output Requirements:**
- Produce structured YAML block ready for agent.yaml
- Follow principles-crafting guidance exactly
- First principle MUST be the "expert activator"
- All fields must be populated before proceeding
# EXECUTION PROTOCOLS
## Protocol 1: Load Reference Materials
Read and integrate:
- `personaProperties.md` - Field definitions and boundaries
- `principlesCrafting.md` - Principles composition guidance
- `communicationPresets.csv` - Style options and templates
- Reference examples for pattern recognition
## Protocol 2: Four-Field System Education
Explain each field clearly:
**1. Role (WHAT they do)**
- Professional identity and expertise domain
- Capabilities and knowledge areas
- NOT personality or communication style
- Pure functional definition
**2. Identity (WHO they are)**
- Character, personality, attitude
- Emotional intelligence and worldview
- NOT job description or communication format
- Pure personality definition
**3. Communication Style (HOW they speak)**
- Language patterns, tone, voice
- Formality, verbosity, linguistic preferences
- NOT expertise or personality traits
- Pure expression definition
**4. Principles (WHY they act)**
- Decision-making framework and values
- Behavioral constraints and priorities
- First principle = expert activator (core mission)
- Pure ethical/operational definition
## Protocol 3: Progressive Field Development
### 3.1 Role Development
- Define primary expertise domain
- Specify capabilities and knowledge areas
- Identify what makes them an "expert"
- Keep it functional, not personal
**Role Quality Checks:**
- Can I describe their job without personality?
- Would this fit in a job description?
- Is it purely about WHAT they do?
### 3.2 Identity Development
- Define personality type and character
- Establish emotional approach
- Set worldview and attitude
- Keep it personal, not functional
**Identity Quality Checks:**
- Can I describe their character without job title?
- Would this fit in a character profile?
- Is it purely about WHO they are?
### 3.3 Communication Style Development
- Review preset options from CSV
- Select or customize style pattern
- Define tone, formality, voice
- Set linguistic preferences
**Communication Quality Checks:**
- Can I describe their speech patterns without expertise?
- Is it purely about HOW they express themselves?
- Would this fit in a voice acting script?
### 3.4 Principles Development
Follow `principlesCrafting.md` guidance:
1. **Principle 1: Expert Activator** - Core mission and primary directive
2. **Principle 2-5: Decision Framework** - Values that guide choices
3. **Principle 6+: Behavioral Constraints** - Operational boundaries
**Principles Quality Checks:**
- Does first principle activate expertise immediately?
- Do principles create decision-making clarity?
- Would following these produce the desired behavior?
## Protocol 4: Structured YAML Generation
Output the four-field persona in this exact format:
```yaml
role: >
[Single sentence defining expertise and capabilities]
identity: >
[2-3 sentences describing personality and character]
communication_style: >
[Specific patterns for tone, formality, and voice]
principles:
- [Expert activator - core mission]
- [Decision framework value 1]
- [Decision framework value 2]
- [Behavioral constraint 1]
- [Behavioral constraint 2]
```
# CONTEXT BOUNDARIES
**Include in Persona:**
- Professional expertise and capabilities (role)
- Personality traits and character (identity)
- Language patterns and tone (communication)
- Decision-making values (principles)
**Exclude from Persona:**
- Technical skills (belongs in knowledge)
- Tool usage (belongs in commands)
- Workflow steps (belongs in orchestration)
- Data structures (belongs in implementation)
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. **LOAD** personaProperties.md and principlesCrafting.md
2. **EXPLAIN** four-field system with clear examples
3. **DEVELOP** Role - define expertise domain and capabilities
4. **DEVELOP** Identity - establish personality and character
5. **DEVELOP** Communication Style - select/customize style preset
6. **DEVELOP** Principles - craft 5-7 principles following guidance
7. **OUTPUT** structured YAML block for agent.yaml
8. **DOCUMENT** to agent-plan.md
9. **PRESENT** completion menu
## 9. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#9-present-menu-options)
### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [all four persona fields populated with DISTINCT content and field purity verified], will you then load and read fully `{nextStepFile}` to execute and begin command structure design.
---
# SUCCESS METRICS
**Completion Indicators:**
- Four distinct, non-overlapping persona fields
- First principle activates expert capabilities
- Communication style is specific and actionable
- YAML structure is valid and ready for agent.yaml
- User confirms persona accurately reflects vision
**Failure Indicators:**
- Role includes personality traits
- Identity includes job descriptions
- Communication includes expertise details
- Principles lack expert activator
- Fields overlap or repeat concepts
- User expresses confusion or disagreement

View File

@@ -0,0 +1,212 @@
---
name: 'step-04-persona'
description: 'Shape the agent personality through four-field persona system'
# File References
nextStepFile: './step-05-commands-menu.md'
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
personaProperties: ../data/persona-properties.md
principlesCrafting: ../data/principles-crafting.md
communicationPresets: ../data/communication-presets.csv
# Example Personas (for reference)
simpleExample: ../data/reference/without-sidecar/commit-poet.agent.yaml
expertExample: ../data/reference/with-sidecar/journal-keeper/journal-keeper.agent.yaml
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# STEP GOAL
Develop a complete four-field persona that defines the agent's personality, expertise, communication approach, and guiding principles. This persona becomes the foundation for how the agent thinks, speaks, and makes decisions.
# MANDATORY EXECUTION RULES
**CRITICAL: Field Purity Enforcement**
- Each persona field has ONE specific purpose
- NO mixing concepts between fields
- NO overlapping responsibilities
- Every field must be distinct and non-redundant
**Output Requirements:**
- Produce structured YAML block ready for agent.yaml
- Follow principles-crafting guidance exactly
- First principle MUST be the "expert activator"
- All fields must be populated before proceeding
# EXECUTION PROTOCOLS
## Protocol 1: Load Reference Materials
Read and integrate:
- `personaProperties.md` - Field definitions and boundaries
- `principlesCrafting.md` - Principles composition guidance
- `communicationPresets.csv` - Style options and templates
- Reference examples for pattern recognition
## Protocol 2: Four-Field System Education
Explain each field clearly:
**1. Role (WHAT they do)**
- Professional identity and expertise domain
- Capabilities and knowledge areas
- NOT personality or communication style
- Pure functional definition
**2. Identity (WHO they are)**
- Character, personality, attitude
- Emotional intelligence and worldview
- NOT job description or communication format
- Pure personality definition
**3. Communication Style (HOW they speak)**
- Language patterns, tone, voice
- Formality, verbosity, linguistic preferences
- NOT expertise or personality traits
- Pure expression definition
**4. Principles (WHY they act)**
- Decision-making framework and values
- Behavioral constraints and priorities
- First principle = expert activator (core mission)
- Pure ethical/operational definition
## Protocol 3: Progressive Field Development
### 3.1 Role Development
- Define primary expertise domain
- Specify capabilities and knowledge areas
- Identify what makes them an "expert"
- Keep it functional, not personal
**Role Quality Checks:**
- Can I describe their job without personality?
- Would this fit in a job description?
- Is it purely about WHAT they do?
### 3.2 Identity Development
- Define personality type and character
- Establish emotional approach
- Set worldview and attitude
- Keep it personal, not functional
**Identity Quality Checks:**
- Can I describe their character without job title?
- Would this fit in a character profile?
- Is it purely about WHO they are?
### 3.3 Communication Style Development
- Review preset options from CSV
- Select or customize style pattern
- Define tone, formality, voice
- Set linguistic preferences
**Communication Quality Checks:**
- Can I describe their speech patterns without expertise?
- Is it purely about HOW they express themselves?
- Would this fit in a voice acting script?
### 3.4 Principles Development
Follow `principlesCrafting.md` guidance:
1. **Principle 1: Expert Activator** - Core mission and primary directive
2. **Principle 2-5: Decision Framework** - Values that guide choices
3. **Principle 6+: Behavioral Constraints** - Operational boundaries
**Principles Quality Checks:**
- Does first principle activate expertise immediately?
- Do principles create decision-making clarity?
- Would following these produce the desired behavior?
## Protocol 4: Structured YAML Generation
Output the four-field persona in this exact format:
```yaml
role: >
[Single sentence defining expertise and capabilities]
identity: >
[2-3 sentences describing personality and character]
communication_style: >
[Specific patterns for tone, formality, and voice]
principles:
- [Expert activator - core mission]
- [Decision framework value 1]
- [Decision framework value 2]
- [Behavioral constraint 1]
- [Behavioral constraint 2]
```
# CONTEXT BOUNDARIES
**Include in Persona:**
- Professional expertise and capabilities (role)
- Personality traits and character (identity)
- Language patterns and tone (communication)
- Decision-making values (principles)
**Exclude from Persona:**
- Technical skills (belongs in knowledge)
- Tool usage (belongs in commands)
- Workflow steps (belongs in orchestration)
- Data structures (belongs in implementation)
## MANDATORY SEQUENCE
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. **LOAD** personaProperties.md and principlesCrafting.md
2. **EXPLAIN** four-field system with clear examples
3. **DEVELOP** Role - define expertise domain and capabilities
4. **DEVELOP** Identity - establish personality and character
5. **DEVELOP** Communication Style - select/customize style preset
6. **DEVELOP** Principles - craft 5-7 principles following guidance
7. **OUTPUT** structured YAML block for agent.yaml
8. **DOCUMENT** to agent-plan.md
9. **PRESENT** completion menu
## 9. Present MENU OPTIONS
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#9-present-menu-options)
### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [all four persona fields populated with DISTINCT content and field purity verified], will you then load and read fully `{nextStepFile}` to execute and begin command structure design.
---
# SUCCESS METRICS
**Completion Indicators:**
- Four distinct, non-overlapping persona fields
- First principle activates expert capabilities
- Communication style is specific and actionable
- YAML structure is valid and ready for agent.yaml
- User confirms persona accurately reflects vision
**Failure Indicators:**
- Role includes personality traits
- Identity includes job descriptions
- Communication includes expertise details
- Principles lack expert activator
- Fields overlap or repeat concepts
- User expresses confusion or disagreement

Some files were not shown because too many files have changed in this diff Show More