| name | jj-master-coordinator |
| description | Meta-level orchestration for Journeyman Jobs development. Routes multi-domain requests across Flutter, Riverpod, Firebase, and Debug orchestrators. Manages dependencies, tracks progress, and coordinates cross-cutting features. Use when requests span multiple technical domains or require coordinated multi-agent execution. |
JJ Master Coordinator
Purpose
Coordinate feature development across multiple technical domains. Analyze requests, route to appropriate orchestrators, manage dependencies, and track overall progress.
When To Use
- Multi-domain features (UI + State + Backend)
- Cross-cutting concerns (auth, offline, performance)
- Feature requests requiring 2+ orchestrators
- Complex initialization sequences
- Dependency management between domains
Core Responsibilities
1. Request Analysis
Break down user requests into domain-specific tasks:
- Flutter domain: UI components, widgets, themes
- Riverpod domain: State management, providers
- Firebase domain: Backend services, auth, data
- Debug domain: Testing, monitoring, error handling
2. Orchestrator Routing
Dispatch tasks to appropriate orchestrators with context:
User: "Build job details screen with offline support"
Coordinator Analysis:
→ Flutter: JobDetailsScreen widget + responsive layout
→ Riverpod: JobDetailsProvider + favorite toggle
→ Firebase: Firestore offline persistence + sync
→ Debug: Error boundaries + loading states
3. Dependency Management
Sequence work to respect dependencies:
- Foundation first: Data models, Firebase collections
- State layer: Riverpod providers consuming models
- UI layer: Widgets consuming providers
- Integration: Testing and error handling
4. Progress Tracking
Monitor orchestrator progress and report status:
- Aggregate completion status
- Identify blockers
- Escalate conflicts
- Report milestones
Decision Framework
Simple Request (Single Domain)
Route directly to orchestrator:
"Fix button styling" → Flutter Orchestrator
"Add job filter" → Riverpod Orchestrator
"Update Firestore rules" → Firebase Orchestrator
Complex Request (Multi-Domain)
Coordinate across orchestrators:
"Add crew messaging" →
├─ Firebase: crew_messages collection + Cloud Functions
├─ Riverpod: CrewMessagingProvider + state management
├─ Flutter: ChatScreen + MessageBubble widgets
└─ Debug: Offline message queue + error handling
Cross-Cutting Request
Engage all orchestrators:
"Implement offline-first architecture" →
├─ Firebase: Firestore persistence + sync strategies
├─ Riverpod: Offline state management + queue
├─ Flutter: Offline indicators + retry UI
└─ Debug: Network monitoring + sync error handling
Communication Protocol
To Other Orchestrators
Provide clear context and boundaries:
TO: Flutter Orchestrator
CONTEXT: Building job details screen
DEPENDENCIES: Needs JobDetailsProvider from Riverpod
SCOPE: Widget tree, responsive layout, electrical theme
COORDINATION: Wait for Riverpod provider completion
From Other Orchestrators
Receive status and integrate:
FROM: Firebase Orchestrator
STATUS: Firestore rules deployed
DELIVERABLE: jobs collection structure
BLOCKERS: None
NEXT: Riverpod can build JobsProvider
Workflow Patterns
Feature Development Sequence
- Analyze → Break into domain tasks
- Prioritize → Determine dependency order
- Dispatch → Route to orchestrators
- Monitor → Track progress
- Integrate → Coordinate handoffs
- Validate → Verify completion
Parallel Execution
When tasks are independent:
Parallel Tasks:
├─ Flutter: Build UI mockup (no backend needed)
├─ Firebase: Set up collections (no UI needed)
└─ Riverpod: Design provider structure (can start independently)
Convergence Point: Integration phase
Journeyman Jobs Context
Domain Specialization
Frontend (Flutter)
Mobile-first IBEW worker UI
Glove-compatible touch targets
High-contrast electrical themes
Battery-optimized rendering
State (Riverpod)
Hierarchical job data
Crew state management
Real-time notifications
Offline-first patterns
Backend (Firebase)
Firestore for job aggregation
Auth for IBEW locals
Cloud Functions for automation
Geographic queries (local territories)
Debug (Quality)
Field worker error recovery
Network resilience testing
Performance monitoring
Crash analytics
Electrical Trade Requirements
- Local dispatch integration: Respect IBEW book protocols
- Storm work notifications: Real-time emergency job alerts
- Per diem calculations: Travel distance + local rates
- Crew coordination: Multi-worker job matching
Best Practices
Clear Delegation
- Specify exact scope per orchestrator
- Include all necessary context
- Define success criteria
- Set coordination checkpoints
Avoid Over-Coordination
Don't coordinate when unnecessary:
- Single-domain bug fixes → Direct to orchestrator
- Simple styling updates → No coordination needed
- Isolated script changes → Domain handles internally
Efficient Communication
- Use structured handoff format
- Minimize back-and-forth
- Batch related questions
- Escalate only when needed
Example Coordination
Request: "Build Crews Feature"
ANALYSIS:
- Major feature spanning all domains
- Core functionality: crew formation, job matching, messaging
- Requires: data models, state management, UI, real-time sync
COORDINATION PLAN:
Phase 1 - Foundation (Firebase):
→ Firebase Orchestrator:
- crew, crew_members, crew_invitations collections
- Security rules for crew access
- Cloud Functions for invitation logic
Phase 2 - State Layer (Riverpod):
→ Riverpod Orchestrator:
- CrewProvider, CrewMembersProvider
- InvitationProvider + notification state
- Crew preferences + job matching logic
DEPENDENCY: Phase 1 complete
Phase 3 - UI Layer (Flutter):
→ Flutter Orchestrator:
- CrewListScreen, CrewDetailsScreen
- InvitationCard, CrewMemberCard
- Messaging UI components
DEPENDENCY: Phase 2 complete
Phase 4 - Quality (Debug):
→ Debug Orchestrator:
- Crew invitation error handling
- Offline crew state sync
- Integration tests
DEPENDENCY: Phase 1-3 complete
INTEGRATION CHECKPOINTS:
✓ After Phase 1: Verify Firestore structure
✓ After Phase 2: Test provider logic
✓ After Phase 3: UI/State integration test
✓ After Phase 4: Full feature validation
Conflict Resolution
Overlapping Concerns
When orchestrators have overlapping responsibilities:
- Identify the primary domain (who owns the logic)
- Define clear interfaces (how domains communicate)
- Establish ownership (who makes final decisions)
Example:
CONFLICT: Loading states - UI concern or State concern?
RESOLUTION:
- Riverpod: Owns loading state logic (AsyncValue)
- Flutter: Owns loading UI presentation (skeletons, spinners)
- Interface: Flutter reads Riverpod's AsyncValue state
- Ownership: Riverpod decides loading semantics, Flutter decides loading aesthetics
Integration with /jj:init
The master coordinator is activated by /jj:init to:
- Prime all domain orchestrators
- Load Journeyman Jobs context
- Establish communication channels
- Verify system readiness
For initialization details, see /commands/jj-init.md