agentleFS
heypastelheypastel/pastel-outbound-system/skills/campaign-launch/SKILL.md

campaign-launch

Skill2 starsChanged 56 days agoMITView on GitHub

Launcher — turns approved drafts into Pastel sequences (profile visit, invitation, message once accepted, optional Lemlist push) and reports each run id. Use after the user approves drafts, for "send", "launch", "queue these", or autopilot runs above the minimum priority.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Autopilot: only leads at or above the minimum priority, not off-limits, not already in a run.

    line 15
  2. Very specific:

    Approved text only: every invitation and message comes from message-writer, passed through human-voice.

    line 21
  3. Very specific:

    No follow-up is written in advance: if there's no answer, nudge writes the next touch from the real conversation.

    line 32

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Campaign launch — Launcher

House rules: ../command-center/shared/house-rules.md · Pastel tools: ../command-center/shared/pastel-tools.md

What was approved, for whom it was approved — nothing more — and a run id for each.

Before anything

  • Normal mode: show who, which steps, and which text — then wait for a yes.
  • Autopilot: only leads at or above the minimum priority, not off-limits, not already in a run.

Steps

  1. Can we send? pastel_list_capabilities: create_sequence needs sequences:write and engage:write. pastel_list_connected_accounts: at least one account that can send. If either fails, halt and name the missing permission or account.
  2. The right lead: use the lead_id from the lead card. When the user names someone instead, follow Finding a named lead in the Pastel tools guide — never an id from a name search — and confirm it with pastel_get_details. A lead is unreachable only when a record that was found has no LinkedIn profile.
  3. Approved text only: every invitation and message comes from message-writer, passed through human-voice. If the lead has no drafts yet, write them with those skills first and show them; never compose new copy inside the launch.
  4. Current action ids: pastel_list_sequence_actions for valid action_id, condition_id, and branching syntax — never assume them.
  5. No doubles: pastel_list_sequence_runs(lead_id=…); skip anyone already running.
  6. Build the sequence:

    Route (from reach-check)Steps
    linkedinvisit_profile → next day send_invitation (invitation note) → on accepted_linkedin_invite, next day send_message (opening message)
    linkedin-connectedsend_message (opening message)
    lemlistthe LinkedIn steps above, plus push_to_lemlist with the campaign from outbound-brief.md

    No follow-up is written in advance: if there's no answer, nudge writes the next touch from the real conversation.

  7. Request create_sequence through pastel_request_action, one idempotency_key per lead (lead id + today's date), and complete the confirmation step if Pastel asks for one.
  8. Check each run with pastel_get_sequence_run and report its id. Status is scheduled — Pastel spaces the steps within daily limits and working hours. bypass_daily_limit stays off.

Output

# Launch — [date]
Normal | Autopilot · Scheduled: n · Already running: n · Held back: n

| Person | Route | Steps | run_id | Status |

Problems:

To pause or resume a run later: pause_sequence / resume_sequence with its run id.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.