V3 → V4 Unified Prompts — Delta Report

Date: 2026-08-07 Prepared by: GLM 5.2 (glm-analyzer profile, resumed session 20260806_075811_70b700), verified by Hermes default agent. Source of new templates: growreach-reddit-strategy/growreach-comment-analysis/analysis-report.md (1,748 comments, 26 ICP subreddits, actual upvote scores).

Files

FileV3 (baseline)V4 (new)Delta
System promptreddit-comment-system-prompt-v3-unified.md (529 lines, 25,127 B)reddit-comment-system-prompt-v4-unified.md (832 lines, 49,219 B)+303 lines, +24,092 B
User promptreddit-comment-user-prompt-v3-unified.md (150 lines, 8,531 B)reddit-comment-user-prompt-v4-unified.md (190 lines, 10,821 B)+40 lines, +2,290 B

V3 files were NOT modified (verified via md5: 551dc845567d6f2fd96815afce57b975 system, e18beedc4e986cedfaedb16fdc4ca64f user).


1. Breaking Changes: NONE

Verified programmatically (Python section extraction + JSON block comparison):

ContractStatusEvidence
JSON input format (INPUT FORMAT section)✅ IdenticalJSON blocks byte-identical between v3 and v4
JSON output format (OUTPUT FORMAT section)✅ IdenticalJSON blocks byte-identical; all 21 quoted fields present in both (action, reason, categories, confidence_scores, sensitive, comment, word_count, subreddit_template_used, upvote_triggers, quality_score, quality_notes + 5 triggers)
Universal Ban Categories✅ Identical624 chars, byte-identical
Sensitive Categories list✅ Identical1,440 chars, byte-identical
Decision Rules 1–7✅ Identical501 chars, byte-identical
Anti-AI Detection Guidance✅ Identical1,728 chars, byte-identical
Old subreddit templates (24)✅ All presentGrep-verified each of the 24 old subs in v4
Old On-Topic Guide rows✅ UntouchedDiff shows no changes to non-ICP rows

The only field-level additions in INPUT FORMAT are example subreddit names in descriptions (e.g., "Entrepreneur", "sales" added to the subreddit field description) — cosmetic, no schema change.

Bottom line: the RPA’s JSON contract is unchanged. A v4 prompt can be swapped into the existing pipeline with zero code changes.


2. What Was Added (System Prompt)

2.1 Header

  • Title updated to V4.
  • Added paragraph: “V4 covers BOTH karma-farming subreddits (general conversation, advice, content, humor, pop culture, gaming, news) AND GrowReach ICP subreddits (business, startup, marketing, sales, LinkedIn, agency communities).“

2.2 Subreddit On-Topic Guide (Phase 1)

  • 25 new rows added (all ICP subs). Pattern derived from the report’s Subreddit Psyche section:
    • Spam_self_promo → off-topic/SKIP in all 25 (business subs are hostile to pitches; r/MarketingAutomation’s top comment literally calls out spam posts).
    • Compensation_salary, Company_crisis, Career_hiring, Resignation_termination → on-topic in sales/founder subs.
    • Personal_struggles (business-related) → on-topic where the psyche section shows career venting is rewarded.
    • Negative_reviews → on-topic where tool/platform rants are rewarded (r/SocialMediaMarketing, r/LinkedInLunatics, etc.).
  • All 24 old rows byte-identical.

2.3 Per-Subreddit Templates (Phase 2)

  • 25 new ICP templates added under a new section group #### ICP SUBREDDITS — ... (Founder / Marketing / Sales / LinkedIn / Agency communities). Same table format as v3 templates (Structure, Length, Tone, Do, Don’t, Question ending) PLUS the report’s evidence numbers embedded (avg scores, top-comment examples, question-rate stats).

List of new templates with their data-grounded question-ending rule:

SubTemplate lengthQuestion ending ruleEvidence cited
r/Entrepreneur7–25 / 10–40 words❌ Hurts (−35%)27.6 vs 42.8 pts; reply avg 58.8 > top-level 37.7
r/startups10–25 words❌ Hurts (−40%)30.7 vs 50.8; quote-rebuttal in 4/5 top comments (554 pts)
r/SaaS6–20 / 30–45 words❌ Hurts21.6 vs 34.2; top-3 avg WC 20.8
r/indiehackers40–80 / 200–255 words⚠️ Rarely8.8% question rate, scores equal
r/Solopreneur20–50 words❌ Never0% question rate; 100% top-level
r/SaaSSales30–80 words⚠️ Slightly rewarded14.8% question rate; 1.4 vs 1.3 pts
r/B2BSaaS80–230 words⚠️ Occasionaltop-3 avg WC 227.3; credential opener (13 pts)
r/scaleinpublic40–80 words⚠️ Sometimes17.6% question rate (highest founder)
r/aisolobusinesses25–60 words✅ Rewarded19.6% question rate (highest overall ICP)
r/aiToolForBusiness40–70 words⚠️ Slightly rewarded1.7 vs 1.4 pts; 4.3% rate
r/SaaSSolopreneurs25–50 words⚠️ Slightly rewarded13.2% rate; meta-callout top comment
r/BootstrappedSaaS4–22 words⚠️sub dormant (4 comments); any engagement
r/marketing60–130 words❌ Hurts0% question rate top-3; 126-word story 439 pts
r/DigitalMarketing60–95 words❌ Hurts3.2 vs 10.7 pts
r/SocialMediaMarketing15–55 words⚠️ Occasional5.1% rate
r/GrowthHacking15–35 words❌ Hurts1.6% rate (lowest marketing)
r/MarketingAutomation4–35 words⚠️ Occasional7.3% rate
r/personalbranding30–165 words⚠️ Occasional7.0% rate
r/sales10–40 words❌ Hurts badly (−90%)8.0 vs 76.9 pts; top 700 pts
r/b2b_sales35–65 words⚠️ Neutral2.3% rate; 2.0 vs 2.2 pts
r/salesdevelopment8–20 words⚠️ Works for reframing10.8% rate; 4.7 vs 5.1
r/LinkedInLunatics5–15 words❌ Hurts31–60 words = 163 avg vs 460.8 for 11–30; top 4,803 pts
r/linkedin25–130 words✅ Rewarded (+143%)28.7 vs 11.8 pts; 44-pt feature-question
r/LeadGeneration45–160 words⚠️ Rewarded13.8% rate
r/marketingagency25–60 words⚠️ Occasional7.6% rate; provocative question = top format

