The RCTF Prompt Architecture: Building a Production-Ready Email Prompt
Objective: Construct a modular, reusable prompt template using the RCTF framework (Role, Context, Task, Format) with negative voice constraints and few-shot examples to generate high-converting SaaS onboarding emails on demand.
You are the Lifecycle Marketing Specialist at Slack. You need to build a standardized AI prompt template that any junior copywriter or product marketer can use to generate on-brand, technical-yet-accessible onboarding emails for newly registered developer workspaces and team admins.
Build a complete production-ready prompt using the RCTF framework. Define a specific developer-marketer persona, bake in Slack's brand voice and negative constraints, require structured JSON/markdown output, and provide 2 few-shot exemplars.
Before you start
What you'll need
Free path (everything below is enough to finish)
Collaborative, free storage for team-wide prompt templates
Accessible free environment for testing RCTF templates
The process
4 steps
Step 01 of 04
The lesson explains that assigning a specific expert identity ('You are a developer relations copywriter with 8 years of experience...') produces significantly tighter, more nuanced copy than generic instructions like 'write an email'.
How do we define an expert persona that balances technical credibility with engaging lifecycle conversion copy?
Procedure
- Write the [ROLE] block defining the AI's professional identity, years of domain experience, and technical depth
- Specify the exact target audience: engineering team leads and workspace admins who value concise, workflow-focused messaging
- Instruct the model on its conversational posture: pragmatic, peer-to-peer, developer-friendly, and concise
[ROLE] You are a Senior Product Lifecycle Copywriter at Slack with 8 years of experience writing onboarding communications for software engineering teams, workspace admins, and IT managers. Your writing is respected because you avoid generic marketing fluff, focus strictly on daily workflow speed, and explain product features in terms of developer time saved.
Healthy
The persona defines specific domain expertise, target developer audience, and communication posture.
Unhealthy
Using vague, generic role statements like 'You are an email writer' or 'Act as a marketer'.
What this means
A precise persona calibrates the model's vocabulary and prevents generic consumer marketing jargon from polluting technical copy.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| AI outputs sound like generic sales pitches rather than technical product walkthroughs | Ground the persona in developer relations experience and specify audience seniority | 5 min |
Step 02 of 04
Pattern 3 teaches that restrictions and negative constraints force the model away from generic phrasing and improve output quality by up to 76% (MIT Sloan 2024).
What brand background, product differentiators, and explicit negative constraints must be included in the Context block?
Procedure
- Define the core product context: Slack Canvas, Workflow Builder, and GitHub app integrations
- State the exact user milestone: workspace admin signed up 3 days ago, created 2 channels, but has not installed any app integrations
- Add a strict negative constraint list: ban exclamation points, buzzwords ('revolutionary', 'seamless', 'game-changer', 'elevate'), and generic openings ('We hope this email finds you well')
[CONTEXT] Product: Slack Workspace (Workflow Builder & GitHub Integration). User Milestone: Day 3 admin who created channels but has not installed a developer app integration yet. Goal: Guide admin to connect GitHub or set up a daily standup workflow in under 3 minutes. [CONSTRAINTS & NEGATIVE RULES] 1. Maximum word count: 120 words for body copy. 2. Zero exclamation points allowed. 3. Banned words: 'seamless', 'game-changer', 'supercharge', 'revolutionary', 'in today's world', 'thrilled', 'delve'. 4. Opening rule: Open directly with the team coordination problem; never greet with 'Hope you are well' or 'Welcome to the Slack family'.
Healthy
Negative constraints explicitly eliminate repetitive AI clichés and define strict word count ceilings.
Unhealthy
Leaving brand tone open-ended, allowing the model to default to cheerful corporate enthusiasm.
What this means
Constraints give the model guardrails. Removing cliché tokens forces the attention mechanism to pick higher-information words.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| AI repeatedly inserts 'supercharge your workflow' in every draft | Add 'supercharge' to the explicit banned words list inside the prompt template | 5 min |
Step 03 of 04
Stanford NLP research (2024) shows that few-shot prompting (providing 2-3 concrete exemplars) improves output quality by 30-50% compared to zero-shot instructions.
What exact task instructions and few-shot examples will demonstrate the target structure and tone?
Procedure
- Define the task: Generate 3 distinct subject line options (under 45 characters) and 1 focused 100-word body copy draft with a single CTA
- Write 2 high-performing past onboarding emails as few-shot exemplars
- Annotate each exemplar showing why it works (direct subject line, clear workflow benefit, zero fluff)
[TASK] Draft 3 subject line options (under 45 characters) and 1 body copy draft (under 100 words) guiding the admin to connect GitHub alerts to a dedicated channel. [FEW-SHOT EXAMPLES] Example 1 (Tone Anchor): Subject: Stop checking GitHub tabs for PR reviews Body: Context switching between Slack and pull request reviews kills coding momentum. Connect the GitHub app to your team's review channel, and Slack will ping assignees automatically when PRs need attention. Merged PRs notify the channel instantly—no manual follow-up required. CTA: Connect GitHub to Slack
Healthy
Providing 2 high-quality examples eliminates tone ambiguity and establishes exact structural cadence.
Unhealthy
Relying on abstract descriptions like 'make it sound cool' without providing real reference copy.
What this means
Few-shot exemplars are the single highest-leverage technique for aligning an LLM to your exact stylistic standard.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Drafts wander in length and structure across repeated prompt runs | Paste 2 ideal past emails into the prompt template as permanent few-shot anchors | 5 min |
Step 04 of 04
Format specifies the exact output structure (JSON, markdown table, tagged fields). Skipping format results in chaotic formatting that breaks downstream publishing and automation.
How should we structure the output schema so it can be pasted directly into our marketing automation platform or reviewed in a clean table?
Procedure
- Define the exact output schema using structured markdown or JSON fields
- Require fields for: subject_lines, preview_text, body_markdown, and cta_button
- Run the complete assembled prompt in ChatGPT to verify zero schema breakage
[FORMAT]
Return output in valid JSON matching this schema:
{
"subject_lines": ["string", "string", "string"],
"preview_text": "string (max 60 chars)",
"body_markdown": "string (max 100 words, markdown formatting)",
"cta_button": {
"label": "string (max 25 chars)",
"url": "https://slack.com/apps/github"
}
}Healthy
The model outputs clean, predictable JSON that drops straight into customer lifecycle tooling without reformatting.
Unhealthy
Receiving unstructured chat prose requiring manual copy-pasting and reformatting across 5 different fields.
What this means
Structured format constraints turn an LLM from a conversational toy into a dependable API and production tool.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Model includes conversational chatter ('Sure! Here is your email:') before the copy | Add format rule: 'Output ONLY raw JSON. No conversational filler or markdown backticks outside the JSON object.' | 5 min |
Final deliverable
A production-ready, reusable RCTF Prompt Template in Google Docs with complete Role, Context, Negative Constraints, Few-Shot Examples, and JSON Schema specifications.
See a reference example
Notion — Lifecycle Onboarding Prompt Template Output
{
"subject_lines": [
"Your team wiki is 3 clicks away",
"Stop losing docs in Slack threads",
"Set up your Notion engineering hub"
],
"preview_text": "Turn scattered Google Docs into a clean, searchable team wiki.",
"body_markdown": "Searching through 14 Google Docs and six Slack bookmarks to find your API spec is a waste of engineering time.\n\nWith Notion's Team Wiki template, your architecture diagrams, meeting notes, and deploy checklists live in one shared workspace. Connect your GitHub repos and keep every developer aligned.",
"cta_button": {
"label": "Deploy Team Wiki Template",
"url": "https://notion.so/templates/engineering-wiki"
}
}Success criteria
You're done when you can:
- Constructs all 4 components of the RCTF framework (Role, Context, Task, Format)
- Includes a rigorous negative constraints list eliminating AI marketing clichés
- Provides at least 1 grounded few-shot exemplar and specifies a clean JSON output schema