
TIPS
Prompt Engineering: RTITCO + JSON Handoffs for Consistent Output

Drew Semiraro
Partner

TL;DR
Structure wins: Use RTITCO (Role, Task, Input, Tools, Constraints, Output) to turn vague asks into reliable outputs.
JSON-first: Plan in JSON first, then produce the final asset from that plan (two-pass).
Automation-ready: Machine-readable outputs plug directly into Notion, Slack, Gmail (draft), n8n/Zapier/Make.
Fewer rewrites: Clarify first, be blunt, lock length/format, validate against “Success is…”.
Scale: Treat prompts + schemas like product configs (version, reuse, govern).
Why Structured Prompting + JSON?
Free-form prompts = free-form answers. That’s fine for ideation, painful for production.
Structured prompting gives the model an explicit contract; JSON outputs make results parsable, testable, repeatable. You’ll see:
Higher prompt adherence (tone/length/required sections)
Consistent formatting across runs/models
Easy handoff to automations (no brittle regex)
Clear audit trail (prompt → plan JSON → final)
The RTITCO Blueprint (Copy-Paste)
Use this as your default skeleton for any high-stakes prompt.
The JSON-First, Two-Pass Workflow
Pass 1 — Plan (JSON only)
Ask for a structured plan as valid JSON you can review or validate.
Prompt (example):
Sample plan JSON:
Pass 2 — Produce (from approved plan)
Feed the plan back. Enforce tone/length and “Success is…” criteria.
Prompt (example):
Why it works: The model “thinks” structurally first, then “writes” to spec. You get coverage of all required elements, consistent format, and a machine-readable artifact for QA.
The Tools Manifest (Make Capabilities Explicit)
Put this “runbook” in your prompt so the model knows what it may use and what’s forbidden.
Bullet form
Files
Brand-Voice.pdf— tone/phrases to enforceOffers.xlsx— product names, prices, promo codes (no guessing)
Integrations
Notion (read-only) — cite page titles
Gmail (draft-only) — create drafts in
Drafts/AI; do not sendSlack (post-only) — post preview to
#content-review
Forbidden — payments, PII, bulk sends
JSON form
Real-World Recipes
1) Weekly Promo Email
Mode: Thinking
Flow: Plan JSON (subject, preheader, 3 bullets, CTA) → final copy → n8n renders HTML, creates Gmail draft, posts Slack preview.
Success is: Subject ≤ 60 chars; 3 bullets use real prices; clear deadline.
2) Blog → Social → Email Cascade
Mode: Thinking → Extended
Flow: Research brief (citations) → outline (JSON) → long-form → auto-extract meta/title/CTAs/social snippets via schema keys.
Tip: Keep one master plan JSON; generate multiple assets from it.
3) Paid Media Variations
Mode: Instant for ideation, Thinking for finals
Flow: Rapid 20 headlines in Instant → choose 5 → Thinking refines copy to exact character limits → image prompts derived from a creative brief JSON.
4) Data Extraction / Triage
Mode: Thinking
Flow: Input text → JSON extract (
priority,issue_type,due_date) → automation routes to Notion/Asana/Slack.Guardrail: Validate against a JSON Schema before actions.
Guardrails That Actually Reduce Rewrites
Clarify first: “Ask me clarifying questions before providing an Output.”
Be blunt: Removes hedging/filler; increases review speed.
Length locks: “Exactly 5 bullets”, “≤120 words”.
Style anchors: Paste 2–3 on-brand lines and say “match this style.”
Self-check: “Validate against ‘Success is…’; fix before output.”
Schema checks: If JSON → validate; retry on failure.
ChatGPT Agents vs n8n Agents (Quick Decision)
ChatGPT Agents (in-chat): Multi-step reasoning, tool calls, great for creative/knowledge work and ad-hoc tasks.
n8n Agents (workflow): Schedules, webhooks, retries, logs, hits any API, sends emails, writes to CRMs—best for production.
Pattern: Design the schema + reasoning in ChatGPT; run at scale in n8n.
Implementation Checklist
Choose mode deliberately (Instant for drafts, Thinking/Extended for finals)
Use RTITCO every time
Get a JSON plan before production
Version schemas and prompts (treat as product configs)
Validate JSON; log prompt → plan → output
Wire to Notion/Slack/Gmail; schedule in n8n


