Skip to content

Multi-Agent Collaboration

The three agents can hand off work to each other via Jira labels and Slack mentions. This enables end-to-end workflows where Dolly manages the project, Pearl handles design, and Buck implements the code.

When a ticket is fully defined with clear acceptance criteria, Dolly hands it off to Buck for implementation:

  1. Dolly calls handoff_to_buck with the ticket key
  2. The ticket is assigned to Buck in Jira (triggering his webhook)
  3. The ready-for-buck label is added
  4. @Buck is tagged in the Slack thread with a brief note

Buck picks up the ticket, creates a dashboard session, and dispatches a Claude session to implement it.

When a ticket needs design work before implementation, Dolly routes it to Pearl:

  1. Dolly calls handoff_to_pearl with the ticket key
  2. The needs-design label is added
  3. @Pearl is tagged in the Slack thread

Pearl reads the ticket requirements, produces design deliverables (reviews, components, UI copy, snippets), and notifies Dolly when done.

When Pearl finishes design work, she notifies Dolly for review:

  1. Pearl calls notify_dolly with the deliverable details
  2. @Dolly is tagged in the Slack thread with an optional snippet preview URL
  3. Dolly reviews the design

After reviewing Pearl’s design, Dolly either approves or requests changes:

Approve: Dolly calls approve_pearl_design, which:

  1. Downloads the design screenshot from the Slack thread
  2. Attaches it to the Jira ticket
  3. Adds the design-approved label, removes needs-design
  4. Hands off to Buck for implementation

Request changes: Dolly calls request_pearl_changes with specific feedback. Pearl revises and notifies Dolly again when done.

sequenceDiagram
    participant User
    participant Dolly
    participant Pearl
    participant Buck

    User->>Dolly: @dolly decompose this epic
    Dolly->>Dolly: Read specs from Confluence
    Dolly->>User: Proposed decomposition (Approve/Reject)
    User->>Dolly: Approve
    Dolly->>Dolly: Bulk create tickets in Jira

    Note over Dolly,Pearl: Design tickets
    Dolly->>Pearl: handoff_to_pearl (needs-design)
    Pearl->>Pearl: Generate component + publish snippet
    Pearl->>Dolly: notify_dolly (snippet preview)
    Dolly->>Dolly: Review design
    Dolly->>Buck: approve_pearl_design → handoff_to_buck

    Note over Dolly,Buck: Implementation tickets
    Dolly->>Buck: handoff_to_buck (ready-for-buck)
    Buck->>Buck: Dispatch EKS pod, implement, open PR
    Buck->>User: PR link posted to Slack + Jira