Wingmate

Outbound GTM · research · relevance

Teach it your voice once.
It writes in it every time.

An AI agent that finds prospects, researches where your work fits, and drafts relevant outbound in your own words. 10x the outreach in the same hour.

Research-led outbound

Six sessions

Every job it does,
as you would actually ask for it

The outbound slice of GTM, shown end to end: research a real signal, establish a credible fit, draft in your voice, and stop for review. The other sessions apply the same machinery to recruiting, research outreach, and guardrails.

What it refuses to send

Free-typed copy does not go out. Every draft and send is scored against the template it claims to use, and the check runs in code, not in the model’s judgment.

The template gate

What it brings

Opinions, enforced in code

The point is not that a model can write. Each draft begins with sourced context, uses proof you can defend, follows the voice you taught it, and still stops at a gate.

Templates you did not write

The builder skill reads your own messages and emits the YAML: variables, subject, body, and a system instruction carrying your rules. Change how you sound by editing a file, not by re-prompting.

Research before it writes

Public signals keep their source and date. The agent maps them to proof in your own project ledger and calls the result a value hypothesis, never a known pain point.

A gate you cannot talk past

Before any draft or send, the body is scored against the template it claims to use. The check lives in guardrails/, so it holds even when the model is convinced it should not.

Drafts, not sends

draft is the default path and the only thing batch runs do. Sending is a separate command with a required recipient, so nothing leaves by accident.

More capabilities+4

The channel is in the name

A template’s prefix selects its behavior: long-form attaches its files, short-form links them and holds a character cap the render is checked against.

Spreadsheet in, drafts out

Researched account fields map to template variables plus an email column. Preview a few rows, then draft the list with the same relevance and approval checks applied to every account.

It counts your rewrites

Every draft is recorded by template and recipient. Past the third version of the same message, the agent stops and asks what is wrong. Usually the template, not the wording.

JSON on stdout, always

Every command prints structured JSON, which is why any harness can drive it, and why nothing here depends on a particular model or vendor.

The outbound GTM slice

From a public signal to a draft you control

This is not the whole GTM system. It is the research and outbound path between finding a credible reason to talk and deciding whether the message should leave.

  1. Prospect signal

    A role, launch, funding event, or product change worth examining.

  2. Verified research

    The agent keeps the public source, date, and exact fact it found.

  3. Relevance match

    Their signal is compared with proof from your own project ledger.

  4. Your voice

    A template gives the evidence your structure, tone, and ask.

  5. The gate

    Scores the body against that template. Below threshold, it stops.

  6. Reviewable draft

    The result waits in Gmail. You judge the hypothesis and press send.

Researching an account list? Each row keeps its source, fit hypothesis, and proof. Scale never bypasses the gate or the final review.

The voice layer

Your voice, written down once and reused forever

Research decides why a prospect is relevant; this layer decides how you sound. The builder reads messages you have already sent, writes the rules into a template you can edit, and refuses to use anything that does not validate.

  1. 01

    Show it your writing

    Paste messages you have actually sent, or point it at a folder of them. Three or four is enough for it to have something to read.

  2. 02

    It names the rules

    The builder skill separates what is fixed from what changes per person: how you open, how long you run, where the ask goes, the words you never use.

  3. 03

    It writes the template

    Out comes YAML: the variables, a subject and body, and a system instruction that tells the model to write the way you do rather than the way models write.

  4. 04

    Validation decides

    A template that does not validate cannot be used. Nothing enters your library because the model was confident about it.

View YAML template+
name: email_gtm_design_partner
meta:
  title: Design partner outreach
  description: Recruit a design partner
variables:
  - contact_name
  - company
  - observation
  - ask
system_instruction: |
  Open on the observation, never a greeting
  line. One ask, with a named slot, not
  "some time". 90 to 130 words. No stacked
  adjectives; no word you cannot defend.
subject_template: "{observation} at {company}"
body_template: |
  {contact_name}, {observation}
  ...
ai_prompt_template: |
  Keep the structure. Fill the variables.

Getting it running

Clone it, open it, ask for it

There is no setup wizard and nothing to sign up for. Your agent reads the instructions in the repo and does the setup itself while you watch.

KrishBakshi/wingmate
  1. 01

    Take a copy

    One repo, yours to keep. It lives on your machine.

  2. 02

    Open it in your agent

    Claude Code, Codex, Cursor, whichever one you already work in.

  3. 03

    Ask

    It installs what it needs, walks you through connecting your mail, and tells you when it is ready. You answer a couple of questions; it does the rest.

What to try next+2
  1. 04

    Teach it your voice

    Show it a few messages you have sent and ask it to learn how you write.

  2. 05

    Then give it a signal

    Set a measurable filter. It verifies the round, keeps the amount, date, and source, then maps the company to work you can actually prove. Funding is a growth signal, not proof that the company is hiring.