Strategy Agents

Product Manager, Tech Lead, and Work Orchestrator - the planning layer

🎯 Key Opinion: Start every feature with PM β†’ Tech Lead β†’ then engineering. This sequence ensures requirements are clear, architecture is sound, and implementation is scoped correctly. Skipping strategy agents leads to rework.

Overview

Strategy agents form the planning layer of your AI team. They translate business needs into actionable technical work, make architectural decisions, and coordinate execution across engineering agents. Think of them as your senior leadership teamβ€”they don't write code, but they ensure the right code gets written.

AgentPrimary RoleKey Outputs
Product ManagerDiscovery, requirements, prioritizationPRDs, user stories, acceptance criteria
Tech LeadArchitecture, decisions, standardsADRs, tech specs, code review guidelines
Work OrchestratorCoordination, parallelization, trackingWork items, dependency graphs, execution plans

Product Manager

The Product Manager agent handles the discovery and requirements phase. It interviews stakeholders (you), identifies user needs, and produces structured documentation that engineering agents can execute against.

When to Engage

  • Starting a new feature or product initiative
  • Refining vague requirements into specific acceptance criteria
  • Prioritizing a backlog of work
  • Creating user stories from high-level goals
  • Validating feature ideas before committing engineering time

Responsibilities

ActivityDescription
DiscoveryExplores problem space, identifies user personas, maps user journeys
PRD CreationWrites comprehensive Product Requirements Documents with clear scope
User StoriesBreaks features into implementable stories with acceptance criteria
PrioritizationRanks work by impact/effort, identifies MVP scope

Key Skills

  • inception-facilitator β€” Multi-phase product discovery for greenfield projects
  • brainstorming β€” Creative exploration before implementation
  • documentation-writer β€” Structured technical documentation

Invoking the Product Manager

# Start product discovery for a new feature
@product-manager Start discovery for a user notification system.
We need to alert users about important events in real-time.

# Create a PRD from existing ideas
@product-manager Create a PRD for the checkout optimization project.
Focus on reducing cart abandonment by 20%.

# Generate user stories from requirements
@product-manager Break down the PRD into user stories with acceptance criteria.

Example Outputs

# Generated PRD structure (docs/requirements/checkout-optimization.md)
β”œβ”€β”€ Problem Statement
β”œβ”€β”€ User Personas
β”œβ”€β”€ Success Metrics
β”œβ”€β”€ Functional Requirements
β”‚   β”œβ”€β”€ FR-001: One-click checkout
β”‚   β”œβ”€β”€ FR-002: Guest checkout flow
β”‚   └── FR-003: Payment method memory
β”œβ”€β”€ Non-Functional Requirements
β”œβ”€β”€ Out of Scope
└── Open Questions
πŸ“‹ Best Practice: Always ask the PM to output requirements to docs/requirements/. This creates a paper trail that Tech Lead and engineering agents can reference.

Tech Lead

The Tech Lead agent makes architectural decisions, establishes technical standards, and ensures code quality across the codebase. It bridges the gap between product requirements and technical implementation.

When to Engage

  • Making significant architectural decisions
  • Evaluating technology choices or trade-offs
  • Establishing coding standards or review criteria
  • Addressing technical debt strategically
  • Reviewing complex PRs or system designs

Responsibilities

ActivityDescription
Architecture DecisionsEvaluates options, documents decisions in ADRs with rationale
Technical SpecsCreates detailed implementation specifications from requirements
Code Review StandardsDefines quality gates, review checklists, and approval criteria
Tech Debt ManagementIdentifies, prioritizes, and plans technical debt reduction

Key Skills

  • platform-architect β€” Cloud deployment and infrastructure patterns
  • design-reviewer β€” Technical design document review
  • code-reviewer β€” Code quality and security review
  • documentation-writer β€” ADRs and technical documentation

Invoking the Tech Lead

# Create an Architecture Decision Record
@tech-lead Create an ADR for choosing between REST and GraphQL
for our public API. We expect 1000+ req/s and need real-time subscriptions.

# Review a technical design
@tech-lead Review the authentication system design in docs/designs/auth.md
Check for security issues and scalability concerns.

# Address technical debt
@tech-lead Analyze technical debt in src/legacy/ and create a 
prioritized remediation plan with effort estimates.

Example Outputs

