About campaign-doctor
campaign-doctor is a skill that diagnoses campaign activity using WarmySender MCP tools, for investigating quiet email or LinkedIn campaigns. It distinguishes normal pacing from actual blockers using tool responses, then reports evidence and a limited set of next actions.
Key features
- 01Inspect campaign status and counters
- 02Review skipped actions and reasons
- 03Check mailbox sending and reading health
- 04Check LinkedIn account safety status
- 05Inspect LinkedIn campaign throttling
Use cases
- 01Determine whether a campaign is waiting normally
- 02Investigate email sending or reading issues
- 03Identify a LinkedIn safety pause
- 04Review LinkedIn limits and refresh timing
MCP support
It uses WarmySender MCP tools to retrieve campaign, skipped-action, mailbox-health, and LinkedIn status information. Findings must be based on tool responses.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ fortuneflick/ warmysender-claude-plugin --skill campaign-doctorAfter installing, type/campaign-doctorin Claude Code to confirm it loaded.
Details
From the project READMECampaign Doctor
Diagnose a quiet campaign with WarmySender's MCP tools. Never guess — every conclusion must come from a tool response.
Workflow
list_campaigns— find the campaign (or use the one the user named). Note its status and counters.list_skipped_actionswith the campaign id (omit it for a workspace-wide view). This returns the actual skip reasons with plain-English explanations.- Reasons flagged
is_normal_wait: truemean the system is pacing correctly — reassure, don't alarm. Reportresumes_atwhen present. - Other reasons are genuine blockers — surface them verbatim.
- Reasons flagged
- For email campaigns:
get_mailbox_healthon the sending mailboxes. Check BOTH channels:health_status(can we send) ANDread_channel_state(can we read what arrives).not_testedis NOT a pass. - For LinkedIn:
get_linkedin_account_health— ifsending_paused_for_safetyis true, reportsafety_pause_explanationverbatim and stop; a safety rest cannot and must not be shortened. - For LinkedIn campaigns:
get_linkedin_campaign_throttleto see which allowance binds and when it refreshes.
Report format
Give a short verdict first (working-as-designed vs genuinely blocked), then the evidence, then at most three next actions the user can take in the WarmySender app. Never suggest raising limits — pacing protects their accounts.