Child of web-jam-tools#875 ("book-gig skill phase 2 enhancements (Epic)").
What this builds
Enhances email pitch generation in book-gig (src/book-gig/pitch.ts and template selection) to tailor email intros, bodies, and tone based on relationship history:
- Returning Venues (Played in the Past):
- When a venue has prior gigs on record (
priorGigs or relationshipStage === 'returning'), dynamically generates warm returning phrasing (e.g., "It's always great playing for you guys at [Venue]..." / "We loved playing for your crowd in the past and would love to return on [Weekend]...") instead of cold introductory boilerplate.
- Prior Phone / In-Person Conversations:
- When venue record notes or contact metadata indicates a prior conversation (
contactNotes, priorContactNotes, or phone interaction), tailors the opening greeting and intro (e.g., "Hi [Contact], following up on our recent phone conversation / connecting in person...").
- Template Fallback & Safety:
- Strictly enforces cross-AI voice rules (no banned marketing buzzwords like "reach out" or "perfect fit").
- Gracefully falls back to standard warm intro when no prior gig or conversation metadata is recorded.
- Automated Unit Tests:
- Adds unit test suite in
test/book_gig_pitch.test.ts verifying returning-venue copy, spoken-conversation copy, and cold-pitch fallback paths.
Acceptance criteria
- Pitches for returning venues reference past performances and express eagerness to return without generic intro boilerplate.
- Pitches for contacts with recorded phone/in-person notes reference the prior conversation.
- All rendered pitches remain compliant with voice rules.
deno task test, deno task fmt:check, deno task lint, and deno task sast pass 100% green.
Child of web-jam-tools#875 ("book-gig skill phase 2 enhancements (Epic)").
What this builds
Enhances email pitch generation in
book-gig(src/book-gig/pitch.tsand template selection) to tailor email intros, bodies, and tone based on relationship history:priorGigsorrelationshipStage === 'returning'), dynamically generates warm returning phrasing (e.g., "It's always great playing for you guys at [Venue]..." / "We loved playing for your crowd in the past and would love to return on [Weekend]...") instead of cold introductory boilerplate.contactNotes,priorContactNotes, or phone interaction), tailors the opening greeting and intro (e.g., "Hi [Contact], following up on our recent phone conversation / connecting in person...").test/book_gig_pitch.test.tsverifying returning-venue copy, spoken-conversation copy, and cold-pitch fallback paths.Acceptance criteria
deno task test,deno task fmt:check,deno task lint, anddeno task sastpass 100% green.