# Generated ADR (docs/decisions/ADR-007-api-protocol.md)
β”œβ”€β”€ Title: Use GraphQL for Public API
β”œβ”€β”€ Status: Accepted
β”œβ”€β”€ Context: High-traffic API with real-time requirements
β”œβ”€β”€ Decision: GraphQL with subscriptions over WebSocket
β”œβ”€β”€ Consequences:
β”‚   β”œβ”€β”€ Pro: Native subscription support
β”‚   β”œβ”€β”€ Pro: Client-driven queries reduce over-fetching
β”‚   β”œβ”€β”€ Con: Learning curve for team
β”‚   └── Con: Caching complexity
└── Alternatives Considered:
    β”œβ”€β”€ REST with SSE
    └── gRPC with streaming
⚠️ Warning: Don't skip Tech Lead review for "simple" features. Many production incidents trace back to architectural decisions that seemed obvious but had hidden implications.

Work Orchestrator

The Work Orchestrator coordinates execution across all agents. It analyzes dependencies, dispatches work in parallel where possible, and tracks progress through the Beads system. Think of it as your project manager and CI/CD system combined.

When to Engage

  • Executing a multi-step implementation plan
  • Coordinating work across multiple agents
  • Tracking progress on complex features
  • Parallelizing independent tasks
  • Managing dependencies between work items

Key Commands

CommandDescription
/execute-workExecute a plan or set of work items with dependency management
bd listList all Beads work items with status and progress
bd show <id>Show details of a specific work item
bd update <id>Update status or add notes to a work item

Invoking the Work Orchestrator

# Execute an implementation plan
/execute-work docs/plans/checkout-optimization.md

# List current work items
bd list

# Check status of specific work
bd show BEAD-2024-001

# Dispatch parallel tasks manually
@work-orchestrator Execute these tasks in parallel:
1. @frontend-engineer: Build checkout form component
2. @backend-engineer: Create payment processing endpoint
3. @qa-backend: Write API integration tests

Dependency Analysis

The Work Orchestrator automatically analyzes task dependencies to maximize parallelization. Independent tasks run simultaneously, while dependent tasks wait for their prerequisites.

# Example dependency graph analysis
Task Analysis for: Checkout Optimization
─────────────────────────────────────────
Phase 1 (parallel):
  β”œβ”€β”€ [DB] Create orders table migration
  β”œβ”€β”€ [BE] Scaffold payment service
  └── [FE] Create checkout form skeleton

Phase 2 (depends on Phase 1):
  β”œβ”€β”€ [BE] Implement payment endpoints ← depends on DB, BE scaffold
  └── [FE] Build form validation ← depends on FE skeleton

Phase 3 (depends on Phase 2):
  β”œβ”€β”€ [FE] Integrate with payment API ← depends on BE endpoints, FE form
  └── [QA] Write E2E tests ← depends on FE integration

Estimated parallelization: 60% of tasks
Sequential critical path: 4 steps
πŸ’‘ Pro Tip: Use bd list --blocked to quickly identify work items waiting on dependencies. This helps you focus engineering effort on unblocking the critical path.

Strategy Flow

The recommended flow for any significant feature follows this sequence:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. PRODUCT MANAGER                                              β”‚
β”‚     ↳ Discovery β†’ PRD β†’ User Stories                            β”‚
β”‚     Output: docs/requirements/feature-name.md                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. TECH LEAD                                                    β”‚
β”‚     ↳ Architecture Review β†’ ADRs β†’ Technical Spec               β”‚
β”‚     Output: docs/decisions/ADR-xxx.md, docs/specs/feature.md    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  3. WORK ORCHESTRATOR                                            β”‚
β”‚     ↳ Dependency Analysis β†’ Work Items β†’ Parallel Dispatch      β”‚
β”‚     Output: .beads/work-items/, execution logs                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  4. ENGINEERING AGENTS                                           β”‚
β”‚     ↳ Implementation per specialty (parallelized)               β”‚
β”‚     Output: Code changes, tests, documentation                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Common Patterns

Pattern: Quick Feature Validation

# When you're unsure if a feature is worth building
@product-manager Quick validation: Should we add dark mode?
Estimate effort vs. user impact. Keep analysis under 5 minutes.

Pattern: Architecture Spike

# When you need to explore technical options before committing
@tech-lead Architecture spike: Evaluate caching strategies for our API.
Options to consider: Redis, Memcached, CDN, in-memory.
Time-box: 30 minutes. Output: recommendation with trade-offs.

Pattern: Parallel Feature Development

# When multiple features can be developed simultaneously
@work-orchestrator Set up parallel development:
Feature A: User profiles (owned by @frontend-engineer)
Feature B: API rate limiting (owned by @backend-engineer)
Feature C: Database indexing (owned by @database-engineer)
Track dependencies and alert on blockers.