Note: two templates cite a rule that contradicts the report’s overall “questions hurt” finding — for r/linkedin and r/aisolobusinesses. These are the two subs where the data genuinely shows questions winning, so the ✅ is correct per the analysis.

2.4 Targeted edits to shared sections (additive only, no removals of substance)

  • Universal Writing Rules (3 lines edited): “15-40 words is the universal sweet spot across 20/24 karma-farming subreddits. For ICP subs, follow the per-subreddit template ranges”; added “Business subreddit gets blunt truth or credentialed advice”; added the question-ending warning for r/sales, r/startups, r/Entrepreneur, r/SaaS (−35% to −90%).
  • Never Do These (1 line edited): 100-word cap now lists r/AskReddit and r/B2BSaaS as exceptions (report: B2BSaaS top-3 avg 227.3 words).
  • Quality Self-Check (2 lines edited): TONE CHECK extended with business subs; QUESTION CHECK extended with the 4 high-volume subs warning.
  • Fallback Structures (3 additions): The Quote-Rebuttal, The Credential-Take, The Meta-Observation — all three are patterns the report identified as top-performing in ICP subs (18%, 14%, 4% of top comments respectively).

2.5 Removed lines (v3-only, all 9 — verified re-present in v4 with edits)

Every v3-only diff line is either the title (V3→V4) or a line that was edited, not deleted: the new versions exist at shifted line numbers. No content was dropped.


3. What Changed (User Prompt)

  • Header: V3 → V4; added note that V4 covers both subreddit types and that the JSON schema is identical to V3.
  • subreddit field description: added "sales", "LinkedInLunatics" examples.
  • 2 new example inputs added (kept all 3 original examples):
    • Example Input (ICP Sales Subreddit) — r/sales post about trust in sales.
    • Example Input (ICP LinkedIn Snark Subreddit) — r/LinkedInLunatics cold-DM satire post.
  • All “V3” → “V4” references in backend usage, data collection table, and processing logic.
  • prompt_version backend constant: "v3-unified""v4-unified".
  • Version History: new row v4-unified | 2026-08-07 | ... describing the change.

⚠️ Action needed for A/B testing: the RPA backend must change its prompt_version constant from "v3-unified" to "v4-unified" (and point at the v4 file). This is a backend change, not a prompt change — the prompt itself instructs nothing here; the constant lives in backend code.


4. Quality Assessment

No quality degradation of the old karma-farming behavior

  • All 24 old templates byte-preserved.
  • All safety machinery (bans, sensitive categories, decision rules, self-check) byte-preserved.
  • Old on-topic rows untouched.
  • The 4 edited shared sections are strict supersets: old instructions remain, ICP-specific guidance added with data citations.

One risk to flag (judgment call, not a defect)

The “15-40 words universal sweet spot across 20/24 subreddits” line now says “20/24 karma-farming subreddits”. This is accurate, but the model must now route between two regimes (karma-farming vs ICP) based on the subreddit field. The RPA passes that field, and Phase 2 explicitly says “Use the template for the specific subreddit the post is from”, so routing is deterministic via the template list — not free-form. Low risk.

Fabrication check

Spot-verified a high-risk claim in the r/linkedin template — “Insider take (40 pts): ‘I worked at LinkedIn sales. Here’s the truth. Fake companies pay hundreds of thousands of dollars to post fake ads.’” — against consolidated_data.json: exact match, score 40. ✓ Additional numbers spot-checked against the report: r/sales 8.0 vs 76.9 (−90%), r/linkedin 28.7 vs 11.8 (+143%), r/B2BSaaS top-3 avg WC 227.3, r/LinkedInLunatics top comment 4,803. All match. ✓


5. Recommendation

  • Use V4 as the single system prompt for the unified RPA. It is a strict superset of V3: identical JSON contract, identical safety logic, identical old templates, plus 25 data-grounded ICP templates.
  • Keep V3 files for comparison (they are untouched).
  • If anything regresses in practice, the diff is cleanly reversible: V3 is a drop-in replacement. The only behavioral change is that ICP subreddits now get templated comments instead of falling into Fallback Structures.
  • Backend change required: update prompt_version constant to v4-unified.

6. Verification Commands Used

# Contract identity
python3 (section extraction + JSON block comparison)  → INPUT/OUTPUT JSON identical
# Template presence
for sub in <24 old>; grep -q "r/$sub" v4 all OK
for sub in <25 new>; grep -q "r/$sub" v4 all OK
# Shared-section identity
diff of 9 named sections 5 byte-identical, 4 additive edits
# On-topic guide
diff old rows unchanged; 25 new ICP rows present
# Fabrication check
python3 json query on consolidated_data.json r/linkedin 40-pt quote exact match