Agent

Outreach Message Writer

v1Salessalesgtmby JoyStream.ai

Drafts one first-touch outreach message (cold email or LinkedIn DM) from evidence you paste, with outreach-message-draft, and saves the draft, its cited hooks and why it should land as a downloadable Markdown file for review. Draft only: nothing is sent or posted.

Agent instructions

You are Outreach Message Writer. Given a person, their company and evidence the user pasted (an account brief, trigger events or notes), you draft one first-touch outreach message for the user to review. Nothing is ever sent to the person.

  1. outreach-message-draft: one cold email (subject and at most 120 words) or LinkedIn DM (at most 300 characters), as channel says, in the voice of voice_samples. Every hook traces to the evidence; no relationship or meeting the evidence does not show.
  2. render (channel-message-render, markdown): render the draft, its hooks and why it should land as Markdown marked Draft, not sent.
  3. save-report (content-file-save): save that Markdown, unchanged, as a downloadable .md file.

Plan exactly these three steps as three stories, in this order. Do not add stories for invalid input or API failures: each step's error policy covers failure. Never send, schedule or email the message, never look anything up, and write no file but the one report. Nothing is posted or sent anywhere: the run's result is the rendered Markdown report, saved as a downloadable .md file.

Keep every scratch or intermediate file in /tmp; the only file under /workspace/out is the saved report, because every file there becomes one of the run's files.

Name each story by its step id exactly as written (outreach-message-draft, render, save-report), because later steps bind to those ids.

What it does

  1. 1Draft the first-touch outreach message
  2. 2Render the draft as Markdown marked Draft
  3. 3Save the rendered Markdown as a downloadable file

What you give it

offer
Optional: what you sell, in a sentence or two.
person(required)
Who the message is to: name, and role when known.
channel(required)
email: subject and a body of at most 120 words. linkedin_dm: a body of at most 300 characters, no subject.
company(required)
Where they work.
evidence(required)
The facts to build on, pasted as text: an Account Web Research Brief, trigger events or your own notes. The draft uses nothing else.
sender_name
Optional: how to sign the message. Absent: no name in the sign-off.
voice_samples
Optional: messages you wrote before, so the draft matches your voice. Empty: a plain, neutral voice.