Origin
Trevor Pyle draft (Gmail id19dfe060b5bea9b6, 2026-05-06) was rejected by Joseph as "super AI generated and not at all in my authentic voice." This file captures the explicit anti-patterns from that draft so they never ship again.
❌ Phrase blacklist (verbatim or near-verbatim — NEVER use these)
Sales/corporate filler
- "single point of contact going forward"
- "to make this easier" / "to make this simple"
- "I'll keep it tight" / "I'll keep it brief" (claiming brevity instead of being brief)
- "what's still open on [the X]"
- "stabilized revenue projection" (use "what 230 Buckhorn would actually do" or "the projection numbers")
- "real numbers to weigh against any other quotes you've gotten" (presumes the prospect is shopping; condescending)
- "whichever (or both) is useful"
- "no pressure on timing" (Joseph DOES use "no pressure" — but woven into prose, not as a tagged disclaimer)
Structural giveaways
- Numbered list of "things I can do" (
1. … 2. …) — Joseph uses bullets ONLY for hard data (multiple discrete numbers/dates), never for offering options. Options go in prose. - Em-dashes 3+ times in 6 sentences — Joseph uses em-dashes sparingly inside flowing paragraphs.
- "Two things I can do right now:" then numbered list — replace with prose: "Whenever you have a few minutes, I can pull together [X], or just send questions over [Y]."
- Greeting + 1-line pickup + numbered list + 1-line close — that's a templated structure; Joseph either writes very short OR writes long flowing paragraphs.
Robotic option-pickup
- "Whichever (or both) is useful, let me know."
- "Either of those work, just say the word."
- "Pick whichever is helpful."
- Replace with: "Either way works." or "Let me know what's useful." or just leave the prose to drive the choice.
Pitch presumption
- Mentioning competitors/quotes the prospect didn't bring up
- "real numbers to weigh against" (assumes they're comparing)
- "compared to other companies you may be evaluating"
✅ Joseph voice signatures (DO write like this)
From Kina email (2026-04-30, gold-standard manual draft):
- Specific personal callback in line 1: "Hope the bunk-bed mattress made it from Silverthorne." Not "Hope you're well."
- Specific compliment, with proper-noun details: "the way you talked about the welcome book, the Tabernash honey, the Fraser Valley moose going up on the dining wall, the curated coffee station with your friend's spices from Morrison"
- Threaded multi-thought paragraphs: "Two thoughts that came up on my side after the call, neither urgent, both for you to use however helps:" — then prose, not bullets
- Recommendations with conviction: "Either works — I lean toward open-with-guardrails because it gives you optionality and the algorithm visibility from the start."
- Honest framing of competitor risk: "The thing I'd be cautious about as you work through the matrix is whether the other two companies actually have the bandwidth to honor what you're building."
- Open-ended close, no urgency: "Whenever you're up here next, I'd love to come by — Rachel's brought me up to speed, but I'd rather see the place through your eyes. And between now and your decision, if there's anything you want a second read on, just send it over."
From Devine quick reply (2026-04-29):
- Very short: "Sounds good — penciling Monday May 4 on my side. Once you and Kim talk it through, just let me know what time after 2 works that day and I'll send over the calendar invite with the dial-in."
From Elle email (2026-05-06):
- Warm pickup with specific reference: "Hi Elle, Joseph here — Director of BD with Rachel's team at SkyRun. She asked me to take over the follow-up on your Tabernash place." (NOT "She asked me to pick up where she left off on 230 Buckhorn" — too generic)
- Direct critique of competitor offer in prose: "A few quick thoughts on what she sent: The 5% commission..."
✅ Required signature (current as of 2026-05-06)
Joseph Bowens
Director | Business Development
SkyRun Vacation Rentals Grand County, Colorado
Mobile: 970-817-8700 | skyrun.com/grand-county
Joseph.Bowens@SkyRun.com
NOT Winter Park, Colorado — that's stale.
NOT winterpark.skyrun.com — that's the old URL.
NOT Winter Park, Colorado and Vermont — Vermont is on hold.
How to apply (linter check)
Before ANY draft is saved/sent on Joseph's behalf, runvoice_check.py (see ~/Library/Application Support/SkyRun/voice_check.py). The linter:
1. Scans for verbatim blacklisted phrases → REJECT
2. Detects numbered-list-of-options structure → REJECT
3. Counts em-dashes; if >2 per 100 words → WARN
4. Checks signature line is current → REJECT if stale
5. Verifies a specific personal callback exists in opening → WARN if absent for warm-relationship leads
How to refresh this file
Update whenever Joseph rejects a draft as "AI sounding." Add the bad phrase to the blacklist + the rejected draft as a 👎 example infeedback_ea_voice.md.