Skip to content

Add campaign call-sheet workflows#57

Merged
milstan merged 2 commits into
mainfrom
milstan/mcp-workflows-inventory
May 21, 2026
Merged

Add campaign call-sheet workflows#57
milstan merged 2 commits into
mainfrom
milstan/mcp-workflows-inventory

Conversation

@milstan
Copy link
Copy Markdown
Contributor

@milstan milstan commented May 21, 2026

Adds a WORKFLOWS.md inventory and exposes campaign/tour MCP workflows: tour planning, campaign creation/listing/progression, add-leads, and a call-sheet composite with phones, LinkedIn, and map-ready payloads.
Registers new prompts and Claude Code skills for field tours, team prospecting, and working a campaign, including readiness-first routing and outreach dictation guidance.
Extends routing/output-schema audits, prompt/eval coverage, and live smoke/unit tests; also corrects campaign contacted summaries to use outreach signals instead of contact coverage.
Verified with pnpm -r typecheck, pnpm -r test, and pnpm build.

milstan and others added 2 commits May 20, 2026 16:44
…n trio)

## What ships

WORKFLOWS.md — normative triage table at repo root. Maps every supported
MCP workflow to its assets + CI-verified tests. Backed by a tiny audit
(packages/mcp/test/audit/workflows.test.ts, ~120 lines) that asserts
every backtick'd leadbay_* identifier resolves to a real tool/prompt/skill
and every test path exists. The Tests column is load-bearing — a row
claims "covered" only if a real test backs it.

Five new composites under packages/core/src/composite/ close #3630 US1
and US3 with no backend changes (all wrap existing endpoints):

  - leadbay_tour_plan — mixed-mode itinerary (Monitor + Discover on one
    map for "I'm visiting <city> in N days").
  - leadbay_create_campaign — POST /campaigns.
  - leadbay_add_leads_to_campaign — POST /campaigns/{id}/leads.
  - leadbay_list_campaigns — GET /campaigns with roll-up stats.
  - leadbay_campaign_progression — GET /campaigns/{id}/leads, surfaces
    per-lead progress + cross-campaign affiliation overlap.

Two new prompts (+ auto-emitted skills):

  - leadbay_plan_tour_in_city — US1 orchestrator end-to-end (tour_plan →
    map render → outreach drafts → optional persist as a tour campaign).
  - leadbay_setup_team_prospecting — US3 orchestrator (refine_prompt →
    create_lens → pull_leads → validate → create_campaign per partition).
    Honest about the creator-scoped campaign visibility gap (a true
    backend limitation, not an MCP omission).

## Key discovery

Live-probed the campaigns API; the apiJson serializer in Server.kt uses
JsonNamingStrategy.SnakeCase, so POST bodies need snake_case keys
(lead_ids, not leadIds). Documented in .context/campaigns-probe/API.md.
A new smoke test (test/smoke/live-campaigns.test.ts) exercises the full
create → add lead → progression → cleanup flow against the real US
backend (gated on LEADBAY_TEST_TOKEN).

## Verification

  - pnpm -r typecheck: 5/5 packages green
  - pnpm -r test: 485 tests pass (core 260 / leadclaw 12 / mcp 197 /
    promptforge 16)
  - Live smoke (US account): 5/5 pass, test account left clean
  - WORKFLOWS audit catches identifier rot — proven by two real defects
    it caught during development (followup_check_in misclassified as
    prompt vs. skill; proposed-tool names wrongly backtick'd).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@milstan milstan merged commit a76478c into main May 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant